[Data Mining, Big Data, Data Engineering] Формульное определение проблем качества данных (перевод)

Автор Сообщение
news_bot ®

Стаж: 6 лет 4 месяца
Сообщений: 27286

Создавать темы news_bot ® написал(а)
23-Мар-2021 17:31

A Formal Definition of Data Quality Problems (2005) Достаточно часто каждый аналитик сталкивается с ситуацией, когда загрузил данные в блок анализа, а в ответ – тишина, хотя в тестовом режиме все работает. Причина обычно в том, что данные недостаточно очищены, где в этой ситуации искать аналитику засаду и с чего начинать обычно задачка не из легких. Можно конечно использовать механизмы сглаживания, но каждый знает, что если из черного ящика с красными и зелеными шарами отсыпать килограмм шаров и вместо них вбросить килограмм белых, то в понимании распределения красных и зеленых это мало приблизит.Когда находишься в ситуации «а с чего начать» помогает таксономия «грязных данных». Хотя в учебниках и дают список проблем, но он обычно неполный, вот постоянно искал исследования, которые рассматривают эту тему подробней. Попалась работа T.Gschwandtner, J.Gartner, W.Aigner, S.Miksch хотя они ее делали для рассмотрения способов очистки данных связанных с датами и временем но, на мой взгляд, это оказалось исключение, которое потребовало разобраться с правилами поглубже чем в учебниках. По собственному опыту знаю, что сопряжение дат и времени «вынос мозга» практически в прямом смысле и поэтому и зацепился за исследование этих авторов.В своей работе они проанализировали несколько работ других авторов и составили мощный список «загрязнений данных» логика их анализа заслуживает уважения и, с другой стороны, дает возможность более «со стороны» посмотреть на любую задачу очистки данных. Все это видно когда сопоставляешь всю совокупность работ, по которым они делают сравнительный анализ. Поэтому и сделал перевод самых используемых ими 5 статей, список с ссылками на эти переводы ниже. Это пятая статья из цикла 1. Таксономия форматов времени и дат в неочищенных данных, 2012 г. 2. Очистка данных: проблемы и современные подходы 2000 г. 3. Таксономия «грязных данных» 2003 г. 4. Проблемы, методы и вызовы комплексной очистки данных 2003 г. 5. Формульное определение проблем качества данных 2005 г.6. Обзор инструментов качества данных 2005 г.Sorry, если ссылки не работают, это временно так как пока не залил их на Хабр.АннотацияИсследование данных для извлечения информации или знаний для поддержки принятия решений является критическим фактором успеха организации в современном обществе. Однако несколько проблем могут повлиять на качество данных. Эти проблемы отрицательно сказываются на результатах, извлеченных из данных, влияя на их полезность и правильность. В этом контексте очень важно знать и понимать проблемы с данными. В этой статье представлена таксономия проблем качества данных с сортировкой по уровням детализации. Формальное определение представлено для каждой включенной проблемы. Таксономия предоставляет строгие определения, которые богаче информацией, чем текстовые определения, использованные в предыдущих работах. Эти определения полезны при разработке инструмента качества данных, который автоматически обнаруживает выявленные проблемы.1. ВведениеВ настоящее время государственные и частные организации понимают ценность данных. Данные являются ключевым активом для повышения эффективности в сегодняшней динамичной и конкурентной бизнес-среде. Однако по мере того, как организации начинают создавать интегрированные хранилища данных для поддержки принятия решений, возникающие проблемы качества данных (DQ) становятся до боли очевидными [12]. Исследование, проведенное Meta Group, показало, что 41% проектов хранилищ данных терпят неудачу, в основном из-за недостаточного DQ, что приводит к неправильным решениям [8]. Качество входных данных сильно влияет на качество результатов [15] (принцип «мусор на входе, мусор на выходе»).Концепция DQ обширна, включает в себя разные определения и интерпретации. DQ в основном изучается в двух исследовательских сообществах: базах данных и менеджменте. Первый изучает DQ с технической точки зрения (например, [4]), в то время как второй также касается других аспектов или измерений (например, доступности, правдоподобия, релевантности, интерпретируемости, объективности), связанных с DQ (например, [13, 17]). В контексте этой статьи мы придерживаемся точки зрения баз данных, то есть DQ означает просто качество значений данных или экземпляров.Проблемы DQ также помечаются как ошибки, аномалии или даже загрязнения и включают, среди прочего, отсутствующие значения атрибутов, неправильные значения атрибутов или различные представления одних и тех же данных. В операционных базах данных нередко содержится от 60% до 90% неверных данных [3]. Эти проблемы являются препятствием для эффективного использования данных и, как уже было сказано, негативно сказываются на результатах и полученных выводах. Следовательно, перед использованием инструмента, ориентированного на анализ, необходимо изучить данные, чтобы проверить, обеспечивается ли требуемое качество. В противном случае DQ необходимо улучшить, удалив или исправив любые проблемы, которые могут существовать [10].Проблемы DQ возникают в трех разных контекстах [4]: (i) когда нужно исправить аномалии в одном источнике данных, таких как файлы и базы данных (например, устранение дубликатов в файле); (ii) когда плохо структурированные или неструктурированные данные переносятся в структурированные данные; или (iii) когда кто-то хочет интегрировать данные, поступающие из нескольких источников, в один новый источник данных (например, создание хранилища данных). В последней ситуации проблемы становятся еще более серьезными, потому что разные источники данных часто содержат избыточные данные в разных представлениях. Представления должны быть объединены, а дубликаты удалены, чтобы обеспечить точный и последовательный доступ к данным.В статье сообщается о новых разработках нашей работы, первоначально представленных в [11]. Здесь представлены следующие основные вклады: (i) формальное определение каждой проблемы DQ и (ii) таксономия задач DQ, которая упорядочивает их по уровням детализации.В [7, 9, 14] представлен исчерпывающий список проблем, влияющих на DQ. Однако проблемы описываются только посредством текстового определения. Принято считать, что естественный язык неоднозначен по своей природе. Поэтому возникают сомнения в истинном значении некоторых проблем DQ, а значит, они нуждаются в дополнительном разъяснении. Использование формального определения - подходящий подход для точного определения каждой проблемы DQ.Помимо строгости, этот вид определения полезен еще и потому, что содержит больше дополнительной информации, чем текстовое определение. В определении четко указано: (i) что это касается только данного типа данных (например, строкового типа данных); (ii) знания метаданных, необходимые для обнаружения проблемы (например, атрибутный домен); (iii) математическое выражение, определяющее проблему DQ, которое может быть переведено с помощью вычислений, чтобы автоматизировать ее обнаружение (только в целях иллюстрации мы показываем определение нарушения домена, представленное позже: 3 ter: v(t,a) i Dom (a)); и (iv) в конечном итоге необходимая функция, которая позволяет обнаруживать проблему DQ (например, для обнаружения ошибки орфографии должна быть доступна функция проверки орфографии). Фреймворк для проблем DQ - это наш первый шаг к разработке автоматизированного инструмента для обнаружения проблем. С помощью этого инструмента мы намерены дополнить возможности современных инструментов профилирования данных.Мы утверждаем, что таксономия проблем DQ важна, потому что: (i) полезно понять, насколько далеко данный инструмент DQ может зайти в обнаружении и исправлении проблем DQ, т.е. он позволяет измерить охват инструмента DQ; (ii) направляет исследовательские усилия, подчеркивая проблемы DQ, которые заслуживают дальнейшего внимания, то есть, если проблема DQ не имеет поддержки для обнаружения или исправления, это означает, что ей следует уделить внимание исследователей.Работа организована следующим образом. В разделе 2 подробно представлена наша таксономия, упорядоченная по уровням детализации задач DQ. В разделе 3 наша таксономия сравнивается с аналогичными работами. Наконец, в Разделе 4 описаны выводы и некоторые направления будущей работы.2. Проблемы качества данныхНа рисунке 1 представлена хорошо известная типичная модель организации данных: (i) данные хранятся в нескольких источниках данных; (ii) источник данных состоит из нескольких отношений, и между ними устанавливаются отношения; (iii) одно отношение состоит из нескольких кортежей; и (iv) кортеж состоит из заранее определенного количества атрибутов. Эта модель приводит к иерархии из четырех уровней детализации данных: несколько источников данных; множественные отношения; одиночное отношение; и атрибут / кортеж.
Рисунок 1: Типичная модель организации данныхМы определили проблемы DQ и создали таксономию на основе этой модели. Используя реальные данные из сектора розничной торговли, мы тщательно проанализировали каждый уровень детализации, от самого низкого (атрибут / кортеж) до самого высокого (несколько источников данных), чтобы выявить конкретные проблемы DQ. Цель заключалась в том, чтобы сначала заняться наиболее конкретными и легко обнаруживаемыми проблемами DQ и оставить до конца наиболее общие и сложные. Анализ был основан на фундаментальных элементах этой модели организации данных (например, на типах данных, отношениях, структуре представления данных). Используемый систематический подход подтверждает нашу убежденность в полноте таксономии.Выявленные проблемы DQ представлены в виде строгого определения и должным образом проиллюстрированы на примере. Наша таксономия охватывает проблемы, которые влияют на данные, представленные в табличном формате, то есть, по крайней мере, в первой нормальной форме. Рассматриваются следующие типы данных: числовые, дата / время, перечислимые и строковые. Мультимедийные данные были исключены, так как они требуют особого рода манипуляций.2.1 Предварительные мероприятияНачнем с введения обозначений, используемых в статье, следуя [1]. Схема отношения состоит из имени R (имени отношения), а также списка A = a1, a2, ..., an различных имен атрибутов, представленных R(a1, a2, ..., an) или просто пользователя R(A). Целое число n представляет степень схемы отношения. Источник данных DS состоит из набора из m схем отношений R1(A1), R2(A2), ..., Rm(Am). Домен d - это набор атомарных значений. Учитывая набор D доменов, набор A имен атрибутов, мы предполагаем, что существует функция Dom: A^D, которая связывает атрибуты с их доменами. Функция Dom применяется к набору имен атрибутов, который представлен как Dom (A) = Dom(a1, a2, ..., an) = Dom(a1) x Dom(a2) x ... xDom (an ). Экземпляр отношения (или для краткости отношения) - это конечное множество rc Dom (ai)^Dom (a2) x ... xDom (an) и представлено r (ai, a2, ..., an) или просто пользователя r(A). Каждый элемент r называется кортежем и представлен t. Кортеж t можно рассматривать как функцию, которая связывает значение Dom(af) с a1, значение Dom(a2) с a2, ... и значение Dom(an) с an. Значение атрибута a в кортеже t представлено v(t,a). Значения в кортеже t атрибутов ai, a2, ..., an ie, v(t, ai), v(t, a2), ..., v(t,an) обозначаются v(t,A). По аналогии, значения атрибута a take для всех кортежей представлены v(T,a). Применение функции f к значению v представлено f(v), а над набором значений V представлено fV). Если по какой-либо причине преобразование значения не может быть выполнено, функция f действует как функция идентичности, то есть fv) = v или fV) = V. Тип данных атрибута a обозначается типом (a)2.2 Проблемы DQ на уровне атрибута / кортежаЭтот уровень разделен на три группы проблем DQ, с которыми столкнулись при анализе значения (значений): (i) одного атрибута одного кортежа; (ii) один атрибут в нескольких кортежах (столбец); и (iii) несколько атрибутов одного кортежа (строки).2.2.1 Одиночный атрибут одиночного кортежаСледующие проблемы DQ были обнаружены путем анализа значений отдельных атрибутов (с разными типами данных) в отдельных кортежах (как показано на рисунке 2).
Рисунок 2: Один атрибут одного кортежа
  • Пустая ценность
