文章相似度 - simhash 计算
摘要
比较两篇文章的相似度,传统思路是余弦相似度:先将两篇文章分别进行分词,得到一系列特征向量,然后计算特征向量之间的夹角余弦,从而判断两篇文章的相似度。缺点是文章量大了之后,要计算任意两篇文章之间的夹角余弦是不可想象的。
SimHash 是一种局部敏感哈希算法,它产生的哈希签名在一定程度上可以表征原内容的相似度。其主要思想是降维,将高维的特征向量转化成一个 f 位的指纹(fingerprint),通过算出两个指纹的海明距离(hamming distince)来确定两篇文章的相似度,海明距离越小,越相似。在文章量大了之后,可以通过设计减少海明距离的计算次数。
SimHash 的局限性:对短文本效果不显著,对 500 字以上的效果好一点,文本越长判断的准确率越高。
欢迎在评论区写下你对这篇文章的看法。