我期待通過模糊匹配算法對C#
中的記錄鏈接比較兩個數據元素或字段,並且我想確定哪種算法對每次比較都是最佳的。使用模糊匹配算法比較數據元素的最佳方法
我期待比較的字段有:
- 姓
- 名
- 性別
- 出生年份
- 出生月份
- 生日
- SSN
- 會員編號
- MRN
- 街道號碼
- 街道名稱
- 街道類型
- 街方向
- 市
- 國家
- 郵編
- 電話
我目前使用的近似字符串匹配算法(ASM的)是:
- Levenshtein距離
- 海明距離
- 傑卡德距離
- 哈羅距離
- 哈羅 - 溫克勒距離
- 最長共同亞序列
- 最長共同亞序列克
- 重疊係數
- 拉特克利夫-Obershelp相似度
- 索倫森-骰子距離
- Tanimoto係數
- Damerau-Levenshtein距離
- 瓦格納 - 費希爾距離
- 的Soundex
- 音位3
- NYSIIS
首先,我比較兩個字段,如FirstName1
和FirstName2
並查看它們是否完全匹配。
例如,FirstName1 = "Bob"
和FirstName2 = "Bob"
將是完全匹配的,所以它不會繼續進行模糊匹配。
另一方面,FirstName1 = "Jill"
和FirstName2 = "Bob"
將移動到兩個領域的模糊比較。
我想知道是否有人知道什麼模糊匹配算法更適合在某些字段比較中使用,而不是其他字符比較,反之亦然。
這個問題是一個很好的字符串比較算法列表! –