gensim的Doc2vec改动较大,于2018年5月8日记录下此实验
准备阶段
1分词,cut_content
2将分好词的文本cut_content写入txt文件 doc2vec_corpus.txt,一个样本的文本为一行
开始训练Doc2Vec
from gensim.models.doc2vec import Doc2Vec
from gensim.models.doc2vec import LabeledSentence
file_path = 'doc2vec_corpus.txt'
documents = gensim.models.doc2vec.TaggedLineDocument(file_path)
model = gensim.models.doc2vec.Doc2Vec(vector_size = 2) #确定Doc2Vec要取多少个特征,这里取了5个
model.build_vocab(documents)#建立字典
model.train(documents,total_examples = model.corpus_count,epochs=model.iter)#训练模型
#输出每个文档向量化后的特征
list_doc2vec =[]
for each in list(cut_content):
arr = model.infer_vector(each.split(' '))
print(arr)
得到特征后可以保存为列表进一步用作分类器的特征