Инструменты очистки данных
На сегодняшний день рынок программного обеспечения предлагает большой выбор средств, целью которых является преобразование и очистка данных.
Рассмотрим две классификации таких средств.
Эрхард Рам (Erhard Ram) и Хонг Хай До (Hong Hai Do) определяют следующую классификацию средств очистки и соответствующие им инструментов.
Средства анализа и модернизации данных. Специальные средства очистки: очистка специфической области;исключение дубликатов. Инструменты ETL.В [93] изложено подробное описание этой классификации, ниже приведено ее краткое описание.
1. Средства анализа и модернизации данных
Средства анализа и модернизации, обрабатывающие данные с целью выявления ошибок, несоответствий и определения необходимых очищающих преобразований, согласно этой классификации, могут быть разделены на средства профайлинга данных и средства Data Mining.
Профайлинг данных. MIGRATIONARCHITECT (Evoke Software) является одним из немногих коммерческих инструментов этой категории. Для каждого атрибута он определяет следующие метаданные: тип данных, длину, множество элементов, дискретные значения и их процентное отношение, минимальные и максимальные значения, утраченные значения и уникальность. MIGRATIONARCHITECT также может помочь в разработке целевой схемы для миграции данных.
Средства Data Mining. Например, WIZRULE (WizSoft) и DATAMININGSUITE (Information Discovery) выводят отношения между атрибутами и их значениями, вычисляют уровень достоверности, отражающий число квалифицирующих рядов.
WIZRULE может отражать три вида правил: математическую формулу, правила if-then ("если-то") и правила правописания, отсеивающие неверно написанные имена, - например, "значение Edinburgh 52 раза встречается в поле Потребитель; 2 случая содержат одинаковые значения". WIZRULE также автоматически указывает на отклонения от набора обнаруженных правил как на возможные ошибки.
Средства модернизации данных, например, INTEGRITY (Vality), используют обнаруженные шаблоны и правила для определения и выполнения очищающих преобразований, т.е.
модернизируют унаследованные данные. В INTEGRITY элементы данных подвергаются ряду обработок - разбору, типизации, анализу шаблонов и частот. Результатом этих действий является табличное представление содержимого полей, их шаблонов и частот, в зависимости от того, какие шаблоны можно выбрать для стандартизации данных. Для определения очищающих преобразований INTEGRITY предлагает язык с набором операторов для преобразований столбцов (например, перемещения, расщепления, удаления) и рядов. INTEGRITY идентифицирует и консолидирует записи с помощью метода статистического соответствия. При вычислении оценок для упорядочивания соответствий, по которым пользователь отбирает настоящие дубликаты, используются взвешенные коэффициенты.
2. Специальные средства очистки
Специальные средства очистки обычно имеют дело с конкретными областями - в основном это имена и адреса - или же с исключением дубликатов. Преобразования либо обеспечиваются заранее, в форме библиотеки правил, либо в интерактивном режиме, пользователем. Преобразования данных могут быть автоматически получены и с помощью средств согласования схемы.
Ряд средств ориентирован на специфическую область - например, на очистку данных по именам и адресам или на специфические фазы очистки - например, анализ данных или исключение дубликатов. Благодаря своей ограниченной области применения, специализированные средства обычно очень эффективны, однако для работы с широким спектром проблем преобразования и очистки они нуждаются в дополнении другими инструментами.
2.1. Очистка специфической области
Имена и адреса записаны в различных источниках и обычно имеют множество элементов, поэтому поиск соответствий их конкретному потребителю имеет большое значение для управления отношениями с клиентами. Ряд коммерческих инструментов, например IDCENTRIC (First Logic), PUREINTEGRATE (Oracle), QUICKADDRESS (QAS Systems), REUNION (Pitney Bowes) и TRILLIUM (Trillium Software), предназначены для очистки именно таких данных. Они содержат соответствующие методы: например извлечения и преобразования имен и адресов в отдельные стандартные элементы, проверку допустимости названий улиц, городов и индексов, вместе с возможностями сопоставления на основе очищенных данных.
Они включают огромную библиотеку предопределенных правил относительно проблем, часто встречающихся в данных такого рода. К примеру, модуль извлечение TRILLIUM (парсер) и модуль сопоставления содержат свыше 200000 бизнес-правил. Эти инструменты обеспечивают и возможности настройки или расширения библиотеки правил за счет правил, определенных пользователем для собственных специфических случаев.
2.2. Исключение дубликатов
Примерами средств для выявления и удаления дубликатов являются DATACLEANSER (EDD), MERGE/PURGELIBRARY (Sagent/QMSoftware), MATCHIT (HelpITSystems) и MASTERMERGE (Pitney Bowes). Обычно они требуют, чтобы источник данных уже был очищен и подготовлен для согласования. Ими поддерживается несколько подходов к согласованию значений атрибутов; а такие средства как DATACLEANSER и MERGE/PURGE LIBRARY позволяют также интегрировать правила согласования, определенные пользователем.
3. Инструменты ETL
Средства ETL обеспечивают возможность сложных преобразований и большей части технологического процесса преобразования и очистки данных. Общей проблемой средств ETL являются ограниченные за счет собственных API и форматов метаданных возможности взаимодействия, усложняющие совместное использование различных средств.
Многие коммерческие инструменты поддерживают процесс ETL для Хранилищ данных на комплексном уровне, например, COPYMANAGER (Information Builders), DATASTAGE (Informix/Ardent), EXTRACT (ETI), POWERMART (Informatica), DECISIONBASE (CA/Platinum), DATATRANSFORMATIONSERVICE (Microsoft), METASUITE (Minerva/Carleton), SAGENTSOLUTIONPLATFORM (Sagent) и WAREHOUSEADMINISTRATOR (SAS). Для единообразного управления всеми метаданными по источникам данных, целевым схемам, маппированиям, скриптам и т.д. они используют репозиторий на основе СУБД. Схемы и данные извлекаются из оперативных источников данных как через "родной" файл и шлюзы СУБД DBMS, так и через стандартные интерфейсы - например ODBC и EDA. Преобразования данных определяются через простой графический интерфейс.
Для определения индивидуальных шагов маппирования обычно существует собственный язык правил и комплексная библиотека предопределенных функций преобразования. Эти средства поддерживают и повторное использование существующих преобразованных решений, например внешних процедур C/C++ с помощью имеющегося в них интерфейса для их интеграции во внутреннюю библиотеку преобразований. Процесс преобразования выполняется либо системой, интерпретирующей специфические преобразования в процессе работы, либо откомпилированным кодом. Все средства на базе системы (например, COPYMANAGER, DECISIONBASE, POWERMART, DATASTAGE, WAREHOUSEADMINISTRATOR), имеют планировщик и поддерживают технологические процессы со сложными зависимостями выполнения между этапами преобразования. Технологический процесс может также помогать работе внешних средств (скажем, в специфических задачах очистки это будут очистка имен/адресов или исключение дубликатов).
Средства ETL обычно содержат мало встроенных возможностей очистки, но позволяют пользователю определять функциональность очистки через собственный API. Как правило, анализ данных для автоматического выявления ошибок и несоответствий в данных не поддерживается. Тем не менее, пользователи могут реализовывать такую логику при работе с метаданными и путем определения характеристик содержимого с помощью функций агрегации (sum, count, min, max, median, variance, deviation,:). Поставляемая библиотека преобразований отвечает различным потребностям преобразования и очистки - например конверсию типов данных (в частности, переформатирование данных), строковые функции (расщепление, слияние, замена, поиск по подстроке), арифметические, научные и статистические функции и т.д. Извлечение значений из атрибутов свободного формата автоматизировано неполностью, и пользователю приходится определять разделители, разграничивающие фрагменты значений.
Языки правил обычно охватывают конструкции if-then и case, способствующие обработке исключений в значениях данных, - неверных написаний, аббревиатур, утраченных или зашифрованных значений и значений вне допустимого диапазона.
Эти проблемы могут также решаться с помощью функциональных возможностей по выборке данных из таблиц. Поддержка согласования элементов данных обычно ограничена использованием возможностей объединения и нескольких простых строковых функций соответствия, например точного или группового соответствия или soundex. Тем не менее, определенные пользователем функции соответствия полей, так же как и функции корреляции сходства полей, могут программироваться и добавляться во внутреннюю библиотеку преобразований.
Другая классификация средств очистки данных, предложенная Джули Борт, подразделяет инструменты очистки данных на две условные категории:
универсальные системы, предназначенные для обслуживания всей базы данных целиком;верификаторы имени/адреса для очистки только данных о клиентах.Суть этой классификации, изложенная в [94], приведена ниже.
Универсальные системы. К этой категории относится большая часть продуктов, имеющихся на рынке. Это: Enterprise Integrator компании Apertus; Integrity Data Reengineering Tool производства Validy Technology; Data Quality Administrator от Gladstone Computer Services; Inforefiner фирмы Platinium Technology; QDB Analyze (производство QDB Solutions) Trillium Software System компании Hart-Hanks Data Technologies.
Эти системы следует выбирать тогда, когда речь идет о создании банков данных всего предприятия и, соответственно, о сплошной очистке данных. Каждая система использует собственную технологию и имеет собственную сферу приложений. Некоторые из них работают в пакетном режиме, например Trillium, которая просматривает данные в поисках определенных образов и обучается на основе найденной информации. Образы, подлежащие распознаванию (скажем, названия фирм или городские адреса), задаются на этапе предварительного программирования. Другие продукты, как то системы компаний Apertus и Validy, представляют собой средства разработки. В первой применяются правила, написанные на языке Object Query Language. С ней довольно легко работать, но для написания правил требуется настоящее мастерство.
Система компании Validy при отборе записей использует алгоритмы нечеткой логики и делает этот очень эффективно, выуживая такое, что человеку просто в голову не пришло бы проверять. Но эту систему труднее освоить.
Верификаторы имени/адреса. В простых системах, наподобие систем анализа рынка, вполне можно обойтись очисткой имен и адресов. Примеры продуктов этой категории: Nadis компании Group 1 Software и пакет компании Postalsoft. Последний содержит три библиотеки: исправления и кодировки адресов, оформления правильных имен и слияния/очистки. Первая библиотека корректирует адреса, вторая предлагает способ их стандартизации, третья выполняет консолидирующие функции.
Эти продукты проще использовать, и, поскольку область применения их не так широка, работу по очистке они выполнят значительно быстрее. В качестве дополнительной функции это программное обеспечение придает адресам вид, отвечающий требованиям почты. К примеру, Nadis автоматически преобразует имя и адрес в стандарт Universal Name and Address data standard.
Дополнительный продукт компании Group 1, Code-1 Plus, проверяет список адресов на соответствие требованиям. Сертификация гарантирует корректность ZIP-кода и используется при больших объемах исходящей почты. Те, кто применял эти средства, говорят, что автоматизация работы по обеспечению соответствия адресов различным правилам, установленным почтовым ведомством, стоит затраченных усилий и средств, даже если приходится дополнять названные пакеты другими средствами очистки.
Выше мы рассмотрели одну сторону медали - решение проблемы некачественных или грязных данных путем использования специальных средств очистки и редактирования данных. Однако есть и другая сторона - автоматизированный процесс очистки данных иногда может приводить к ошибкам в данных, которых ранее в них не было.
Рич Олшефски (Rich Olshefski) предлагает классификацию ошибок в данных, которые возникают в результате использования средств очистки [95]. Эти ошибки являются двумя крайностями очистки данных.
Качественные, правильно очищенные данные находятся где-то на " золотой середине" между этими между этими крайностями по очистке и редактированию данных.
Ошибка Типа 1 возникает, когда инструмент очистки пытается решить проблему, которой на самом деле не существует. Ошибки Типа 1 имеют место в случае, когда инструмент очистки данных начинает исправлять несоответствия в данных там, где их нет.
Ошибка Типа 2 возникает, когда инструменты очистки полностью упускают существующую проблему.
Ошибка Типа 2 случается при упущении программой неверных данных. Такие данные беспрепятственно проходят проверку, являясь при этом ошибочными. Эту ошибку еще называют "утраченной ошибкой". Программа очистки данных пропускает данные, которые на самом деле должна была исправить. Это может происходить из-за случайной кажущейся правильности ошибочных данных, или же потому, что программа просто упустила их или не была предназначена для очистки таких данных.
Проблема
Самая сложная задача, стоящая перед программой очистки данных, заключается в минимизации ошибок Типа 1 и 2. Для устранения ошибок Типа 1 программа должна стараться не исправлять то, что и так верно. Это сразу же закономерным образом повышает вероятность возникновения ошибки Типа 2. Ошибок Типа 2 можно избежать путем скрупулезной работы с данными, что, конечно же, незамедлительно приводит к излишней очистке и, соответственно, - к допущению ошибки Типа 1.
Некоторые программы очистки стараются так или иначе поддерживать баланс между излишней тщательностью и излишним доверием, создавая объемистые отчеты о "подозрительных" записях. Эти программы собирают все подозрительное, правильное и , в одну большую кучу, которая и является таким отчетом. Такая методика существенно увеличивает затраты на уточнение данных, поскольку требует участия дорогостоящих человеческих ресурсов.
Другим путем чрезмерной компенсации ошибок Типа 1 является внесение слишком малого числа исправлений. А самые примитивные - и поэтому наиболее опасные - программы очистки данных стараются компенсировать и ошибки Типа 2, выдавая на выходе нечто гораздо более скверное, чем то, что было до "очистки".
Определение качественной программы очистки данных, по словам Рича Олшефски, состоит из четырех элементов. Программа должна:
не затрагивать правильные данные;исправлять неверные;создавать небольшой по объему отчет о подозрительных записях;требовать минимальных затрат на установку, обслуживание и ручные проверки.Именно такая программа будет "золотой серединой" между ошибками Типа 1 и 2.
Каким же образом можно достичь такого равновесия?
Каждая программа очистки данных имеет некую базу знаний, используемую для поиска и исправления ошибок. Чем она больше и разнообразнее по составу информации, тем лучше результаты очистки.
Рич Олшефски предлагает советы по выбору программного обеспечения, поддерживающего равновесие между двумя возможными перегибами в процессе очистки данных.
Самым важным является объем базы знаний. Отметьте для себя размер базы знаний и различные виды хранящейся в ней информации. Обратите внимание на количество подтверждений, использующихся при принятии решений по элементам данных. Потребуйте от поставщика продемонстрировать вам примеры работы программы с различными неоднозначными данными.Проведите небольшой опыт. Попросите вашего потенциального поставщика описать, как его решение обрабатывает ошибки Типов 1 и 2. Если он не понимает, о чем речь, даже после того как вы объяснили ему терминологию, вы явно обращаетесь не по адресу - либо это не специалист, либо вообще не тот поставщик, что вам нужен.Следует тщательно оценить возможности решений. Готовые демо-версии, изображающие решение всех ваших проблем с помощью продукта конкретного поставщика, всегда чрезвычайно подозрительны. Понятно, что демо-версии предназначены для отражения наиболее сильных сторон решений, однако вам следует проявить дотошность. Хорошая демо-версия берет данные "с лету", в идеале - просто ваши собственные.Необходимо удостовериться, что вы владеете полной информацией о продукте. Убедитесь, что вы ясно представляете себе стоимость установки, обслуживания и объем организационной работы.
Цена самого продукта может оказаться лишь вершиной айсберга. Вы должны точно представлять себе, что именно вас ожидает."Очистка данных" может иметь множество значений, но в целом она означает обеспечение поддержки очистки данных, так или иначе связанных с потребителем. Инструменты очистки данных обычно выполняют одну или несколько из следующих функций [96].
Парсинг. Имя и адрес клиента часто хранится в текстовых полях свободного формата. Текст свободного формата иногда труден для разбиения на самостоятельные подстроки, соответствующие типу поля, к которому они относятся (номер улицы, улица адреса, город, штат, индекс и другие данные подобного характера). Программное обеспечение, осуществляющее парсинг, распознает такие подстроки и назначает им соответствующие поля. К тому же, парсинг фирм и стандартизация слов, связанных с описанием фирм, позволяет программе полностью проверить данные о фирмах - (включая сокращения и аббревиатуры) и стандартизировать фирмы в едином согласованном формате. Большинство поставщиков обеспечивают возможность изменение словарей парсинга в своих инструментах для обработки специфических имен и данных о фирмах, имеющихся у клиента.
Стандартизация. Данные имен и адресов могут вводиться в различных форматах, многие из которых вполне грамматически корректны. Например, "Улица", "Ул." и "Ул" обозначают одно и то же очевидное понятие в составе адреса. У Почтовой службы Соединенных Штатов Америки существуют стандарты для этих и других подобных случаев. Программы стандартизации трансформируют такие поля в согласованный набор обозначений, подходящих для Почтовой службы. Самым важным объектом стандартизации являются записи по клиентам, точность которых может быть существенно повышена за счет использования процесса согласования, описанного далее.
Проверка допустимости. Множество поставщиков предлагают средства распознавания допустимых международных и американских адресов. Некоторые приложения объединяются с программами проверки допустимости и файлами почтовых адресов, проверяющих допустимость международных адресных данных.
Улучшение. Ряд поставщиков предлагают программы, которые добавляют к данным дополнительные факты о записях, изначально в них не содержавшиеся, например, может содержать возможность присвоения клиентам пола на основании анализа его имени и других показателей его профайла. Некоторые поставщики могут устанавливать географическую информацию, обозначающую гео-код, долготу и широту указанной местности. Наиболее же ценным дополнением клиентского профайла являются данные третьих фирм, содержащие демографическую и психографическую информацию.
Согласование и консолидация. Как только имя и адрес очищены, для устранения дублирования клиентов в рамках каждого списка и соединения данных из различных источников применяется программа согласования. Большинство средств содержат алгоритмы расстановки приоритетов между полями (в процессе согласования) и контроля очередности сравнения полей.
Выводы по подготовке данных
В этой лекции мы закончили изучение этапа подготовки данных. Рассмотрели две классификации инструментов очистки и редактирования данных, изучили советы по выбору программного обеспечения, основные функции инструментов очистки данных, классификацию ошибок в данных, которые возникают в результате использования средств очистки данных.
Эти знания являются необходимой составляющей знаний, обеспечивающих возможность проведения процесса Data Mining на данных высокого качества.
Инструменты очистки данных не избавляют пользователя от работы, пользователю достаточно сложно их освоить. Некоторые грязные данные вообще не поддаются автоматической очистке. Перед тем как принимать решение об очистке данных, необходимо рассчитать ее стоимость, т.е. определить, оправдан ли будет этот процесс. Если принято решение, что очистка данных необходима, аналитик получает гарантию того, что процесс Data Mining будет проведен на основе достоверных и качественных данных.
Напомним, что рассмотренные этапы могут занять до 80% всего времени, отведенного на весь проект.