Определение: Пусть S будет набором имен атрибутов, определенным как: S = {a | a e R(A) a a является обязательным атрибутом}, то есть S c R(A). В атрибуте a e S отсутствует значение тогда и только тогда, когда (iff): 3 t e r: v(t,a) = null.Пример: Отсутствие значения в обязательном атрибуте Имя покупателя.Примечание. Отсутствие значения в необязательном атрибуте не рассматривается нами как проблема DQ.
  • Нарушение синтаксиса
Определение: Пусть G(a) будет синтаксисом атрибута a, заданным грамматикой или регулярным выражением. Пусть L(G(a)) будет языком, порожденным грамматикой или регулярным выражением. Нарушение синтаксиса атрибута a e R(A) тогда и только тогда: 3 t e r: v(t,a) £ L(G(a)).Пример: атрибут OrderDate содержит значение 13/12/2004 вместо 2004/12/13.
  • Неверное значение
Определение: Пусть u(t,a) будет правильным и обновленным значением, которое должен был иметь атрибут a кортежа t. В атрибуте a e R(A) указано неверное значение, если и только если: 3 t e r: v(t, ) e Dom(a) a v(t,a) f u(t,a)Пример: Атрибут Creation_Date содержит значение 23.09.2003 вместо 23.09.2004.
  • Нарушение домена
