我想知道当邮政地址的格式不同或其中一个拼写错误时如何匹配邮政地址。
到目前为止,我已经找到了不同的解决方案,但是我认为它们已经过时并且效率不高。我确信存在一些更好的方法,因此,如果您有供我阅读的参考文献,那么我相信这是一个可能使多个人感兴趣的主题。
我找到的解决方案(示例在R中):
Levenshtein距离,它等于将一个单词转换为另一个单词时必须插入,删除或更改的字符数。
agrep("acusait", c("accusait", "abusait"), max = 2, value = TRUE)
## [1] "accusait" "abusait"
音素的比较
library(RecordLinkage)
soundex(x<-c('accusait','acusait','abusait'))
## [1] "A223" "A223" "A123"
使用拼写校正器(最终是像Peter Norvig那样的贝叶斯校正器),但我猜它在地址上不是很有效。
我考虑过使用Google的建议,但同样,在个人邮政地址上效率也不高。
您可以想象使用机器学习监督方法,但是您需要存储用户拼写错误的请求,这对我来说不是一个选择。