比较相似的单词和短语

时间:2012-10-23 18:57:09

标签: database algorithm

我在excel中有2个数据库。在数据库A中,我有各种公司,城市和慈善机构的名称。数据库B是相同的。但是,数据库B由客户填写。因此,我在法律名称上收到了很多随机错误和/或变体。

匹配名称的最佳方法是什么?

以下是一些示例差异:

  1. ABC市可能会出现作为ABC市的公司
  2. ABC公司可能只是ABC公司(他们忘了一个空间)
  3. ABC大学可缩写为ABC大学
  4. Canadian Tire可能会出现在Canadian Tire Store#503
  5. 加拿大轮胎可能像加拿大轮胎一样拼写错误
  6. ABC Corp可能会出现在ABC Inc
  7. 有一个很好的解决方案吗?我知道这个问题有点远,但如果我能做到这一点,我每年都会花费数千小时来拯救我公司的人......

    非常感谢任何建议

2 个答案:

答案 0 :(得分:2)

这是一个非常复杂的问题。查找“主数据管理”和“重复数据删除”。 This wikipedia article是一个很好的起点。

问题最好在小块中解决。我的建议是阅读一点并实现一个工具,列出潜在的重复项和一些简单的方法来合并它们。这里的关键字是潜在的;你不想做错误的合并,误报很可能也是非常有害的。

答案 1 :(得分:0)

您可以使用正则表达式来过滤这些数据库。

http://en.wikipedia.org/wiki/Regular_expression

http://www.zytrax.com/tech/web/regex.htm

您可以根据公司名称的相关部分进行程序模式匹配。 例如,如果有人放入Redmond的Microsoft Corporation和您的程序 模式匹配“微软”你会受到打击。