文本相似度计算
1、bag of words model
课上只讲了最简单的一个方法:
每个document对应一个由全部vocabulary term 对应的矩阵,每一项就是这个term在该doc中的tf-idf值。
就像这样:
这个的弊端显而易见:
- 特征维度过高、矩阵稀疏
- 没有考虑词语的顺序,bag of words
2、如何计算相似度?
只计算欧式距离不是一个好主意…因为:
如果我们把一篇文章d原封不动append到自己身上,形成新的文档d’,那么d和d’的欧式距离是很大的,但是两者的夹角为0.所以,想到可以用夹角来衡量相似度,引入余弦相似度。
由于对长度进行了归一化,上面的那个例子中,d和d’是相同的了。
余弦相似度衡量的是夹角大小: