pythonのライブラリを使って、word2vecを行う方法。
pip3 install gensim
pip3 install word2vec
でインストールする。
・機械学習のためのスクリプト
from gensim.models import word2vec
import logging
import sys
logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO)
sentences = word2vec.LineSentence(sys.argv[1])
model = word2vec.Word2Vec(sentences,
sg=1,
size=100,
min_count=1,
window=10,
hs=1,
negative=0)
model.save(sys.argv[2])
これをtrain.pyと名付けて実行する。 (実行できなければ、chmod 755 train.pyで実行許可を与える。)
python3 train.py TEXT.txt TEXT.model
(python3でtrain.pyを実行し、TEXT.txtを機械学習する。その後、TEXT.modelとしてアウトプットする。)
計算が終わったら、以下のスクリプト(similars.py)で類似の高い語を抜き出してみる。
from gensim.models import word2vec
import sys
model = word2vec.Word2Vec.load(sys.argv[1])
results = model.most_similar(positive=sys.argv[2], topn=10)
for result in results:
print(result[0], '\t', result[1])
使い方
python3 similars.py TEXT.model AAA
(AAAは調べたい単語)
参考リンク:Pythonで「老人と海」をword2vecする
0 件のコメント:
コメントを投稿