日本語に対してword2vec, doc2vec等をやってみる。
以下くらいの環境を想定
- GCP VM: n1-highmem-2 (2 vCPUs, 13 GB memory)
- Disk: 256 GB
- OS: Ubuntu Linux 16.04
インストールされるもの
- Ubuntu 16.04
- vim, wget, git, nkf
- g++
- Python2, Python3, pip, Cython
- gensim (word2vec, doc2vec), pattern
- MeCab
- JUMAN, JUMAN++, KNP
- fastText
注
- Python3だとgensimがslow modeになり、patternはエラー
git clone git@github.com:vochicong/doc2vec.git
cd doc2vec
以下、3つの方法が選べる。
- build済みのDocker imageを利用
- Docker imageを手元でbuild
- DockerではなくVMにインストール
build済みのDocker imageをpullして、containerを起動
- docker, docker-compose
docker-compose up
Docker内でコマンドを打つなら
docker-compose exec nlp-doc2vec bash
手元でansible-containerを使ってDocker imageをbuildする。
- docker, docker-compose
- ansible-container
buildしてvochicong/nlp-doc2vecへpush
ansible-container build
docker tag nlp-doc2vec:latest vochicong/nlp-doc2vec:latest
ansible-container push --push-to docker
docker push vochicong/nlp-doc2vec:latest # push tag latest
手元でdocker-composeを使ってDocker imageをbuildする。
- docker, docker-compose
buildしてvochicong/nlp-doc2vecへpush
docker-compose build
docker-compose push
Dockerではなく、VM(Ubuntu 16.04想定)に環境をインストールする。
- ansible
初回、データダウンロードを含めて実行
sudo mkdir -p /workspace/download
sudo chown -R `whoami` /workspace
ansible-playbook ansible-playbook.yml --skip-tags="clean"
2回目以降は、データダウンロードが不要
ansible-playbook ansible-playbook.yml --skip-tags="download,clean"
ダウロードしたデータを削除する場合
ansible-playbook ansible-playbook.yml --tags="clean"
rm -Rf /workspace/download/*