![]() |
1
5
我正在研究一个与我们所说的类似的算法,它应该在我完成时处理加拿大、美国、墨西哥和英国的地址。我面临的问题是它们以3字段纯文本格式存在于我们的数据库中 那个 本来是个不错的主意,应该拍imho),所以尽量处理农村路线、一般快递、大批量收件、多个国家、省对州对县、邮政编码对邮政编码,拼写错误不小也不简单。 仅仅拼写错误是不小的成就-特别是当你到了使用法语名字的国家-匹配的圣人,圣人,圣人,圣人,圣人,圣人,圣人,圣人,格兰德,格兰德,格兰德-尤其是当圣人可能是圣人的时候 或 街道和可能或可能没有在正确的上下文中输入(即女性与男性)。如果地址基本上输入正确,但有一个不正确的省或邮政编码怎么办? 开始搜索的一个地方是 Levenstein Distance Algorithm 我发现这对消除大部分拼写错误非常有用。之后,主要是搜索关键字并与邮政数据库进行比较。 我真的很有兴趣与任何正在开发工具的人合作,也许我们可以互相帮助,找到一个共同的解决方案。我已经在这条路上走了一段路,并且已经克服了我提到的所有问题,让其他人来解决同样的问题将非常有助于激发灵感。 欢呼- [本在AFSINC DOT CA] |
![]() |
2
2
如果您不希望开发一个,而是使用使用此处提到的许多技术的现成产品,请参见: http://www.melissadata.com/dqt/matchup-api.htm 免责声明:我在公司的发展和工作中发挥了作用。 |
![]() |
3
1
在英国,我们将使用:
你当然应该使用邮政编码,但在美国,我相信你的邮政编码覆盖的范围比英国的邮政编码要广。因此,你需要使用街道和城市。 你的例子无法区分11个测试街、110-119个测试街等。 如果您的公司有权访问地址查找系统,我将运行所有数据,以使数据以一致的格式返回,可能使用可用于匹配的地址键。 |
![]() |
4
1
如果我想破解这个问题,我会使用预定义的操作顺序将每个地址字符串转换成树。 例如110测试街3号公寓。加利福尼亚州任何地方90210=>
例如,rr 3加利福尼亚州任何地方90210=>
您需要对国家/地区和邮政编码信息执行类似的操作。 然后比较结果树。 这使得比较非常简单,但是,生成树的代码非常复杂。你会想在成千上万的地址上测试它。如果你只关心美国的地址,你的问题就简单多了;前面提到的英国地址大不相同,而加拿大的地址可能有法语(如place d'arms,rue laurent等)。 |
![]() |
5
1
如果您的公司编写自己的地址规范化工具具有成本效益,那么我建议您从 USPS address standard . 或者,有许多供应商提供服务器端工具和web服务来规范、更正和验证地址。 我的公司使用 AccuMail Gold 因为它不仅仅是标准化和更正地址。当我们考虑到甚至一周的工资来开发一个内部工具时,购买现成产品的选择是显而易见的。 |
![]() |
6
0
如果您不选择使用现有系统,一个想法是执行以下操作:
即:“运河街555号”:
“Canal St 555”会给出相同的火柴线。 在你的语言中,我指的是“street”的单词和缩写,例如“st”、“st.”、“blv”、“ave”、“avenue”等都从字符串中删除。 通过提取数字并将它们从字符串中分离出来,它们是第一个还是最后一个并不重要。 |
![]() |
7
0
使用主键的标识 ,这将始终是唯一的,并将使以后更容易合并重复项。 使用用户界面强制正确的数据输入。使它们在自己的文本框中输入每个组件。门牌号在自己的框中输入,街道名称在自己的框中输入,城市在自己的框中输入,州从选择列表中输入,等等。这将使寻找火柴更容易 有两个过程“保存”
清除数据。尝试去掉“street”、“st”、“drive”等,并将其存储为streettype char(1),该char(1)对包含正确缩写的表使用fk,这样就可以构建街道。 调查Soundex和Difference 我曾在维护mailinig列表的大公司工作过,他们并没有尝试自动执行,他们用人从dup中筛选出新的内容,因为这样做太难了。计划一个合并特性,以便在出现重复项时可以手动合并它们,并在pks中波动这些值。 您可以查看google maps api,看看是否可以传入您的地址并得到匹配的结果。我不熟悉,这只是猜测。 |
|
Robert King · Unity C#语法问题-转换位置 1 年前 |
![]() |
JBryanB · 如何从基本抽象类访问类属性 1 年前 |
|
law · 检查答案按钮的输入字符串格式不正确 2 年前 |
![]() |
i_sniff_ket · 在unity之外使用unity类 2 年前 |