喻正红
摘 要:高校图书馆在每天的读者借阅服务中都会产生大量的用户数据,这些数据隐藏着一些与用户相关的知识,而数据挖掘技术在分析处理数据方面有着自己强大的优势。通过利用Apriori算法对这些数据进行科学分析,不仅可以得出读者的借阅规律、借阅特点,而且把它作为选择购买数字、纸质资源,调整服务策略,开展个性化推送服务等工作的参考标准,使得读者的信息需求能够更加快速、有效、完整地得到满足。同时还可以为图书馆提供科学管理的依据,优化图书馆的资源结构,提高图书馆纸本图书和电子资源利用率。
关键词:数据挖掘;图书馆;行为分析;Apriori算法
随着计算机技术和网络技术的出现和发展,大量数据库应用系统随之出现,面对数据规模爆炸式的增长趋势,传统的小样本专家验证式统计分析已不能适应从大数据中发现知识为人类服务的要求。运用数据挖掘技术对图书馆读者数据进行挖掘,能有效地解决这个问题。研究针对湖南工程学院图书馆管理系统的读者数据,旨在分析读者借阅记录中找出蕴藏的对于管理有用的规则、描述,对读者借阅行为做出分析,挖掘出潜在的有用信息,为图书购买、用户服务、馆藏目录设置等管理工作提供决策支持,为日常图书馆信息服务提供决策参考,使图书馆朝着自动化、数字化和信息化的方向发展。鉴于读者借阅信息的属性均是数值型数据,挖掘技术选用能有效处理数值型数据的关联规则算法。
关联规则挖掘是数据挖掘的一种,它从大量的数据中挖掘出有价值的、描述数据项之间相互联系的有关知识[1]。Apriori算法是关联规则挖掘算法中最经典的算法,此算法使用频繁项集性质的先验知识,通过逐层搜索的迭代方法来查找频繁项集[2]。由于关联规则具有以下特点:形式简洁、易于解释和理解、并且可以非常高效捕捉数据与数据之间的关系,所以近年来数据挖掘领域的一个热点就是从大数据库中挖掘关联规则之间的理论。通过应用关联规则的Apriori 算法在数据挖掘中,对读者借阅信息进行数据分析。使用最小支持度和最小置信度对频繁项集进行挖掘,并且从中寻找存在的关系和规则,以用于指导今后的图书采购和推荐。
1 Apriori算法
Apriori算法在挖掘布尔关联规则频繁项集中是最有影响的一种的算法。基于两阶段频集思想的递推算法是这个算法的核心。该关联规则在分类上属于单维、单层、布尔关联规则。在这里,所有支持度大于最小支持度的项集称为频繁项集,简称频集。Apriori寻找频繁项集的过程是一个不断迭代的过程,每次都是两个步骤,产生候选集Ck(可能成为频繁项集的项目组合);基于候选集Ck计算支持度、确定Lk。Apriori的寻找策略就是从包含少量的项目开始逐渐向多个项目的项目集搜索[3]。
算法的基本思想可以归纳为:第一步找出所有频集,把和预定义的最小支持度一样的频集找出来。第二步由频集产生强关联规则,这些规则必须满足最小可信度和最小支持度。第三步中利用第一步找到的频集所产生期望的规则,产生只包含集合的项的所有规则,其中每一条规则的右部只有一项。这些规则被生成以后,留下来的只有那些大于用户给定的最小可信度的规则。使用递归的方法来生成所有频集。
由于以上算法中,存在产生侯选项目集时循环产生的组合过多等问题,我们对Apriori算法中寻找最大项目集做了以下改进:
第一步:对所有含一个元素的项目出现的频率进行统计,把大于或等于最小支持度的项目集找出来,产生一维频繁项目集Lt。
第二步:对频繁项目集做循环处理,直到没有再产生维数更高的情况。
第三步:按Apriori算法再检验新的K 维频繁项目集的所有k-1维项目集是否已经包含在已经求出的K-1维频繁项目集。
第四步:经过运算得到候选项目集后,扫描数据库B的每一个事务,如果该事务中包含候选项目集Ck中的元素不少于一项,就保留该项事务,否则把该事物记录与没有作删除标记的数据库末端事务记录进行对换,并把移到数据库末端的事务记录作删除标记,对整个数据库进行扫描,完成后作为新的事务数据库D[4]。
我们可以看到本算法的思路基本上与Apriori算法保持一致,但是又有不同之处。
第一,新算法在计算组合Ck前,将对参与组合的元素进行计数处理,根据计数结果从中剔除一些不符合组合条件的元素,这就降低了组合的可能性,也就是降低了循环判断的次数。
第二,新算法虽然对数据库进行了扫描后会生产新的数据库,这样在记录重写中会浪费时间和输入、输出的开销,但是随着循环次数的增加,本算法对新生成的数据库中进行扫描时会减少很多的扫描次数。
2 Apriori算法在读者借阅信息中的应用
数据准备:数据来源为湖南工程学院图书馆2015年读者借阅数据,在电气学院系和管理学院中随机抽取两个院系进行分析,一方面可以针对不同时间的数据进行分析,另一方面,由于高校图书馆学生读者群体所学专业不同,学习动机、兴趣、爱好的不同,因而形成了个人意识倾向和心理素质的差异,因此在借阅活动中表现出不同的心理需求,构成了不同的读者群体特征。由于文科和理科学生学习的特点有不同的地方,所以分别在文科院系和理科院系中抽出一个典型作为代表,这样可以针对性地对不同学生群体进行分析,得出相应的结论。数据时间范围为2014年12月-2015年12月,数据源为湖南工程学院图书馆管理系统数据库,导出数据格式为TXT文本格式。
数据处理:利用 Apriori算法来对图书馆读者借阅信息进行关联规则的挖掘,检查以上数据,经过筛选加工、统一数据格式,去掉冗余数据以及不合理数据,分析所需要的信息后,分别建立读者信息表、借阅图书详情表、图书信息表,进行数据分析工作,将各种表导入excel数据库中,完成一些查询的工作。
3 总结
基于关联规则的Apriori 算法应用领域非常广泛,将它对数据的关联性进行分析和挖掘后的结果在制定决策过程中具有重要的参考价值[5]。本文将Apriori算法应用到图书馆读者借阅记录中,并且针对经典Apriori挖掘算法存在的不足进行了改进,先将事务数据库映射为一个布尔矩阵,用一种逐层递增的思想来动态的分配内存进行存储,再利用向量求"与"运算,寻找频繁项集。实验结果表明,改进后的Apriori算法在运行效率上有了很大的提升,挖掘出的规则也可以有效地辅助图书馆部门有针对性的开展图书购买和推荐工作。
参考文献
[1]陈德良,邓德胜,刘永红.大学毕业生就业影响因素的关联规则挖掘[J]. 教育与业,2012
[2]亓文娟,晏杰.数据挖掘中关联规则Apriori算法[J].计算机系统应用,2013
[3]杨光,张学潮. 数据挖掘在高校图书馆用户行为分析中的应用[J]. 晋图学刊,2011,3:19-22
[4]张瑞雪.数据挖掘中关联规则算法研究及应用[D].哈尔滨: 哈尔滨工程大学硕士学位论文,2006
[5]李宏运.关联规则挖掘在图书馆管理中的应用[D].上海: 华东师范大学硕士学位论文,2009
[6]付开远.数据挖掘在高校图书馆个性化信息服务中的应用研究[D]. 贵州: 贵州大学硕士学位论文,2010
[7]赵艳. Apriori算法在学生成绩分析中的应用[J].河北企业,2015,9:10