已阅读5页,还剩56页未读, 继续免费阅读
(计算机软件与理论专业论文)数据质量和数据清洗关键技术研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据质量和数据清洗关键技术研宄 摘要 摘要 , f 时于各个领域的信息资源管理而言,数据质量一直是一个非常关键的问题。 而现实世界中的数据往往存在着各种各样的质量问题,从简单的拼写错误到复杂 的语义不一致错误。数据清洗的目标就是检测并去除数据中存在的各种错误和不 ”一致,提高数据的质量。在信息技术高速发展的今天,各行各业都越来越依赖于 各种各样的信息系统。由步“g a r b a g ei n ,g a r b a g eo u t ”的道理,数据清洗的研 究也显得越来越重要。y 本文在归纳、总结了数据质量问题和数据清洗相关研究的现状的基础上提出 一个可扩展的数据清洗框架的定义和一个检测多语言数据重复记录的综合方法, 并以此为基础实现了一个数据清洗系统e d c f 。 具体地说,本文的贡献如下: 1 提出了一个可扩展的数据清洗框架的定义。框架以术语模型、处理描述文件、 共享库等概念和技术实现了模块功能的可定制,系统的开放性和可扩展性。 2提出了一种检测多语言数据重复记录的综合方法。该方法有效地解决了多语 言数据记录的初步聚类问题;提出了一种适合于多语言数据的、基于计算编 辑距离的有效的记录比较方法;并采用以聚类为元素的优先队列和代表记录 相结合的策略,高效地聚类相似重复记录。从实验看,该方法具有时间复杂 度小,检测精度高,能很好地适应数据规模的变化等优点。 3 以本文提出的技术为基础,实现了一个可扩展的数据清洗系统e d c f 。系统 提供了方便、易用的可视化的数据清洗流程定义环境。并实现了典型的数据 清洗任务模块,能够解决常见的数据质量问题。 关键词:数据质量,数据清洗,重复记录检测,可扩展的数据清洗框架 丝塑堕篁塑塑堡堕选叁堡丝苎堂丝一竺壁旦! l a b s t r a c t d a t aq u a l i t yi sc r u c i a if o ri n f o r m a t i o nm a n a g e m e n ts y s t e m s i na l ld o m a i n s w h i l et h er e a l w o r l dd a t ai so f t e nd i r t yd u et ov a r i o u sd a t aq u a l i t yp r o b l e m s , w h i c hr a n g ef r o mt h es i m p l ed a t ae n t r ye r r o r st ot h ec o m p l e xi n c o n s i s t e n c i e s d a t ac l e a n i n gd e a l sw i t hd e t e c t i n ga n dr e m o v i n ge r r o r sa n di n c o n s i s t e n c i e s f r o md a t at oi m p r o v et h eq u a i l t yo fd a t a w i t ht h er a p i dg r o w t ho f t h ei n f o r m a t i o n t e c h n o l o g i e s ,o r g a n i z a t i o n st o d a ya r ed e p e n d i n gm o r ea n dm o r eo nv a r i o u s i n f o r m a t i o ns y s t e m s t h en e e df o rd a t ac l e a n i n gi n c r e a s e ss i g n i f i c a n t l yd u e t o t h e “g a r b a g ei n ,g a r a g eo u t ”p r i n c i p l e a f t e rp r o v i d i n gac l a s s i f i c a t i o no fd a t aq u a l i t yp r o b l e m sa n das u r v e yo f d a t ac l e a n i n g ,t h i st h e s i sp r e s e n t sas p e c i f i c a t i o no f a ne x t e n s i b l ed a t a c l e a n i n g f r a m e w o r k ,a n di n t r o d u c e sas y n t h e t i c a la p p r o a c hf o rd e t e c t i n ga p p r o x i m a t e l y d u p l i c a t er e c o r d s o fm u l t i - l a n g u a g ed a t a t h ec o n t r i b u t i o no ft h i st h e s i si sa sf o u o w s 1as p e c i f i c a t i o no fa no p e na n de x t e n s i b l ed a t a c l e a n i n g f r a m e w o r ki s p r o v i d e d i tg a i n si t se x t e n s i b i l i t yb ye m p l o y i n gi n n o v a t i v e f e a t u r e sl i k et e r m m o d e l 、p r o c e s s i n gd e s c r i p t i o n f i l ea n dr u l e & d i cb a s e 2as y n t h e t i c a la p p r o a c hf o rd e t e c t i n ga p p r o x i m a t e l yd u p l i c a t er e c o r d so f m u l t i l a n g u a g e d a t ai s p r o v i d e d t h i sa p p r o a c hp r e s e n t s a ne f f i c i e n t a l g o r i t h mf o rs o r t i n gm u l t i l a n g u a g ed a t a ,a ne f f i c i e n te d i t - d i s t a n c eb a s e d p a i r - w i s ec o m p a r i s o n m e t h o df o r m u l t i l a n g u a g e d a t aa n d e m p l o y s a p r i o r i t yq u e u e o fd u p l i c a t e sc l u s t e r sa n dr e p r e s e n t a t i v er e c o r d ss t r a t e g yt o r e s p o n da d a p t i v e l yt ot h e d a t as c a l e 3 i m p l e m e n t e d a ne x t e n s i b l ed a t a c l e a n i n gs y s t e m :e d c f t h es y s t e m p r o v i d e sav i s u a le n v i r o n m e n tt od e f i n et h ed a t ac l e a n i n gw o r k f l o w s o m e t y p i c a ld a t ac l e a n i n gt a s km o d u l e sa r ea l s oi m p l e m e n t e da c c o r d i n gt o o u r c l e a n i n gf r a m e w o r ks p e c i f i c a t i o n g e n e r a ld a t aq u a l i t yp r o b l e m sc a nb e a t l a c k e db yt h es y s t e m k e y w o r d s :d a t aq u a l i t y , d a t ac l e a n i n g ,d u p l i c a t e d e t e c t i o n ,e x t e n s i b l e d a t a c l e a n i n gf r a m e w o r k 数据质量和数据清洗关键技术讲究 gj 言 第一章引言 本章对数据质量和数据清洗的概念、研究内容及研究现状做了简单的介绍, 是全文研究工作的起点。其中第一节阐述了数据质量的定义。第二节说明了数据 清洗的任务。第三节介绍了数据清洗研究的发展状况。第四节介绍了本文的工作 以及本文的组织。 1 1 数据质量 本人曾经从美国i b m 公司收到过相同的两个包含同一套i b m 产品试用光盘 的邮包,它们是i b m 公司推广其产品的一种方式,因此是免费的。这两个邮包的 地址分别如下所示: 地址1 r o n g h u a y u f u d a nn a n q u b u i l d i n g2 ,r o o m 2 0 1 2 s o n gh u aj i a n gr o a d 2 5 0 0 # s h a n g h a i c h i n a2 0 0 4 3 3 地址2 r o n g h u a y u s o n gh u aj i a n gr o a d 2 5 0 0 # f u d a nn a n q ub u i l d i n g2 ,r o o m2 0 1 2 s h a n g h a i ,c h i n a2 0 0 4 3 3 这是一个典型的关于数据质量的案例,由于重复数据的存在,导致企业( i b m ) 支出了不必要的投资( 第二套产品光盘) 。 对于各个领域的信息资源管理而言,数据质量一直是一个非常关键的问题。 随着信息技术的快速发展和普及,各行各业都越来越依赖于各种各样的信息系统。 对于企业而言,企业的管理和运作依赖于各种信息系统。以企业决策为例,f 所 谓“g a r b a g ei n ,g a r b a g eo u t ”【l l t + 9 9 ,可以想象,如果作为决策支持依据 的数据仓库中所存放的基础数据的质量达不到要求,那么数据挖掘这类技术产生 的结果出不会理想,甚至会产生错误的分析结果,从而误导决策。对于政府而言, 许多日常政务都将通过各种信息系统来实行,因此信息的质量将极大地影响政府 工作的质量和效率。而个人是大多数信息的最终接受者,因此毫无疑问信息质量 对人们的日常生活有着重大的影响。数据是各种信息系统提供信息服务的基石, 如果数据质量不符合要求,那么很难指望信息服务的质量能够满足人们的要求。 究竟什么是数据质量? 事实上不同的应用场景对数据质量有各自不同的观 点。对于一个邮件列表的管理员来说,数据质量意味着干净、准确并且不存在重 复的邮件传送地址;对于一个数据挖掘和决策支持系统的使用者而言,数据质量 意味着准确、无重复并符合许多特定要求的数据。由此我们得到的结论是:不存 数据质量和数据清沈关键技术研究 一 旦童 在一个固定的、一成不变的关于数据质量的定义:除了准确性这样的基本要求之 外,数据质量更多地取决于数据的使用者如何使用数据,即实际数据集和使用者 对目标数据集的期望之间是否存在距离。或者说我们可以将“适合使用”作为初 步的标准来定义数据质量的好坏 d a y 9 9 。 1 2 数据清洗的任务 数据质量控制不仅仅是一个技术问题。和所有硬件产品的质量问题一样,质 量控制不经包括技术,也包括策略。大多数数据质量问题可以在数据输入阶段发 现和解决,我们称之为预防阶段。在预防阶段,处理目标通常只是单条记录,因 此只要具有充分的业务规则就能基本保障录入数据的质量。然而我们面临的一个 更为迫切、更有意义的问题是如何充分利用已经存在的大量历史数据和各种可用 信息源中的数据。 在过去的3 0 年中,数据采集和数据库技术的发展产生了大量的历史数据库, 这些数据库中的数据往往由同样年代久远的信息系统产生和维护。由于这些信息 系统本身的设计以及当时各种技术的局限性,使得这些历史数据库中的数据的质 量往往达不到现在的各种应用程序的使用要求。因此需要采取一定的措施转换这 些数据,使之符合新的应用场景 今天的企业要求访问并综合来自各种信息系统的数据,从中获取更高级的知 识为企业决策提供支持。数据仓库和数据挖掘这样基于海量数据的应用正是为了 满足这样的需求。而建立数据仓库的过程中往往需要集成历史数据、现行数据、 以及来自不同数据源的各种数据。据估计在建立数据仓库的过程中7 5 的工作量 将投入到类似数据准备和数据装载这样的后端事务中 a t r 9 8 。数据仓库中数据质 量的好坏是数据仓库应用成功与否的决定性因素,许多数据仓库项目的失败就是 因为对导入数据仓库的各种数据的质量缺乏足够的重视。因此建立数据仓库的过 程中,需要有效的技术手段和工具,提高导入数据仓库的数据的质量。 在信息技术高速发展的今天,信息集成在i t 各个领域都有广泛的应用。特别 是在以数据库技术和网络技术为支撑的企业、商业应用中,信息集成的作用和重 要性尤为明显。比如,企业应用中数据的合并,电子图书馆应用中文档的集成, 电子商务应用中消费者和商品信息的集成等等。所有这些信息集成都有一个共同 点,邪就是信息由不同的数据源提供,往往会造成信息的重复。因此需要特定的 工具去除其中的重复信息,提高集成数据的质量。 随着互联网上快速普及,基于w e b 的信息系统越来越多,i n t e r n e t 己经成为 吐界上最大的数据库。然而w e b 上的内容主要以h t m l 的形式存在,产生数据 数据质量和数据清洗关键技术研究 0 | 言 的过程缺乏完善的质量保证措施,因此来自w e b 的数据往往结构松散,质量较 差i v k s 0 0 。要有效的利用这些数据首先必须提高这些数据的质量。 综上所述,无论是历史数据的处理、数据仓库和数据挖掘应用、信息集成、 还是w e b 数据的利用都需要特定的技术手段提高现存数据的质量,使之符合应 用对目标数据的质量期望。我们将这一过程称为数据清洗( d a t ac l e a n i n g 或者 d a t as c r u b b i n g ) 。数据清洗的任务就是通过各种措旋从准确性、一致性、无冗余、 符合应用的需求等方面提高已有数据的质量 r d 0 0 。 1 3 数据清洗研究的发展 数据清洗一直是数据仓库和决策支持系统相关研究中的一个关键问题 s u 9 7 】 jl i v + o o i 。存在大量所谓的e t l ( e x t r a c t i o n ,t r a n s f o r r n a t i o n ,l o a d i n g ) 工具支持 数据仓库的数据准备( d a t ap r e p a r a t i o n ) 过程,比如d a t as t a g e 【u r l l l ,c o s o r t f u r l 2 等。这些工具能够提供大量数据的抽取、转换和集成操作,但往往只能提 供有限的数据清洗支持。联邦数据库系统和基于w e b 的信息系统面临着和数据 仓库同样的数据转换步骤和清洗需求。对于这些应用来说,典型的方法是使用一 种称为w r a p p e re r $ 9 7 1 的工具进行数据抽取和一种称为m e d i a t o r 【w i e 9 2 的工具 进行数据的集成。w r a p p e r 工具通常用于抽取来自历史数据源或者w e b 页面的 数据,它们往往针对一种特定的数据源,甚至特定于某种格式的h l m i 页面。因此 到目前为止这类工具对数据清洗只能提供有限的支持,它们主要聚焦在数据转换 ( d a t at r a n s f o r m a t i o n ) 过程中的模式转换和模式集成 r d 0 0 。这些工具的灵活 性通常也比较差。由此可见,e t l w r a p p e r 和m e d i a t o r 都是和数据清洗相关但 不完全聚焦在数据清洗上的研究。 随着客户关系管理的重要性日渐突出,地址信息的质量也越来越受到关注。 名字和地址数据的清洗是数据进行清洗技术在特定领域的典型应用。n a d i s 【u r l 3 ,q u i c k a d d r e s s 【u r l 4 等都是这类工具。这些工具往往需要借助些外部 字典,数据表示往往是封闭的,不能被其他应用使用。而且由于针对的是特定领 域的数据,因此对数据特性有较强的依赖性。不易和其他工具配合使用。 数据清洗往往需要处理大量的数据,因此相关算法是研究的重点之。特别 是重复记录检测中涉及的初步聚类、记录匹配等各种算法。【h s 9 5 h y l 9 6 ;黾较早 阐述数据清洗中重复记录检测问题的文章。 如同我们在上一小节分析的那样,信息技术的高速发展使得工业界需要数据 7 f - y “l 参与的信息处理场景越来越多。而它们对数据清洗过程的具体需求往往因为 j 、z 用或者目标数据的不同而有所变化,因此对数据清洗工具的灵活性和可扩展性 3 数据质量祁致姑清洗关键技术研究! 堕 提出了挑战。最近有一些研究就是聚焦于如何在同个框架里提供全面的数据清 沈任务【g f s s 0 1 】 r h 0 1 。其中 g f s s 0 1 】对数据清洗过程中的语言、模型和算法 提出了一些综合的设想,发表在数据库领域的顶级会议v l d b 2 0 0 1 上。在最近两 年的s i g m o o 和v l d b 会议上已经发表了多篇关于数据清洗的论文 g f s s 0 1 1 r h 0 1o 可见数据清洗相关的研究越来越受到人们的重视,而对数据清洗整体框 架的研究正逐渐成为这一研究领域的热点。 数据清洗的最终目标是提高数据的质量,使之符合应用的需求,从而提高基 于这些数据的信息服务的质量和效率。由于发达国家的信息化程度较高,各种信 息系统的使用范围广、时间长,因此对数据清洗的需求显得较为迫切。所以到目 前为止,关于数据清洗的研究大多数都集中在国外,而处理的数据主要是西文表 示的数据。随着国内信息技术的快速发展,数据质量问题也越来越受到关注。但 不可忽视的一点是,在我们的数据中往往以汉字为主,或者既有汉字也有西文字 符。在这种情况下,许多在处理西文数据时采用的数据清洗方法在多语言数据的 环境下需要重新考虑。因此在多语言环境下的数据清洗研究也具有重要意义。 1 4 本文工作 在全面考察了数据质量和数据清洗技术的研究现状之后,本文重点研究了数 据清洗框架、多语言数据的重复记录检测等内容,并以本文研究的技术为基础实 现了一个能提供全面数据清洗任务的实用系统e d c f 。在本文提出的数据清洗框 架中,术语模型为命名资源和定义模块行为提供了一种系统化的方法;处理描述 语言和共享库实现了模块功能的可定制性。整个框架具备开放和可扩展的特点。 在本文提出的多语言数据重复记录检测的综合方法中,有效解决了多语言数据记 录的初步聚类问题;给出了一种适合于多语言数据的、基于计算编辑距离的有效 的记录比较方法。整个方法具有时间复杂度小,检测精度高,伸展性好等优点。 本文实现的e d c f 系统包含了典型的数据清洗任务模块,完整体现了本文提出的 可扩展的数据清洗框架定义。并提供了方便、易用、可视化的流程定义图形环境。 本文组织如下,第一章是背景介绍,阐述了数据质量和数据清洗的概念和研 究的意义。第二章对数据质量问题进行了系统的分类,介绍了数据清洗过程并考 察了当前各种数据清洗相关的工具。本文主要内容是三至六章。其中第三章提出 了一个可扩展的数据清洗框架的完整定义。第四章阐述了典型的数据清洗任务模 块在本文提出的数据清洗框架下的描述和实现。第五章介绍了一种多语言数据重 复记录检测的综合算法。第六章简单介绍了e d c f 系统的实现。最后,在第七章, 作首对本文进行了总结,并在此基础上提出对将来工作的展望。 数据贞董和敬据清沈关键技术研究 数据清洗问题与方法 第二章数据清洗问题与方法 在这一章中我们首先对数据清洗需要处理的主要的数据质量问题进行了分类 介绍,然后介绍了数据清洗的通常步骤和方法,最后对目前存在的商业数据清洗 工具进行了一个大概的介绍。 2 1 数据质量问题分类 造成数据质量问题的原因是多方面的,因此也表现为不同形式的问题。首先, 数据质量问题不完全等同于数据错误,尽管数据中存在的各种错误也属于具体的 数据质量问题,但数据质量问题的范畴不局限与此。如前所述,当历史数据库或 w e b 数据在模式结构、数据特性等方面不能满足新的应用对目标数据的要求,或 者当数据不能满足某些特定的约束时,都需要通过数据清洗来解决。而这些问题 也属于数据质量问题的范畴。各种数据质量问题并不是孤立的,它们之间往往有 着密切的联系。 图2 1 数据质量问题分类 如图21 所示,我们根据单数据源和多数据源、模式层和实例层这样的划分 对各种数据质量问题进行分类。当然,数据模式层面的质量问题也会反映在实例 层上:但是这些问题能够通过改善模式设计( 或者称之为模式进化) 、模式转换和 模式集成加以解决 m z 9 8 1 。另一方面,实例层的质量问题是指在实际的数据内容 中存在的错误和不致,这些问题往往在模式层是不可见的。这些问题就是数据 清洗所要处理的问题。在图2 1 中我们也同时列出了每一类中的一些典型的问题。 当然,除了特别存在于多数据源中的那些问题外,在单数据源中存在的问题同样 塾型塑重竺墼塑鲎鲨叁堡垫苎竺! ! ! 会出现在多数据源中( 甚至更多) 这些问题。 数据清洗问题与方法 2 1 t 单数据源问题 因此我们没有在多数据源质量问题中再次列出 对于单个数据源而言,其数据质量很大程度上依赖于模式的设计和相关的完 整性约束条件,因为这些完整性约束决定了哪些数据值是可以被接受的。而对于 类似文件、w e b 数据这样没有模式的数据源来说,几乎没有任何完整性约束来限 制进入数据源的数据,因此造成数据值错误和不一致的可能性大大增加。另一方 面,对于数据库系统而言,往往有特定数据模型的约束( 比如,关系数据模型中 要求属性值必须是原子不可分的,必须满足引用完整性等) 以及各种应用特定的 完整性约束。此时模式相关的数据质量问题往往是由于缺乏合适的模型特定的或 者应用特定的完整性约束造成的,比如:数据模型的限制,不理想的模式设计, 或者是为了限制完整性控制带来的开销而没有定义足够的完整性约束等原因。实 例层的数据质量问题,往往是在模式层不能防止的一些错误和不一致,比如拼写 错误等。 无论是数据模式层的错误还是数据实例层的错误,我们还可以根据各种数据 质量问题所在的范围分成如下四类: 】属性( 字段) 。这类错误仅仅局限于单个属性的值。 2 记录。这类错误表现在同一条记录中不同的属性值之间的出现的不一致。 3记录的型。这类错误表现在同一个数据源中不同的记录之间的不致关系。 4 数据源。这类错误表现在数据源中的某些属性值和其他数据源中相关值的不 一致关系。 对于不同范围的数据质量问题,相应的数据清洗方法也会有所不同。因此清楚的 了解目标数据存在的质量问题将是提供完善的数据清洗的基础。表2 1 和表22 分别列出了单数据源在数据模式层和数据实例层常见的质量问题并给出了相应的 例子。 范尉问题问题数据( 脏数据) 描述 属性小合法的值 b i r t h = 2 11 37 5属性值超出了值域范围 记录违反丁属性之问的 a g e 。2 0 ,b i r t h = 1 21 1 7 5 属性a g e 和b i t m 之间应该保 依赖关系 持a g e 5c u r r e n ty e a r b i r t h 这样一种依赖关系。 记录型违反唯一性雇员1 :n a m e = “马明”w i d =工号( w l d ) 在同一个企业里 “1 2 3 4 5 6 7 ” 是具肯唯陀。 雇员2 :n a m e = “征磊”w i d = “1 2 3 4 5 6 7 ” 数据质量柙数据清洗关键技术研究 数据清洗问题与方法 范尉日题问题数据( 脏数据j 描述 | 数据源违反引用完整性雇员:n a m e = “马明”d e p n o = 3 2 编号为3 2 的部门不存在。 表21 单数据源在数捌模式层的数据质量问题 地围日题问题数据( 脏数据)描述 属h空值 b i r t h = d d m m y y该属性没有输x 4 1 t 应的值 拼写错误 c j t y = “伤害”通常为数据录入时产生的错 误 值的不同表示 记录1 :c o m p a n y = “m o t o r o l a ” 企业刮时存在中英文名称没 记录2 :c o m p a n y = “摩托罗拉公司” 有使用统一的标准 多值嵌入n a m e = “何瑛2 3 0 27 7 杭州”多个属性的值输入到了一个 属性中( 特别是自由文本的数 据) 。 属性值错位c j t y = “浙江”某个属性的值放置到另外一 个属性中。 记录违反了属性之间的 c i t y = “上海”z i p = 3 1 0 0 2 3城市和邮编之间应该是相关 依赖关系的。 记录型重复记录 记录1 :( “马明”,“m o t o r o l a ”)同一个实体的信息被多次以 记录2 :( “马明”,“摩托罗拉公司”)不同的方式输入。 冲突记录 记录1 :( “马明”“中兴通讯”一)现实世界的同一个实体被不 记录2 :( “马明”“摩托罗拉”)同的值描述。 数据源引用错误 雇员:n a m e = “马明”d e p n o = 1 2 存在编号为1 2 的部门但是 该雇员不在此部门。 震22 单数据源在数据实例层的数据质量问题 表2 1 和表2 2 中的有些质量问题看上去很类似,但是我们必须注意到它们之间 的本质区别在于表2 1 中列举的质量问题可以通过改善数据模式的设计、增加必要 的完整性约束等措施来防止这些问题的发生,表2 2 中的质量问题往往不能简单地 通过这些措施解决。 2 1 2 多数据源问题 在多数据源集成过程中,每个数据源往往由特定的应用程序创建、配置和维 护,以满足特定的服务需求。因此和这些数据源相关的数据管理系统、采用的数 据模型、数据模式的设计和实际数据等各个方面都会存在很大程度的异构性。此 外,每一个数据源中都可能包含脏数据,不同数据源对同一数据可能存在不同的 表示形式、数据重复或者数据冲突。因此相同的数据质量问题在多数据源集成之 后会比在单数据源情形下表现的更为复杂和严重。除此之外,在多数据源情形下, 数据清洗将面f 艋许多新的问题,比如结构冲突、命名冲突、重复记录 k s 9 6 等。 在数据模式层,数据模型的差别可以由模式转换( 或者称为模式翻译) 解决, 对这一问题已存在广泛的研究 b l n 8 6 】 p s 9 8 j 【r u n 9 9 】,因此这个问题y f - ;f 是数据 数据赝量和数据清洗关键技术研究 数据清洗问题弓方法 清洗需要号门关心的问题。在数据模式层,数据清洗主要关心数据模式设计相关 的问题,而传统的模式集成并不能解决数据清洗问题。和数据模式设计相关的主 要问题是命名冲突和结构冲突【k s 9 6 】【p s 9 8 】【b l n 8 6 】。命名冲突是指相同的名字 用于不同的数据对象,或者不同的名字用于同一个数据对象。结构冲突存在很多 种不同的情况,往往是指在不同数据源中对同一个数据对象的不同表示,比如属 性的粒度、不同的组成结构、不同的数据类型、不同的完整性约束等。 除了数据模式层的冲突,很多冲突仅仅在数据实例层表现出来,这些冲突是 具体数据的冲突。所有在单数据源中存在的数据质量问题在不同的数据源中可能 表现为不同的形式,( 比如记录重复、记录冲突等问题) 。此外,即使不同的数据 源之间具有相同的属性名字和数据类型,也仍然可能存在不同的数据值表示( 比 如对婚姻状况的描述) 或者对这些数据值的不同解释( 比如美元和欧元这样不同 的货币衡量单位) 。进一步,不同数据源提供的信息可能聚焦在不同的聚合层次, 比如某个数据源中单条记录描述的是某个产品的销售信息,而另一个数据源中 条汜录描述的可能是组同类产品的销售信息。 对于多数据源而言,一个主要的数据清洗问题是识别重复数据,特别是匹配 标识现实世界中同一个实体的记录( 比如标识同一个客户的信息) 。这一问题也被 称为对象标识问题 g f s + 0 0 ,重复去除问题或者m e r g e p u r g e 问题 h s 9 8 。通 常,来自不同数据源的信息之间仅仅是部分冗余的,这些数据源可以通过提供对 同一个实体的额外信息进行相互的补充。因此为了取得对现实世界中同一个实体 的统一视图,必须去除重复的信息,合并、整理、补充这些信息。 在图2 2 中我们给出的两个数据源c l i e n t 和c u s t o m e r 均是关系表,它们之间 存在着多种数据模式和数据实例层冲突。在数据模式层,存在着命名冲突( 不同 的名字用于相同的数据对象,如c l i e n t c u s t o m e r , c i d c n o s e x g e n d e r ) 和结构 冲突( 比如,对地址的表示粒度不同) 。在数据实例层,两个数据源对性别有着不 同的表示( “0 1 1 ”和“f m ”) ,并且可能存在重复记录( 马明) 。进步的观察我 们还可以发现c i d c n o 都是数据源特定的记录标识,它们的内容在不同数据源之 间是不可比较的,或者说没有比较的意义;因为不同的值( 1 8 4 9 5 ) 可能标识同 一个客户而不同的客户也可能拥有相同的某个值( 2 5 ) 。解决这些问题,同时需 要数据模式和数据实例相关的各种数据清洗技术,图2 2 中的第三张表展示了 种可能的清洗结果。值得注意的是解决这些问题的顺序需要慎重的考虑,有些问 题只有在其他一系列问题解决之后才能有效地解决,比如重复记录的检测必须基 于对地址和性别的统的表示。 数据质量f 数据清洗关键技术研究 数据清洗问题与方法 c l i e n i ( 数据源1 ) c n a m es t r e e lc i t yp r o v i n c e s e x 1 8马叫风起路1 6 2 号b 座3 0 1 室杭卅市浙江 1 2 51 丽武i i 路7 8 弄5 1 3 号楼3 0 2 室匕海市上海o c u s t o m e r ( 数据源2 ) c n o n a m ea d d r e s sp h o n eg e n d e r r 4 9 5马咐抗州市风起路1 6 2 号b 座3 0 1 室,邮3 1 0 0 1 20 5 7 1 8 6 8 0 5 2 2 1m 2 5 何瑛杭州市西溪路1 8 0 号2 6 号楼1 0 1 室,邮3 1 0 0 2 30 5 7 1 8 5 2 2 1 0 9 2 f c u s t o m e r s ( 经过数据清洗之后的数据) n on a m es t r e e t c 时 p r o v i n c e z i p p h o n eg e n d e rc j dc n o 1马明 风起路1 6 2 号b杭州浙江3 1 0 0 10 5 7 1 m1 84 9 5 座3 0 1 室28 6 8 0 5 2 2 1 2:e 丽武川路7 8 弄5 1 3上海上海2 0 0 0 0 f2 5 号楼3 0 2 室0 3 何瑛西溪路1 8 0 号2 6杭州浙江3 1 0 0 20 5 7 1 f2 5 号楼10 1 室38 5 2 2 1 0 9 2 2 2 数据清洗过程 图2 2 多数据源数据质量问题示例 在了解了单数据源和多数据源中存在的各种数据质量问题之后,我们将对数 据清洗的主要步骤和方法进行一个大致的介绍。 2 2 1 数据清洗要求 通常一套完善的数据清洗方法( 工具) 应该满足以下若干要求f r d 0 0 : 1 数据清洗应该能够检测到并去除单数据源中或者多数据源集成过程中存在的 所有主要的数据质量问题,并且能够高效地处理大批量的数据。 2 由于数据清洗往往需要处理大批量的数据,因此数据清洗工具应当提供恰当 的手段辅助用户轻松地处理整个数据清洗过程,避免过多的人工检视和编程 努力( 比如避免用户书写大量的脚本) 。 3 应当提供必要的描述语言能够记录,定制整个数据清洗过程,使得相同的数据 清洗任务能够重用已有的设置,并且能够很容易地修改这种描述使之适应其 他数据源的数据清洗要求。 4 通常一个完整的数据清洗过程往往包含多个数据转换的步骤,因此有必要提 供恰当的工具辅助用户轻松地定义整个数据清洗过程,并且这种努力是能够 数据质量和敬据清洗关键技术研究 数据清洗问题与方法 重用的。以此为基础,还需要提供可靠、有效的工作流形式的执行方式。 目前存在许多数据质量相关的工具,然而其中大部分工具都还不能完全满足 以上所列的这些目标。 2 2 2 数据清洗步骤 一般来说,数据清洗包含以下一些步骤: 数据分析 在确定如何提高目标数据的数据质量之前,必须险确定目标数据存在哪些具 体的数据质景问题。因此首先必须对数据进行仔细的分析,除了必要的人工检视 和数据抽样调查之外还可以借助某些数据分析程序获得详细的数据质量信息,比 如关于数据属性的各种元数据。 数据转换流程和映射规则的定义 根据数据清洗过程中涉及的数据源数目、这些数据源的异构程度、以及具体 数据中存在的数据质量问题的多少和严重程度,整个数据清洗过程可能涉及多个 不同的数据清洗阶段,而这些阶段往往由不同的数据清洗功能模块完成。有时候, 需要通过模式翻译将不同的数据源转换成某个公共的数据模型;以数据仓库为例, 典型的数据模型就是关系模型。前期的数据清洗阶段可以纠正单数据源中实例层 的各种数据质量问题,为不同数据源的集成做好准备。后期的数据清洗可能就聚 焦在模式和数据的集成,并纠正多数据源情形下数据实例层的各种质量问题,比 如记录重复。对于数据仓库而言,数据转换过程中包含的各种控制流和数据流将 定义在一个工作流中,这个工作流就代表了e t l 工具的一个处理过程。 验证 对数据转换工作流及其相关定义的正确性和有效性进行验证和评估是必要 的,比如我们可以对目标数据源的一份拷贝或者是一部分抽样数据进行实验,以 此为基础,若有必要可以改进整个数据清洗流程的定义。有时可能需要多次重复 进行分析、设计、验证这三个步骤,因为有些数据质量问题只有在完成了某些数 据转换之后才会暴露出来。 执行数据清洗 在经过上面三个步骤之后,得到了较为准确、有效的数据清洗流程的定义。 此时即可通过相关的工具执行整个数据清洗流程,比如数据仓库中常用的e t l 工 具,以及各种其他的数据质量工具。 数据质量和数据清洗关键技术研究 数据清洗问题与方法 清洗后的数据替换原数据 经过数据清洗之后得到的数据已经基本去除了原数据源中存在的各种数据质 量问题,因此这些干净的数据应该替换原来的数据使得基于这些数据的应用能够 采用改善之后的数据,并避免以后再次重复某些数据清洗过程。 2 2 3 其他考虑 整个数据清洗过程需要大量的元数据,比如关于目标数据的模式信息、实例 层的数据特性、具体的如何转换、流程的定义等。这些元数据的保存应该具备一 致性、灵活性、易于使用等特点。有时还要考虑是否具有开放性,以便不同的数 据清洗工具能够协同使用( 我们在第三章中对此问题会有具体阐述) 。因此,这些 元数据必须以一种合适的方式保存起来,其中基于d b m s 的存储是一种可选的方 式 b d 9 4 。为了保证数据质量,应该考虑记录关于整个数据清洗过程的详细信息, 这种信息不仅要记录在单独的文件中,有时还要在清洗后的目标数据集中保留相 关的信息:特别是转换后的数据和转换前的数据之间的关系,以及发生的变化等 信息。比如在图2 2 的第三张表中我们同时保留了c i d 和c n o 的信息,使得通过 这些信息能够追溯到最原始的数据记录。 在接下去的这- - 4 , 节中我们将对目前存在的各种数据质量工具做一个比较全 面的考察。 2 3 数据清洗工具调查 目前国外对数据清洗的研究已经有了一些成果,受工业界对数据质量相关工 具的强烈需求的驱动,不少提高数据质量的实用工具也相继产生,特别在数据仓 库领域。一些工具聚焦在处理特定业务领域的数据清洗,比如名字和地址数据的 清洗:或者专注于特定的数据清洗阶段或解决特定的数据质量问题,比如数据分 析和重复记录去除等。由于严格地专注于某个业务领域或者某种质量问题,因此 这些工具往往能够很好地解决特定的问题。但正因为如此,这些工具也往往需要 其他工具的辅助才能解决实际数据中存在的全方位的数据质量问题。其他诸如 e t l 之类的工具能够提供全面的数据转换和一定的数据清洗服务,并具备较好的 工作流特性( 流程定义和工作流执行方式) 。但是这些e t l 工具往往具有特有的 应用编程接口( a p i ) 和特有的元数据格式,因此大大限制了它们的互操作性, 这些特性成为e t l 工具的最大弊端;这一弊端在很大程度上阻碍了将这些工具组 合起来发挥它们各自功能的努力 d r 0 0 。 我们首先将介绍数据分析相关的一些工具,这些工具分析数据实例,识别数 数据质量和数据清洗关键技术研究 数据清洗问题与方法 据中存在的错误和不致,并以此确定目标数据需要何种数据清洗转换。接着我 们分别介绍一些专门的数据清洗工具和e t l 工具, 2 3 1 数据分析工具 要想全面地了解个数据源的数据质量状况,仅仅依靠数据模式中的元数据 是不充分的,特别是当该数据源缺乏足够的完整性约束保障数据的质量时。因此 需要通过分析实际的数据获得真实的关于数据特性或某种数据值模式的元数据。 这些元数据能够帮助发现数据质量问题。 存在两类数据分析工具。一类工具主要针对数据实例的单个属性进行分析, 取得该属性的数据特性的轮廓。通过这些工具可以获得数据类型,长度,数据值 的范围,离散值和它们的出现频率,唯一性,典型的字符串模式( 比如电话号码) 等信息,因此它们能够提供关于单个属性的各种质量信息。m i g r a t i o n a r c h i t e c t ( e v o k e s o f t w a r e ) 【u r l 8 磁是这类工具中的一个。对于目标数据源的每一个属 性,该工具能够获得以下这些元数据:数据类型,长度,基数,离散值和它们的 百分比,最大最小值,是否具有唯一性等。 另一类数据分析工具用来发现大量数据中包含的某种特定的模式,比如不同 属性之间的关系。这样的工具有w i z r u l e u r l l l 】,d a t a m l n i n g s u i l e ( i n f o m a t i o n d i s c o v e r y ) ,i n t e g r i t y - v a l i t y 等。这些工具能够分析属性之间的存在 某种关联规则并计算出相应的置信率 - r a y 9 8 1 ,即有多少记录满足改种关联规则。 w i z r u l e 能够揭示三种类型的规则:数据公式,i f - t h e n 规则,基于拼写的规则( 指 出可能存在拼写错误的名字,比如“e d i n b u r g h 在c u s t o m e r 字段中出现了5 0 次, 另有两处包含了和它相似的值”,因此这两处很可能存在拼写错误) 。w i z r u l e 同 时能够指出可能和发现的规则相背的记录。 2 3 2 专门的数据清洗工具 如前所述,专门的数据清洗工具往往着眼于特定的业务领域、特定的数据清 洗阶段或者特定的数据质量问题。这些工具往往依靠某些规则库来指导数据转换 过程,或者通过与人的交互来完成数据转换过程。 特定领域的数据清洗工具 对于今天的许多企业来说各种各样的地址数据可能成为其业务的核心,随时 能和客户、委托人或者供应商进行准确的联系对这些企业来说将显得非常的重要。 高质量的地址数据对企业的业务将给予巨大的帮助,它们不仅能够帮助企业与客 户建立良好的关系,而且可以为企业节省大量的时间和金钱。因此目前存在较多 的名字和地址相关的数据清洗工具。比如i d c e n t r i c u r l 5 】( f i r s t l o g i c ) , 数据质量和数据清洗关键技术研究 数据清洗问题与方法 p u r e i n t e g r a t e ,q u i c k a d d r e s s ( q a s s y s t e m s ) ,r e u n i o n ( p i t n e y b o w e s ) ,n a d i s , t r i l l i u m ( t r i l l i u m s o f t w a r e ) 等都是这类工具。它们提供的技术包括抽取名字和地址 信息并将它们转换为符合标准的形式验证城市、邮编、街道等各种信息是否正 确等。这些工具往往拥有较大的预定义的规则库专门用来处理这类数据中经常出 现的一些问题。比如,t r i l l i u m u r l 7 的分析和匹配模块包括了超过2 0 0 ,0 0 0 条业 务规则,而且能够根据用户的需求加入新的业务规则。 特定阶段的数据清洗工具 最典型的是重复记录标识和去除相关的工具。这些工具包括d a t a c l e a n s e r ( e d d ) ,m e r g e p u r g e l i b r a r y ( s a g e n t q m s o f t w a r e ) ,m a t
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工厂设备保养计划与执行方案
- 三年级语文部编教材教学设计方案
- 殡葬礼仪接待员高级情绪管理与应对策略
- 2026年山西金玉泵业有限公司(企业信用报告)
- 小学教师暑期培训心得体会集
- 市政管道工程施工组织方案
- 固态聚合物锂离子电池及PACK生产项目建设工程方案
- 城市绿化道路及广场绿化设计方案
- 涡轮增压器部件精铸项目环境影响报告书
- 心脏骤停患者目标温度管理专家指南
- 青少年体能训练课程设置指南
- 矿山安全生产管理制度内容
- 客房晚上应急预案
- 融合多源数据的管网仿真-洞察与解读
- 2025-2030分子诊断试剂集采政策影响与企业应对策略研究报告
- 中国小米汽车市场调研报告-202509
- 2025年国家公务员考试时事政治必考试题库附完整答案详解
- 潜水安全培训照片课件
- 2025贵阳市旅游发展集团有限公司招聘(第一批)考试参考试题及答案解析
- 【新教材】北师大版(2024)三年级上册数学全册教案(表格式)
- Unit 5 What are the shirts made of Section B 2a-2e 公开课一等奖创新教学设计(表格式) 人教版英语九年级全册
评论
0/150
提交评论