【发布时间】:2016-09-12 14:45:04
【问题描述】:
我希望通过 C# 中记录链接的模糊匹配算法比较两个数据元素或字段,并且我想确定哪种算法最适合每次比较。
我要比较的字段是:
- 姓氏
- 名字
- 性别
- 出生年份
- 出生月份
- 生日
- 社会保障号
- 会员编号
- MRN
- 街道编号
- 街道名称
- 街道类型
- 街道方向
- 城市
- 状态
- 邮编
- 电话
我目前使用的近似字符串匹配算法(ASM)是:
- 列文斯坦距离
- 汉明距离
- 杰卡德距离
- Jaro 距离
- Jaro-Winkler 距离
- 最长公共子序列
- 最长公共子串
- 重叠系数
- Ratcliff-Obershelp 相似度
- 索伦森骰子距离
- 谷本系数
- Damerau-Levenshtein 距离
- Wagner-Fisher 距离
- Soundex
- 变音器 3
- NYSIIS
首先,我比较FirstName1 和FirstName2 等两个字段,看看它们是否完全匹配。
例如,FirstName1 = "Bob" 和 FirstName2 = "Bob" 将是精确匹配,因此不会继续进行模糊匹配。
另一方面,FirstName1 = "Jill" 和 FirstName2 = "Bob" 将继续对这两个字段进行模糊比较。
我想知道是否有人知道哪种模糊匹配算法更适合用于某些字段比较而不是其他字段比较,反之亦然。
【问题讨论】:
-
这个问题是一个很好的字符串比较算法列表!
标签: levenshtein-distance hamming-distance fuzzy-comparison