高校图书馆图书推荐技术的研究
2017-04-25晋月培
晋月培
摘要:该文介绍了三种高校图书馆广泛采用的图书推荐技术:基于内容的推荐技术、基于协同过滤的推荐技术和基于关联规则的推荐技术,详细说明了此三项技术的基本原理及步骤,并进行了优劣势分析。
关键词:图书推荐;基于内容;协同过滤;关联规则
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2017)02-0005-03
近年来,随着图书馆信息化、数字化建设的不断发展,馆际资源共享和优秀数据库的引入分流了部分纸质图书的读者。与此同时,随着电子技术的高速发展,电子书阅读器类应用软件普遍地出现在诸如平板电脑、智能手机等移动终端设备上。凭借操作简单、便于携带、书籍种类丰富等特点,该类应用软件已获得大量用户群。读者们的阅读模式正在发生改变,电子资源对纸质书籍产生着强烈的冲击。
传统的图书查找方式是:读者以关键词进行检索,再从检索结果中筛选感兴趣的书目,或是面对同一领域的大量纸质书籍,逐一筛选感兴趣的书目,但随着图书馆馆藏纸质书籍数量与日俱增,传统图书查找方式的时间消耗也在不断增长,增大了读者查找图书的难度。虽然图书馆在“新书推荐”、“月借阅排行榜”等中为读者提供了图书推荐服务,但所采用的图书推荐方式大多是将特定书目笼统地推荐给所有用户,传统的图书推荐方式对不同读者的针对性较差,个性化图书推荐技术应运而生。
个性化图书推荐技术,通过对图书馆存储的图书流通历史数据进行挖掘和分析,猜测读者喜好和需求、预测读者行为[1],从而有针对性地将不同图书推荐给不同读者,弥补了传统图书推荐方式的不足。
个性化图书推荐技术主要包括基于内容的推荐技术、基于协同过滤的推荐技术和基于关联规则的推荐技术等[2]。
1基于内容的推荐技术
基于内容的推荐技术(Content-based recommendations,简称CB)最早被应用于信息检索和过滤领域[3],其基本原理是:为读者推荐与其借阅历史中书目相似的书目,其基本假设是:“若某读者借阅过某图书,则该读者对与该图书相似的其他图书感兴趣。”
实现基于内容的推荐技术一般包括以下三个步骤[4]:
1)特征抽取
为每本图书抽取出若干特征,用该特征信息来描述图书。抽取的特征包括结构化特征和非结构化特征。结构化特征如书名、作者等,意义明确,可直接使用;非结构化特征,如图书中的具体内容等,意义不明确,不能直接使用,需要进行处理加工。文本类非机构化特征一般采用特征词向量的描述方法。特征词常用TF-IDF[5]统计方法抽取。词频(Term Frequency,简称TF)表示词对该图书的表征特性,如果该词在当前图书中的出现次数多,在整个图书馆其他图书中出现的次数少,则认为该词对于当前图书的表征较好,适合作为当前图书的类别特征;逆向文件频率(Inverse Document Frequency,简称IDF)即在图书馆所有图书集中出现的逆频,用来表征词语在整个语料库的重要性,该词在馆藏图书中出现的次数越少,则该词在图书中的区分率越高,其重要性也越高。
描述图书,可以利用抽取出的特征为每本图书构建向量空间模型(Vector Space Model,简称 VSM)。
2)特征学习
利用读者过去喜欢(或不喜欢)的图书的特征数据学习读者对图书的喜好特征。
3)推荐生成
比较目标读者喜好特征与候选图书特征,为目标读者推荐最相似的图书。
利用余弦相似度计算目标读者喜好特征与候选图书的相似性,目标读者[u]喜好构成[U]向量,候选图书[b]向量为[B],则二者的余弦相似度[sim(u,b)]计算方法如公式(1)所示,夹角越小,相似度则越高。
[sim(u,b)=cos(U,B)=U×BU*B] (1)
基于内容推荐技术只需考虑目标读者喜好,而不用考虑其他用户喜好,数据源独立。针对新书,也可以很好地进行有针对性的推荐;推荐结果直观,易于解释。不能挖掘读者潜在的喜好点,只是推荐与原有喜好相似的图书,缺乏创新。对于新读者而言,因缺乏其借阅数据将无法向其进行图书推荐。
2基于协同过滤的推荐技术
1992年Goldberg等人为解决资讯过载的问题,在研究型邮件推荐系统Tapestry中提出了协同过滤(Collaborative Filtering,简称CF)[6],基本思想是利用“人群的智慧”对信息进行过滤,其基本假设是:具有相同或相似兴趣喜好的读者的图书需求也是相似的[7]。
实现协同过滤技术通常需要以下3个步骤[8]:
1)收集读者偏好
收集显性读者反馈和隐形读者反馈。所谓显性读者反馈,是指能够明确反馈读者喜好的信息,但需要读者付出额外的代价,例如读者对图书的评分、评论等。所谓隐性的读者反馈,是指通过对读者行为进行分析和处理获得读者喜好,不需要读者付出额外的代价,是读者在使用网站时产生的数据,例如读者浏览了某本书、借阅了某本书等。与显性读者反馈相比隐形读者反馈精确度较低。
将收集的读者偏好进行数据处理,转化成读者偏好的二维矩阵。给定一个读者列[U={u1,u2…un|n≥1}]和一个书目列表[B={b1,b2…bm|m≥1}],则偏好矩阵中的任意元素[puxby(ux∈U,by∈B)]表示讀者[ux]对图书[by]的偏好程度。
2)找到相似的读者或图书
利用读者偏好的二维矩阵将所有读者对一本图书的喜好作为一个向量,计算图书与图书之间的相似度,找到相似的图书。将一个读者对所有图书的喜好作为一个向量,计算读者与读者之间的相似度,找到相似的读者。
欧氏距离(euclidean metric)、皮尔森相关系数(Pearson correlation coefficient)等是常用的相似度计算方法。
3)计算推荐
目前,推荐算法分为基于项目的协同过滤算法和基于用户的协同过滤算法两种。
基于用户的协同过滤算法,通过不同读者对图书的喜好来评测读者之间的相似性,基于读者之间的相似性做出推荐。将兴趣偏好相同的读者构成邻居集,将相似邻居喜欢的图书推荐给读者。根据读者A的喜好记录,计算A与其他读者喜好的相似度,找到兴趣偏好相同的读者B,将B的喜好不同于A的喜好推荐给A。
基于项目的协同过滤算法通过读者对不同图书的喜好来评测图书之间的相似性,基于图书之间的相似性做出推荐。算法认为大部分读者都会偏爱与自己之前喜欢过的图书类似的图书。
协同过滤技术可以有效地利用其他读者的数据,挖掘目标读者的潜在兴趣,但却存在数据稀疏问题。在实际系统中,因读者对图书的评价信息较少,读者偏好的二维矩阵存在着大量的空值,在计算相似读者、相似图书时会产生偏差。针对新读者、新图书,因首次出现时无相关信息,系统将无法进行推荐。
3基于关联规则的推荐技术
关联规则是根据所有读者浏览或是借阅的记录来生成满足一定条件的规则,通过规则向目标读者推荐图书。啤酒与尿不湿[9]看似无关,却紧密相连,在图书馆中,一定也有如同啤酒与尿不湿一样,令人感兴趣的组合存在。
定义:[I={i1,i2…io}]是由[o]个所有项组成的集合,由[I]中各异的元素构成的集合称之为项集,[K]个项组成的集合称之为[K-]项集。
定义:[D={b1,b2…bn}]是由[n]个项集组成的集合;其中[bk(bk∈D,1≤k≤n)]由若干个[ il(il∈I,1≤l≤o)]组成。
[bk]发生的次数称之为[bk]支持度计数,记为[Support_count(bk)];[bk]在[D]中的个数与总个数[n]的比称之为[bk]支持度,记为[Support(bk)],如公式(2)。
[Support(bk)=Support_count(bk)n] (2)
当[Support(dk)≥minSupport]时,称[bk]为频繁项集,其中[minSupport]表示最小支持度。
关联规则是形如[X?Y]的表达式,其中[X]是前件,[Y]是后件,且[X]和[Y]均为频繁项集。[D]中同时包含[X]和[Y]的个数[Support_count(X?Y)]与总个数[n]的比为[X?Y]的支持度,记作[Support(X?Y)],如公式(3)。
[Support(X?Y)=Support_count(X?Y)n] (3)
[Y]在包含[X]的事务中出现的频率为[X?Y]的置信度,记作[Confidence(X?Y)],如公式(4)。
[Confidence(X?Y)=P(Y|X)=Support_count(X?Y)Support_count(X)] (4)
关联规则挖掘的目的是发现所有满足最小支持度[(minSupport)]和最小置信度[(minConfidence)]的规则。
设定最小支持度为0.4,最小置信度为0.6,则有:
[Support]({《政府论》、《法律英语》}[?]{《法理学》})=2/5=0.4;
[Confident]({《政府论》、《法律英语》}[?]{《法理学》})=2/3=0.67。
则有规则{《政府论》、《法律英语》}[?]{《法理学》}。
基于关联规则的推荐技术对数据源要求比较简单,读者借阅记录即可,能发现读者潜在的喜好,挖掘不同类别的图书。关联规则挖掘随置信度增加,挖掘的规则数量减少,挖掘质量提高。规则挖掘存在置信度越低、规则挖掘时间越长、系统消耗越大和挖掘的规则不能动态更新的问题。
4高校图书馆图书推荐现状
目前,已有推荐技术为我国部分高校的图书馆提供图书推荐服务。清华大学图书馆设置有“相似馆藏”栏目为读者进行图书推荐;北京大学图书馆、中国人民大学图书馆提供了“该作者其他作品”、“本主题的其他作品”、“书架上临近的馆藏”等图书推荐模块;南开大学图书馆、中国政法大学图书馆也提供了“您可能感兴趣去的图书”、“图书借阅关系图”、“同名作者的其他著作”等类似服务。
虽然已有推荐技术应用于高校图书馆,但是因高校图书馆读者群层次清晰,知识专业化明显,馆藏图书也可明显的分为专业图书和非专业图书,所以针对高校图书馆图书推荐的研究仍是当下的研究热点。
陈永光[10]使用混合推荐策略,针对新读者调用基于内容的推荐算法,将《中图法》与读者专业信息相结合,确定读者喜好,当读者添加了借阅记录之后,则调用基于协同过滤的推荐算法,解决了新读者无借阅数据无法进行推荐的问题。张红燕[11]挖掘读者属性如:学院、年级、专业等与图书类别之间的关联规则,将新书有荐给可能会喜好的读者,解决了之前新书不能有针对性进行推荐的问题。刘显显[12]利用《中图法》索引计算图书之间的相似度,结合聚类算法对读者进行有效的群分类,针对于具有不同兴趣偏好、阅读习惯的读者群的关联规则分析。张瑶[13]提出了利用部分不同学院的借阅记录代替全部借阅数据,为用户推荐图书的思想,在减少实验数据、降低实验复杂度的同时提高实验效果。
昆明理工大学[14]增設阈值,当读者的相似度大于阈值,则认为读者相似,为邻居用户,构建邻居集,并通过修改阈值,控制邻居集的大小;同时针对目标读者的所有推荐图书进行权重计算,按权重由大到小的排序进行推荐。江苏金智教育信息技术有限公司[15]在协同过滤技术的基础上,修改邻居集的获取方式:选取与目标读者专业相同,入学年份相同或早于一年,且学习成绩平均分不超过阈值的学生作为第一相邻学生集;选取与目标读者当前学期选修相同非专业选修课程或最近借阅相同图书的学生作为第二相邻学生集,合并第一、第二相邻学生集,构成最终邻居集。
5结论
本文介绍了三种高校图书馆广泛采用的图书推荐技术,分别是:基于内容的推荐技术、基于协同过滤的推荐技术和基于关联规则的推荐技术,详细说明了此三项技术的基本原理,并進行了优劣势分析。虽然推荐技术不断优化更新,但仍存在不足之处,利用高校图书馆海量数据,有针对性的向读者推荐可能感兴趣的图书,依旧是图书推荐的研究热点。
参考文献:
[1] 丁雪. 基于数据挖掘的图书智能推荐系统研究[J]. 情报理论与实践, 2010,5(5):107-110.
[2] 刘书芬. 近十年高校图书馆图书推荐研究综述[J]. 韶关学院学报, 2013,(7):201-205.
[3] Mobasher B,Cooley R,Srivastava J.Automatic personalization based on web usage mining[J].Communications of the ACM,2000,43(8):142-151.
[4] http://www.cnblogs.com/breezedeus/archive/2012/04/10/2440488.html
[5] Salton G.Automatic text processing: The transformation, analysis, and retrieval of[J].Reading: Addison-Wesley,1989.
[6] Goldberg D, Nichols D, Oki B M, et al. Using Collaborative Filtering to Weave an Information Tapestry.[C]// Communications of the ACM. 1992:61-70.
[7] 刘青文. 基于协同过滤的推荐算法研究[D]. 中国科学技术大学, 2013.
[8] http://www.ibm.com/developerworks/cn/web/1103_zhaoct_recommstudy2/index.html
[9] http://www.baike.com/wiki/%E5%85%B3%E8%81%94%E8%A7%84%E5%88%99
[10] 陈永光. 基于OPAC的高校图书馆个性化图书推荐算法研究[D]. 南京理工大学, 2013.
[11] 张红燕. 高校图书馆新书推荐系统的研究与实现[D]. 浙江工业大学, 2012.
[12] 刘显显. 基于数据挖掘的高校图书馆个性化信息推荐方法研究[D]. 辽宁大学, 2013.
[13] 张瑶. 面向高校图书馆的推荐系统研究与实现[D]. 华侨大学, 2013.
[14] 昆明理工大学.一种根据图书馆用户习惯的实时图书推荐方法:中国, CN201510366734.6 [P]. 2015-10-21.
[15] 江苏金智教育信息技术有限公司.一种校园图书的个性化推荐方法:中国, CN201410212505.4[P].2014-05-19