用python写文本相似度 余弦相似度 代码 input函数
时间: 2023-06-05 20:05:51 浏览: 150
下面是使用Python的余弦相似度计算文本相似度的代码,其中包含input函数以便输入需要比较的文本:
```
import math
def cosine_similarity(a, b):
# 计算余弦相似度
dot_product = 0.0
norm_a = 0.0
norm_b = 0.0
for i in range(len(a)):
dot_product += a[i] * b[i]
norm_a += a[i] ** 2
norm_b += b[i] ** 2
if norm_a == 0.0 or norm_b == 0.0:
return 0.0
else:
return dot_product / (math.sqrt(norm_a) * math.sqrt(norm_b))
# 输入两个文本
text1 = input("请输入第一个文本:")
text2 = input("请输入第二个文本:")
# 对文本进行分词
words1 = text1.strip().split()
words2 = text2.strip().split()
# 获取所有词的集合
all_words = set(words1 + words2)
# 分别计算两个文本中每个词出现的次数,并放入向量中
vector1 = [words1.count(word) for word in all_words]
vector2 = [words2.count(word) for word in all_words]
# 计算文本向量之间的余弦相似度
similarity = cosine_similarity(vector1, vector2)
print("两个文本的余弦相似度为:%.2f" % similarity)
```
注意:此代码仅供学习交流之用,对于实际应用场景需要根据具体情况进行修改。
阅读全文