通过夹角的大小,来判断向量的相似程度。夹角越小,就代表越相似。
余弦相似度是文本相似度度量中使用较多的一种方法,对于两个向量X和Y,其对应的形式如下:
X=(x1,x2...,xn)
Y=(y1,y2...,yn)
其向量的余弦相似度公式为:
余弦公式
X,Y对应其中的A和B
python实现:
import numpy as np
import math
def consim(x,y):
a=np.sum(x*y.T)
b=np.sqrt(np.sum(x*x.T))*np.sqrt(np.sum(y*y.T))
return (a/b)
a=np.array([0,1])
b=np.array([math.sqrt(3.0)/2,1/2])
print (consim(a,b))
输出结果:0.5000000000000001
结果越接近1,夹角就越接近0,代表越相似。
越趋近于-1,他们的方向越相反;接近于0,表示两个向量近乎于正交
网友评论