数据挖掘技术在图书馆中的应用研究
2015-12-06金秋萍
金秋萍
(广西财经学院,南宁530003)
1 引言
数据挖掘(Data Mining),是指从海量数据中提取出能够更好帮助决策的有用信息。该技术的发展为信息的及时、广泛传播创造了良好条件,并产生巨大的经济效益,越来越受到各行各业的广泛关注和使用。[1]以安全为例,美国国家安全局(NSA)爱德华·斯诺登披露了NSA全方位收集电话和电子邮件记录之事,引发了全球关于信息安全问题的思考。NSA之所以能从海量信息中挖掘出有用信息,除得益于陡然降落的计算机存储和处理价格,还依赖于数据挖掘技术的使用。同样,数据挖掘技术在商业、气象学、石油勘探、天文学等领域发挥着越来越重要的作用。[2]
本文通过文献回顾,总结了几种关于读者阅读需求偏好的分类方式。在此基础上,作者利用数据挖掘技术,以广西某高校图书馆为例,根据C4.5决策树算法,建立了读者阅读需求偏好决策树,以便全方位、深层次地满足读者的多样化需求,提升图书馆的办事效率和整体服务质量。
2 读者阅读需求偏好的分类及其相关数据的预处理
目前,国内许多学者对读者阅读需求偏好的分类进行了大量研究。总的来讲,有以下几种分类标准:徐菊(2011)按读者阅读动机划分,将读者阅读偏好由低到高划分为四个层次,即生存型、消遣型、发展型和研究型;国金荣(2009)按照读者阅读兴趣、阅读需要和阅读能力的不同,将读者的阅读类型大致分为四种:专业型、兴趣休闲型、纯粹消遣娱乐型(或时尚型)、随便翻阅型;姚毓武、董克礼(1988)研究了天津体育学院学生的阅读类型,他们根据不同年级需求层次,将读者的阅读需求分为丰富知识阅读型、兴趣或消遣阅读型、为作业或考试阅读型、经常性阅读型四类。根据国内学者的研究成果,结合图书馆数据挖掘的实际情况,本文主要将读者的阅读需求偏好分为两类:社会消遣型(S)和专业研究型(P)。
现实世界中的数据多种多样,每一种数据都不可能是完美无缺的,单纯地利用数据挖掘技术,其耗时长而且数据挖掘结果往往不尽如人意。为保证数据的质量,可以在数据挖掘前使用数据预处理技术,常用的数据预处理方法主要有:数据清理、数据集成、数据变换等。
2.1 数据预处理和数据准备
2.1.1 数据的收集、整理及合并
本文以广西某高校图书馆为例,使用的数据均来自于该图书馆的集成管理系统。纵览数据库的整体内容,发现与读者需求偏好有关的可供进一步挖掘、分析的数据分布于流通数据库的不同表中。流通数据库主要包括读者信息表(DZXXB)、流通信息表(LTXXB)、流通历史表(LTLSB)、文献信息表(WXXXB)、条码信息表(TMXXB)等,这些表中都不同程度地包含了有关读者的基本信息、读者借阅信息以及读者借阅书籍的书籍信息。接下来,具体看以下各表所包含的主要字段信息。表1列出了有关读者基本信息的主要字段。
表1 读者信息表中的主要字段
流通信息表显示了读者的借阅历史,表明读者曾经借过哪些书,在什么时间段借阅过而且显示了已借阅图书的馆藏状态等信息。如表2为流通信息表中的主要字段。
文献信息表和条码信息表通过共同的关键字——控制号联系在一起,分别显示了读者要检索的文献信息以及文献对应的条码信息。查找文献资料时,可以通过条码信息找到对应的控制号,然后再找到该控制号对应的文献资料。
表2 流通信息表中的主要字段
通过以上读者信息表、借阅信息表、文献信息表和条码信息表的介绍,可以建立图书馆读者数据宽表。具体步骤如下:首先必须建立数据源(ODBC),这是建立图书馆读者数据宽表的前提和基础;然后,使用MS QUERY将该数据源和流通数据库相连接,同时添加读者信息表和流通信息表;依此类推,根据这几个表之间的联系,添加条码信息表、流通历史表、文献信息表,最终就可以得到图书馆读者数据宽表。
2.1.2 类标签的界定
类标签是用来标志目标的分类或内容,以便于日后查找和定位,这里的目标即读者的阅读需求偏好,刚刚建立的数据宽表中并不存在这样一种标签,这就需要重新定义类标签。根据国内学者对读者阅读需求偏好的研究,本文主要将读者阅读需求偏好分为两类,即社会消遣型和专业研究型,分别记为S和P。
2.2 数据清理
数据清理主要解决数据文件建立中的人为误差,以及数据文件中一些对统计分析结果影响较大的特殊数值。常用的数据清理方法包括可编码式清理和联列式清理。数据清理例程通过填写缺失的值、光滑噪声数据、识别或删除离群点并解决不一致性来“清理”数据。
2.3 变量的变换及合成
数据变换是指将数据转换或统一成适合于挖掘的形式,主要是对数据进行规格化操作。为了理清现有变量与类标签之间的关系,常常要用到数据变换这样一种方法。[3]就本文所选取的读者阅读需求偏好来说,可供读者阅读的书籍成千上万,而这些书籍书名各异,可以根据图书所属地域归类为中国文学或外国文学。在此基础上,可以进一步作概念层次提升,即将它们提升为我们要研究的娱乐消遣和专业研究两大类。具体如图1所示:
在数据挖掘技术中,单纯依靠数据清理和数据集成,很难挖掘出数据之间的深层次关系,所以需要对数据进行变换和合成,找出数据之间隐藏的某种联系。表3显示了数据合成过程及其结果。
图1 概念层次提升
表3 原始宽表数据节选(0表示在借,1表示已还)
根据表3中原始宽表数据节选的字段,在电子表格中,可以合成如下几个变量:最近借阅图书类别、借阅类别数、借阅时间最长图书类别、借阅频率、阅读偏好等,如表4列出了原始宽表聚焦后的数据表。
表4 原始宽表聚焦后的数据表
其中,借阅次数表示某一时期内,读者借阅某一本图书(包括在借图书)的次数;借阅类别数表示某一时期内,读者分别借阅专业研究类书籍和娱乐消遣类书籍的次数;借阅时间最长图书类别表示读者自借出该图书到实际还书日期差值最大的图书所对应的图书类别。如果借阅次数的值呈离散分布,为便于统计分析,可以对这些数据进行处理,即进行等频分箱,箱的密度可以设为3,分别表示借阅次数的高、中、低三个等级。
2.4 变量选择
数据库中存在着大量的数据,并不是所有数据都可以作为数据挖掘的对象,否则会影响数据挖掘的质量。根据“奥卡姆剃刀”定律,目标越简单,越能将焦点集中于要解决的复杂问题上。[4]在这里,我们保留一些最能体现读者借阅信息的变量,剔除相关性较小的变量,得到读者信息的最终数据表,如下表5:
表5 最终数据表字段节选
表中P和S在上文中已定义,P表示专业研究读者的阅读需求偏好,S表示社会消遣型读者的阅读需求偏好。为保证数据挖掘的质量,应剔除一些数据量很小、可能会影响数据挖掘质量的变量,例如:借阅类别中包含的西文图书、综合图书等变量。通过以上数据清理、数据集成、数据变换和合成,得到16540条适于进行数据挖掘的条目。
3 构建读者阅读需求偏好决策树
3.1 C4.5 算法简介
C4.5算法最初是由Quinlan基于ID3算法提出,严格上说C4.5只能是 ID3的一个改进算法。C4.5算法继承了ID3算法的优点,并在以下几方面对ID3算法进行了改进:用信息增益率来选择属性,克服了用信息增益选择属性时偏向选择取值多的属性的不足;在树构造过程中进行剪枝;能够完成对连续属性的离散化处理;能够对不完整数据进行处理。因此,通过C4.5算法产生的分类规则易于理解,准确率和效率也更高。[5]
(2)类别条件熵 infov(T)=-∑jp(vi)∑ip(Cj|vi)log p(Cj|vi)
(3)信息增益,即互信息 gain(V)=info(T)-info(T)
(4)属性V的信息熵 split-info(V)=-∑ip(vi)log(p(vi))
(5)信息增益率 gain-ratio=gain(V)/splitinfo(V)
3.2 构造树
为建立读者需求偏好决策树,必须借助最终数据表中的变量来构造。根据C4.5算法,应该选择能够带来最大信息增益率的分类方式,即借助最近借阅图书类别、借阅类别数、借阅时间最长类别、借阅频率四种分类方式来运算。[6]在电子表格中,利用VBA函数Gain()、Split-info()和Gain()-ratio(),计算信息增益、固有信息值和信息增益率。具体计算过程如下:
Gain(最近借阅图书类别)
=info(10525,5144)-info([8936,1264],[1589,3880])=0.91317-0.65532=0.25785
Split-info(最近借阅图书类别)
=info([10200,5469])=0.93320
Gain-ratio(最近借阅图书类别)=0.2763
Gain(借阅类别数)
=info(10525,5144)-info([4741,1396],[5784,3748])=0.91317-0.89114=0.02203
Split-info(借阅类别数)
=info([6137,9532])=0.96587
Gain-ratio(借阅类别数)=0.02281
Gain(借阅时间最长类别)
=info(10525,5144)-info([9331,1417],[1194,3727])
=0.91317-0.63687=0.2763
Split-info(借阅时间最长类别)=info([10748,4921])=0.8978
Gain-ratio(借阅时间最长类别)=0.30775
Gain(借阅频率)
=info(10525,5144)-info([3353,1711 ],[2893,1393],[4279,2040])=0.91317-0.91303=0.00014
Split-info(借阅频率)
=info([5064,4266,6319])=1.56657
Gain-ratio(借阅频率数)=0.000093
分别计算决策树上每个分支的信息增益率,对比计算出来的各个信息增益率值,选择其中数值最大的作为划分属性的依据。根据以上计算过程,可以发现“借阅时间最长类别”所对应的信息增益率的值最大,因此,可以该属性作为根节点的划分属性。按照C4.5算法循环以上计算过程,最终可得到读者阅读需求偏好决策树,如图2所示。
图2 读者阅读需求偏好决策树
3.3 评价规则的生成以及评价分析
为了保证评价结果的公正和客观,以便更好地检验和反馈图2中生成的读者阅读需求偏好决策树,利用IF THEN形式生成关于读者阅读需求偏好的评价规则:
IF(借阅时间最长类别=专业研究类)THEN(类别=P)
IF(借阅时间最长类别=娱乐消遣类 AND借阅类别数=1)THEN(类别=S)
IF(借阅时间最长类别=娱乐消遣类 AND借阅类别数>1 AND最近借阅类别=娱乐消遣类)THEN(类别=S)
IF(借阅时间最长类别=娱乐消遣类 AND借阅类别数>1 AND最近借阅类别=专业研究类AND借阅频率<>低)THEN(类别=P)
IF(借阅时间最长类别=娱乐消遣类 AND借阅类别数>1AND最近借阅类别=专业研究类AND借阅频率=低)THEN(类别=S)共生成5条规则,准确率为83%,可以接受。
对评价规则作进一步的评价分析,可得出结论:
(1)阅读需求偏好专业研究型的读者,其借阅专业书籍的时间最长,同时借阅书籍的种类繁多。因此,可以认为这种类型的读者兴趣爱好广泛,但主要还是集中于专业书籍方面。
(2)阅读需求偏好社会消遣型的读者,其借阅文艺书籍的时间最长,同时借阅书籍的种类比较少,表明读者的兴趣也比较单一;与此相对应的另一种情况是:读者借阅文艺书籍的时间最长,借阅书籍种类多种多样。同样可以认为这种类型的读者兴趣爱好广泛,借阅时以专业书籍为主,但是这种类型的读者借阅频率低,表明该种类型的读者对图书馆图书的利用率比较低。
4 结语
随着现代科学技术的发展,图书馆数据的集成和管理必须借助数据挖掘技术,才能保证数据的可靠、及时和安全。本文在研究图书馆读者阅读需求偏好的基础上,根据读者的阅读需求偏好建立决策树,旨在为读者提供多样化、深层次的服务,提高服务的质量和水平。需要注意的是,本文所采用的阅读需求偏好模型只是读者数据挖掘中的一个方面,如果要全方位地挖掘读者阅读需求偏好,必须结合多种方法和技术,全面、深入地采集和分析与读者阅读需求偏好有关的信息。
[1]M.goebel and L.Gruenwald,A survey of data mining and knowledge discovery software tools[J].SIKDD Explorations,2009,1(1).22-23.
[2]牛根义.国内图书馆数据挖掘研究[J].现代情报,2010,29(1).128-133.
[3]胡可云,田凤占等.数据挖掘理论与应用[M].北京:北京交通大学出版社,2008.165-210.
[4]蒋艳凰.机器学习方法[M].北京:电子工业出版社,2011.7-8.
[5]J.Quinlan.C4.5 Programs for Machine Learning[M].Morgan Kaufmann Publishers,2008.
[6]姚家奕.数据仓库与数据挖掘技术原理及应用[M].北京:电子工业出版社,2009.200-219.