1、一种图书馆管理系统的数据挖掘技术张秋旺ZHANG Qiu-Wang韩山师范学院 数学与信息技术系 广东省潮州市 521041Department of Math and Information Technology , Hanshan Normal University , Chaozhou Guangdong 521041 , China作者简介:张秋旺,男,揭阳市揭西县灰寨中学,学士E-mail: . Phn: 13682825508A Data Mining Technology in Library Administrative SystemAbstract: As everyone
2、 knows, books are one of the mankinds most valuable resources. But people neglect another potential but important resource-Readers Resource ago. The thesis is on the basis of the popular Library Administrative System, taking advantage of technology of Data Mining Technology to develop and utilize re
3、ader resources on this problem, and finishes Library Administrative System which has Readers Resource. The system qualifies studying platform where students could exchange their minds, and enable the teachers as well as students of the whole school to discuss and learn from each other, leaving the l
4、ibrary be humanized.Key words: Readers Resource; Data Mining; Studying Terrace摘 要:众所周知,图书是人类最宝贵的资源之一。而人们以前往往忽略另一个潜在的但很重要的 资源-读者资源。本文就这 个问题,在 现有 图书馆管理系统的基础上,提出利用数据挖掘技术来开发和利用读者资源,完成一个拥有“读 者资源” 的图书馆 管理系统。 这个系统具有学生交流的学 习平台,让全校的师生能够互相学习、 讨论 ,让图书馆 更具有人性化。关键词:读者资源;数据挖掘;学习平台1 问题的提出图书馆是文化知识非常重要的传播媒介、工具,这一点我们
5、非常清楚。图书馆可以说,具有二个重要资源:图书资源、学生资源(借/还书记录) 。相对于图书馆,图书馆管理系统实现图书馆资源的功能 1有:一是对图书存放的管理;二是对读者借还书的管理。可一直以来,由于没有技术的支持,在借、还书的过程中,我们一直没有发现这么一个潜在的现象,也是被我们忽略的一角:看同一本书的人,应该对这本书有着自己的认识:对书的内容肯定比较了解,对书中某一方面的知识或许有较多的学习和研究,对书肯定有一个评价,更有自己的学习方法和经验但在现行系统里很大程度上,这些都随借书还书过程的完成而自然结束了。可是另外一个借同一本书的人却无从知道,他又得重新自己看这么一本书,用自己的经验、方法看
6、这本书,获得知识,对这本书形成看法,对这本书有一个评价。如此重复下去。推想这其中是不是有很多没有被利用的资源:(1)看同一本书的人,经验没有共享、交流,他们之间是不是可以相互讨论、交流,毕竟有共同的兴趣和目的;(2)另外一个人(新读者)是否适合看这么一本书,没有人介绍,是否有更适合更对口的书可以看呢?新读者无从知道,试想,已经看过这本书的人,特别是刚看过这本书的人,是不是可以给新读者以一个刚看过这本书的建议呢;(3)共同学习、讨论学习一直是学校提倡的教学法,但是却没有一个可以实现的条件或平台其实这是一种非常重要的资源读者资源(潜形资源) 。我们对其加以利用可以形成一种读书文化,以及形成一种读者
7、兴趣小组,对改善读书生活有很大的帮助形成讨论、交流、合作学习的风气。基于此问题设想,利用 J2EE 框架技术、数据库以及数据挖掘理论 2,对现在流行的图书馆管理系统进行改进设计 3,我们可以实现读者资源的共享:(1)对一本书或一专业2(方面) ,让读者可以有自由发表思想的空间;(2)提倡对某本书有经验的读者写出自己的读书心得,来启发、指引或帮助没有经验的新读者;而新读者,相对还没看过同一本书且不相识的学生,可以参考和借鉴“有经验读者的方法” ;(3)使在某方面具有同等水平的读者可以相互学习、交流与讨论。总之,本文提出图书馆管理系统“读者资源”的新观点,来提倡一种读书文化的形成,从而提供一个为不
8、相认识的学生共同学习、讨论学习的平台,来挖掘图书馆被遗忘的一角;讨论在现有图书馆管理系统上利用数据挖掘技术和数据管理来实现这么一块功能,让其具有读者资源。2 数据挖掘在图书馆管理系统中的数据表为了实现“读者资源” ,结合现有图书馆管理系统的数据表,设计出如下图书馆管理系统的数据表。表 1 学生信息数据表为:学生(卡号,学号,姓名,专业,密码,qq,飞信,电子邮箱,)记录学生的个人信息,便于学校管理。其中在发表模块中,用户登录验证时要用到学号和密码;在交流模块中要用到学号和密码登录学校的读者资源交流软件,或者使用 qq,飞信和电子邮箱;以及在查找学生宿舍时,要联合宿舍信息表,用关键词“专业”查出
9、学生的住宿地址。表 2 书信息数据表为:书(书号,书名,书类型,书出借情况,出版者,价钱,备注,书页,)记录书的信息。在查询书是否存在和查阅书信息时,要使用到此表;在评价等级时也要使用此表。书类型可分为大类别,小类别等(下同)。表 3 借书信息表为:借书(学号,借书表单元,借书总数,)借书表单元(借书号,书号,借书日期,还书日期,操作员,)借书表单元是嵌套表,为表中之表。记录借书的信息,一个学生借书是否超期,要使用此表;在评价等级时,使用“借书时间”也要使用此表。表 4 评价信息表为:评价信息表(评价号,学号,书号,评价日期,评价内容,评价分数,)评价内容(书等级评价,对书的评价,书中精彩部分
10、,你的学习方法、心得,对如何看这本书的建议,你还可以扩展的学习内容部分,)评价内容是嵌套表,为表中之表。“评价分数”可以采用计算机数据挖掘、人工智能评出,可以让读者评出,也可以采用特设人员评出,或同时使用几种方式。“评价分数”能够在一定程度上反映评价内容的情况,也可作为学生查读者资源时选出好文章的依据。评价内容可以根据实际需要进行定制;“评价内容”可以使用数据库保存,或者使用外部文件引用保存(由于评价内容很长,推荐使用外部文件) ,得到读者资源。学生在发表模块写出的“评价内容” ,保存在这张表中。此外在查询模块中,如果读者点击“这本书链接” ,也要使用本表。表 5 读书评奖级数据表为:读书评奖
11、级数据(学号,读书奖级数据_ID,大类别、小类别,奖星号,奖级 12,奖级11,奖级 1)大类别、小类别只是作为分类,可以再划分得更细(下同) ;一般使用书号、编号,在3编号时也可以划分出那些编号是那类的书,关于什么内容的,如 TP393.4Y284。 “奖级”也可以称为“等级” ,如果没有单元数值,则把空的奖级i置为-1 。奖星号,数值从 0到 100,对应有 10 级最低为“*” ,最高为“* * * *” 。ID 为 1,2,3,由于一个读者有多个方面的兴趣,所以有多个“读书评奖级数据表”记录。为了读书评奖的准确性,读书评奖级数据表设计了 12 个奖级,依此用等级评价算法来计算出“奖星号
12、” 。由于数据量大,为了方便管理,可以以班/专业为单位,即一个班/专业创建一个“读书评奖级数据表” 。表 6 宿舍信息表为:宿舍信息表(专业,宿舍地址,)图书馆管理系统的数据挖掘数据表中的各个表之间,有很多关联 4 ,在使用时,要联合检索二个或几个表才能完成数据的查询操作。注:本图书馆管理系统可采用 Oracle 数据库作为数据库系统3 数据挖掘在图书馆管理系统中的业务模型设计3.1 系统模型图 1 J2EE 系统模型利用 J2EE 系统模型(如图 1) ,可以描述图书馆管理系统的工作机制。(1)客户层是终端,显示学生浏览信息,请求输入信息,或显示系统返还的信息;(2)Web 层处理客户端请求
13、,根据情况,判断跟那个 EJB 打交道;(3)业务逻辑层,处理事务操作;(4)后端系统是一个数据库,保存数据记录,表格或文件;分布式 CORBA 对象用于不同地区的读者资源共享。3.2 业务建模这一部分是数据挖掘在图书馆管理系统处理的业务过程 5 。3.2.1 发表模块一位学生看完了一本书,就拥有了读者资源。图书馆管理系统提供一个自由发表的空间和读书文化的学习平台,来鼓励读者活跃书本,发表对一本书的评价,看书的方法、经验、心得等。在系统中得到读者资源,从而可以在全校共享。登录介面4主要功能描述:记录评价内容,作为读者资源。在发表时,读者要先登录,记下读者相关的资料,以后可以作为使用的数据。输入
14、信息:学号,密码,书名,评书内容处理过程:客户层输入信息,Web 发送请求,服务器选择相应的 EJB,然后经过 JDBC连接数据库,首先根据“输入信息”从数据库中使用“学生信息数据表”检验该学生是否存在,如果不存在,则一直返回错误并且要求客户重新输入;否则返回客户层 JSP 进入发表介面,介面包括学生的学号,要发表的书名,以及一个 JTextArea 文本类型的写字板。当写好后,要提交时,点击提交按钮,经过 Web 层和业务层,向数据库发送数据,系统将创建一个“评价信息表”记录,将数据写入数据库。其中评价内容的长度由网页返回写字板的长度而确定,或者使用外部文件引用来存储评价内容。最后返回成功提
15、示,并且提示是否还要继续。若要继续,图书馆管理系统则返回发表界面;若要退出,则是注销登录。3.2.2 查询模块从读者资源中,未看同一本书的读者,可以查看关于这本书系统中拥有的读者资源,参考读者资源的意见从而判断自己是否适合看这本书,自己应该怎样看这本书,或者从中得到读者资源中推荐的适合你读的书从而使自己少走弯路,快捷地看一本书,获得知识。登录介面输入信息:书名,任意词检索,或者一般检索,包括题名、著者、出版者、主题词处理过程:客户层输入信息,Web 发送请求,服务器选择相应的 EJB,然后经过 JDBC连接数据库,首先根据“输入信息”,数据库系统使用“书信息数据表”返回业务逻辑层EJB,Web
16、 层返回客户层 JSP 这本书的借阅情况,书所在编号、位置,以及书的简单介绍、备注等,同时提供每一本书对应的读者资源链接。如果读者点击此链接,那么将再次从数据库中读取“评价信息表” ,然后根据所选择“书名”中查找出关于这本书的读者资源,再返回显示客户层 JSP 读者资源的窗口,窗口包括,联合“评价信息表” 、 “学生信息表”和“宿舍信息表”三表得出的书名、发表者、发表者所在班级、评价日期、读者资源内容。从中,我们可以有的选择看到:相关书推荐,分为初级,中级,高级;这本书的评价;这本书的学习方法;这本书的扩展学习内容等等。返回的内容可以根据实际需要进行定制。返回“读者资源”时,设计二种方式返回:
17、按“时间”先后返回,按“评价分数”的高低顺序返回。学生可以根据需要决定,系统默认按“时间”先后顺序返回。效果:这些都使读者去思考如何从“有经验的读者”的方法中更好更快的学习;为新读者提供了方向、目的和方法。看这本书的新读者,就能更轻松得掌握知识。3.2.3 交流模块使在某专业、兴趣方面具有同等水平的学生互相学习、交流、讨论,达到“活跃书本、共同学习、共同进步”的学习效果。登录介面主要功能描述:对于某一方面知识有同等能力、水平的读者,提供一个交流的平台,推荐他们相互认识。输入信息:系统自动完成处理过程:(1)等级评价;(2)交流通信方式。(1)等级评价算法大概描述:算法 1 一个学生一个月借书类
18、型的初级集计算算法描述,本算法要使用借书信息表。0 定义数据结构:一个初级集 初级 1,初级 2, ;5/以记录总共有多少不同类型的书;初级 书类型 ,初级值 ;/以记录一种书的类型,初级值记录一类书的等级;int i = 0;int j =0; /i 用来标记第几次借书,j 用来标记书初级集;1 判断这一月借书的次数,i 借书次数(借书总数) ,则转 2;否则转 6;2 结合“初级集”中的“初级”判断一本书是否已存在同类型的书,若无,则转 3;若有,则转 4;3 创建一个“初级”对象,j = 初级集.LENGTH + 1 ;初级值 = (评价文章质量i # 书页i#一本书借书的时间i#) ;
19、/这一步可以定制如何计算初级值(下同) 。然后赋值“初级”中“书类型”和“初级值” 对;初级集j.addElement初级;i+;转 5;4 选中“书类型”与初级集中“书类型”相同的初级;然后赋值 j;初级值 = 初级.初级值;初级值 =初级值 +(评价文章质量i # 书页i#一本书借书的时间i#) ;初级集j.alterElement初级; / 然后更改“初级”中的“初级值”i+;5 转 1;6 这一步骤的值计算完。算法 1 举例:因为一个学生有一个或几个爱好、兴趣,所以当“初级”为同一大类别,小类别时,才允许在此初级计算,如果一个学生有新的爱好、兴趣,那么就是看不同类型的书了,这时应该创建
20、新的初级。比如,小麦以前借过计算机(大类别)的书,是关于 C语言(小类别)的,现在他又借了美术(大类别)的书,是关于油画(小类别)的,这时系统应该为他建立一个新的初级,即增加多一个初级值单元。书页和一本书借书时间从“借书信息表”中读取,评价文章质量从“评价信息表”中读取。“评价文章质量”需要加强对各种非结构化数据的开采,如对文本数据、视频图像数据、声音数据乃至综合多媒体数据的开采。这一方面是数据挖掘的一个重要研究方向。算法 2 读书评奖级数据表中一个学生的奖星号评出算法描述:0 int i = 0 ;int k = 0;int time = 0 ;1 判断还存在“读书评奖级数据表”的记录和“初
21、级集”中“初级”数目,令 i=0;则转 2;否则转 9;/以下除第 7 是新创建“读书奖级数据_ID” 外,/其它都是在同一个“读书奖级数据_ID” 下操作2 若“读书评奖级数据表”中存在类型与“初级集”中“初级”类型都存在且相同,While(若 i 11) 奖级i = 奖级i+1; ; 则转 3;若“读书评奖级数据表”中存在类型存在,而“初级集”中“初级”类型不存在时,While(若 i 11) 奖级i = 奖级i+1; ; 则转 4;若“读书评奖级数据表”中存在类型不存在,而“初级集”中“初级”类型存在时,则转 7;/“初判断是否同类型的书”举例;3 奖级 12 = 初级值 * 01;转
22、5;/0 1根据借书次数而定(先设定标准) ,借书次数越多值越大;4 奖级 12 = 0 ;65 若 time 奖级的次数(从读书奖级数据表中获得,不包括奖级 n 为-1 的奖级,n 为1,2,11)则转 6;否则转 8;6 奖级 = 奖级 + 奖级i * (01);time+;转 5;/相对是同一类型的书, (0 1 )是根据借书的时间(天)而确定的,最近一月/(奖级 12)借的越接近 1,最远一月(奖级 1)借的越近 0 (先设定标准) ;7 “读书评奖级数据表”创建新的一行记录,令奖星号 = 0 ; 奖级 11 奖级 1 = -1;奖级 12 = 初级.初级值; 奖级 = 奖级 12 *
23、 (0 1) ;8 奖星号 =奖星号 + 奖级/12; 转 1;9 结尾。算法 2 说明:从“读书评奖级数据表”读取“大类别、小类别” ,跟“借书信息表”的“借书号”对比,判断是否同类书。从“借书号”中,可以得出书是那个专业的,如文学、计算机、政治、金融、英语等,而且能判断出是关于那一个方面的书,举个例子,计算机有关于 C 语言、VB、Oracle 数据库、网络等等。算法 3 图书馆管理系统一天要处理学生数据的算法描述:由 ORACLE 触发器自动完成,如下操作:While(一天要处理的学生数) 执行算法 1 处理一个学生一个月借书类型的初级集计算算法执行算法 2 读书评奖级数据表中一个学生的
24、奖星号评出算法每月分时段对所有的读者评一次等级。输入信息:从数据库中的数据读取。操作过程:采用 ORACLE 系统的触发器,对具有读者资源的读者分批进行评定等级。从数据库中读取“借书信息表”的值,计算出初级集i.初级值,同一类书,然后把“读书评奖级数据表”记录的值,奖级 12奖级 1,存放在系统程序定义的一维数据结构的 12 个单元中,利用数值计算与方法,最后计算出奖星级,再写回“读书评奖级数据表”中。(2)交流通信方式群自由交流区。利用校园网络,编写一个读者资源群交流软件(又称在线聊天软件) ,让具有同等水平的读者可以在一起讨论、交流。学校的学生只要登录这个群读者资源交流软件,就能够和同等水
25、平的同学交流关于某一方面共同感兴趣的话题(不同级别的水平一般不提倡在同一等级群) 。打开读者资源交流软件输入信息:读者学号,密码。处理过程:读者资源软件根据数据库中该学生的“读书评奖级数据表”中的“奖星号”,筛选出同一个大类别、小类别的方面可以共同交流的学生,然后从对应的“读书评奖级数据中”中的“学号”和学生信息数据表中的“学号”联合检索出学生的“姓名” 、 “奖星级”等信息 ,显示在群聊的一个等级群中。这样,相同兴趣、相同等级的学生登录读者资源软件,就可以在这个群交流区中交流了。个人交流。图书馆管理系统自动为有同等水平的读者发送 EMAIL,提供一个他们相互认识的机会。还提供讨论的技术支持-
26、在线聊天软件。在同一个兴趣、专业方面,让具有同等水平的学生能够认识,使用网络的便捷性,个人之间可以即时在线交流、讨论。打开读者资源交流软件输入信息:读者学号,密码。处理过程:读者资源软件根据学生的评价等级表中的大类别、小类别和对应的奖星级,7发送 EMAIL 到大类别、小类别相同并且具有同等水平的同学的 EMIAL 中。EMIAL 发送二份,双方都有,EMIAL 中包括:从数据库中“学生信息数据表” 、 “读书评奖级数据表”和“宿舍信息表”联合检索出来的对方的姓名、EMAIL、年级、宿舍等可以联系的信息。二个人同时登录软件时,可以通过在线聊天软件即时讨论学习。4 使用效果本系统的使用效果主要有
27、:(1)学生使用此系统,向有经验的人请教,可以借鉴别人的方法,从而大大节省学生自己看书的时间;(2)让“读者资源”作为知识传承到新手,可以快速帮助新读者掌握方法,避免不必要的过程,从而更快更好的学习;(3)学生彼此之间可以互相交流讨论,发挥他们的主动性,激发学生的再创造精神,以及在网络中,培养学生合作学习、探究学习,从而适应社会的新发展。5 结束语实现数据挖掘的图书馆管理系统,提供了一个学生文化交流的平台,使不相认识的、不同地区而专业、兴趣相同的学生,能够“一起”学习、发表、交流和讨论,从而达到“活跃书本、共同学习、共同进步”的效果。它具有三大资源:图书资源,学生资源,读者资源。总之,改进后具
28、有读者资源的图书馆管理系统,让图书资源中的读者资源,如学生读书的经验、方法、思想等,作为图书的一种有形资源,充分地发挥出来,以此让更多的学生得到更快捷更有效地学习,让图书更好地为人类服务!本图书馆管理系统的数据挖掘体现在如下方面:(1)读者资源一,每一本书都有本身的资源,一本书的好坏,由读者进行评定,即每个读者对它的评价;(2)读者资源二,读者读书的方法,读完书的评价、看法、经验等,以及对新读者的读书建议;(3)读者资源三,将有相同爱好的、水平相等的读者,虽然不在同一地方,但利用现代网络的方便性,聚合在“一起”讨论、交谈、学习,充分发挥读者与读者之间的相互补充性、合作学习性、互相讨论性、共同进
29、步性;(4)对读者资源的评价, “评价文章质量”需要加强对非结构化数据的开采,如对文本数据的开采。这方面是数据挖掘的一个重要研究方向。数据挖掘在图书馆管理系统中存在的不足以及其它:(1)评奖级的可靠性和稳定性。根据各个关联影响因素,找出更有稳定性的算法来评奖等级;(2)不同学校的读者资源如何能够共享;(3)随着时间的增长,读者资源数据量将会很大,必须先做好存储规划和管理计划。参考文献:1 刘晓庆.浅析数据挖掘的研究现状及其应用J.数据库与信息管理,2006,3044-(2006):23-242 买继文.论数据挖掘技术在高校图书馆的应用J.高等函授学报,2007,12(10):48-49,583 马春梅,王文发.新时期高校图书馆管理系统的设计探讨J.教育与职业,2006,8(32):191-1924戚敏.高校图书馆借阅数据的关联规则挖掘研究J.广西工学院学报,2007,3(4):77-80,905 Dorian Pyle.Business Modeling and Data MiningM.Elsevier Science,2005.6