В обычной практике специалисту по анализу данных часто приходится объединять две или более таблиц в одну. Эта операция называется объединением (Join). Ее выполнение не составляет труда, если каждая запись имеет уникальный ID, который присутствует в обеих таблицах. Однако чаще всего уникальные идентификаторы записей, используемые в таблицах данных, создаются разными способами и потому не совпадают. В подобных случаях недостаточно просто объединить таблицы. Рассмотрим для примера ситуацию, когда аналитик работает с разными источниками данных с персональной информацией. Скажем, один из них – таблица с данными пациентов, созданная больницей. А второй источник данных – таблица, созданная страховой компанией, и содержащая данные о страховых полисах пациентов. Маловероятно, что две эти организации ведут регистрацию клиентов с применением одинаковых технологий и способов, поэтому реальные люди вряд ли будут иметь в этих двух таблицах одинаковые уникальные идентификаторы. Поэтому простая операция объединения таблиц в данном случае неприменима. Здесь понадобятся более сложная процедура.
Она называется объединением на основе нечетких соответствий (Fuzzy Join). Такая операция позволяет пользователям указать определяющие атрибуты записи, которые будут учитываться в процессе объединения двух или более таблиц. Например, в случае, описанном выше, это могут быть личные данные пациентов – имена, номера телефонов, адреса, даты рождения. Обратите внимание на то, что такие данные не всегда являются уникальными, поскольку имена и даты рождения могут совпадать. Кроме того, такие атрибуты могут иметь абсолютно разную форму в зависимости от написания одного и того же имени, например, или в связи с тем, что в одних системах регистрации адреса могут содержать дополнительные компоненты, которые отсутствуют в других.
Но, несмотря на это, операция Fuzzy Join может объединить записи, соответствующие одной и той же сущности, на основе такой “нечеткой” информации путем генерализации и нормализации данных с последующим созданием классов эквивалентности (вместо классов равенства). Таким образом, при наличии достаточной дополнительной информации, в ходе нечеткого объединения таблиц в одну запись будут объединены данные об одном человеке, даже если его имя записано по-разному в двух таблицах.
Операция нечеткого объединения позволяет решить широкий ряд аналитических задач, для которых требуется объединять данные из разных источников, не имеющие совпадающих уникальных идентификаторов. Fuzzy Join может применяться в сфере медицины, страхования, в банковском деле, в государственном секторе, где чаще всего имеют дело с нечеткими сущностями – людьми и локациями.
Fuzzy Join – один из инструментов системы PolyAnalyst компании Megaputer, используемой для глубокого анализа данных.