Hash 如何计算相似字符串的相等哈希?

Hash 如何计算相似字符串的相等哈希?,hash,levenshtein-distance,Hash,Levenshtein Distance,我创造了反滞后。我用木瓦法。例如,我有以下木瓦: 我去看电影 我去看电影 我去看电影 是否有计算这些行的相等哈希的方法 我知道Levenshtein距离的存在。然而,我不知道我应该采取什么源字。也许有一种比考虑LevsHeTin距离更好的方法。 < P>哈希的问题是,逻辑上,你会遇到2个字符串,这些字符串不同于一个字符,散列到不同的值。 小证据: 考虑所有可能的字符串。 假设所有这些哈希值至少为2个不同的值。 取任意两个散列为不同值的字符串A和B。 很明显,一次只需改变一个字符,就可以从A变为B

我创造了反滞后。我用木瓦法。例如,我有以下木瓦:

我去看电影 我去看电影 我去看电影 是否有计算这些行的相等哈希的方法


我知道Levenshtein距离的存在。然而,我不知道我应该采取什么源字。也许有一种比考虑LevsHeTin距离更好的方法。

< P>哈希的问题是,逻辑上,你会遇到2个字符串,这些字符串不同于一个字符,散列到不同的值。

小证据:

考虑所有可能的字符串。 假设所有这些哈希值至少为2个不同的值。 取任意两个散列为不同值的字符串A和B。 很明显,一次只需改变一个字符,就可以从A变为B。 因此,在某个时刻,散列将发生变化。 因此,在这一点上,对于单个字符的更改,哈希将不同

我能想到的一些选择:

对字符串的多个部分进行散列并检查每个散列。可能不会太好,因为单个字符的省略将导致哈希值的显著差异

检查一系列散列。散列是一维的,但字符串相似性不是,因此这可能也不起作用


总而言之,散列可能不是解决问题的方法。

这个问题有点老了,但at&T的两位研究人员可能对这个问题感兴趣。他们采用了一种让人想起Nilsimsa散列的技术,来检测在一个时间窗口中类似的短信出现异常次数


这听起来也与你的问题有关

您能否将您提供的链接的相关部分添加到答案中?如果你可以访问,那就更好了-鼓励链接到外部资源,但是请在链接周围添加上下文,这样你的其他用户就会知道它是什么以及为什么会在那里。始终引用重要链接中最相关的部分,以防无法访问目标站点或永久脱机。