【发布时间】:2010-12-25 01:19:03
【问题描述】:
我目前正在处理一个项目,我必须将大量用户生成的名称与规范格式的相同名称的单独列表进行匹配。问题是用户生成的名称包含许多拼写错误、缩写以及简单的无效数据,因此很难与规范数据进行交叉引用。对执行此操作的方法有什么建议吗?
这不必实时完成,在这种情况下,准确性比速度更重要。
目前的想法是:
- 使用现有的搜索实现(如 Lucene 或 Sphinx)对规范数据库中的用户输入名称进行模糊搜索,我假设为此使用了 Levenshtein 距离之类的东西。
- 对 SOUNDEX 哈希的交叉引用(据说是根据名称的发音而不是拼写计算)而不是使用实际名称。
- 以上的一些组合
有人对这些或他们自己的想法有任何反馈吗?
我担心的一个问题是上述方法都不能很好地处理缩写。谁能指出一些机器学习方法的方向,以实际搜索扩展缩写(或告诉我我疯了)?提前致谢。
【问题讨论】:
标签: search lucene sphinx fuzzy-search cross-reference