是否存在可以容忍微小差异的哈希算法?

| 我正在做一些Web爬网类型的工作,我在其中寻找网页中的某些术语并找到它们在页面上的位置,然后将其缓存以备后用。我希望能够定期检查该页面是否有重大更改。只需将当前日期和时间放在页面上,就可以挫败md5之类的东西。 是否有适用于这种情况的哈希算法?     
已邀请:
进行文档相似性的一种常见方法是混叠,这比散列要复杂得多。还要查看内容定义的分块,以找到一种拆分文档的方法。 几年前,我读了一篇关于使用Bloom过滤器进行相似性检测的论文。使用Bloom筛选器优化Web搜索结果。这是一个有趣的主意,但是我从没有尝试过。     
这可能是使用Levenshtein距离度量标准的好地方,该度量标准量化了将一个序列转换为另一个序列所需的编辑量。 这种方法的缺点是您需要保留每个页面的全文,以便以后进行比较。另一方面,使用基于散列的方法,您只需存储某种小的计算值,而无需使用以前的全文进行比较。 您还可以尝试某种混合方法-让哈希算法告诉您已进行了任何更改,并将其用作触发来检索文档的归档副本,以进行更严格的(Levenshtein)比较。     
http://www.phash.org/对图像做了类似的处理。技巧:拍摄图像,将其模糊,将其转换为灰度,执行离散余弦变换,然后仅查看结果的左上象限(重要信息在此)。然后为每个小于平均值的值记录0,为每个大于平均值的值记录1。小变化的结果是相当不错的。 最小散列是另一种可能性。在文本中查找要素并将其记录为值。连接所有这些值以构成一个哈希字符串。 对于以上两种情况,请使用有利点树,以便您可以搜索附近的热门歌曲。     
我很遗憾地说,但是哈希算法正是这样。没有人能够容忍微小的差异。您应该采取另一种方法。     

要回复问题请先登录注册