我期待通过模糊匹配算法对C#
中的记录链接比较两个数据元素或字段,并且我想确定哪种算法对每次比较都是最佳的。使用模糊匹配算法比较数据元素的最佳方法
我期待比较的字段有:
- 姓
- 名
- 性别
- 出生年份
- 出生月份
- 生日
- SSN
- 会员编号
- MRN
- 街道号码
- 街道名称
- 街道类型
- 街方向
- 市
- 国家
- 邮编
- 电话
我目前使用的近似字符串匹配算法(ASM的)是:
- Levenshtein距离
- 海明距离
- 杰卡德距离
- 哈罗距离
- 哈罗 - 温克勒距离
- 最长共同亚序列
- 最长共同亚序列克
- 重叠系数
- 拉特克利夫-Obershelp相似度
- 索伦森-骰子距离
- Tanimoto系数
- Damerau-Levenshtein距离
- 瓦格纳 - 费希尔距离
- 的Soundex
- 音位3
- NYSIIS
首先,我比较两个字段,如FirstName1
和FirstName2
并查看它们是否完全匹配。
例如,FirstName1 = "Bob"
和FirstName2 = "Bob"
将是完全匹配的,所以它不会继续进行模糊匹配。
另一方面,FirstName1 = "Jill"
和FirstName2 = "Bob"
将移动到两个领域的模糊比较。
我想知道是否有人知道什么模糊匹配算法更适合在某些字段比较中使用,而不是其他字符比较,反之亦然。
这个问题是一个很好的字符串比较算法列表! –