gensim#encoding=utf-8
from gensim.models import word2vec
sentences=word2vec.Text8Corpus(u'分詞后的爽膚水評論.txt')
model=word2vec.Word2Vec(sentences, size=50)
y2=model.similarity(u"好", u"還行")
print(y2)
for i in model.most_similar(u"滋潤"):
print i[0],i[1]
txt文件是已經(jīng)分好詞的5W條評論利凑,訓練模型只需一句話:
model=word2vec.Word2Vec(sentences,min_count=5,size=50)
第一個參數(shù)是訓練語料蚊夫,第二個參數(shù)是小于該數(shù)的單詞會被剔除镣陕,默認值為5,
第三個參數(shù)是神經(jīng)網(wǎng)絡的隱藏層單元數(shù),默認為100
model.similarity(u"好", u"還行")#計算兩個詞之間的余弦距離
model.most_similar(u"滋潤")#計算余弦距離最接近“滋潤”的10個詞
運行結果:
0.642981583608
保濕 0.995047152042
溫和 0.985100984573
高 0.978088200092
舒服 0.969187200069
補水 0.967649161816
清爽 0.960570812225
水水 0.958645284176
一般 0.928643763065
一款 0.911774456501
真的 0.90943980217
當然還可以存儲和加載咱們辛辛苦苦訓練好的模型:
model.save('/model/word2vec_model')
new_model=gensim.models.Word2Vec.load('/model/word2vec_model')
也可以獲取每個詞的詞向量
model['computer'] `