Назад в библиотеку   Портал магистров

Обзор типовых ошибок в данных и инструменты очистки данных

Автор:Осипова Ю.Г.
Источник: Научная исследовательская работа студента. — Донецьк, ДонНТУ — 2012.

Введение

Очистка данных (data cleaning, data cleansing или scrubbing) занимается выявлением и удалением ошибок и несоответствий в данных с целью улучшения качества данных. Проблемы с качеством встречаются в отдельных наборах данных - таких как файлы, хранилища данных и т.д.. Когда интеграции подлежит множество источников данных (например, в Хранилищах данных, интегрированных системах баз данных или глобальных информационных Интернет-системах), необходимость в очистке данных существенно возрастает. Это происходит от того, что источники часто содержат разрозненные данные в различном представлении. Для обеспечения доступа к точным и согласованным данным необходима консолидация различных представлений данных и исключение дублирующейся информации. Специальные средства очистки обычно имеют дело с конкретными областями - в основном это имена и адреса - или же с исключением дубликатов. Преобразования обеспечиваются либо в форме библиотеки правил, либо пользователем в интерактивном режиме. Преобразования данных могут быть автоматически получены с помощью средств согласования схемы.

Метод очистки данных должен удовлетворять ряду критериев.

На сегодняшний день интерес к очистке данных возрастает. Целый ряд исследовательских групп занимается общими проблемами, связанными с очисткой данных, в том числе, со специфическими подходами к Data Mining и преобразованию данных на основании сопоставления схемы. В последнее время некоторые исследования коснулись единого, более сложного подхода к очистке данных, включающего ряд аспектов преобразования данных, специфических операторов и их реализации. Рассмотрение материала более подробно приведено ниже.

Очистка данных

В огромных компаниях данные количество данных, которые необходимо где-то хранить. Для этого существуют Хранилища данных.

При его создании очень мало внимания уделяется очистке поступающей в него информации. Видимо считается, что чем больше размер хранилища, тем лучше. Это порочная практика и лучший способ превратить хранилище данных в свалку мусора. Данные очищать необходимо. Ведь информация разнородна и собирается из различных источников. Именно наличие множеств точек сбора информации делает процесс очистки особенно актуальным.

По большому счету, ошибки допускаются всегда, и полностью избавится от них не получится. Возможно, иногда есть резон смириться с ними, чем тратить деньги и время на избавление от них. Но, в общем случае, стремятся любым способом снизить количество ошибок до приемлемого уровня. Применяемые для анализа методы и так грешат неточностями, так зачем же усугублять ситуацию?

К тому же нужно учесть психологический аспект проблемы. Если аналитик не будет уверен в цифрах, которые получает из хранилища данных, то будет стараться ими не пользоваться и воспользуется сведениями, полученными из других источников. Это будет очень неудобно и дорогостояще, поэтому компании стараются иметь свой пакет, с помощью который можно бы получить нормальные данные после слияния информации, представленной в различном виде, и импортировать ее в Хранилище данных, для дальнейшего использования.

Особое внимание уделяют персональным данным (данные полученные с заполненех анкет и т.д.)

Персональными данными называется любая информация, касающаяся определенного человека. Таковыми могут быть его фамилия, адрес, телефон, семейное положение, занимаемая должность, предпочтения и т.д. В последнее время личная информация всё чаще используется в маркетинговых исследованиях. На основании собранных персональных данных рассчитываются стратегии развития бизнеса, позволяющие увеличить доход и привлечь новых клиентов.

Информация о потребителях собирается из многочисленных источников: анкет покупателей, регистрационной информации с сайтов, опросов на улицах, телефонных звонков по спискам потребителей и т.д. Путем слияния всех полученных сведений в одну клиентскую базу составляются "портреты" клиентов. Следовательно, аналитики компании не смогут сделать выводы из такой информации, если данные не будет откорректированы, т.е. очищены.

Таблица 1 – Пример "загрязненных" персональных данных
Фамилия Имя Отчество Дата рождения Пол Телефон
Иванов И.И. 12.04.2011 Женский 050934243
Петров Петр Петрович 12.06.61 М +3080634321223

Причины возникновения подобных проблем:

Низкое качество данных приводит к результатам анализа, несоответствующим действительности.

Цель обработки такой персональной информации теряет всякий смысл. Чтобы получить реальные выводы из имеющихся данных, применяются методы по их очистке.

Они включают в себя две стадии:

На первом шаге данные исследуются на предмет "загрязненности". Устанавливается, есть ли в них ошибки и к какому виду они относятся.

В зависимости от обнаруженных недостатков на следующем шаге происходит их устранение. На выходе этой стадии образуются данные, приведенные к единому формату и очищенные от найденных ошибок. Они пригодны для последующей обработки и могут участвовать в бизнес-анализе.

Существуют такие виды ошибок:

Инструменты очистки данных

На сегодняшний день рынок программного обеспечения предлагает большой выбор средств, целью которых является не только преобразование, но очистка данных.

