doc2vec训练代码
时间: 2023-09-22 21:11:08 浏览: 115
doc2vec:用于训练测试段落向量的 Python 脚本
以下是使用gensim库训练doc2vec模型的示例代码:
```python
from gensim.models.doc2vec import Doc2Vec, TaggedDocument
from nltk.tokenize import word_tokenize
# 读取文本数据
with open("data.txt", "r") as f:
data = f.readlines()
# 对每个文档进行分词,并打上标签
tagged_data = [TaggedDocument(words=word_tokenize(doc.lower()), tags=[str(i)]) for i, doc in enumerate(data)]
# 初始化doc2vec模型
model = Doc2Vec(vector_size=300, window=10, min_count=5, workers=4)
# 构建词汇表
model.build_vocab(tagged_data)
# 训练doc2vec模型
model.train(tagged_data, total_examples=model.corpus_count, epochs=model.epochs)
# 保存模型
model.save("doc2vec.model")
```
其中,`data.txt`为文本数据文件,每行为一个文档。`vector_size`为词向量维度,`window`为上下文窗口大小,`min_count`为最小词频,`workers`为训练时使用的线程数。训练过程中会自动构建词汇表,并保存训练好的模型。
阅读全文