【问题标题】:Comparing string distance based on precomputed hashes基于预先计算的哈希比较字符串距离
【发布时间】:2010-08-12 23:33:51
【问题描述】:

我有一个很大的字符串列表(超过 200,000 个),我想将它们与给定的字符串进行比较。 给定的字符串是由用户插入的,因此可能略有不正确。

我希望做的是在将每个字符串添加到列表时为每个字符串创建某种预先计算的哈希值。此哈希将包含字符串长度、所有字符的添加等信息。

我的问题是,这样的东西已经存在了吗?肯定会有一些东西可以让我避免在列表中的每个字符串上运行Levenshtein distance 吗?

或者我还没有想到第三种选择?

【问题讨论】:

    标签: string hash compare distance precompute


    【解决方案1】:

    听起来您想使用某种模糊哈希。有很多可用的哈希函数可以做这样的事情。经典的旧“SOUNDEX”算法甚至可以工作。

    另一个想法 - 如果您估计输入错误的概率很低,那么您实际上可能会在 99.9% 的时间内直接命中,而退回到 SOUNDEX 可能会捕获 90% 的剩余情况,然后在剩余 0.01% 的时间内搜索整个列表。

    还值得检查此讨论: How to find best fuzzy match for a string in a large string database

    【讨论】:

      猜你喜欢
      • 2011-03-27
      • 1970-01-01
      • 2015-03-07
      • 2021-03-26
      • 1970-01-01
      • 2012-07-17
      • 1970-01-01
      • 2012-07-12
      • 1970-01-01
      相关资源
      最近更新 更多