我想知道在格式不同或其中一个拼写错误时如何匹配邮政地址。
到目前为止,我已经找到了不同的解决方案,但我认为它们已经很老了而且效率不高。我确信存在一些更好的方法,所以如果您有参考资料供我阅读,我相信这是一个可能会引起几个人兴趣的主题。
我找到的解决方案(示例在 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"
使用拼写校正器(最终是像彼得诺维格那样的贝叶斯校正器),但我猜对地址不是很有效。
我想使用谷歌建议的建议,但同样,它在个人邮政地址上效率不高。
您可以想象使用机器学习监督方法,但您需要存储用户拼写错误的请求才能这样做,这对我来说不是一个选择。