01
解法
搜索引擎的索引中充满了镜像和复制页面,而先删除重复的朴素方法是把每个页面与其他所有页面进行比较——即数百万的平方。
Broder在1997年的工作将页面表示为一系列shingle,然后只保留在排列下具有最小哈希值的少数几个。两个页面的集合共享一个最小值,其比例与它们的Jaccard相似度成正比,因此一个简短的草图就能估计相似度,无需成对比较。
AltaVista使用该草图对网络上的近重复页面进行聚类,并从结果中删除副本。这种方法将棘手的相似性问题转化为快速的哈希处理。
02
取得了什么结果
相同的小哈希值意味着页面相似
03
为什么有效
几个最小哈希值就能估算Jaccard相似度,无需逐元素比较。
签名大小固定,因此每页的成本极小,且存储方便。
这是一个无偏估计器,在页面间平均而言是正确的。
同样的草图支持大规模近重复检测和聚类。
04
可以借鉴什么
不要逐元素地比较两个大的集合。将每个集合减少为几个最小哈希,使得它们一致的概率等于集合的重叠程度,这样问题就变得微不足道。
05
后续
MinHash成为大规模近重复检测、集合相似度和去重的基础,在搜索、广告和机器学习中广泛应用,后来基于它的局部敏感哈希家族也建立在它之上。
从这里,追溯依据
参考来源
- On the resemblance and containment of documents DEC Systems Research Center Technical Note 1997-015 · bitsavers.org
- MinHash Wikipedia · en.wikipedia.org