Автор: Пользователь скрыл имя, 12 Марта 2015 в 14:10, контрольная работа
Очистка данных (data cleaning, data cleansing или scrubbing) занимается выявлением и удалением ошибок и несоответствий в данных с целью улучшения качества данных. Проблемы с качеством встречаются в отдельных наборах данных - таких, как файлы и базы данных, - например, как результат ошибок при вводе, утери информации и других загрязнений данных.
Преобразования данных, связанные со схемой так же, как и этапы очистки, должны, насколько возможно, определяться с помощью декларативного запроса и языка маппирования, обеспечивая, таким образом, автоматическую генерацию кода преобразования. К тому же, в процессе преобразования должна существовать возможность запуска написанного пользователем кода очистки и специальных средств. Этапы преобразования могут требовать обратной связи с пользователем по тем элементам данных, для которых отсутствует встроенная логика очистки.
Подтверждение: Правильность и эффективность процесса и определений преобразования должны тестироваться и оцениваться, например, на примере или копии данных источника, - чтобы выяснить, необходимо ли как-то улучишь эти определения. При анализе, проектировании и подтверждении может потребоваться множество итераций, например, ввиду того, что некоторые ошибки становятся заметны только после определенных преобразований.
Преобразования: выполнение преобразований либо в процессе ETL для загрузки и обновления Хранилища данных, либо при ответе на запросы по множеству источников.
Противоток очищенных данных: После того, как ошибки (отдельного источника) удалены, очищенные данные должны заместить загрязненные данные в исходных источниках, чтобы улучшенные данные попали и в унаследованные приложения и в дальнейшем при извлечении не требовали дополнительной очистки. Для Хранилищ данных очищенные данные находятся в области хранения данных (Рис. 1).
Процесс преобразования, очевидно, требует больших объемов метаданных - например, схем, характеристик данных уровня схемы, определений технологического процесса и др. Для согласованности, гибкости и упрощения использования в других случаях, эти метаданные должны хранится в репозитории на основе СУБД. Для поддержки качества данных подробная информация о процессе преобразования должна записываться как в репозиторий, так и в трансформированные элементы данных, в особенности информация о полноте и свежести исходных данных и происхождения информации о первоисточнике трансформированных объектов и произведенных с ними изменениях. Например, на Рис. 3 производная таблица Потребители содержит атрибуты Идентификатор и Номер, позволяя проследить путь исходных записей.
Далее подробно описываются возможные методы анализа данных (выявления конфликтов), определения преобразований и разрешения конфликтов. Конфликты наименований обычно разрешаются путем переименования; структурные конфликты требуют частичного перестроения и унификации исходных схем.
3.1. Анализ данных
Метаданные, отраженные в схемах, обычно недостаточны для достижения качества данных, соответствующего источнику, особенно если ограничений целостности совсем немного. Поэтому для получения реальных (модернизированных) метаданных с характеристиками данных или необычными моделями значений важно анализировать реальные примеры. Такие метаданные облегчают поиск проблем с качеством данных. Более того, они могут эффективно способствовать идентификации соответствий атрибутов между исходными схемами (сопоставления схем) в зависимости от того, какие автоматические преобразования данных производятся. Существует два связанных между собою метода анализа: профилирование данных и data mining. Профайлинг данных ориентирован на примерный анализ отдельных атрибутов. При этом происходит получение такой информации, как тип, длина, спектр значений, дискретные значения данных и их частота, изменение, уникальность, наличие неопределенных значений, типичных строковых моделей (например, для номеров телефонов) и др., что позволяет обеспечить точное представление различных аспектов качества атрибута. Таблица 3 показывает примеры выявления проблем качества данных с помощью метаданных.
Таблица 3. Примеры использования модернизированных метаданных для работы с проблемами качества данных
Data mining помогает найти специфические модели данных в больших наборах данных - например, отношения между несколькими атрибутами. Именно на это направлены так называемые описательные модели data mining, включая группировку, обобщение, поиск ассоциаций и последовательностей. При этом могут быть получены ограничения целостности в атрибутах - например, функциональные зависимости или характерные для конкретных приложений бизнес-правила, - которые можно использовать для восполнения утраченных и исправления недопустимых значений, а также для выявления дубликатов записей в источниках данных. Например, правило объединения с высокой вероятностью может предсказать проблемы с качеством данных в элементах данных, нарушающих это правило. Таким образом, 99%-ная вероятность правила "итого=количество*единицу " демонстрирует несоответствие и потребность в более детальном исследовании для 1% записей.
3.2. Определение преобразований данных
Процесс преобразования данных обычно состоит из множества шагов, каждый из которых может выполнять и преобразования уровня схемы и преобразования уровня элемента данных (маппирование). Чтобы обеспечить системе преобразования и очистки данных возможность генерации программного кода для преобразования и тем самым уменьшить объем самопрограммирования, следует описать необходимые преобразования на соответствующем языке, например, поддерживаемом графическим интерфейсом пользователя. Различные средства ETL (см. Раздел 4) содержат такую возможность, поддерживая собственные языки правил. Более общий и гибкий подход заключается в применении стандартного языка запросов SQL для выполнения преобразований данных и использования возможностей расширений языков приложений, в особенности функций, определенных пользователем (UDFs), поддерживаемых в SQL:99. UDFs могут быть реализованы в SQL или на языке программирования общего назначения, содержащем вложенные операторы SQL. Они позволяют реализовывать широкий спектр преобразований данных и поддерживают простое использование различных преобразований и обработки запросов. Более того, их выполнение СУБД может снизить стоимость доступа к данным. И, наконец, UDFs являются частью стандарта SQL:99 и должны (в конечном счете) быть переносимыми на множество других платформ и СУБД.
Рисунок 4. Пример описания шага преобразования
Рис. 4 показывает один из шагов преобразования, определенный в SQL:99. Этот пример связан с Рис. 3 и охватывает часть необходимых преобразований данных, применяющихся к первому источнику. Эти преобразования определяют представление, согласно которому могут выполняться последующие маппирования. Преобразования выполняет изменение схемы, путем добавления новых атрибутов, полученных расщеплением имени и адреса источника. Необходимые извлечения данных достигаются с помощью UDFs (показаны жирным шрифтом). Реализации UDF могут содержать логику очистки, например, для удаления неверного написания наименований городов или восстановления утраченных индексов. UDFs по-прежнему могут предполагать существенные затраты на реализацию и не поддерживать все необходимые преобразования схемы. В особенности простые и часто используемые функции, - такие, как расщепление или слияние атрибутов, - поддерживаются не всегда, поэтому требуют повторной реализации в подходящем для приложения виде (см. специфические функции извлечения на Рис. 4). Более сложные реструктуризации схемы (например, свертывание и развертывание атрибутов) не поддерживаются вообще. Для полной поддержки связанных со схемой преобразований, необходимы расширения языка - такие, как предложение SchemaSQL. Очистка данных на уровне элемента данных может также выиграть от использования специализированных расширений языка - таких, как оператор Match, поддерживающий "приблизительные объединения" (см. ниже). Системная поддержка для таких мощных операторов может существенно упростить программирование преобразований данных.
3.3. Разрешение конфликтов
Необходимо определить и соблюдать последовательность шагов преобразования для обработки различных проблем с качеством данных уровня схемы и элемента данных, отраженных в близлежащих источниках данных. Ряд типов преобразований следует выполнять на отдельных источниках данных, обращаясь к проблемам отдельного источника и подготавливая его к интеграции с другими источниками. Помимо возможной трансляции схемы, такие подготовительные этапы обычно включают также:
Извлечение значений из атрибутов свободного формата (расщепление атрибутов): Атрибуты свободного формата часто содержат множество отдельных значений, подлежащих извлечению для повышения точности представления и поддержки последующих этапов очистки - таких, как сопоставление элементов данных и исключение дубликатов. Типичными примерами являются поля имен и адресов (Таблица 2, Рис. 3, Рис. 4). Необходимые на этом этапе преобразования перераспределяют значения в поле для получения возможности перемещения слов и извлекают значения для расщепленных атрибутов.
Проверка допустимости и исправления: На этом этапе каждый элемент данных источника данных исследуется на наличие ошибок, а обнаруженные ошибки по мере возможности автоматически исправляются. Проверка орфографии на основе просмотра словаря нужна для идентификации и исправления ошибок в написании слов. Более того, словари географических наименований и почтовых индексов помогают корректировать адресные данные. Атрибутивные зависимости (дата рождения - возраст, общая стоимость - цена за шт., город - региональный телефонный код, и т.д.) могут использоваться для выявления проблем и замены утраченных или исправления неверных значений.
Стандартизация: Для соотнесения и интеграции элементов данных, значения атрибутов следует преобразовать в согласованный и унифицированный формат. Например, записи о дате и времени должны быть оформлены в специальном формате, имена и другие символьные данные должны конвертироваться либо в прописные, либо в строчные буквы, и т.д. Текстовые данные могут быть сжаты и унифицированы с помощью выявления основы, удаления префиксов, суффиксов и вводных слов. Более того, аббревиатуры и зашифрованные схемы подлежат согласованной расшифровке с помощью специального словаря синонимов или применения предопределенных правил конверсии.
Разрешения проблем множества источников требует изменения схем для достижения интеграции, в том числе и расщепления, слияния, свертывания и развертывания атрибутов и таблиц. На уровне элемента данных должны разрешаться проблемы с противоречивыми представлениями и перекрывающими друг друга данными. К исключению дубликатов обычно приступают после того, как большая часть других этапов преобразования и очистки уже выполнена, в особенности - после очистки от ошибок и противоречащих представлений данных отдельного источника. Это процесс производится либо над двумя очищенными источниками одновременно либо над отдельным, уже интегрированным набором данных. Исключение дубликатов требует, в первую очередь, выявления (т.е. сопоставления) похожих записей, относящихся к одному и тому же объекту реального окружения. Вторым шагом должно стать слияние похожих записей в одну, содержащую все соответствующие атрибуты без избыточности. Далее, избыточные записи должны удаляться. Ниже мы обсудим ключевую проблему сопоставления элементов данных.
В простейшем случае для каждой записи существует идентификационный атрибут или комбинация атрибутов, которую можно использовать для сопоставления записей, например, если различные источники имеют общий первичный ключ или если существуют различные другие общие уникальные атрибуты. Сопоставление элементов данных между различными источниками достигается за счет стандартного объединения по идентифицирующему(им) атрибуту(ам). В случае отдельного набора данных сопоставления могут определяться сортировкой по идентифицирующему атрибуту и проверкой согласованности соседних записей. В обоих случаях эффективная реализация может достигаться даже для больших наборов данных. К сожалению, без общего ключа и при наличии загрязненных данных такие прямые методы часто слишком ограничены. Для определения большинства или даже всех сопоставлений в "нечетком сопоставлении" (приблизительном объединении) необходимо найти сходные записи, основанные на правиле сопоставления, например, декларативно определенные или реализованные с помощью определенных пользователем функций. Например, такое правило может утверждать, что записи по некоторому лицу, скорее всего, согласованы, если согласованы имя и фрагменты. Степень схожести между записями часто измеряется числовыми значениями между 0 и 1, обычно зависящими от характеристик приложения. Например, различные атрибуты в правиле сопоставления могут придавать различное значение общему уровню сходства. Для строковых компонент (например, имени потребителя, наименования компании и др.) могут оказаться полезными точное сопоставление и неявные методы, основанные на групповых символах, частоте знаков, редакторских расстояниях, расстояниях клавиатуры и фонетического сходства (soundex). Общим подходом к сопоставлению текстовых данных является использование общей метрики извлечения информации. WHIRL отражает многообещающее представление этой категории с использованием косинусного расстояния в модели векторного пространства для определения степени сходства между текстовыми элементами.
Такой метод определения соответствия элементов данных, как правило, является чрезвычайно долгой операцией при больших объемах данных. Подсчет показателей сходства для любых двух записей предполагает оценку правила сопоставления декартова произведения входных величин. Далее необходимо выполнить сортировку по показателю сходства, чтобы определить сопоставленные записи, охватывающие дублирующуюся информацию. Все записи, для которых показатель сходства превышает пороговый, могут рассматриваться как соответствия или как кандидаты на соответствие, далее подтверждаемые или отклоняемые пользователем. В литературе предлагается также многопроходный метод сопоставления, позволяющий снизить накладные расходы. Он основан на сопоставлении записей независимо по различным атрибутам и объединении различных результатов сопоставления. В случае отдельного входного файла, каждое сопоставление сортирует записи по конкретному атрибуту и тестирует только близлежащие записи в определенных границах, в которых они удовлетворяют предопределенным правилам согласования. Это существенно снижает объем необходимых оценок правил согласования по сравнению с методом декартова произведения. Общий набор сопоставлений получается путем объединения сопоставленных пар каждого прохода и их транзитивного замыкания.
4. Поддержка инструментов
Сегодня на рынке существует большой выбор средств для поддержки преобразований и очистки данных, в особенности для Хранилищ данных.
Ряд средств ориентированы на специфическую область - например, на очистку данных по именам и адресам или на специфические фазы очистки - например, анализ данных или исключение дубликатов. Благодаря своей ограниченной области применения, специализированные средства обычно очень эффективны, однако для работы с широким спектром проблем преобразования и очистки они нуждаются в дополнении другими инструментами. Другие инструменты - например, средства ETL, - обеспечивают возможность сложных преобразований и большей части технологического процесса преобразования и очистки данных. Общей проблемой средств ETL являются ограниченные за счет собственных API и форматов метаданных возможности взаимодействия, усложняющие совместное использование различных средств.
Сначала будут рассмотрены средства анализа и модернизации данных, обрабатывающих данные элементов данных с целью выявления ошибок и несоответствий и определения необходимых очищающих преобразований. Затем вниманию читателей будут предложены специальные средства очистки и ETL.
4.1. Средства анализа и модернизации данных
Информация о работе Очистка данных: проблемы и актуальные подходы