Алгоритм почти для подобного поиска значений

Я имею Persons таблица в SQL Server 2008.

Моя цель состоит в том, чтобы найти Людей, у которых есть почти подобные адреса.

Адрес описан со столбцами state, town, street, house, apartment, postcode и phone.

Из-за некоторых конкретных различий в некоторых состояниях (не США) и человеческий фактор (ошибки в адресах и т.д.), адрес не заполнен в том же шаблоне.

Наиболее распространенные ошибки в адресах

  1. Чувствительность к регистру
  2. Кто-то записал "склонный"., другой "квартира" или "AP". (хотя адреса не записаны на английском языке),
  3. Пробелы, точки, запятые
  4. Различия в записи названий улицы, как 'Dr. Jones str" или "Doctor Jones street" или "D. Jon. Св." или "Dr Jones st" и т.д.

Основная проблема состоит в том, что данные не находятся в том же шаблоне, таким образом, действительно трудно найти подобные адреса.

Есть ли какой-либо алгоритм для этого вида проблемы?

Заранее спасибо.

ОБНОВЛЕНИЕ

  1. Поскольку я упомянул, что адрес разделен на различные столбцы. Я должен генерировать строковую конкатенацию столбцы или сделать Ваши шаги для каждого столбца? Я предполагаю, что не должен связывать столбцы, но если я сравню столбцы отдельно, как я должен организовать его? Я должен найти общие черты для каждого столбца объединением их или пересечься или что-либо еще?
  2. У меня должны быть некоторый сбор статистики или некоторый алгоритм обучения?
11
задан hgulyan 23 August 2012 в 13:06
поделиться