4

是否有一些散列算法可以将相似的文本文档散列到特定的散列值?

例如,

A = “这是示例文本 1” B = “这是示例文本 2”

A 和 B 需要散列到相同的值。

我做了一些研究并阅读了有关 SimHash 和 LSH 算法的信息。Simhash 会导致哈希冲突,并且可以使用汉明距离来定义相似性。

理想情况下,我想要类似“如果字符串 A 和字符串 B 相差可接受的相似性阈值 (t < tmax),则将 A 和 B 哈希为相同的哈希值。”

4

1 回答 1

0

一个明显的选择是使用Soundex或其变体之一(取决于这些词的语言)。

你没有指定你需要这个。

  • 如果您需要创建某种哈希表变体,将相似的字符串放在同一个存储桶中,soundex 变体可以工作,但您需要考虑到可能发生冲突的可能性。
  • 如果您只需要说明两个字符串的相似程度,您还可以查看一个名为 Simil 的算法;请参阅此链接,或拼写检查相关算法。
于 2012-05-15T12:18:19.290 回答