これはクラウドソーシングで得られたアンケートデータを教師データにして、文章から内容と満足度を予測するモデルを作成するリポジトリです。
私と同じ環境であるならば、VSCodeのDevContainerを使ってDockerコンテナを立ち上げることで環境構築が完了します。そうでない場合は以下のライブラリがあれば動くと思います。
- pytorch
- transformers
- scikit-learn
- pandas
- matplotlib
- japanize-matplotlib
- ipykernel
WSLのUbuntuにDockerをインストールしています。Windows環境にDockerはありません。
- Windows 11 Home
- VSCode
- WSL2
- Ubuntu 22.04 LTS
- NVIDIA Container Toolkit
- Docker
- pytorch/pytorch:2.4.0-cuda12.1-cudnn9-devel
- ここで開発している
- pytorch/pytorch:2.4.0-cuda12.1-cudnn9-devel
- Ubuntu 22.04 LTS
- CUDA 12.1
- NVIDIA GeForce RTX 3070
Ubuntu 22.04 LTSの/home/kjqw/university/.cache/
にtransformersのキャッシュフォルダを作成しています。これを.devcontainer/docker-compose.yml
の設定で、コンテナ内のworkspace/.cache/
にマウントしています。コンテナを消したり、違うコンテナを起動したときに、Hugging Faceからモデルをダウンロードし直さなくて済むようにするためです。
- アンケートデータの前処理
preprocess.py
- モデルの学習
train.py
- 学習済みモデルで推論
predict.py
- 推論結果の評価
evaluate.py
- 推論結果の可視化
visualize.py
- アンケート内容
crowdsourcing/アンケート項目.json
- アンケート結果
crowdsourcing/20240217_地域幸福度/【神奈川県民限定】地域幸福度についてのアンケート/3589290434_row.tsv
classes.py
: データセットやモデルのクラスを定義functions.py
: データの前処理や評価指標の計算などの関数を定義zeroshot.py
: ゼロショット分類のサンプルコード。未完成demo/
: 改善前のコードたち