2011-12-13 66 views
1

我正在处理记录连接项目,我需要对各种字符串比较器进行一些调查工作。我正在看的是:记录连接:比较字符串比较器

Jaro-Winkler,Levenshtein距离,最长公共子串和完全匹配。

我想知道,有任何工作已经完成,以确定哪些是好用和什么时候?也就是说,Jaro-Winkler似乎对名字好,但最好是对社会安全号码进行精确匹配。你会用哪个地址? Jaro-Winkler对其他人有利吗?

有没有人可以指点我的任何白皮书?

谢谢。

回答

2

一个很好的起点是纸张的William W. Cohen'A Comparison of String Distance Metrics for Name-Matching Tasks'。本文比较了几个字符串距离度量。

他们也在SecondString project内实施了他们中的大多数。它是一个“开源的基于Java的近似字符串匹配技术包”,因此您可以轻松比较不同的度量标准,而无需自行实施所有内容。

几乎不可能说哪个指标是最好的。正如您所说,Jaro-Winkler对名称很有用,为了比较地址,可以使用像Cohen所描述的TFIDF或SoftTFIFD等基于标记的度量标准。

为了能够做出决定,您还应该考虑底层算法的复杂性和相关的执行时间。

0

对于名字,特别是英语姓氏,Caverphone算法非常值得一看。我在我的数据集上测试了几个,并且性能最好 - 至少为我的需求。