龙空技术网

那些对你文章上下其手的数学应用案例:余弦相似度

重阳可可 232

前言:

如今同学们对“余弦相似度算法 应用”大约比较关切,看官们都想要知道一些“余弦相似度算法 应用”的相关资讯。那么小编也在网络上收集了一些有关“余弦相似度算法 应用””的相关内容,希望咱们能喜欢,你们快快来了解一下吧!

关于初高中就常见的余弦相似度,在很多人的记忆里,估计只剩下“余弦相似度”这一概念,却没发现它的应用却常常在我们身边,更没想到那些曾吐槽过的数学公式,应用起来竟然跑到了其他领域:文本相似度比较。

在比较文本相似度之前,我们先借用数学的另一个概念:概率,反映的是某事件发生的可能性,用0-1之间的数值来表示。而文本的相似程度也可用0-1之间的概率值来表示,0则表示完全没有相似可言,1则表示两篇文章一模一样,有了这个概念,下面进行一下知识回顾。

知识回顾

还是先回顾一下余弦相似度的公式:

在向量空间内有两个向量a和b,如图:

那么a和b两个向量的夹角的余弦值计算公式如下:

即两个向量的余弦值等于两个向量的数量积除以两个向量模的积。

说了这么多这个公式有何用处呢,和文本相似度又有什么关系呢?

且听我慢慢道来!

原理

根据中学所学知识,当两个向量越来越靠近时,两向量的夹角的余弦值会越来越大,当两个向量完全重叠时,其夹角为0,两个向量的余弦为1。而两个文本的越来越相似时,其相似度也越来也越趋近于1,于是乎,将文本映射到向量空间上(事实上大部分文本的计算也是这么做的),讲人话就是把两个向量当做两个文本,当两个文本越来越相似的时候,两个文本对应的向量在向量空间内的夹角也就越小,夹角的余弦值也就越趋近于1,所以在一定范围内,我们可以用余弦相似度来计算文本相似度,计算的步骤如下:

1、将文本转为数学向量(词向量)

2、使用余下相似度公式计算文本向量的余弦值

3、计算结果即可表示文本之间的相似程度

应用余弦相似的原理,具体实践一下!

文本相似度计算

假设现在有两个短文本

文本1.为中华之崛起而读书

文本2.为中国人民谋幸福,为中华民族谋复兴

将两个文本映射到向量空间上(具体映射方法论请参考以往文章:电脑为何能计算语言文字,难道语言也能进行数学的加减乘除?)得到文本向量为:

文本1:a=【1,1,1,1,1,1,0,0,0,0,0,0】

文本2:b=【2,1,0,0,0,0,1,2,1,1,1,1】

那么根据上面所学的理论知识,文本1和文本2的相似度为:

近似计算,两个文本的相似度大约为32.75%。

“好的,先生/小姐姐,结束请挂机!”

“不好意思,说错了:结束,求关注!”

标签: #余弦相似度算法 应用 #余弦相似度计算公式