用余弦相似度计算文本之间的相似度
时间: 2023-06-11 15:06:39 浏览: 116
(python)使用余弦相似度算法计算两个文本的相似度的简单实现
5星 · 资源好评率100%
余弦相似度是一种常用的文本相似度计算方法,它可以计算两个文本之间的相似度。其计算公式如下:
cos(θ) = (A·B) / (||A||·||B||)
其中,A和B是待比较的两个文本向量,θ是它们之间的夹角,||A||和||B||分别是向量A和向量B的模。
具体计算步骤如下:
1. 将两个文本转化为向量表示,可以使用词袋模型或者TF-IDF模型等方式进行向量化;
2. 计算两个向量的点积,即A·B;
3. 计算两个向量的模的乘积,即||A||·||B||;
4. 将点积除以模的乘积,得到余弦相似度。
余弦相似度的取值范围在-1到1之间,相似度越高,值越接近1;相似度越低,值越接近-1。如果两个文本向量完全相同,则余弦相似度为1;如果两个文本向量完全不同,则余弦相似度为-1。
在Python中,可以使用scikit-learn库中的cosine_similarity函数来计算余弦相似度。示例代码如下:
```
from sklearn.metrics.pairwise import cosine_similarity
import numpy as np
# 定义两个文本向量
A = np.array([1, 2, 3])
B = np.array([4, 5, 6])
# 计算余弦相似度
similarity = cosine_similarity([A, B])
print(similarity)
```
输出结果为:
```
[[1. 0.97463185]
[0.97463185 1. ]]
```
其中,similarity[0][1]表示向量A和向量B之间的余弦相似度,约为0.975。
阅读全文