用python写文本相似度 余弦相似度 代码
时间: 2023-06-04 22:07:18 浏览: 113
您好,以下是使用Python计算文本相似度的余弦相似度代码:
```python
import math
# 计算向量点积
def dot_product(vec1, vec2):
return sum(a * b for a, b in zip(vec1, vec2))
# 计算向量长度
def vector_length(vec):
return math.sqrt(dot_product(vec, vec))
# 计算余弦相似度
def cosine_similarity(vec1, vec2):
numerator = dot_product(vec1, vec2)
denominator = vector_length(vec1) * vector_length(vec2)
return numerator / denominator
def compute_cosine_similarity(text1, text2):
words = set(text1.split() + text2.split())
vec1 = [text1.split().count(word) for word in words]
vec2 = [text2.split().count(word) for word in words]
return cosine_similarity(vec1, vec2)
# 示例文本
text1 = "这是一个示例文本,用于计算文本相似度。"
text2 = "这是另一个示例文本,也是用于计算文本相似度的。"
# 计算相似度
similarity = compute_cosine_similarity(text1, text2)
# 输出结果
print("文本1:", text1)
print("文本2:", text2)
print("余弦相似度:", similarity)
```
请注意,此代码仅适用于简单的文本相似度计算,对于更复杂的情况,可能需要进行一些修改。