Эрхард Рам (Erhard Ram) и Хонг Хай До (Hong Hai Do), опубликовавшие в 2000 году огромнейшую статью посвященную очистки данных, предложили свою классификацию средств очистки и соответствующие им инструментов[3].

  1. Специальные средства очистки:
    • очистка специфической области;
    • исключение дубликатов.
  2. Инструменты ETL.

Специальные средства очистки работают с именами, адресами и с исключением дубликатов.

Преобразования обеспечиваются двумя способами:

Преобразования данных могут быть автоматически получены и с помощью средств согласования схемы.

Ряд средств ориентированы на специфическую область – на такую как очистка персональных данных (имена и адреса) или на специфические фазы очистки - например, анализ данных или исключение дубликатов. Благодаря своей ограниченной области применения, специализированные средства обычно очень эффективны, но недостатком является то, что они нуждаются в дополнении другими инструментами для работы с широким спектром проблем преобразования и очистки.

Очистка специфической области

Имена и адреса записаны в различных источниках и обычно имеют множество элементов, поэтому поиск соответствий их конкретному потребителю имеет большое значение для управления отношениями с клиентами. Ряд коммерческих инструментов, например IDCENTRIC (First Logic), PUREINTEGRATE (Oracle), QUICKADDRESS (QAS Systems), REUNION (Pitney Bowes) и TRILLIUM (Trillium Software), предназначены для очистки именно таких данных.

Они содержат соответствующие методы:

Они включают огромную библиотеку предопределенных правил относительно проблем, часто встречающихся в данных такого рода. Например, модуль извлечение TRILLIUM (парсер) и модуль сопоставления содержат свыше 200000 бизнес-правил. Эти инструменты обеспечивают и возможности настройки или расширения библиотеки правил за счет правил, определенных пользователем для собственных специфических случаев.

Исключение дубликатов

DATACLEANSER (EDD), MERGE/PURGELIBRARY (Sagent/QMSoftware), MATCHIT (HelpITSystems) и MASTERMERGE (Pitney Bowes) – это средства, предназначены для выявления и удаления дубликатов. Обычно они требуют, чтобы источник данных уже был очищен и подготовлен для согласования. Средства DATACLEANSER и MERGE/PURGE LIBRARY позволяют интегрировать правила согласования, определенные пользователем.

Инструменты 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. Тем не менее, определенные пользователем функции соответствия полей, так же как и функции корреляции сходства полей, могут программироваться и добавляться во внутреннюю библиотеку преобразований.

Джули Борт предложила свою классификацию средств очистки данных, которая подразделяет инструменты очистки данных на две условные категории:

Универсальные системы.

К этой категории относится большая часть продуктов, имеющихся на рынке. Это: 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 при отборе записей использует алгоритмы нечеткой логики и делает это очень эффективно, выуживая такое, что человеку просто в голову не пришло бы проверять. Но эту систему труднее освоить.

Типовые ошибки

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

Рич Олшефски (Rich Olshefski) предлагает классификацию ошибок в данных, которые возникают в результате использования средств очистки. Эти ошибки являются двумя крайностями очистки данных. Качественные, правильно очищенные данные находятся где-то на "золотой середине" между этими крайностями по очистке и редактированию данных.

Самая сложная задача, стоящая перед программой очистки данных, заключается в минимизации ошибок Типа 1 и 2. Для устранения ошибок Типа 1 программа должна стараться не исправлять то, что и так верно. Это сразу же закономерным образом повышает вероятность возникновения ошибки Типа 2. Ошибок Типа 2 можно избежать путем скрупулезной работы с данными, что, конечно же, незамедлительно приводит к излишней очистке и, соответственно, - к допущению ошибки Типа 1. Т.е. получается замкнутый круг

Некоторые программы очистки стараются так или иначе поддерживать баланс между излишней тщательностью и излишним доверием, создавая объемистые отчеты о "подозрительных" записях. Эти программы собирают все подозрительное в одну большую кучу, которая и является таким отчетом. Такая методика существенно увеличивает затраты на уточнение данных, поскольку требует участия дорогостоящих человеческих ресурсов.

Другим путем чрезмерной компенсации ошибок Типа 1 является внесение слишком малого числа исправлений. А самые примитивные - и поэтому наиболее опасные - программы очистки данных стараются компенсировать и ошибки Типа 2, выдавая на выходе хуже данные, чем они были до "очистки".

Определение качественной программы очистки данных, по словам Рича Олшефски, состоит из четырех элементов. Программа должна:

Именно такая программа будет "золотой серединой" между ошибками Типа 1 и 2.

Рич Олшефски предложил свой путь к достижению такого равновесия.

Каждая программа очистки данных имеет некую базу знаний, используемую для поиска и исправления ошибок. Чем она больше и разнообразнее по составу информации, тем лучше результаты очистки.

Он предлагает советы по выбору программного обеспечения, поддерживающего равновесие между двумя возможными перегибами в процессе очистки данных.

