У меня есть Persons
таблица в SQL Server 2008 .
Моя цель - найти людей, которые имеют почти одинаковые адреса.
Адрес описывается столбцами state
, town
, street
, house
, apartment
, postcode
и phone
.
Из-за некоторых специфических различий в некоторых штатах (не в США) и в человеческом факторе (ошибки в адресах и т. Д.) Адрес не заполняется одинаковым образом.
Самые распространенные ошибки в адресах
- Чувствительность к регистру
- Кто-то написал «apt.», Другой - «квартиру» или «ap». (хотя адреса не написаны на английском языке)
- Пробелы, точки, запятые
- Различия в написании названий улиц, например, "Доктор" Джонс-стрит "или" Доктор Джонс-стрит "или" Д. Джон. st. "или" Dr Jones st "и т. д.
Основная проблема заключается в том, что данные не совпадают, поэтому очень сложно найти похожие адреса.
Есть ли алгоритм для такого рода проблем?
Заранее спасибо.
UPDATE
- Как я уже говорил, адрес разделен на разные столбцы. Должен ли я генерировать строку, объединяющую столбцы, или делать ваши шаги для каждого столбца?
Я предполагаю, что я не должен объединять столбцы, но если я буду сравнивать столбцы отдельно, как мне организовать их? Должен ли я найти сходства для каждого столбца, объединить их или пересечь или что-нибудь еще?
- Нужно ли мне собирать статистику или какой-то алгоритм обучения?