首页 > 范文大全 > 正文

规范化序列模式在读者借阅行为模式挖掘的应用研究

开篇:润墨网以专业的文秘视角,为您筛选了一篇规范化序列模式在读者借阅行为模式挖掘的应用研究范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要: 高校图书管理系统经过多年运行产生了大量借阅数据,为从借阅数据中发现读者借阅图书的行为模式和借阅规律,提出使用PrefixSpan算法对借阅数据进行序列模式挖掘。为平衡序列模式中支持度和长度各自的重要性,将挖掘结果进行规范化处理,得到带有权值的序列模式。通过对带有权值序列模式进行分析,可得到读者借阅图书的前后衔接关系和借阅规律,根据这些借阅规律可对读者进行借阅指导。

关键词: 序列模式; PrefixSpan算法; 规范化; 借阅规律

中图分类号:TP274+.2 文献标志码:A 文章编号:1006-8228(2014)04-34-03

Abstract: The operation of the college library management system has generated a large amount of borrowing data for so many years. In order to find out the behavior pattern and borrowing rules of readers, the PrefixSpan algorithm is proposed to lead data sequence pattern mining. To keep balance of importance between the support degree and the length in sequence mode, the mining results will be normalized and the sequence patterns will be given with weights. Based on the weighted sequential pattern analysis, the linking relation and the borrowing rules can be obtained, and readers may borrow based on these rules.

Key words: sequential patterns; prefixspan algorithm; normalization; borrowing rules

0 引言

数据挖掘又称为数据中知识发现,是从海量数据中获得有趣、有用、隐含在数据背后且可理解的相关知识[1]。数据挖掘中常见方法有关联规则、分类、聚类、序列模式、Web挖掘等,这些技术在图书馆的应用主要集中在关联分析和聚类分析[2]两方面,使用序列模式进行分析的较少。

目前各高校图书管理系统经过多年运行生成大量借阅数据,通过对这些数据直接分析可得知哪些是热门书籍读者借阅图率、图书利用率等信息,但是要发现借阅数据背后的规律不是直接分析数据能够做到的。同时,图书馆是为读者服务的部门,应该主动掌握读者的借阅习惯、借阅规律和借阅倾向,主动为读者推荐书籍。借助于系统推荐图书分两个方面,一方面是读者借阅某本图书时主动为其推荐相关书籍并给出借阅图书的先后顺序;另一方面是在读者根本不清楚自己要阅读什么书时,应根据读者专业主动推荐相关专业图书的借阅顺序。同时还要解决以往系统关联规则仅能发现同时被某些读者借阅过的图书而无法给出借阅图书的先后顺序问题。因此本文提出使用PrefixSpan算法挖掘序列模式,使用[0,1]区间规范化处理挖掘到的序列模式。

1 PrefixSpan算法

PrefixSpan算法[3]在挖掘序列模式时不需要产生候选项集,挖掘速度较快。算法的基本思想是,找出频繁1序列后产生投影数据库,根据前缀挖掘投影数据库得到局部频繁项集,将前缀与局部频繁项集结合得到频繁序列,具体挖掘步骤如下。

Step1:扫描序列数据库S,找出满足最小支持度的频繁1-项集,即得到长度为1的序列模式。

Step2:将长度为1的序列模式作为前缀构造投影数据库。

Step3:对每个前缀扫描所属的投影数据库,根据最小支持度得到相关局部频繁项集,将前缀和局部频繁项集结合得到频繁序列。

Step4:继续将得到的频繁序列作为前缀,挖掘该前缀的投影数据库得到局部频繁项集,结合得到频繁序列。重复该步骤直至不能发现更长的频繁序列,算法停止。

2 序列模式规范化处理

如何有效使用挖掘出来的序列模式成为序列模式应用的关键。目前大部分使用的方法是按长度降序排列,长度越长的越有用;也有按支持度降序排列,支持度越高的序列模式越有用。这两种方法各有利弊,第1种方法序列模式支持度不够大而不具有非常的普遍性,第2种方法序列模式太短而起到的指导作用小。为兼顾支持度和长度的重要性,我们提出各自占50%的比例来计算序列模式的权值,但是各自的计量单位不同,支持度为百分比而长度为整数,所以必须进行数据变换,在此选择规范化[4]处理,使支持度和长度值变换后均在[0-1]范围。

