一、 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(['国 人寿 财保险 股 有限公司'])