【问题标题】:Cross Referencing Databases on Fuzzy Data模糊数据的交叉引用数据库
【发布时间】:2010-12-25 01:19:03
【问题描述】:

我目前正在处理一个项目,我必须将大量用户生成的名称与规范格式的相同名称的单独列表进行匹配。问题是用户生成的名称包含许多拼写错误、缩写以及简单的无效数据,因此很难与规范数据进行交叉引用。对执行此操作的方法有什么建议吗?

这不必实时完成,在这种情况下,准确性比速度更重要。

目前的想法是:

  1. 使用现有的搜索实现(如 Lucene 或 Sphinx)对规范数据库中的用户输入名称进行模糊搜索,我假设为此使用了 Levenshtein 距离之类的东西。
  2. 对 SOUNDEX 哈希的交叉引用(据说是根据名称的发音而不是拼写计算)而不是使用实际名称。
  3. 以上的一些组合

有人对这些或他们自己的想法有任何反馈吗?

我担心的一个问题是上述方法都不能很好地处理缩写。谁能指出一些机器学习方法的方向,以实际搜索扩展缩写(或告诉我我疯了)?提前致谢。

【问题讨论】:

    标签: search lucene sphinx fuzzy-search cross-reference


    【解决方案1】:

    首先,我将在Peter Norvig's post on spelling correction 讨论的技术添加到您的列表中。

    其次,我想问一下您在说什么类型的“用户生成的名称”。处理完这两个问题后,我相信您用于街道名称的启发式方法与用于人名的启发式方法有些不同。 (举个简单的例子,“Dr”扩展为“Drive”还是“Doctor”?)

    第三,我会看一个组合,使用测试来建立用于组合各种技术结果的系数集。

    【讨论】:

    • 谢谢,我觉得这个问题真的没有完美的答案。我决定使用 Lucene 作为交叉引用的主要方式,并使用不同/自定义的分析器来扩展缩写并进行模糊搜索。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多