Задача обеспечения качества информации в базе данных является типовой для больших коммерческих компаний (финансовых, страховых, телекоммуникационных, поставщиков услуг), а также учреждений, занимающихся проблемами безопасности, правоохранной деятельностью, ведущих различного рода расследования. Как правило, все крупные БД в России с информацией о физ- и юрлицах содержат большое (порядка нескольких процентов) количество ошибок, неоднозначностей, пропусков данных, а также несогласованностей по форме представления данных даже внутри одной и той же базы.
Поддержка базы данных большого объема требует включения в состав ETL-процессов (Extraction, Transformation, Loading) автоматизированного контроля качества данных, в том числе процедур автоматической проверки, исправления ошибок и стандартизации представления данных, называемых в комплексе процедурами очистки данных.
Необходимость в процедурах очистки в еще большей степени возникает в БД, консолидирующей информацию из различных источников, когда исходными данными могут служить справочники товарных позиций на складах, базы клиентов различных подразделений организации, ведомственные базы и другие источники, сильно различающиеся между собой по содержанию, структуре и форме записи данных. Попытка консолидации данных из разных источников, помимо приведения их к единой модели, потребует расширения комплекса процедур очистки за счет специальной процедуры идентификации данных, относящихся к одним и тем же сущностям, а также синтеза набора реквизитов и связей для сущностей по результатам идентификации.
Почему построение процедур очистки и контроля за качеством данных практически невозможно без привлечения инструментов компьютерной лингвистики, силами одних только инструментов БД? Почему не существует готового программного продукта, способного включить процедуры очистки данных в ETL-процессы без длительной настройки и программирования?
Основная причина в том, что первичным источником данных являются люди, а допустимое написание многих типов нечисловых данных (имена, названия, адреса) неформализуемо. Практически невозможно предусмотреть в программе все способы написания данных человеком, используя конечный перечень допустимых значений или форматов, не допускающих неоднозначного представление одного и того же значения.
Это приводит к невозможности создания универсального средства, решающего задачи очистки данных. Для решения этих задач, как правило, привлекается специализированное ПО, решающее наиболее типичные проблемы заказчика, выявленные на основе предварительного анализа данных, затем проводится настройка на данных для достижения приемлемой полноты и точности очистки и интеграция ПО с ETL-процессами, а при необходимости создается дополнительное специализированное ПО.
Специализированные программные компоненты, разработанные ЭР СИ О, предоставляют широкий спектр возможностей для решения комлекса задач очистки данных, с учетом специфики русского языка и российских стандартов. Вот ключевые из этих компонентов:
- RCO Database Record Cleaner – разбор и нормализация строковых полей БД;
- RCO Address Parser – разбор, коррекция и нормализация почтовых адресов России;
Специалистами ЭР СИ О накоплен опыт создания как частных, так и комплексных решений для крупнейших коммерческих и государственных структур (в их числе Федеральное агентство по финансовому мониторингу и Центральный Банк России) с использованием продуктов и компонентов собственной разработки. К числу основных решаемых задач относятся:
- разбор и стандартизация записей ФИО и наименований организаций;
- идентификация типов реквизитов, разбор смешения различных реквизитов в одном поле, извлечение реквизитов из несоответствующих им полей или из текста;
- разбор и нормализация российских почтовых адресов, идентификация и восстановление пропущенных компонентов адреса на основе классификатора КЛАДР;
- идентификация записей о физических и юридических лицах с опорной базой на основе процедур нечеткого сравнения наименований и комплексов реквизитов;
- формирование единого реестра физических и юридических лиц из различных источников, консолидация реквизитов и устранение дубликатов.