word2vec计算句子相似度代码
时间: 2023-08-03 18:26:50 浏览: 181
根据word2vec词向量进行文本相似度分析
3星 · 编辑精心推荐
以下是使用Python中gensim库实现word2vec计算句子相似度的示例代码:
```python
from gensim.models import Word2Vec
import numpy as np
# 加载预训练的word2vec模型
model = Word2Vec.load("path/to/word2vec/model")
def sentence_vector(sentence):
"""
将句子转换为向量
"""
vectors = [model.wv[word] for word in sentence if word in model.wv.vocab]
return np.mean(vectors, axis=0)
def cosine_similarity(v1, v2):
"""
计算两个向量的余弦相似度
"""
return np.dot(v1, v2) / (np.linalg.norm(v1) * np.linalg.norm(v2))
# 计算两个句子的相似度
sentence1 = "这是一个测试句子"
sentence2 = "这是另一个测试句子"
vector1 = sentence_vector(sentence1)
vector2 = sentence_vector(sentence2)
similarity = cosine_similarity(vector1, vector2)
print("两个句子的相似度为:", similarity)
```
注意:以上代码中的`path/to/word2vec/model`需要替换为你自己的word2vec模型路径。另外,如果句子中有些词不在模型的词汇表中,需要进行相应处理,例如忽略或使用另一种方式处理。
阅读全文