Me gustaría saber cómo hacer coincidir las direcciones postales cuando su formato difiere o cuando uno de ellos está mal escrito.
Hasta ahora he encontrado diferentes soluciones, pero creo que son bastante antiguas y poco eficientes. Estoy seguro de que existen algunos métodos mejores, por lo que si tiene referencias para que yo lea, estoy seguro de que es un tema que puede interesar a varias personas.
La solución que encontré (los ejemplos están en R):
Distancia de Levenshtein, que equivale al número de caracteres que tiene que insertar, eliminar o cambiar para transformar una palabra en otra.
agrep("acusait", c("accusait", "abusait"), max = 2, value = TRUE)
## [1] "accusait" "abusait"
La comparación de fonemas
library(RecordLinkage)
soundex(x<-c('accusait','acusait','abusait'))
## [1] "A223" "A223" "A123"
El uso de un corrector ortográfico (eventualmente uno bayesiano como el de Peter Norvig) , pero supongo que no es muy eficiente en la dirección.
Pensé en usar las sugerencias de Google Sugiere, pero del mismo modo, no es muy eficiente en las direcciones postales personales.
Puede imaginarse utilizando un enfoque supervisado de aprendizaje automático, pero debe haber almacenado las solicitudes mal escritas de los usuarios para hacerlo, lo cual no es una opción para mí.