6

编辑距离算法给出了两个字符串之间距离的度量。

问题:这些措施中的哪一个与检测两个实际上相同的不同人名最相关?(由于拼写错误而不同)。诀窍是它应该尽量减少误报。例子:

奥巴马奥巴马 => 可能应该被合并

Obama Ibama => 不应合并。

这只是一个过于简单的例子。他们的程序员和计算机科学家是否更详细地解决了这个问题?

4

2 回答 2

5

我可以建议这样做的信息检索技术,但它需要大量的文档才能正常工作。

使用标准的 IR 技术索引您的数据。Lucene是一个很好的开源库,可以帮助您。

一旦你得到一个名字(例如奥巴马):检索出现奥巴马这个词的集合集。让这个集合成为D1。 现在,对于D1
中的每个单词1搜索(使用您的 IR 系统)。设 为。w Obaama AND wD2

分数|D2|/|D1|是一个估计有多少w连接到Obaama,并且很可能会接近 2 的w=Obama1
您可以手动标记一组示例并找到预期单词的值。

使用标准的词典相似性技术,您可以选择过滤掉绝对不是拼写错误的单词(Like Barack)。

另一个经常使用的解决方案需要查询日志——找到搜索词之间的相关性,如果查询日志中奥巴马与奥巴马有相关性——它们是连接的。


1:您可以通过首先执行第二个过滤器来提高性能,并且只检查字典上“足够相似”的候选人。

2:通常也使用归一化,因为更频繁的词更有可能与任何词在同一个文档中,无论是否相关。

于 2012-08-12T08:36:39.220 回答
2

您可以查看也使用SecondString的NerSim演示) 。你可以找到他们相应的论文,或者考虑这篇论文:命名实体匹配的稳健相似性度量

于 2012-08-13T13:20:04.663 回答