APP下载

关联规则在图书管理中的应用

2011-11-24殷云霞杨松涛

关键词:项集数据挖掘书籍

殷云霞,杨松涛

(1.合肥工业大学 计算机与信息学院,安徽 合肥 230009;2.安徽中医学院 医药信息工程学院,安徽 合肥 230031)

21世纪是知识经济的时代,迅猛发展的信息网络化浪潮正以巨大的力量改变着人们的生活.随着网络图书馆、数字图书馆等现代技术应用在图书馆中,图书馆的组织机构和管理理念都发生了重大的变化.坚持“以人为本”的理念,最大化地发挥图书馆的馆藏服务职能,是图书馆新的发展方向.

近年来兴起的数据挖掘技术,以其科学的算法发现海量数据中的规律,向人们揭示数字中的奥秘,进而成为了管理者决策管理的有力助手,已经被广泛应用于社会的各个领域.而每日增加成百上千条数据借阅记录的高校图书馆管理信息系统,更是一个海量数据的殿堂,它也吸引了不少国内外学者对其中的数据进行分析和研究.

1 关联规则数据挖掘

关联规则,一般用于发现交易数据库中不同商品(项)之间的潜在联系,例如,“购买了面包和黄油的顾客有90%又购买了牛奶”,这就是一个典型的关联规则挖掘[1]的实例.

1.1 基本概念

设I={i1,i2,…,in}是项的集合,称为项集.D是任务相关数据事务的集合.这里事务T是项的集合,对应每一个事务有唯一的标志,记作TID.设A是一个I中项的集合,如果A⊂T,那么称作事务T包含A.

一个关联规则是形如A⟹B的蕴涵式,这里A⊂I,B⊂I并且A∩B=Φ.每种发现的模式都有一个表示其有效性的确定性度量,关联规则的确定性度量为支持度(Support)和置信度(Confidence)[2].支持度(Support)是事务集中包含X和Y的事务数与所有事务数之比,记为Support(A⟹B)=P(A∩B),它反应规则适用面的宽窄.置信度(Confidence), 指包含A和B的事务数与包含A的事务数之比,记为Confidence(A⟹B)=P(B/A)=P(B∩A)/P(A),它反映规则的意义深浅.

评价模式时,需要结合度量值的门槛值(最小支持度阈值min_sup和最小置信度阈值min_conf[2])进行模式训练,同时满足用户定义的最小支持度阈值和最小置信度阈值的关联规则称为强规则[3].

1.2 经典算法简介

最经典的关联规则挖掘算法是Apriori[4]算法,其思想是利用已知的高频数据项集推导其他的高频数据项集,它是一种宽度优先算法.

算法步骤如下[5-6]:

(1)在第一次扫描中,Apriori算法计算D中所有单个项目的支持度,生成所有长度为1的1-频繁项L1.

(2)如果Lk-1已生成,现在可用它来生成Lk,若有两个Lk-1,如果其前面的Lk-2相同,而最后一项不同,则将这样的两个Lk-1进行连接后得到候选k-项集的集合Ck.

(3)对候选k-项集进行剪枝,从Ck中删除所有(k-1)-子集不全包含在Lk-1中的项集.

(4)扫描数据库事务D,对于其中的每一个事务,如果它包含Ck中的候选项集C,则将C的计数值加1(扫描开始时,初始值为0).扫描Ck,计算这些候选项集的支持度,删除其支持度低于用户给定的最小支持度的项集.最后,生成所有长度为k的频繁项集Lk.

(5)重复步骤(2)到(4),直到Lk为空.

(6)对L1到Lk取并集即为最终的频繁集L.

1.3 图书借阅关联规则研究

本文利用关联规则数据挖掘技术,对高校图书馆读者借阅图书的数据进行了分析,以期挖掘读者借阅图书的潜在规律,具体从以下3个方面研究:

(1)图书——图书关联.单次借阅过程中,哪些书籍经常一起被借阅,即“借阅了甲书就会再借阅乙书”的可能性.

(2)读者——图书关联.根据读者借阅书籍的历史记录,分析不同类型的读者经常会借阅哪些书籍,如“A类用户喜好借阅程序设计书籍,B类用户喜欢借阅数据库类书籍”.

(3)高频借阅书籍统计.统计各专业领域的高频借阅书籍.

然后,再将挖掘到的经验规律,通过图书馆的公共检索平台反馈给读者,为读者做好图书的推荐服务,以便读者更快速、准确、全面地获取自己所要检索的信息,进而更好地发挥馆藏职能.

2 传统公共图书检索系统的弊端

