【NLP学习笔记】余弦相似度
一、问题:计算两个句子之间的相似度
**基本思路:**如果这两句话的用词越相似,它们的内容就应该越相似。因此,可以从词频入手,计算它们的相似程度。
二、步骤
- 第一步,分词。
- 第二步,列出两个句子所有的不重复的词。
- 第三步,计算词频(TF)。
- 第四步,写出各个句子的词频向量。
- 第五步,计算这两个向量的相似程度。
由此可见,句子的相似程度可以使用余弦相似度来进行计算。
三、余弦相似度的原理
我们可以把上述两个向量想象成空间中的两条线段,都是从原点([0, 0, …])出发,指向不同的方向。两条线段之间形成一个夹角,
- 如果夹角为0度,意味着方向相同、线段重合;
- 如果夹角为90度,意味着形成直角,方向完全不相似;
- 如果夹角为180度,意味着方向正好相反。
因此,我们可以通过夹角的大小,来判断向量的相似程度。夹角越小,就代表越相似。
余弦值越接近1,就表明夹角越接近0度,也就是两个向量越相似,这就叫"余弦相似性"。