【NLP学习笔记】余弦相似度

一、问题:计算两个句子之间的相似度

**基本思路:**如果这两句话的用词越相似,它们的内容就应该越相似。因此,可以从词频入手,计算它们的相似程度。

二、步骤

  • 第一步,分词。
  • 第二步,列出两个句子所有的不重复的词。
  • 第三步,计算词频(TF)。
  • 第四步,写出各个句子的词频向量。
  • 第五步,计算这两个向量的相似程度。
    由此可见,句子的相似程度可以使用余弦相似度来进行计算。

三、余弦相似度的原理

我们可以把上述两个向量想象成空间中的两条线段,都是从原点([0, 0, …])出发,指向不同的方向。两条线段之间形成一个夹角,

  • 如果夹角为0度,意味着方向相同、线段重合;
  • 如果夹角为90度,意味着形成直角,方向完全不相似;
  • 如果夹角为180度,意味着方向正好相反。

因此,我们可以通过夹角的大小,来判断向量的相似程度。夹角越小,就代表越相似。
【NLP学习笔记】余弦相似度
余弦值越接近1,就表明夹角越接近0度,也就是两个向量越相似,这就叫"余弦相似性"。

四、参考

[1] TF-IDF与余弦相似性的应用(二):找出相似文章