
在一篇新闻中,这 64,000 个词的 TF/IDF 值分别为
如果单词表中的某个文章中没有出现,对应的值为零,那么这 64,000 个数,组成一个64,000维的向量。我们就用这个向量来代表这篇新闻,并成为文章的特征向量。如果两篇文章的特征向量相近,则对应的新闻内容相似,它们应当归在一类,反之亦然。
2、利用simhash算法
1,将一个f维的向量V初始化为0;f位的二进制数S初始化为0;
2,对每一个特征:用传统的hash算法对该特征产生一个f位的签名b。对i=1到f:
如果b的第i位为1,则V的第i个元素加上该特征的权重;
否则,V的第i个元素减去该特征的权重。
3,如果V的第i个元素大于0,则S的第i位为1,否则为0;
4,输出S作为签名。
通过计算两篇文章的签名的海明距离得出相似度。
如图:
以上的所有算法我们都只关注文章的全局信息,忽略了文章的局部信息。
海明距离:
对于向量u,v,海明距离为2个向量相异的位数
其中u_i,v_i表示第i维值。
当然还有一些其他的好方法。本文部分内容来自德问,谢谢相关作者的回答。