计算两个文本的相似度我们可以使用编辑距离和余弦相似性来解决.本文解释多维的余弦相似度公式是怎么推导来的.
推导
余弦函数在三角形中的计算公式为
在图像表示:
在直角坐标系中,向量表示的三角形的余弦函数是怎么样的呢?下图中向量a用坐标(x1,y1)表示,向量b用坐标(x2,y2)表示。
向量a和向量b在直角坐标中的长度为
,向量a和向量b之间的距离我们用向量c表示,就是上图中的黄色直线,那么向量c在直角坐标系中的长度为
,将a,b,c带入三角函数的公式中得到如下的公式:
收起来就是:
至此已经推导结束
说明
先过滤掉省市区等信息,取两个地址文字的并集,然后用01表示并集的文字是否出现在地址中,得到两个数组,再用通过余弦定理计算相似性。
以两个地址为例子:
句子A:我/喜欢/看/电视,不/喜欢/看/电影。
句子B:我/不/喜欢/看/电视,也/不/喜欢/看/电影。
第一步分词
我,喜欢,看,电视,电影,不,也。
第二步列出所有词
具象化就是:
从而**余弦值越接近1,就表明夹角越接近0度,也就是两个向量越相似,这就叫”余弦相似性”
- 原文作者: ge
- 原文链接: https://blog.tnt.pub/2021_05_07_cos_text_similarity.html
- 版权声明:本作品采用 署名-非商业性使用 4.0 国际 (CC BY-NC 4.0)进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。