Определение: существует нарушение домена в атрибуте a e R(A) тогда и только тогда, когда: 3 t e r: v(t,a) g Dom(a).Пример: в заданном порядке атрибут OrderedQuantity содержит отрицательное значение.
  • Нарушение ограничений бизнес-домена
Определение: пусть check будет функцией, которая получает значение атрибута, проверяет, соблюдает ли оно заданное ограничение, и возвращает логическое значение. В атрибуте a e R(A) нарушено ограничение бизнес-области, если и только если: 3 t e r: check(v(t,a)) = false.Пример: Атрибут "Имя покупателя" должен состоять как минимум из двух слов; однако в определенном кортеже это ограничение не соблюдается. Нарушение домена в атрибуте, тип данных которого является строкой, может быть подробно описан ниже. Пусть S будет набором имен атрибутов, определенным как: S = {a | a e R(A) a type (a) = string}, то есть Sc R(A). Этот набор используется в следующих определениях.
  • Неверная подстрока
Определение: Пусть v\t, a) - подстрока в v(t,a). В атрибуте a e S есть недопустимая подстрока, если и только если: 3 t e r: v(t,a) g Dom(a) a v’(t,a) e Dom(a).Пример: Атрибут CustomerName также хранит ученую степень (например, доктор Джон Тейлор).
  • Ошибка орфографии
Определение: пусть функция проверки орфографии будет функцией проверки орфографии, которая принимает слово с ошибкой, ищет правильное слово на основе языкового словаря и возвращает его. Ошибка написания атрибута a e S, если и только если: 3 t e r: v(t,a) g Dom(a) a spell(v(t,a)) e Dom(a).Пример: Атрибут AddressPlace содержит значение Sant Louis, а не Saint Louis.
  • Неточное значение
Определение: пусть translate будет функцией, которая получает аббревиатуру или акроним, ищет его значение (в полных словах) в словаре (справочной таблице) и возвращает его. Атрибут a e S имеет неточное значение, если и только если: 3 t e r: v(t,a) g Dom(a) a translate (v(t,a)) e Dom(a).Пример: значение Ant. в атрибуте CustomerContact может представлять Энтони, Антонию и т. д.
Рисунок 3: Один атрибут в нескольких кортежах2.2.2 Один атрибут в нескольких кортежахСледующие проблемы DQ были выявлены путем анализа значений одного атрибута в нескольких кортежах, как показано на рисунке.
  • Нарушение уникального значения
Определение: Пусть S будет набором имен атрибутов, определенным как: S = {a | a e R(A) a a является уникальным значением атрибута}, то есть S c R(A). Нарушение уникального значения в атрибуте a e S тогда и только тогда: 3 t1, t2 e r: v (t1,a) = v (t2,a) a ti ± t2.Пример: два разных клиента имеют одинаковый идентификационный номер налогоплательщика.
  • Наличие синонимов
Определение: Пусть S будет набором имен атрибутов, определенным как: S = {a | a e R(A) a type (a) = string}, то есть S c R (A). Пусть значение будет функцией, которая получает слово, ищет его значение в словаре и возвращает его. В атрибуте a e S есть синонимы, если и только если: 3 t1, t2 e r: v (t1, a) ± v (t2, a) значение (v(t1,a)) = значение (v(t2,a)).Пример: Атрибут Occupation содержит значения Professor и Teacher в разных кортежах, которые фактически представляют одну и ту же профессию.
  • Нарушение ограничений бизнес-домена
