Python计算向量余弦相似度——从入门到实践
Python计算向量余弦相似度——从入门到实践
在文本挖掘、自然语言处理等领域,常常需要计算文本的相似度,而向量余弦相似度是较为常用的一种计算方式。本篇文章将介绍使用Python计算向量余弦相似度的方法。
- 向量余弦相似度的概念
向量余弦相似度是一种衡量两个向量方向差异的度量方法,通常用于计算文本之间的相似度。其计算公式如下:
cosine(A,B) = (A·B) / (||A|| * ||B||)
其中A和B为两个向量,A·B表示它们的点积,||A||和||B||表示它们的模长。
- Python计算向量余弦相似度的实现
Python中有多种库可以实现向量余弦相似度的计算,比如NumPy、SciPy和sklearn等。这里以NumPy为例,演示使用Python计算向量余弦相似度的过程。
以下是一个简单的示例代码,用于计算两个向量a和b的余弦相似度:
import numpy as np
def cosine_similarity(a, b):
return np.dot(a, b) / (np.linalg.norm(a) * np.linalg.norm(b))
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
print(cosine_similarity(a, b))
运行结果为:
0.9746318461970762
- 应用实例——文本相似度计算
在自然语言处理领域,常常需要计算文本之间的相似度。下面以两篇新闻报道为例,演示使用Python计算它们的相似度。
import jieba
i
还没有评论,来说两句吧...