两个如何检查两个非结构化街道地址字符串是否相同?

How two check if two unstructured street adresses strings are the same?

我需要比较两个非结构化地址并能够确定它们是否相同(或足够相似)。

场景

我发现了什么

我知道我们可以使用一些模糊逻辑来进行这种比较,对拼写错误有一定的容忍度,但是...

我不想重新发明轮子。这个问题在不同的上下文中似乎是一个普遍关注的问题,我认为有一种算法(可能有一些轻微的修改)可能适合这种情况。

提前致谢

我帮助构建了一些开源工具来执行此操作。

基本上,该方法是尝试拆分并解决其组成部分,然后智能地比较这些部分。

问题的两部分都很难。

第一部分通常称为地址解析。这是我们使用的:https://github.com/datamade/usaddress

第二部分有很多很多名字,但我们称之为模糊匹配。这是我们为此制作的库:https://github.com/datamade/dedupe

我们还提供了一些将它们一起使用的便利:http://dedupe.readthedocs.io/en/latest/Variable-definition.html#address-type