Определение: пусть check будет функцией, которая получает набор всех значений атрибута, проверяет, соблюдается ли данное ограничение, и возвращает логическое значение. В атрибуте a e R(A) нарушено ограничение бизнес-области: check (v(T,a)) = false.Примечание. Как определено в разделе 2.1, v(T,a) представляет значения, которые приписывают дублю для всех кортежей.Пример: значения атрибута Invoice_Date должны отображаться в отношении в порядке возрастания, но этого не происходит.2.2.3 Несколько атрибутов одного кортежаСледующие проблемы DQ были выявлены путем анализа значений нескольких атрибутов одного кортежа, как показано на рисунке 4.
  • Полупустой кортеж
Определение: Пусть 6 будет определяемым пользователем порогом (действительное число от 0 до 1), а S - набором имен атрибутов, которые пусты в кортеже t, определенном как: S = {a | a e R(A) a v(t,a) = null}, то есть S c R (A). Пусть m - мощность множества S, определенная как: m = | S |, а n - степень схемы отношения. Набор t является полупустым набором тогда и только тогда, когда m / n > 6Пример: если 60% или более атрибутов кортежа пусты, то кортеж классифицируется как полупустой * etpie 1
  • Нарушение функциональной зависимости
Определение: пусть a2 будет атрибутом, значение которого функционально зависит от значений других атрибутов. Набор этих имен атрибутов определяется как: S = {a; | a ;, a2 e R(A): значение a2 функционально зависит от значения ai}, то есть S c R(A). Пусть value будет функцией, которая получает набор значений кортежа, вычисляет значение функционально зависимого атрибута и возвращает его. Нарушение функциональной зависимости в кортеже t iff: 3 t e r: value (v(t,S)) f v(t,a2).Пример: существует функциональная зависимость между ZipCode и City. Каждое значение первого атрибута должно быть связано ровно с одним значением второго. Следовательно, следующие значения двух кортежей клиентов нарушают функциональную зависимость: (Почтовый индекс = 4000; Город = «Порту») и (Почтовый индекс = 4000; Город = «Лиссабон»).
  • Нарушение ограничений бизнес-домена
Определение: пусть check будет функцией, которая получает набор значений кортежа, проверяет, соблюдается ли заданное ограничение x, и возвращает логическое значение. Пусть S будет набором имен атрибутов, определенным как: S = {a | a e R(A) a a используется в формулировке x}, то есть S c R(A). В кортеже t e r нарушено ограничение бизнес-области, если и только если: check (v(t,S)) = false.Примечание: Как определено в разделе 2.1, v(t,S) представляет значения в кортеже t атрибутов, принадлежащих S.Пример: ограничение бизнес-области среди значений атрибутов: TotalProduct = Quantity * SellPrice, не выполняется для данного кортежа отношения SalesDetails.
Рисунок 4: Несколько атрибутов одного кортежа2.3 Проблемы DQ на уровне одного отношенияПроблемы DQ, описанные в этом разделе, были выявлены путем анализа значений нескольких атрибутов в нескольких кортежах отношения, как показано на рисунке 1.
  • Приблизительные повторяющиеся кортежи
Определение: Пусть S будет набором имен атрибутов, определенным как: S = {a | a e R(A) a a не принадлежит первичному ключу}, т.е. S c R(A). Пусть d будет действительным числом от 0 до 1. Пусть подобие будет функцией, которая получает два значения атрибута, вычисляет сходство между ними и возвращает его (также как действительное число от 0 до 1). Есть приблизительные повторяющиеся кортежи в отношении r тогда и только тогда: t1, t2 e r V a e S: подобие (v(t1,a), v(t2,a))> 6 a t1 ± t2.Пример. Кортеж Customer (10, «Smith Barney», «Flowers Street, 123», 502899106) является приблизительной копией кортежа Customer (72, «S. Barney», «Flowers St., 123», 502899106).
  • Несогласованные повторяющиеся кортежи
Определение: Пусть S будет набором имен атрибутов, определенным как: S = {a | a e R(A) a a не принадлежит первичному ключу}, т.е. S c R(A). Пусть 6 будет действительным числом от 0 до 1. Пусть подобие будет функцией, которая получает два значения атрибута, вычисляет сходство между ними и возвращает его (также как действительное число от 0 до 1). Существуют несовместимые повторяющиеся кортежи в отношении r тогда и только тогда: 3 a2 e S, t1, t2 er V a1 e S \ {a2}: подобие (v(t1,a1), v(t2,a1))> da подобие (v( t1,a2), v(t2,a2)) <6.Пример. Клиент кортежа (10, «Smith Barney», «Flowers Street, 123», 502899106) является несогласованным дубликатом кортежа Customer (72, «Smith Barney», «Sun Street, 321», 502899106).
  • Нарушение ограничений бизнес-домена