"Очистка данных" может иметь множество значений, но в целом она означает обеспечение поддержки очистки данных, так или иначе связанных с потребителем. Инструменты очистки данных обычно выполняют одну или несколько из следующих функций.

  1. Парсинг. Имя и адрес клиента часто хранится в текстовых полях свободного формата. Текст свободного формата иногда труден для разбиения на самостоятельные подстроки, соответствующие типу поля, к которому они относятся (номер улицы, улица адреса, город, индекс и другие данные подобного характера). Программное обеспечение, осуществляющее парсинг, распознает такие подстроки и назначает им соответствующие поля. К тому же, парсинг фирм и стандартизация слов, связанных с описанием фирм, позволяет программе полностью проверить данные о фирмах - (включая сокращения и аббревиатуры) и стандартизировать фирмы в едином согласованном формате. Большинство поставщиков обеспечивают возможность изменение словарей парсинга в своих инструментах для обработки специфических имен и данных о фирмах, имеющихся у клиента.
  2. Стандартизация. Данные имен и адресов могут вводиться в различных форматах, многие из которых вполне грамматически корректны. Например, "Улица", "Ул." и "Ул" обозначают одно и то же очевидное понятие в составе адреса. У Почтовой службы Соединенных Штатов Америки существуют стандарты для этих и других подобных случаев. Программы стандартизации трансформируют такие поля в согласованный набор обозначений, подходящих для Почтовой службы. Самым важным объектом стандартизации являются записи по клиентам, точность которых может быть существенно повышена за счет использования процесса согласования, описанного далее.
  3. Проверка допустимости. Множество поставщиков предлагают средства распознавания допустимых международных и американских адресов. Некоторые приложения объединяются с программами проверки допустимости и файлами почтовых адресов, проверяющих допустимость международных адресных данных.
  4. Улучшение. Ряд поставщиков предлагают программы, которые добавляют к данным дополнительные факты о записях, изначально в них не содержавшиеся, например, может содержать возможность присвоения клиентам пола на основании анализа его имени и других показателей его профайла. Некоторые поставщики могут устанавливать географическую информацию, обозначающую гео-код, долготу и широту указанной местности. Наиболее же ценным дополнением клиентского профайла являются данные третьих фирм, содержащие демографическую и психографическую информацию.
  5. Согласование и консолидация. Как только имя и адрес очищены, для устранения дублирования клиентов в рамках каждого списка и соединения данных из различных источников применяется программа согласования. Большинство средств содержат алгоритмы расстановки приоритетов между полями (в процессе согласования) и контроля очередности сравнения полей [4].

Заключение

Несмотря на то, что описанные средства являются достаточно современными, они, тем не менее, не решают всех проблем и все еще требуют дополнительной обработки вручную или дополнительного программирования. Кроме того, они имеют весьма ограниченные возможности взаимодействия (собственные API и представления метаданных). Тем не менее, эти средства демонстрируют нам важность и сложность задач очистки данных.

Здесь описаны лишь часть проблемы. Многие ее аспекты все еще нуждаются в изучении и разработке. Необходимо тщательнее изучить проектирование и реализацию наилучших языковых методов поддержки преобразований схемы и данных. Например, операторы типа Match, Merge или Mapping Composition изучались отдельно на уровне данных элемента данных или схемы, однако они могут быть реализованы на одних и тех же принципах. Очистка данных нужна для Хранилищ данных и для обработки запросов по неоднородным источникам данных, например - в информационных web-системах. Эта среда обладает гораздо более существенными ограничениями для очистки данных, которые нужно учитывать при выборе соответствующих методов. Очистка же частично структурированных данных, - например, на базе XML, - вероятно, еще важнее, так как структурные ограничения постоянно снижаются, а объемы XML-данных стремительно растут.

Список использованной литературы

3. Erhard Rahm, Hong Hai Do. Статья: Data Cleaning: Problems and Current Approaches [электронный ресурс] — Режим доступа: http://wwwiti.cs.uni-magdeburg.de/iti_d...
4. Чубукова И.А. Статья: Процесс Data Mining. Начальные этапы [электронный ресурс] — Режим доступа: http://www.intuit.ru/...
2. Беликова Александра. Статья: Проблема обработки персональных данных [электронный ресурс] — Режим доступа: http://www.basegroup.ru/library/...
3. Арустамов Алексей. Статья: Предобработка и очистка данных перед загрузкой в хранилище [электронный ресурс] — Режим доступа: http://sysdba.org.ua/proektirovanie-bd/etl/predobrabotka-i-ochistka-dannyih-pered-zagruzkoy-v-hranilische.html
4. Basegroup. Статья: Технология обработки клиентских баз [электронный ресурс] — Режим доступа: http://www.dupmatch.com/...
5. Статья: ETL. [электронный ресурс] — Режим доступа: http://ru.wikipedia.org/wiki/ETL
1. Роналд Фоурино. Статья: Электронное качество данных: скрытая перспектива очистки данных [электронный ресурс] — Режим доступа: http://www.iso.ru/р... - Электронный ресурс, хранящий статьи, которые были обублекованные в известных журналах