自然语言处理NLP:姓名相似度

大家好,自然语言处理会涉及到一致性验证特征。英文的姓名相似度包含用户自己填写的姓名、身份证上ocr识别的姓名、征信报告中用户姓名,可以作为模型特征使用、也可以作为业务的个人信息验证规则使用,本文简单介绍其计算逻辑。

1.原理

编辑距离,又叫Levenshtein距离。对于两个字符串文本序列,根据 Levenshtein 计算将一个序列更改为另一个序列所需的最小插入、删除和替换次数,以及插入、删除和替换的自定义成本。

如 "lewenstein"、"levenshtein"的编辑距离为2,"lewenstein" 需要通过一次替换(第三位字符"w"替换为"v")、一次插入("s"字符后插入"t"),即可变为"levenshtein"。

编辑距离越小,一个字符串变更为另一个字符串的变更次数越小,两个字符串的相似度也就越高。可以看出编辑距离非常适合用于计算英文的姓名相似度,在客户自己填写个人信息时,可能会有部分缩写,如"Travor Noah"缩写为"Noah, T.",也可能将"levenshtein"错误拼写为"lewenstein"(ocr识别出姓名的此类问题更是常见),而编辑距离能够很好地减缓这种问题所造成的姓名不一致。

2.工具包

编辑距离的计算可以直接调用levenshtein包,不仅实现了编辑距离及归一化的相似度,还实现了hamming距离和jaro距离计算。

pip install levensht
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

python慕遥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值