作为一个服务性的平台,首先要考虑服务对象的需求.读者在检索平台上想获取一些什么信息,是设计者首先需要考虑的问题.传统的公共检索系统,主要基于事务数据库平台,完成一些简单的诸如某本图书是否在馆检索和某位读者当前的借阅状况(历史借阅信息)检索,功能较为单一.

图1 公共检索系统优化流程图Fig.1 Public retrieval system diagram

3 优化的公共图书检索系统主要功能

新一代的图书检索系统,应该让读者获取更深入的多元化信息.例如,某本书籍是否存在,与该书关联性比较强的图书有哪些,哪些书籍经常与该书一起被借阅,等等.当读者查阅某个领域的书籍时,能提供该领域被借频率较高的一些图书的信息,做好图书的推荐工作,并能根据读者的历史借阅信息,研究该读者的借阅规律,针对其借阅喜好推荐新书.

优化系统的设计流程如图1所示.对原始图书流通数据库的有关数据进行抽取、清洗、转换到数据仓库中,并进行数据挖掘(DM),并将分析和挖掘得到的规律,作为一些模块,设计到公共检索系统架构中,优化系统服务.

在图1中,读者检索和图书检索模块主要继承传统检索系统功能,提供读者和馆藏图书的一些基本信息检索.比如,读者的个人基本信息、读者的历史借阅信息检索和图书的作者、出版社、出版时间、分类等信息检索,这些都是基于事务数据库的平面数据.而图书推荐服务模块为新增优化功能,其中,“图书——图书推荐服务”是取关联规则数据挖掘中“图书——图书关联”分析的结果,将单次借阅中经常被一起借阅的图书信息应用到检索平台上,当读者检索某图书信息时,系统推荐经常与之一起被借阅的其他图书信息,供读者参考;“读者——图书推荐服务”是取 “读者——图书关联”规则挖掘的结果,按照读者历次借阅图书的记录信息,分析该类读者经常借阅的书籍,并向其做出“图书推荐服务”;“高频借阅图书推荐服务”是在检索平台上,按读者所检索的图书所属领域,做一些高频借阅书籍统计,并推荐给读者.

4 图书借阅信息的关联规则数据挖掘应用

4.1 图书馆系统简介

图书馆数据库系统包括几个子信息系统,主要是采编子系统、期刊子系统、馆藏书目系统、图书流通系统、读者信息系统、图书馆办公子系统、图书馆人事子系统等.其中,图书流通子系统是图书馆数据更新最多、最频繁的系统,它直接面向读者,处理读者的借阅、归还、续借、预约等业务[1],每天都会添加成百上千条新的流通记录,本文的数据挖掘工作正是针对这一部分的业务数据展开的.

4.2 数据的选取和预处理

主要对读者借阅书籍的规律进行关联规则挖掘.在研究中需要提取读者、图书以及读者借阅图书的有关数据,数据源来自于某高校图书馆管理系统GODLIXP.该系统主要包括馆藏书目信息表、读者信息表、借阅信息表等,其结构包括:馆藏书目信息表(书名、作者、出版社、出版地、出版日期、索书号、图书条码);读者信息表(借书证号、读者条码、姓名、性别、读者级别、级别代码、单位、单位代码);借阅信息表(读者条码、图书条码、索书号、借书时间、还书日期).选取2010年5月至7月两个月的两个库中的图书借阅历史信息,共12 343条.为便于专业性分析,选取其中的计算机图书借阅相关记录6 632条进行了挖掘研究,读者借阅计算机图书的部分历史流通数据如图2所示.

图2 读者借阅历史数据Fig.2 Reader book borrow digital

针对已经选取并合并后的数据,做如下处理:

(1)删除一些信息不全(有噪音)不利于挖掘的记录,如只有条码信息、索书号缺失或者只有索书号信息、条码缺失的记录;

(2)关联挖掘需要分析单次借阅数据,而原库中的借阅数据均是以每个读者借阅每本书籍的记录形式来存储信息的,需要对每个读者单次的借阅图书信息(如借书数目、图书名称等)进行标记,以方便挖掘.因此,针对现行的图书借阅表,添加一个”单次借阅标记”列,并编写存储过程,给每天借阅历史记录添加相应的借阅标记.

(3)由于关联规则挖掘的是同一次借阅过程中书籍之间的相关性规律,所以在单次借阅中只借一本书的记录对于挖掘无意义,故删除.

经过这样的处理后,最终满足条件的记录为2 187条.

4.3 图书借阅信息挖掘

4.3.1 挖掘工具及环境

