4

来自google blogspot中的引用,

"In fact, we found even more than 1 trillion individual links, but not all of 
them lead to unique web pages. Many pages have multiple URLs with exactly the same
content or URLs that are auto-generated copies of each other. Even after removing
those exact duplicates . . . "

Google 如何检测那些完全重复的网页或文档?对 Google 使用的算法有任何想法吗?

4

2 回答 2

1

根据http://en.wikipedia.org/wiki/MinHash

Google 在 2006 年 [10] 进行了大规模评估,以比较 Minhash 和 Simhash [11] 算法的性能。2007 年,Google 报告说使用 Simhash 进行网络爬虫的重复检测[12],并使用 Minhash 和 LSH 进行 Google 新闻个性化。[13]

搜索 Simhash 会出现此页面:

https://liangsun.org/posts/a-python-implementation-of-simhash-algorithm/

https://github.com/leonsim/simhash

引用了谷歌员工写的一篇论文:Detecting near-duplicates for web crawling

抽象的:

近乎重复的 Web 文档非常丰富。例如,两个这样的文档在显示广告的很小部分中彼此不同。这种差异与网络搜索无关。因此,如果网络爬虫能够评估新爬取的网页是否与之前爬取的网页几乎重复,那么它的质量就会提高。在为数十亿页面存储库开发近似重复检测系统的过程中,我们做出了两项研究贡献。首先,我们证明 Charikar 的指纹技术适用于这个目标。其次,我们提出了一种算法技术,用于识别现有的 f 位指纹,这些指纹与给定指纹在最多 k 位位置上不同,对于小 k。我们的技术对在线查询(单个指纹)和所有批量查询(多个指纹)都很有用。对真实数据的实验评估证实了我们设计的实用性。

另一篇 Simhash 论文:

http://simhash.googlecode.com/svn/trunk/paper/SimHashWithBib.pdf ‎</p>

于 2014-03-17T17:13:19.113 回答
0

可能的解决方案

精确方法

1)蛮力:将每个新页面与所有访问过的页面进行比较(非常缓慢且效率低下)

2)计算每个访问页面的哈希(md5,sha1)并将哈希存储在数据库中,并在数据库中查找每个新页面的哈希

3)信息检索的标准布尔模型(BIR)

........许多其他可能的方法

近似精确方法

1)模糊哈希

2)潜在语义索引

……

于 2013-09-04T14:12:36.857 回答