Gensim中word2vec和doc2vec的基本用法
阿新 • • 發佈:2018-12-09
一、 word2vec:
from gensim.models.word2vec import Word2Vec
model = Word2Vec(lines, sg=1, size=100, window=5, min_count=5, negative=3, hs=1)
其中lines是[['中國','國人','有限','限公','公司'],['學生','生幼','條款']]這種型別的資料格式
model.most_similar('人壽') #可以檢視和“人壽”這個詞最接近的詞
模型持久化:
model.wv.save_word2vec_format('e:/2gram.vec', binary=False)
模型載入:
import gensim
m=gensim.models.KeyedVectors.load_word2vec_format('e:/2gram.vec', binary=False)
得到模型中的詞表:
vacab = model.vocab.keys()
二、Doc2vec:
訓練模型:
from gensim.test.utils import common_texts from gensim.models.doc2vec import Doc2Vec, TaggedDocument documents = [TaggedDocument(doc, [i]) for i, doc in enumerate(lines)] model = Doc2Vec(documents, vector_size=100, window=3, min_count=1, workers=4)
其中所需的資料格式要求:
模型持久化和載入:
from gensim.test.utils import get_tmpfile
# fname = get_tmpfile("e:/doc2vec.vec")
model.save('e:/doc2vectest.vec')
model1 = Doc2Vec.load('e:/doc2vectest.vec') # you can continue training with the loaded model!
獲取段落的向量:
model1.infer_vector(['國 人壽 財保險 股 有限公司'])