写一段doc2vec的python代码来计算文档相似度
时间: 2023-08-06 17:04:57 浏览: 114
检验文档相似度
4星 · 用户满意度95%
好的,下面是一个简单的使用gensim库实现doc2vec计算文档相似度的代码:
```python
from gensim.models.doc2vec import Doc2Vec, TaggedDocument
from nltk.tokenize import word_tokenize
# 构建样本数据
data = ["This is the first document", "This is the second document", "And this is the third one", "Is this the first document?"]
# 对样本数据进行分词和标记化
tagged_data = [TaggedDocument(words=word_tokenize(_d.lower()), tags=[str(i)]) for i, _d in enumerate(data)]
# 训练doc2vec模型
model = Doc2Vec(tagged_data, vector_size=20, window=2, min_count=1, epochs=100)
# 计算文档相似度
similarity_score = model.docvecs.similarity('0', '1')
print("Similarity score between document 0 and 1:", similarity_score)
```
在上面的示例代码中,我们首先定义了一个包含四个文档的样本数据,并对每个文档进行了分词和标记化。然后,我们使用这些标记化的文档来训练一个doc2vec模型,并使用模型的`docvecs.similarity()`方法计算文档0和文档1之间的相似度得分。
需要注意的是,这里的相似度得分范围是-1到1之间,越接近1表示两个文档越相似,越接近-1表示两个文档越不相似。
阅读全文