繁体   English   中英

比较地址的两个字符串时,如何获得百分比准确度匹配?

[英]How can I get a percent accuracy match when comparing two strings of an address?

我正在尝试比较两个名称和地址列表以查看唯一数据。 我可以轻松地提取出两个列表中所有这些完全相同的字符串,然后我留下了不同但可能是同一个人的姓名和地址。 IE:

列表中的条目 1 Smith J Ph234567 34 Smith st

列表中的条目 2 Smith John Ph234567 34 Smith st

要么

列表中的条目 1 Smith J Ph234567 34 Smith Rd

清单 2 中的条目 Smith J Ph234567 34 Smith Road

我想为看起来彼此相似的条目添加一个标签,例如 80% 匹配。

嵌套 Foreach 循环不起作用,因为它们匹配每个单词或字母(取决于您如何将它与其他每个单词或字母一起写在字符串中。

For 循环不能作为一个更改工作 J vrs John 在更改后为每个条目创建错误。

我是用 vb.net 写的,但也可以从 C# 翻译

这类问题一般通过计算字符串之间的编辑距离来解决。 例如,从 Levenshtein 距离开始。

这将为您提供一个分数(将一个字符串转换为另一个字符串所需的“编辑操作”的数量)。 要将其转换为百分比标识,您需要通过较大字符串的长度对其进行标准化(类似于percent = (largerString.Length - editDistance) / largerString.Length )。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM