2011-12-13 64 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算法非常值得一看。我在我的數據集上測試了幾個,並且性能最好 - 至少爲我的需求。