Определение: пусть check будет функцией, которая получает значения атрибутов всех кортежей, проверяет, соблюдается ли заданное ограничение x, и возвращает логическое значение. Пусть S будет набором имен атрибутов, определенным как: S = {a | a e R(A) a a используется в формулировке x}, то есть S c R(A). В кортеже t нарушено ограничение бизнес-области, если и только если: check (v (T,S)) = false.Примечание: v(T,S) представляет значения, которые атрибуты, принадлежащие S, принимают для всех кортежей.Пример: Максимальное количество семейств продуктов, разрешенное в отношении ProductsFamilies, составляет 10, но существующее количество семейств - 12.2.4 Проблемы DQ на уровне множественных отношенийВ этом разделе мы представляем проблемы DQ, обнаруженные при анализе значений из нескольких отношений, как показано на рисунке 1.Мы предполагаем, что существует связь между схемами отношений R1(A1) и R2(A2) источника данных DS. Пусть S и T будут наборами имен атрибутов, определенными как: S = {a | a e R1(A1) a a принадлежит внешнему ключу, который устанавливает связь с R2(A2)}, т.е. S c R1(A1), и T = {a | a e R2(A2) a a принадлежит первичному ключу}, т.е. T c R2(A2). Эти два набора используются в следующих определениях.
  • Нарушение ссылочной целостности
Определение: Пусть V будет набором значений атрибутов первичного ключа, определенных как: V = {v (t,T) | t e r2}. Нарушение ссылочной целостности между отношениями r1 и r2 тогда и только тогда, когда: 3 t e r1: v (t,S) £ V.Пример: Атрибут CustomerZipCode отношения Customer содержит значение 5100, которого нет в отношении ZipCode.
  • Неправильная ссылка
Определение: Пусть V будет набором значений атрибутов первичного ключа, определенных как: V = {v (t,T) | t e r2}. Пусть u (t,S) будет правильным и обновленным значением, которое должно было быть во внешнем ключе S кортежа t отношения r1. Между отношениями r1 и r2 есть неправильная ссылка, если и только если: 3 t e r1: v (t,S) e V a v (t,S) ^ u (t,S).Пример: Атрибут CustomerZipCode отношения «Клиент» содержит значение 4415 вместо 4445; оба почтовых индекса существуют в отношении почтовых индексов
  • Неоднородность синтаксиса
Определение: Пусть G (a) будет синтаксисом атрибута a, заданным грамматикой или регулярным выражением. Существует неоднородность синтаксиса отношений r1 и r2 тогда и только тогда: V a1 e R1(A1), a2 e R2(A2): type (a1) = type (a2) a G(ai) ± G(a2).Пример: Атрибут «Дата заказа» отношения «Заказы» имеет синтаксис дд/мм/гггг, а атрибут «Дата заказа» отношения «Счета-фактуры» имеет синтаксис гггг/мм/дд.
  • Цикличность кортежей в отношениях с самими собой
Определение: Пусть U будет набором имен атрибутов, определенным как: U = {a | a e R1(A1) a a принадлежит первичному ключу}, т.е. U c R1(A1). Пусть V будет набором, который содержит значения первичных ключей всех существующих кортежей в r1, определенных как: V = {v (t,U) | t e r1}. Пусть v будет значением первичного ключа: ve V. Пусть W будет набором, который, начиная с кортежа, идентифицированного первичным ключом v, содержит значения внешнего ключа всех других связанных с ним кортежей, определяемых как: W = {v (t1,S) | v (t1,S) = v (t2,U) a t1, t2 e r1}. Между кортежами в самоотношении в отношении r1 существует замкнутость тогда и только тогда, когда: v e W.Пример: продукт может быть второстепенным продуктом в другом продукте, и эта информация хранится в атрибуте Sub-product_Cod продукта; В отношении продуктов существует информация о том, что продукт X (ProductCod = 'X') является субпродуктом Y (Sub-product_Cod = 'F) и одновременно, что продукт Y (ProductCod =' Y ') является субпродуктом X (Sub-product_Cod = 'X5); это невозможная ситуация.
  • Нарушение ограничений бизнес-домена
Определение: пусть check будет функцией, которая получает значения атрибутов кортежей из отношений r1 и r2, проверяет, соблюдается ли данное ограничение x, и возвращает логическое значение. Пусть U и V будут наборами имен атрибутов, определенными как: U = {a | a e R1(A1) a a используется в формулировке x}, т.е. Uc R1(A1), и V = {a | a e R2(A2) a a используется в формулировке x}, то есть Vc R2(A2). Пусть Wand Z будет набором значений атрибутов связанных кортежей из каждого отношения, определенного как: W = {v (t1,U) | v (t1,S) = v (t2,T) a t1 e r1 a t2 e r2} и Z = {v (t2,V) | v (t2,T) = v (t1,S) a t1 e r1 a t2 e r2}. Существует нарушение ограничения бизнес-области между отношениями r1 и r2 тогда и только тогда: check (W,Z) = false.Пример: Атрибут InvoiceTotal кортежа отношения Invoices содержит значение 100, тогда как сумма значений атрибута ProductValue (для каждого продукта счета) отношения InvoicesDetails равна только 90 (вместо 100).2.5 Проблемы DQ на уровне множественных источников данныхПредставленные ниже проблемы DQ были выявлены путем анализа значений из нескольких источников данных, как показано на рисунке 1. Как упоминалось в разделе 1, в этой статье рассматриваются только проблемы DQ, связанные с экземплярами (значениями) данных, т. Е. С экстенсиональным уровнем. [6]. Существуют и другие виды проблем DQ, которые возникают на интенсиональном уровне, то есть проблемы, связанные со структурой данных [6], также известные как проблемы среди схем данных. Читателю, интересующемуся этими проблемами, мы предлагаем работу Kashyap and Sheth [5].В этом разделе мы предполагаем, что схемы отношений R1(A1) и R2(A2) принадлежат двум разным источникам данных, соответственно, DS1 и DS2. Обе схемы касаются одного и того же реального объекта (например, клиентов). Мы также предполагаем, что неоднородности схемы отношений между DS1 и DS2 решены, то есть два атрибута, относящиеся к одному и тому же реальному свойству (например, единая цена), имеют одно и то же имя. Однако количество атрибутов, используемых в каждой схеме данных, может быть разным.
  • Неоднородность синтаксиса
