最基本的文本相似度计算是在向量空间模型(VSM)下,以文档中的词作为特征进行计算:
先来说一下VSM
思想很简单:
假设我现在的文档集中有3篇文档:
- d1: w1 w2 w5
- d2: w2 w2 w3 w4
- d3: w3 w3 w1 w2
那我现在整个文档集中就有5个词,由于每篇文档的词数不同,为了计算他们之间的相似度,我们首先要把他们转换为同一维度下的向量表示,直接用文档的词是显然不可能得,所以,我们的前人想到了用单词表的词数作为特征向量维度的方法
具体分为2种:
- 基于词是否出现:
- d1: [1 1 0 0 1]
- d2: [0 1 1 1 0]
- d3: [1 1 1 0 0]
- 基于词频:
- d1: [1 1 0 0 1]
- d2: [0 2 1 1 0]
- d3: [1 1 2 0 0]
要注意的一点就是,VSM还用到了bag-of-words的思想,也就是不考虑词出现的顺序&#x