![c00198be438406e49b0d2c82042c994f.png](https://i-blog.csdnimg.cn/blog_migrate/eddcd1186d5ef94af41010d55e0fbf33.png)
在线面试碰到的这个东东,临时补了一下课。。
所谓的余弦相似度就是将余弦函数应用到自然语言处理领域,做文本相似度的分析。大概的流程就是,为了计算两句话的相似度,首先需要将两句话拆分成词,也就是所谓的分词,这里中文的话方法就是利用python的jieba库,很方便,很上手。然后将两句话拆分所得的所有的分词来一个合并同类项,得到一个总的词语的集合。然后,以这个总的集合为基准,写出两句话的1/0向量表示,就是遍历总的集合的每个词,句中有就用1表示,没有就用0表示,这样两句话就可以用一串类似比特流的10字符串表示,最后,祭出我们的终极大杀器,cos表达式的公式。(以下几张图均来自网络)
印象中,余弦函数的公式长下面这样:
![3424b1da425f75101f75a9e4b208e572.png](https://i-blog.csdnimg.cn/blog_migrate/8ddea168e12252b36f8b5db0a2983fea.jpeg)
然而还有个变种,长这样: