最近用到了句子相似度的计算,把学到的在这里总结一下。
句子相似度的计算常用的大概三种,一个TF-IDF,一个word2vector,还有在word2vector的基础上使用深度学习继续提取特征。
TF-IDF
TF-IDF感觉应该用在长文本或文章的相似度计算。
词频(TF) 指某个词在句子(文章)中出现的次数。
词频计算时一般会归一化,使用
TF = 某个词在句子中出现的次数 / 句子的总词数。
逆文档频率(IDF) 指某个词在所有句子(文章)中出现的频率。
某个词出现的文章数越少,说明这个词越不常见,越能反应出句子(文章)的特点。
计算时一般使用如下公式,分母加一是防止分母为零。
IDF = log(句子总数 / 该词出现的句子数+1)
TF-IDF就是TF与IDF的乘积,它与一个词在文档中的出现次数成正比,与该词在整个语言中的出现次数成反比。
更详细的可以看阮一峰老师的文章,感觉这个方法现在用的比较少了,毕竟word2vector效果更好,使用范围也更广。
word2vector
word2vector就是先对句子分词,获取