规范化处理是数据挖掘前的数据预处理方法,本文应用于数据挖掘后结果处理是一种新的尝试。规范化是将数据按比例缩放使之落入一个特定区间,有三种形式:最大-最小规范化、z-score规范化和按小数点定标规范化,在此选择“最大-最小规范化”,计算公式为:

其中,maxA和minA为属性A的最大值和最小值,经过处理后将A的当前值v映射到区间[new_minA,new_maxA]中的v'。

3 PrefixSpan算法在读者借阅行为模式挖掘的应用

3.1 序列模式在读者借阅行为挖掘的应用模型

序列模式在图书管理系统中读者借阅行为挖掘及应用主要分为三个步骤,即数据准备、知识获取和知识应用,如图1所示。数据准备主要是保证被挖掘数据的准确性、适用性和完整性,知识获取主要是应用序列模式挖掘算法对准备好的数据进行挖掘获取读者借阅行为,知识应用主要是根据读者借阅图书的类别或读者专业进行相关图书推荐。

3.2 数据状态分析

本次序列模式挖掘使用广西民族师范学院图书管理系统中2009级、2010级本专科学生的借阅数据作为数据源进行序列模式挖掘分析。广西民族师范学院2009、2010级本专科学生共5823人,涉及到汉语、外语、计算机、管理等13个大类专业,为使得挖掘的序列模式能够较好地发现各大类专业读者的借阅行为习惯,整理好数据后按大类专业进行序列模式挖掘。

图书管理系统中借阅数据包含的属性很多,在分析时只需要学号、借阅日期和索书号这3个字段的信息。广西民族师范学院图书管理系统每借阅一本书就会产生一条借阅记录;在图书管理系统中,同一本书的多个副本索书号相同,但同一类别的书有多本不同的书名,索书号的编码以中图分类号开头,但“.”之后的比中图分类号更详细,“.”之后的用来区分同一大类中不同小类的书,最后加上“/……”区分该小类中不同的图书,如TP391.413/1188表示《PHOTOSHOP蜕变:人像摄影与后期》这本书,TP391.413/1151表示《PHOTOSHOP CS5数码人像修饰208例》这本书,TP391.414/72表示《FLASH CS6中文版从入门到精通》这本书,则TP391.413表示photoshop类的图书等,那么在处理数据时对于索书号只用“/”之前的作为借阅书籍的标识,这样就可以区分每一小类的图书。

3.3 数据预处理

本次挖掘从图书管理系统中获取238145条借阅记录,经过索书号处理后得到148236条记录。然后以学号作为序列ID,以一天内所借阅书籍作为序列中的一个元素,按照时间的递增顺序编排,得到每个学生借阅图书的序列,如表1所示,最终得到的序列数据库S有4938条序列。

3.4 序列模式挖掘

序列模式挖掘的目的是寻找序列数据库中按照某种顺序出现的规律[5],但在高校读者借阅规律中,并不是每个规律对所有专业的读者都适用,必须要分门别类对不同专业进行挖掘得到对应专业的借阅规律,才能给对应类别专业的学生进行借阅图书指导,如计算机类专业的规律不能应用于化学类,化学类的规律对外语类学生指导借阅顺序是没有意义的。因此,将序列数据库中的序列分为外语、汉语、物理、化学、数学、通信、计算机、金融、营销、管理、美术、音乐、体育等13个大类专业,分别对每个大类专业进行序列模式挖掘。

本次序列模式挖掘在Win7操作系统、Myeclipse 8.5平台下使用Java语言实现PrefixSpan算法,序列数据库经过处理后保存在Microsoft SQL Server 2008数据库中,本次挖掘设置最小支持度为5%,对挖掘得到的结果中选取计算机类专业的部分序列模式,如表2所示。本次序列模式挖掘结果删除长度为1的序列模式,因为该模式对获取读者的借阅规律没有指导意义。

3.5 结果分析

根据上述挖掘结果,从图书管理系统中寻找相关索书号所属的图书类别,得到计算机类专业第1条序列模式中图书类别如下:

TP312C:C语言类

H319.34:大学英语四级类

TP311.138:数据库类

TP312JA:JAVA基础语言类

TP311.5:软件工程类

TP391.413:PHOTOSHOP图像处理类

TP312.25:JAVA项目开发类

TP312UM:UML建模类

TP311.55:软件测试类

G642.477:毕业论文撰写类

由此可知该序列为计算机类专业中软件工程学生的借书模式,借阅图书的基本规律:基础C语言―>数据库―>Java语言―>软件工程―>项目开发―>软件测试等,在学习的过程中穿插大学英语四级以及图像处理的书籍。对上述挖掘结果中第2条序列模式进行分析,可知是计算机类专业中网络工程学生借阅图书的模式。

3.6 应用分析

为能够更好地体现读者的借阅规律,充分利用序列模式中支持度和长度的重要性,将挖掘到的序列模式进行[0,1]规范化处理。处理后计算每条序列模式的权值计算公式为:

权值=支持度×50%+长度×50%

最后将挖掘得到的序列模式按照权值的降序排列以供对读者进行借阅推荐时使用。表3为挖掘到每大类专业的序列模式情况。

从表3可知,外语类序列模式数量较多,主要是外语类包括了英语、越南语、泰语这三类专业的借阅模式,因为各专业中书籍类别不同,所以产生模式较多。本次序列模式挖掘结果大部分序列的支持度在5%-8.5%之间,因为序列模式中是最大的频繁序列,最大频繁序列的支持度一般不会很大。各大类专业中权值最大的序列一般是长度较长(不一定是最长)且支持度在6.5%以上,这些序列具有学习的连续性和相对普遍性;权值最小的序列,一般长度和支持度较小的,主要出现在该大类专业中少部分同学喜欢借阅其他类别专业的图书。

在给读者进行借书模式推荐时,根据读者当前借阅的图书,从按权值排序的序列模式中从上到下寻找当前借阅图书所在的序列模式,找到模式后,从该读者的借阅历史库中寻找该读者是否已经借阅模式中当前借阅图书类别之前的图书类别,若没有,则询问读者是否已经阅读过相关图书类别,如果没阅读过则推荐先阅读相关图书类别后再借阅当前这本书,如果已阅读过则推荐阅读完当前图书后继续阅读序列模式中该图书之后的图书类别;若序列模式中所借阅图书之前的图书类别该读者均已借阅过,则直接推荐读者阅读当前所借阅图书后,继续阅读序列模式中该图书之后的图书类别。另外,有部分读者很茫然,不知道要阅读什么图书,这时可根据读者的专业,主动为其推荐该专业中权值最大的三个借阅模式,满足学生个性发展的需要。

4 结束语

通过本文的研究表明,使用序列模式挖掘能从读者借阅历史数据中找到读者的借阅模式和借阅规律,通过挖掘到的借阅规律可以对其他读者借阅图书时进行相关图书推荐,避免读者借阅图书的盲目性和随意性,同时能提高图书馆图书的借阅率,提高读者对图书馆的满意度。但是本文提出的方法仅静态地对当前存在的历史借阅数据挖掘发现读者借阅图书的序列模式,而图书馆的借阅数据经过一段时间后增加很多记录,那么读者的借阅规律可能会发生改变,接下来,如何快速发现增量数据后的借阅模式将是我们研究的方向。

参考文献:

[1] 王海峰,张健,黄晓亚.数据挖掘技术及其在渔情预报中的应用[J].计算机时代,2007.11:52-53

[2] 冯研,王馨.国内图书馆数据挖掘技术实践应用进展分析[J].图书馆学研究,2011.20:2-4

[3] J.Pei, J.Han, B.Mortazavi-Asl,et al.PrefixSpan: Mining Sequential

Patterns efficiently by prefix-projected pattern growth. In Proc of the 17th Intl. Conf. on Data Engineering, Heidelberg,Germany, April 2001.

[4] (加)Jiawei Han,MichelineKamber(著),范明,孟小峰(译).数据挖掘概念与技术[M].机械工业出版,2010.

[5] 王虎,丁世飞.序列模式挖掘研究与发展[J].计算机科学,2009.36(12):14-17