以SQL SERVER 2005的商业智能平台SQL Server Business Intelligence Development Studio(BI)为挖掘工具,实验环境是:Intel core(TM) i3 CPU M350,Windows 7家庭版操作系统,2 G内存.

4.3.2 借阅信息挖掘

通过前期的数据预处理操作,建立相应的数据仓库后,采用关联规则挖掘技术,分别针对单次借阅过程中图书之间的关联性(图书——图书关联)和不同类型(年级、专业、性别等)读者借阅图书的关联性信息(读者——图书关联)进行分析挖掘.经过反复训练模型,获取的结果集如下:图书——图书关联,即在单次借阅记录中,哪些图书经常被一起借阅.选取最小支持度min_sup为1%,最小置信度min_conf为70%,在SQL SERVER 2005的BI平台上,获取如图3所示的挖掘结果.

图3 图书-图书关联挖掘结果图Fig.3 Book-book association mining diagram

通过该挖掘实践,可以看到诸如“《 软件工程》∧《visual C#.Net数据库开发经典案例分析》⟹《C# 2.0程序设计教程》”的规律,即当读者有2%的可能借阅图书《软件工程》和《visual C#.Net数据库开发经典案例分析》时,有 80%的可能会再借阅图书《C# 2.0程序设计教程》的信息.经过验证,此结论符合事实数据借阅规则.

同样,读者——图书关联,则针对不同类型的读者,根据各读者的历史借阅信息,主要考虑读者系别和学历层次等因素,挖掘其图书借阅规则,选取最小支持度为1%,最小置信度为80%,获取了如图4所示的结果,经验证与现实借阅规律基本相符.

图4 读者-图书关联挖掘结果图Fig.4 Reader-book association mining diagram

5 公共检索系统优化

优化的核心在于增加了图书推荐服务模块,本文主要针对这一模块进行设计描述.该模块功能如图5所示.

图5 图书推荐服务功能图Fig.5 Book recommend service diagram

其中,图书关联推荐子模块,根据已有的单次借阅图书关联挖掘,利用DMX[7-8]等编程语言,将挖掘结果应用到前台,可以根据读者输入要检索的图书信息,推荐出与该图书关联性强的其他图书,指导读者借阅.

读者分类图书推荐子模块,即根据当前读者登录的身份信息,识别读者类别,并根据读者——图书关联挖掘的结果,预测读者所要检索的书籍,向读者推荐符合读者类别的图书,对读者起提示作用.

高频借阅图书推荐子模块,可对原始事务数据库进行统计查询,将各领域高频借阅图书信息推荐给读者.当读者初次借阅某领域书籍、对某个领域不是很熟悉时,可以通过了解该领域有哪些图书被高频借阅,来获取一定信息,提高查阅效率.

6 结束语

整个检索系统的设计,本着“以人为本”的理念,利用历史流通数据来挖掘规律,再从检索平台中把规律和经验反馈给读者,让读者从简单易用的检索中获取更多的实用信息,也让传统、枯燥的数字记录变得生动起来,让数据挖掘技术在实际生活中发挥更大的作用.

参考文献:

[1] 谢憬憬,丁爱萍 .关联规则在图书管理中的应用[J].河南大学学报:自然科学版,2008,38(4):422-424.

[2] 范明.数据挖掘概念与技术[M].孟小峰,译.北京:机械工业出版社, 2001.

[3] 李红,胡学钢.基于CIE-树的关联规则最大频繁项集的求解[J].计算机工程与应用,2006(3):180-181.

[4] 吴聪聪,李忠哗,何巫廉.基于矩阵的最大频繁模式挖掘及其更新算法[J].微电子学与计算机,2007,24(12):29-31.

[5] 魏育辉,潘洁.图书流通数据的关联挖掘量化分析方法[J].现代情报,2005(11):108-110.

[6] 蔡会霞,朱洁.关联规则的数据挖掘在高校图书馆系统中的应用[J].南京工业大学学报:自然科学版,2005,27(1):85-88.

[7] Inmon W H.数据仓库[M].王志海,译.北京:机械工业出版社, 2006.

[8] 苟元琴.基于数据挖掘的图书馆管理系统设计[J].科技信息,2009(25):60-61.

猜你喜欢

项集数据挖掘书籍
鲁迅与“书籍代购”
Chinese books find an audience overseas中国书籍享誉海外
探讨人工智能与数据挖掘发展趋势
不确定数据的约束频繁闭项集挖掘算法
书籍
基于并行计算的大数据挖掘在电网中的应用
书籍是如何改变我们的
一种基于Hadoop的大数据挖掘云服务及应用
基于GPGPU的离散数据挖掘研究
一种新的改进Apriori算法*