论数据清洗对信息检索质量的影响及清洗方法
蒋勇青1 杨奕虹1,2 杨贺1,2
( 1 中国科学技术信息研究所 北京 100038)
( 2 北京万方软件有限公司 北京 100038)
摘 要 本文讨论了数据清洗工作在提高数据检索质量方面的必要性及重要作用,并结合传统文献加工思想提出数据清洗工作中处理错误数据和重复数据的方法。
关键词 数据仓库 数据清洗 数据规范 检索系统 查全率 查准率
1 前言
在传统图书情报检索领域中,查全率和查准率是评价情报检索系统检索效果的重要指标,即便是在信息技术蓬勃发展的今天,这两个指标依旧不过时,尤其是对目前超大规模数据仓库的检索系统,更加凸显两者的重要性,因为检索用户总是希望在越短的时间内获得越高质量的检索结果。
笔者认为解决这一矛盾的办法涉及三个方面,数据仓库质量、检索系统性能和用户的检索策略,三者首尾相连、相辅相成。当然每个方面又有若干个方向值得研究与改进,本文主要研究数据仓库数据质量、特别是数据加工方面对于提高检索结果质量的重要作用及所做的相应工作。
2 概述数据仓库建设过程中数据质量和数据加工面临的问题
老情报工作者一定对多年前的书目检索记忆犹新,那会还是手工检索纸质索引目录,科技工作者检索文献时通常需要委托图书馆员协助进行,查全率与查准率的计算也容易得多。而今随着计算机技术的发展和网络的普及,网络数据库诞生了。这些年来,从文摘数据库到全文数据库,从单一数据库到集成数据库的数据仓库,文献数量从几千条到上亿条,存储量也从几十KB迅速增长到了几十TB。
面对这样的海量数据并且还在不断增加规模的信息资源,计算查全率和查准率都变得困难起来,因为在数据未经深加工和处理之前,系统中的“真实相关”数据总量难以统计。所谓真实相关,是指那些确定是同一个单元体,但是描述方式不同的情况,举例来讲,自行车、脚踏车、单车均指同一事物而叫法不一。同行会说,这个问题早已通过词表解决,但若这个问题发生在数据仓库的各个元数据内容中又将如何呢?事实上,这一现象在业界已经有了专有名词——“脏数据”(dirty data),或称之为噪音数据。
2.1 脏数据的类型及其来源
面对海量的数据资源,用户已经不能容忍同一检索命令重复运行于多个数据库中,由此数据仓库应运而生。它集合了海量不同来源的异构数据,经过ETL[1](Extract抽取——Transform转换——Load装载)的处理形成统一的数据仓库。尽管数据在各自单一数据库中有详细严谨的元数据规范和著录规则,但在ETL过程中,脏数据的出现也在所难免。
通常脏数据可分为两类:错误数据和重复数据。错误数据主要来自数字化过程中的识别录入错误、著录规则执行宽泛、批量转换失真等人为操作失误,如信息残缺、乱码、溢出等等。重复数据是指同一实体拥有多个近似却不相等的记录形式,有学者认为重复数据还可细分为重复数据和不完整数据[2],例如同一篇文献有多条记录描述,因各自元数据项目记录的差异或矛盾致使计算机系统无法判定删重;再比如同一实体描述内容不完整,像“中国科学技术信息研究所”和“中国科技信息研究所”。笔者认为这两种数据实质都是重复,只是目标对象颗粒度存在差别。
2.2 脏数据对查全、查准的影响
脏数据对于检索系统中的查全率和查准率的影响是巨大的,下面通过实例说明。
例一:检索结果少了
需要检索出“中国科学技术信息研究所”发表的全部论文,在未经数据清洗前仅仅用上述名称检索,结果肯定会少。因为在数据仓库中,该单位的名称还可能表述为“中国科技信息研究所”、“中国科技情报研究所”、“中情所”等名称。
例二:检索结果多了
需要检索出“朝阳医院”发表的全部论文,本意是想检索出北京朝阳医院发表的全部论文,结果因为同名问题,还检索出了辽宁省朝阳市医院、江苏省南通市朝阳医院发表的论文。
例三:检索结果错了
需要检索出某位专家发表的全部论文,结果因为姓名相同的问题,检索出来的结果还含有其他同名作者的论文。
上述问题都会导致检索的查全率与查准率大幅降低,若想实现两者的双高平衡点,必须总结传统数据加工的经验,挖掘制约检索质量的问题根源,设法改进加工质量和效率,因此数据清洗工作势在必行。
3 数据清洗
数据清洗工作是繁重且具有难度的。有报道称,在一个数据挖掘项目中,对于数据理解只需花费20-30%的时间与精力,却要在数据准备上花费50-70%的时间与精力[3]。在数据清洗过程中,也需要花费相当多的时间和精力用于分析“脏”之特点、之所在并设法清除之。而清洗工作的核心思想便是鉴于多年的图书情报领域工作思想,借助现今的计算机辅助手段进行。
3.1 数据清洗的指导思想
数据清洗就是要将数据的噪音尽量降低,删重数据并纠正错误。在这项工作中,笔者认为可借助数据著录、数据标引等传统理念作为其指导思想。
著录,description,源于目录著录,是在编制文献目录时对文献内容及其物质形态的特征进行分析、选择和记录的过程[4] 815。标引,indexing,兼具索引的含义,对文献的内容及其他有检索意义的特征进行分析、描述并用检索标识记录下来作为存取依据的文献处理过程。一般分为主题标引和分类标引。而两者所使用的表达语言,或称之为依据标准就是各种词表和分类法[4] 614。
著录和标引两者相辅相成。著录是对文献外部特征予以揭示,例如文献的类型、名称、作者、作者单位、出版者、出版地、出版时间、ISSN、DOI等等,近年来还增加了参考文献的著录。标引则是对文献内部特征的揭示,依据词表和分类法赋予目标关键词和分类号。
众所周知,数据库建设之初必须确定数据著录规则,在严谨的著录规则中,对于内容值的描述方式有着严格规定,其目的就是确保入库数据的规范性与一致性。即便后期发现规则设计有瑕疵,也因“错”得一致而很容易通过批量处理修正过来的。因此在数据仓库处理中,应事先制定完善的数据仓库元数据规范与操作标准,最大程度降低多来源数据整合过程中的错误发生。
基于上述规范标准,以往的建库操作人员会在著录数据过程中通过编辑将不规范非标准的数据转为正确格式后入库,而不规范非标准的数据格式(或描述方式)就舍弃了。清洗数据的处理方式则不同,它需要建立所有非标准单元体与标准单元体间的联系,实现整组单元体之间的互换关系。这如同主题标引中所使用的词表思想,在主题词和款目词之间拥有替代关系。
对于有些信息单元体,其本身的特点决定自身无法区分,比如姓名。这种情况下可参考标引组配的原理,在信息单元主体上附加其他信息特征。如在姓名上附加生辰、性别、身份证号、研究领域等信息加以区分。当然在庞大的检索系统中,主体附加值越多运行效率越低,好在绝大多数单元主体只需附加1-2个信息值便可达标。
3.2 清洗数据方法概述
数据清洗纯粹由人工来做不现实,纯粹由计算机完成目前看来也还不能全面满足需要,因此目前通行的办法是计算机辅助人工处理。近年来国外市场上已有数据清洗软件商品和专门的ETL工具[1-2],国内在该领域的研究成果也是百家争鸣。本文借鉴前人研究的基础结合实际工作,提出一些自己的做法。
3.2.1 数据标准化
首先要解决多来源数据标准不统一的问题。在数据整合过程中需按照预先制定的数据仓库规范统一描述方式,处理如数字全/半角、日期格式、标点符号格式、无谓的换行等问题,实现全仓储数据格式标准化。
3.2.2 错误数据
对于错误数据,在具体操作中有一小部分可根据辅助信息直接修正,其余很大一部分信息因追查正确信息的成本过高,在实际工作中只能以删除结束。
(1)不合理数据
如Email中必须含有符号@,且该符号前后不应为空;再如邮编位数异常。
(2)不合逻辑数据
如姓名超长或超短,实际数据中有因为丢失了分隔符致使几个姓名连在一起的。中国人常见姓名以2-3个字为主,四字以上的比例大为减少,一个字的几乎没有。而四个字的名字除少数民族姓名外,可考虑依据姓名复姓表来筛错。如“张三李四”报告异常,而“上官张三”通过。
如地址中省市县不匹配问题、顺序错乱问题,可通过国家行政区划表、城市乡村道路名称等辅助工具表进行规范。
再如电话、传真等字段,可根据省市县与区位匹配对应检查,还可对位数异常者报错。
(3)矛盾数据
在确定多条信息记录描述的信息单元体唯一后,发现各自的描述值既符合逻辑又自相矛盾。比如某具体地址的邮政编码不一致,可能是当地邮政编码确实调整过,但错误数据的可能性也很大。解决此问题一方面可通过建立邮政编码数据信息辅助工具表解决,另一方面可利用概率统计学原理认定。
3.2.3 重复数据
处理重复数据是数据清洗工作的重中之重,首先是在数量庞大的数据仓储中识别相似重复数据,而后是删重数据,如果是具体到某项元数据内容,则需要建立规范与非规范数据映射关系。
对于相似重复记录的识别检测方法,学术界提出了很多思想,如排序(ranking)、聚类(clustering)、分组(grouping)等,具体方法包括建索引的方法[5] 、“merge-purge”方法[6]、内码序值聚类方法[7],Apriori算法[8]、VSM算法[9]、CURE算法[10]、N-gram方法[11] 、基于数据分组匹配的方法[12]以及标准的字符串度量方法[13]等等,文献[2、14-15]也做了综述研究,此不赘述。尽管算法多多,应用于中文数据清洗还未能实现良好效果,一方面是由于中西文的差异性,另一方面原因是领域知识的缺乏和应用不当。笔者认为领域知识可以分为特定领域的专家知识和辅助信息数据库两方面。
(1)专家知识
专家知识归根结底仍是人脑的智慧结晶,是通过领域专家在领域内积累的经验与智慧指导计算机批量完成重复工作,在算法方面包括制定规则、定义概念、确定指标范畴、调整参数权重等;在领域方面包括对特定文献类型的了解、数据仓储元数据规范与标准的执行以及对脏数据的预案分析等等。
(2)辅助信息数据库
辅助信息数据库包括缩略语词表、机构历史沿革/组织机构表、电话升位表、行政区划表、邮政编码表、人物简历表等等。在数据清洗规范过程中,借助辅助信息数据库可实现事半功倍的效果。
表1 辅助信息数据库的应用
步骤 | 举例 | 辅助信息数据 |
输入待清洗数据 | 例1:中国科技信息所 例2:中国科技情报所 | 提供 现用规范名称:中国科学技术信息研究所 曾用名:中国科学技术情报研究所 |
分段 | 中国 / 科技 / 信息 / 所 | 中国/科学技术/信息/研究所 中国/科学技术/情报/研究所 |
与标准数据匹配 | 标 准:中国 / 科学技术 / 信息 /研究所 待规范1:中国 / 科技 / 信息 / 所 标 准:中国 / 科学技术 / 情报 /研究所 待规范2:中国 / 科技 / 情报 / 所 | 科学技术=科技 中国科学技术信息研究所=中国科学技术情报研究所 |
补充/替换 | 科技 补充为 科学技术 所 替换为 研究所 | |
建立两者映射关系 | 各自与标准建立替换关系 | |
结束 | | 四者建立替换关系 |
比如清洗不完整数据大多需要“分段-匹配-补充/替换”的工作过程,期间需要辅助信息数据库的知识支持,如表1所示。
总体来看,计算机辅助人工清洗数据[16-18]的工作是一个人机相互启发与促进的过程,是一个系统工程,未来还有很多工作需要完成。
4 总结
高质量的数据基础是提高检索结果质量的必要条件之一,只有将集成的海量数据清洗规范过,再配合以检索系统和检索策略的改进,才能令检索用户在较短的时间内获得最满意的检索结果。
另一方面,规范“清洁”的数据作为数据挖掘的基础,还可广泛应用于知识发现的主题聚类、文献计量、趋势预测、评估评价、可视化呈现、辅助决策等多个方面。
参考文献
1 贾自艳,黄友平,罗平等. 面向数据质量的ETL过程建模与实现 [J]. 系统仿真学报, 2004, 16 (5)
2 王曰芬,章成志,张蓓蓓等. 数据清洗研究综述 [J]. 现代图书情报技术, 2007 (12)
3 Peter Christen, Karl Goiser. Quality and Complexity Measures for Data Linkage and Deduplication.[20110611]. http://astro.temple.edu/~joejupin/EntityMatching/qmdm-linkage.pdf
4 王绍平,陈兆山,陈钟鸣等 编著.图书情报词典[M].上海:汉语大词典出版社,1990
5 Jin Liang,Li Chen,Mehrotra Sharad.Efficient record linkage in large data sets[C]. Proc of the 8th International Conference on Database Systems for Advanced Applications.Kyoto:[S.n.],2003:137-148
6 Hernandez Mauricio. A.,Stolfo Salvatore J., The merge/purge problem for large databases[C]. Proc of SIGMOD International Conference on Management of Data.New York:ACM Press,1995:127-138
7 鲁均云,李星毅,施化吉等. 基于内码序值聚类的相似重复记录检测方法 [J]. 计算机应用研究, 2010, 27 (3)
8 安相璧,杜艾永,李树珉等. 基于Apriori算法的车辆检测相似重复记录消除方法 [J]. 天津大学学报, 2010 (7)
9 张昌年. 一种基于VSM的检测相似重复记录的方法 [J]. 微电子学与计算机, 2008, 25 (8)
10 时念云,张金明,褚希等. 基于CURE算法的相似重复记录检测 [J]. 计算机工程, 2009, 35 (5)
11 邱越峰,田增平,季文赘,等.一种高效的检测相似重复记录的方法[J].计算机学报,200l,24(I)
12 周丽娟,肖满生. 基于数据分组匹配的相似重复记录检测 [J]. 计算机工程, 2010, 36 (12)
13 Minton Steven N.,Nanjo Claude,Knoblock Craig A.,et al.A heterogeneous field matching method for record linkage[C]. Proc of the 5th International Conference on Data Mining.Washington:IEEE Computer Society,2005:314-321.
14 周奕辛. 数据清洗算法的研究与应用 [D]. 2005
15 郭志懋,周傲英. 数据质量和数据清洗研究综述 [J]. 软件学报, 2002, 13 (11)
16 陈扬. 人工智能在数据清洗中的应用 [D]. 2006
17 鲍洪庆,石冰,王石等. 一个基于领域知识的数据清洗框架 [J]. 信息技术与信息化, 2005 (5)
18 燕彩蓉,孙圭宁,高念高等. 基于扩展树状知识库的海量数据清洗算法 [J]. 计算机工程与应用, 2010, 46 (28)
蒋勇青 万方数据股份有限公司总经理,中国索引学会副理事长。