我在两个单独的表中有一个地址列表,这些表稍微偏离了我需要能够匹配的位置。例如,可以通过多种方式输入相同的地址:
- 110 测试街
- 110 测试街
- 110测试街
虽然很简单,但你可以想象更复杂的场景中的情况。我正在尝试开发一种简单的算法,该算法能够将上述地址作为密钥进行匹配。
例如。关键可能是“11TEST” - 110 的前两个,Test 的前两个和街头变体的前两个。完整匹配键还包括邮政编码的前 5 个,因此在上面的示例中,完整键可能看起来像“11TEST44680”。
我正在寻找一种有效算法或资源的想法,我可以在开发它时考虑考虑。任何想法都可以是伪代码或您选择的语言。
我们只关心美国地址。事实上,我们只查看来自俄亥俄州和密歇根州的 250 个邮政编码的地址。我们也无法使用任何邮政软件,尽管我们愿意接受具有成本效益的解决方案的想法(它基本上是一次性使用)。请注意,这是来自政府来源的数据的初始转储,因此在我构建应用程序时,有关用户如何清理它的建议很有帮助,但我希望通过能够匹配地址来获得最好的初始数据尽可能最好。