Определение: Пусть G (a) будет синтаксисом атрибута a, заданным грамматикой или регулярным выражением. Там является неоднородностью синтаксиса отношений r1 и r2 тогда и только тогда, когда: V a1 e R1(A1), a2 e R2(A2): a1 = a2 a type (ai) = type (a2) a G(aj) 4 G(a2).Пример: Атрибут InsertionDate отношения «Клиенты из DSi» имеет синтаксис дд/мм/гггг, а атрибут «Дата вставки» отношения «Клиенты из DS2» имеет синтаксис гггг/мм/дд.
  • Неоднородность единиц измерения
Определение: Пусть S будет набором имен атрибутов, общих для обоих отношений, определенным как: S = {a | a e R1(A1) a a e R2(A2) a type (a) = numeric}. Пусть k будет числовым постоянным значением. Существует неоднородность единиц измерения в атрибуте a отношений r1 и r2 тогда и только тогда: 3 a e S V t1 e r1 3 t2 e r2: v(t1,a) = k * v(t2,a) a k> 0 a k 4 1.Пример. Атрибут ProductSellPrice представлен в DS1 в евро, а в DS2 - в долларах.
  • Неоднородность представления
Определение: Пусть S будет набором имен атрибутов, общих для обоих отношений, определенным как: S = R1(A1) 0 R2(A2). Пусть translate будет функцией, которая получает значение атрибута из отношения, ищет в словаре (таблице поиска) соответствующее значение в другом отношении и возвращает его. Существует неоднородность представления атрибута a среди отношений r1 и r2 тогда и только тогда, когда: 3 ae S, t1 e r1, t2 e r2: v(t1,a) 4 v(t2,a) a translate (v(t1,a)) = v(t2,a).Пример: Для представления атрибута Gender значения F и M используются в DS1, а в DS2 используются значения 0 и 1.
  • Наличие синонимов
Определение: Пусть S будет набором имен атрибутов, общих для обоих отношений, определенным как: S = {a | a e R1(A1) a a e R2(A2) a type(a) = string}. Пусть значение будет функцией, которая получает слово, ищет его значение в словаре и возвращает его. В атрибуте a между отношениями r1 и r2 есть синонимы тогда и только тогда: 3 ae S, t1 e r1, t2 e r2: значение (v(t1,a)) = значение (v(t2,a)) av (t1,a) 4 v(t2, ).Пример: Отношение Occupations в DS1 содержит кортеж с Professor, а эквивалентное отношение в DS2 содержит кортеж с Teacher; оба представляют одно и то же занятие.
  • Существование омонимов
Определение: Пусть S будет набором имен атрибутов, общих для обоих отношений, определенным как: S = {a | a e R1(A1) a a e R2(A2) a type(a) = string}. Пусть значение1 и значение2 будут функциями, которые получают слово, ищут его значение в словаре (в контексте DS1 или DS2) и возвращают его. В атрибуте a среди отношений r1 и r2 есть омонимы тогда и только тогда: 3 ae S, t1 e r1, t2 e r2: значение1 (v(t1,a)) значение (v(t2,a)) av (tha) = v( t2,а).Пример: В отношении продуктов DS1 существует продукт с именем Mouse (филиал компании продает компьютерное оборудование), в то время как в отношении продуктов DS2 существует также продукт с именем Mouse (другое подразделение компании продает домашних животных, поэтому продукты здесь сами животные).
  • Примерные повторяющиеся кортежи
Определение: Пусть S будет набором имен атрибутов, определенным как: S = {a | a e R(A) a a не принадлежит первичному ключу}, т.е. S c R(A). Пусть d будет действительным числом от 0 до 1. Пусть подобие будет функцией, которая получает два значения атрибута, вычисляет сходство между ними и возвращает его (также как действительное число от 0 до 1). Среди отношений r1 и r2 есть приблизительные повторяющиеся кортежи тогда и только тогда, когда: 3 t1 e r1, t2 e r2 V a e S: подобие (v(t1,a), v(t2,a))> 6.Пример: кортеж Customer (10, 'Smith Barney', 'Flowers Street, 123', 502899106) в DS1 является приблизительной копией кортежа Customer (27, 'Smith B.', 'Flowers St., 123', 502899106 ) в DS2.
  • Несогласованные повторяющиеся кортежи
Определение: Пусть S будет набором имен атрибутов, определенным как: S = {a | a e R(A) a a не принадлежит первичному ключу}, т.е. S c R(A). Пусть 6 будет действительным числом от 0 до 1. Пусть подобие будет функцией, которая получает два значения атрибута, вычисляет сходство между ними и возвращает его (также как действительное число от 0 до 1). Существуют несовместимые повторяющиеся кортежи среди отношений r1 и r2 тогда и только тогда, когда: 3 tI e r1, t2 e r2, a2 e SV a1 e S \ {a2}: подобие (v(t1,a1), v(t2,a1))> 6 подобие (v(t1,a2), v(t2,a2)) <6.Пример: кортеж Customer (10, 'Smith Barney', 'Flowers Street, 123', 502899106) в DS1 является несогласованным дубликатом кортежа Customer (27, 'Smith Barney', 'Sun Street, 321', 502899106) в DS2.
  • Нарушение ограничений бизнес-домена
