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