python计算较多的文本的余弦相似度并且输出值
时间: 2023-06-15 10:07:40 浏览: 102
python 余弦相似度算法
要计算两个文本之间的余弦相似度,可以先将文本转换为向量表示,然后计算向量之间的余弦相似度。
下面是一个示例代码:
```python
import numpy as np
def cosine_similarity(text1, text2):
# 将文本转换为向量表示
vector1 = text_to_vector(text1)
vector2 = text_to_vector(text2)
# 计算余弦相似度
dot_product = np.dot(vector1, vector2)
norm1 = np.linalg.norm(vector1)
norm2 = np.linalg.norm(vector2)
return dot_product / (norm1 * norm2)
def text_to_vector(text):
words = text.split()
vector = {}
for word in words:
if word in vector:
vector[word] += 1
else:
vector[word] = 1
return np.array(list(vector.values()))
text1 = "This is a sample text"
text2 = "This is another sample text"
similarity = cosine_similarity(text1, text2)
print("余弦相似度:", similarity)
```
这个示例代码中,`text_to_vector` 函数将文本转换为一个词频向量,然后使用 numpy 计算向量之间的余弦相似度。最后,输出余弦相似度的值。
阅读全文