Определение: пусть check будет функцией, которая получает значения атрибутов кортежей из отношений r1 и r2 (DS1 и DS2), проверяет, соблюдается ли данное ограничение x, и возвращает логическое значение. Пусть S будет набором имен атрибутов, общих для обоих отношений, определенным как: S = {a | a e R1(A1) a a e R2(A2) a a используется в формулировке x}. Пусть T и U - наборы, которые содержат значения атрибутов всех кортежей из отношений r1 и r2, определенных как: T = {v(t1,S) | t1 e r1} и U = {v(t2,S) | t2 e r2}. Существует нарушение ограничения бизнес-области между отношениями r1 и r2, если и только если: check (T,U) = false.Пример. Максимально допустимое количество семейств продуктов - 10; отношение ProductFamilies в DS1 содержит 7 семейств, а отношение Product Families в DS2 содержит 8 семейств; количество различных семейств продуктов, полученных в результате интеграции (объединения) обоих источников, равно 11; это число нарушает ограничение.2.6 ЗаключениеВ таблице 1 представлено краткое изложение нашей таксономии проблем DQ. Проблемы и соответствующие уровни детализации, где они возникают, показаны в таблице.3. Сопутствующие работыKim et al. [7] представляют собой довольно полную таксономию проблем DQ, описывая логику, лежащую в основе его структуры. Они применяют последовательный иерархический подход к уточнению. Таксономия основана на предпосылке, что проблемы DQ проявляются тремя разными способами: отсутствующие данные; не пропавшие, а неверные данные; и не пропал и не ошибся, а непригоден для использования. Неиспользуемые данные возникают, когда две или более базы данных интегрированы или стандарты представления не используются последовательно при вводе данных. Таксономия - это иерархическая декомпозиция этих трех основных проявлений проблем DQ. Учитывая используемый подход и выявленные проблемы DQ, эта таксономия наиболее близка к нашей.Таблица 1: Проблемы DQ, организованные по уровням детализации
Muller and Freytag [9] грубо классифицируют проблемы DQ на синтаксические, семантические и аномалии покрытия. Синтаксические аномалии описывают характеристики, касающиеся синтаксиса и значений, используемых для представления объектов (например, лексические ошибки, ошибки синтаксиса домена). Семантические аномалии мешают сбору данных быть исчерпывающим и неизбыточным представлением реального мира (например, дубликаты, противоречия). Аномалии покрытия связаны с количеством сущностей и свойств сущностей из реального мира, которые фактически хранятся в коллекции данных (например, отсутствующие значения). Эта работа ограничивается проблемами DQ, которые возникают в одном отношении одного источника, поэтому важные проблемы DQ не рассматриваются.Rahm and Do [14] различают проблемы с одним и несколькими источниками, как и мы. Однако при использовании единого источника они не разделяют проблемы на проблемы, возникающие в одном отношении, и проблемы, возникающие в результате существующих отношений между несколькими отношениями. Проблемы с одним и несколькими источниками делятся на проблемы, связанные со схемой и проблемы, связанные с экземпляром. Проблемы, связанные со схемой, могут быть решены путем улучшения дизайна схемы, преобразования схемы и интеграции схемы. Проблемы, связанные с экземплярами, соответствуют ошибкам и несоответствиям в фактическом содержании данных, которые невозможно предотвратить на уровне схемы. Как упоминалось во введении, нас интересуют только проблемы DQ, связанные с экземплярами данных, поэтому мы не делаем этого разделения. В задачах с одним источником, связанных как со схемой, так и с экземпляром, различают следующие области: атрибут; записывать; тип и источник записи. Это похоже на организацию, которую мы представляем в нашей таксономии.Даже несмотря на то, что используемый термин может быть другим (например, нарушение ограничений предприятия; нарушение бизнес-правил), нарушение проблемы DQ ограничения бизнес-области, включенное в нашу таксономию, упоминается почти в каждой книге о базах данных (например, [2, 16]). Однако, как ни удивительно, он не включен ни в одну из проанализированных таксономий. Другие новые проблемы DQ, также представленные нашей таксономией: (i) полупустой кортеж; (ii) неоднородность синтаксиса (на уровне множественных отношений и множественных источников данных); и (iii) цикличность кортежей в отношениях между собой. Все проблемы, выявленные в трех таксономиях, также охватываются нашей, хотя названия, используемые для обозначения проблем, иногда отличаются. Наконец, проблемы DQ были описаны только посредством текстового описания, в то время как мы даем строгое определение каждой проблемы.4. ВыводВ этой статье представлена наша таксономия проблем DQ. Таксономия является результатом исследования, проведенного для выявления проблем DQ на каждом уровне детализации обычной модели организации данных. В исследовании использовался восходящий подход, от самого низкого (атрибут / кортеж) до самого высокого уровня детализации (несколько источников данных), где могут возникнуть проблемы с DQ. Таксономия также была представлена в документе, основанном на таком подходе. Шесть групп связанных проблем DQ были выведены из четырех уровней детализации. Поскольку использованный подход к выявлению проблем был исчерпывающим и систематическим, он позволяет нам быть уверенными в том, что ни одна другая проблема не пропущена.Проблемы DQ, включенные в нашу таксономию, были уточнены посредством строгих определений. Эта функция отличает нашу таксономию от связанных, поскольку они используют только текст для описания проблем. Мы считаем, что создание формальной основы для задач DQ является ценным вкладом, поскольку: (а) это единственный способ обеспечить ясное и точное определение каждой проблемы DQ; и (b) это полезно, потому что оно определяет, что требуется для автоматического обнаружения проблемы, то есть: (i) необходимые знания метаданных; (ii) математическое выражение, определяющее проблему DQ, которое можно рассматривать как логическую процедуру (правило) для ее обнаружения; и (iii) в конечном итоге функция, которая требуется для выполнения некоторого преобразования. Эти элементы явно включены в каждое определение проблемы DQ.Эта работа является первым шагом на пути к разработке инструмента для автоматического обнаружения проблем с DQ. Мы знаем и понимаем весь набор проблем DQ, которые могут повлиять на данные. Мы также знаем, что необходимо для обнаружения каждой проблемы DQ и как это можно преобразовать в вычислительный метод. Все эти элементы необходимо организовать для создания архитектуры инструмента DQ. Собственно, это то, чем мы намерены заниматься в следующей работе. После мы намерены приступить к разработке инструмента. Мы полагаем, что он дополнит ограниченные возможности обнаружения, которые в настоящее время поддерживаются коммерческими инструментами профилирования данных.AcknowledgmentsWe would like to thank Helena Galhardas for the fruitful discussions and useful comments that helped us to improve the contents of the paper.References[1] Atzeni, P. and Antonellis, V. - Relational Database Theory. The Benjamin/Cummings Publishing Company, Inc., 1983.[2] Connolly, T. and Begg, C. - Database Systems: A Practical Approach to Design, Implementation and Management. Addison Wesley Longman Limited, 1999. ISBN 0-201-34287-1.[3] Dasu, T.; Vesonder, G. T. and Wright, J. R. - “Data Quality through Knowledge Engineering”. In Proceedings of the SIGKDD'03 Conference, Washington. August 2003. pp. 705-710.[4] Galhardas, H.; Florescu, D.; Shasha, D.; Simon, E. and Saita, C.-A. - “Data Cleaning: Language, Model, and Algorithms”. In Proceedings of the Very Large Databases Conference (VLDB). 2001.[5] Kashyap, V. and Sheth, A. - “Schematic and Semantic Similarities Between Database Objects: a Context- Based Approach”. Very Large Databases Journal, 5 (4). 1996. pp. 276-304.[6] Kedad, Z. and Metais E. - “Ontology-Based Data Cleaning”. Lecture Notes in Computer Science, 2553, 2002 pp. 137 - 149.[7] Kim, W.; Choi, B.-J.; Hong, E.-K.; Kim, S.-K. and Lee, D. - “A Taxonomy of Dirty Data”. Data Mining and Knowledge Discovery, 7. 2003. pp. 81-99.[8] Meta Group - Data Warehouse Scorecard. Meta Group, 1999.[9] Muller, H. and Freytag, J.-C. - “Problems, Methods, and Challenges in Comprehensive Data Cleansing”. Technical Report HUB-IB-164, Humboldt University, Berlin, 2003.[10] Oliveira, P.; Rodrigues, F. and Henriques, P. - “Limpeza de Dados: Uma Visao Geral”. In Belo, O.; Lourengo, A. and Alves, R. (Eds.) - Proceedings of Data Gadgets 2004 Workshop - Bringing Up Emerging Solutions for Data Warehousing Systems (in conjunction with JISBD’04), Malaga, Spain, November 2004. pp. 39-51 (in Portuguese).[11] Oliveira, P.; Rodrigues, F.; Henriques, P. and Galhardas, H. - “A Taxonomy of Data Quality Problems”. InProceedings of the 2nd International Workshop on Data and Information Quality (in conjunction with CAiSE’05), Porto, Portugal, June 2005.[12] Orr, K. - “Data Quality and Systems Theory”. Communications of the ACM, 41 (2). 1998. pp. 66-71.[13] Pipino, L.; Lee, Y. and Wang, R. - “Data Quality Assessment”. Communications of the ACM, 45 (4). 2002. pp. 211-218.[14] Rahm, E. and Do, H. H. - “Data Cleaning: Problems and Current Approaches”. IEEE Bulletin of the Technical Committee on Data Engineering, 24 (4). 2000.[15] Sattler, K. and Schallehn, E. - “A Data Preparation Framework based on a Multidatabase Language”. InProceedings of International Database Engineering and Applications Symposium (IDEAS 2001), Grenoble, France. IEEE Computer Society. 2001. pp. 219-228.[16] Ullman, J. and Widom, J. - A First Course in Database Systems. Prentice-Hall, Inc., 1997. ISBN 0-13-861337-0.[17] Wand, Y. and Wang, R. - “Anchoring Data Quality Dimensions in Ontological Foundations”. Communications of the ACM, 39 (11). 1996. pp. 86-95.
===========
Источник:
habr.com
===========

===========
Автор оригинала: Paulo Oliveira, Fatima Rodrigues, Pedro Rangel Henriques
===========
Похожие новости: Теги для поиска: #_data_mining, #_big_data, #_data_engineering, #_dirty_data_data_cleansing, #_data_quality, #_grjaznye_dannye (грязные данные), #_ochistka_dannyh (очистка данных), #_data_mining, #_big_data, #_data_engineering
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 16-Июн 00:06
Часовой пояс: UTC + 5