伪原创相似度查询(如何比较两篇文章的相似度(1)_软件)

优采云 发布时间: 2021-09-17 00:17

  伪原创相似度查询(如何比较两篇文章的相似度(1)_软件)

  如何比较两篇文章文章之间的相似性在互联网搜索引擎级别上被广泛使用。想象一下,如果没有进行类似的比较,在当前复制互联网信息的情况下,搜索引擎结果页面前面的结果可能是类似的内容。为了避免上述问题,Google在ww07中集成了基于检测接近重复的纸张的simhash用于web爬行

  simhash的背景

  常用余弦角算法、欧氏距离、Jaccard相似度、最长公共子串、编辑距离等。这些算法在没有太多文本数据进行比较时易于使用。如果我们每天的采集数据以千万计,那么性能将是一个非常大的瓶颈。传统的哈希算法只负责将原创内容尽可能均匀、随机地映射为签名值。原则上,它相当于伪随机数生成算法。如果传统哈希算法生成的两个签名相等,则原创内容在一定概率下相等;如果它们不相等,则除了原创内容不相等外,不会提供任何信息,因为即使原创内容仅相差一个字节,生成的签名也可能非常不同。因此,哈希算法只适用于相似性检测,而不适用于相似性检测。理想的散列函数需要为几乎相同的输入内容生成相同或相似的散列值。换句话说,哈希值的相似性应该直接反映输入内容的相似性。因此,传统的散列方法如MD5不能满足我们的需要

  simhash算法原理

  Simhash是一种可以计算文档相似度的哈希算法。通过simhash,一个文章可以映射到64位,然后比较两个文章的64位汉明距离可以知道文章的类似程序。如果哈明在两篇文章中的距离分词文章是“美国(4)zone 51)(5)employee(3)说有(1)9)(3)ufo(5)seed)(3)gray(4)existers(5)))在里面(1)2))”,括号表示单词在整个句子中的重要性。数字越大,它就越重要。哈希。通过哈希算法将每个单词转换为哈希值。例如,“America”计算为100101,“zone 51”通过hash算法通过hash算法,它被计算为101011。这样,我们的字符串就变成了一个数字字符串。还记得文章在文章开头说的文章应该变成数字,以提高相似度计算的性能。现在是降维过程。通过2-步骤哈希生成结果,需要根据单词的权重形成一个加权数字字符串。例如,“美国”的哈希值为“100101”,按权重计算为“4-4-4-4”;而“区域51”的哈希值为“101011”和“5-5-5”按权重。合并。将上述单词的序列值累加为一个序列字符串。例如,“美国”中的“4-4-4-4”和“区域51”中的“5-5-5-5 5”,累加每个位,“4+5-4+-5-4+5+-5-4+5”=“9-9 1-1 9”。例如,此处仅计算两个单词,所有单词的序列字符串需要累加才能进行实际计算。降维。转动“9-9 1-1 9”在步骤4中计算成一个0 1字符串,以形成最终的simhash签名。如果每个位大于0,则记录为1,如果小于0,则记录为0。最终计算结果为:“1 0 1 0 1”

  相关工具:

  其他算法:

  参考文章:

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线