Я хотел бы знать, как сопоставить почтовые адреса, когда их формат отличается или когда один из них введен неправильно.
Пока я нашел разные решения, но думаю, что они довольно старые и не очень эффективные. Я уверен, что существуют лучшие методы, так что если у вас есть ссылки для чтения, я уверен, что эта тема может заинтересовать несколько человек.
Решение, которое я нашел (примеры в R):
Расстояние Левенштейна, равное количеству символов, которое вы должны вставить, удалить или изменить, чтобы преобразовать одно слово в другое.
agrep("acusait", c("accusait", "abusait"), max = 2, value = TRUE)
## [1] "accusait" "abusait"
Сравнение фонем
library(RecordLinkage)
soundex(x<-c('accusait','acusait','abusait'))
## [1] "A223" "A223" "A123"
Использование корректора орфографии (в конечном итоге байесовского типа, как у Питера Норвига) , но, по-моему, не очень эффективно по адресу.
Я думал об использовании предложений Google предложить, но аналогично, это не очень эффективно на личных почтовых адресах.
Вы можете вообразить, что используете подход с машинным обучением, но вам нужно хранить неверные запросы пользователей, что для меня не вариант.