一种基于混合推荐模式的图书推荐系统

时间:2022-08-26 01:25:36

一种基于混合推荐模式的图书推荐系统

摘 要:针对传统图书馆信息服务方式的不足,本文提出了一种基于混合推荐模式的图书推荐系统,即结合了基于内容的推荐,基于关联规则的推荐和基于协同过滤的推荐方法来产生推荐结果。本文详细阐述系统设计方案和这种混合推荐模式的实施方案,最后对系统的运行情况进行了总结,并提出了将来的研究方向。

关键词:推荐系统;基于内容的推荐;关联规则推荐;协同过滤推荐;混合推荐

中图分类号:TP319

在传统的图书馆服务中,用户主要通过搜索来获取所需信息,这是一种被动的服务方式,只能满足用户的基本需求。和搜索相比,推荐系统能够通过研究用户的历史行为,发现用户的兴趣偏好,据此主动为用户提供推荐服务,不但可以使用户获得满意的结果,还能引导用户发现自己潜在的信息需求。将推荐技术应用于图书馆系统,是图书馆实现信息服务的有效手段,可以提高图书馆的服务质量和图书资源的利用率。本文提出了一种基于混合推荐模式的图书推荐系统,结合了基于内容的推荐,基于关联规则的推荐和基于协同过滤的推荐方法来产生推荐结果。

1 系统设计

1.1 系统的体系结构

本文提出的基于混合推荐模式的图书推荐系统的体系结构如下图所示:

图1 图书推荐系统的体系结构

该体系结构把系统主要分成4个模块:

(1)数据库模块:存储和管理用户和图书的基本信息数据。

(2)数据处理模块:对数据进行预处理和特征提取,分别建立3个特征库。根据用户对图书的借阅信息,建立用户借阅特征库;根据用户/图书的描述信息,建立用户/图书特征库;根据用户对图书的评分信息,建立用户评分特征库。

(3)推荐模块:采用了基于关联推荐,内容推荐和协同过滤推荐的混合推荐模式来产生推荐书目列表。

(4)用户接口模块:获取用户与系统的交互信息,并将推荐书目结果展现给用户。

1.2 推荐模式设计

推荐算法是一个推荐系统中最核心和关键的部分,很大程度上决定了推荐系统类型和性能的优劣[1]。由于各种推荐算法都有各自的优缺点,为了改善推荐质量,本文采用了一种混合推荐模式,结合了基于内容的推荐,基于关联规则的推荐和基于协同过滤的推荐方法来产生推荐结果。

1.2.1 基于内容的推荐

在系统运行初期,只有用户和图书的基本信息数据,没有用户的行为数据。基于内容的推荐方法,利用用户的特征信息,如教师用户所属教研室信息,学生用户的专业信息,图书的类别,主题,书名等信息来建立用户/图书特征库,通过简单的匹配来产生推荐书目。这一方法可以为新用户推荐图书,新入馆的图书也可以获得均等的推荐机会。但是,这种方法产生的推荐结果非常粗糙,不能准确反应用户的兴趣。本系统运行初期,主要利用这种方法来引导用户行为,后期则只是作为补充。

1.2.2 基于关联规则的推荐

在系统运行期间,当用户利用系统借阅图书时,就已经在系统产生用户行为数据。对用户借阅图书的信息进行分析,可以发现两类关联规则:相关图书和相关用户。以发现相关图书规则为例进行说明。假定表1是用户借阅图书的事务记录。

表1 用户借阅图书事务记录

读者证号 借阅图书记录

0001 Android程序设计,Java程序设计,Java EE 6权威指南

0002 Android程序设计,JavaScript程序设计

0003 JavaScript程序设计,IT项目管理

0004 Android程序设计,Java程序设计,JavaScript程序设计

0005 Android程序设计,Java程序设计,JSP程序设计,JavaScript程序设计,Java EE 6权威指南

0006 Java程序设计,JSP程序设计,Java EE 6权威指南

0007 Java程序设计,Java EE 6权威指南,JSP程序设计,

给定最小支持度minsup=30%和最小置信度minconf=80%,则下面这条关联规则是符合要求的(sup是支持度,conf是置信度):

《Java程序设计》,《JSP程序设计》《Java EE 6权威指南》

根据上述规则,就可以给以后借阅过《Java程序设计》和《JSP程序设计》的用户推荐《Java EE 6权威指南》这本书。

本系统运行中,当数据量比较小的时候,基于关联规则的推荐还是可以产生比较准确的推荐结果。但是,当数据规模扩大的时候,由于规则的产生比较繁琐,所以对推荐性能的影响较大。而且,在这个过程有可能产生冗余规则,出现重复推荐的情况。

1.2.3 基于协同过滤的推荐

协同过滤根据用户对项目的评分来产生推荐,是目前在推荐系统中应用最成功和广泛的推荐技术[2]。根据推荐产生过程的不同,通常可以将协同过滤算法分为基于内存的算法和基于模型的算法。基于内存的协同过滤的推荐算法是直接将整个用户-项目评分矩阵加载到系统内存,基于相似的用户或项目来产生推荐结果。根据相似性计算的对象的不同,又可以分为基于用户的算法和基于项目的算法。本系统主要采用了基于用户的协同过滤算法来产生推荐结果。根据算法的基本原理,可以把算法的实施分为四个阶段:(1)用户相似性计算;(2)选择近邻;(3)预测评分;(4)推荐。基于协同过滤的推荐算法,实施简单有效,可以发现用户潜在的但自己尚未觉察的兴趣偏好。但是,当用户的评分数据较少时,这一方法无法产生推荐结果。当系统的数据规模不断扩大之后,推荐的效率又会受到影响。由于本系统的数据规模不大,基于协同过滤的推荐方法是系统运行中后期的主要推荐技术。

1.2.4 混合推荐模式

本文采用的混合推荐模式,主要是对上述三种方法推荐结果的加权组合。假定N1为基于内容的推荐结果,N2为基于关联规则的推荐结果,N3为基于协同过滤的推荐结果,则最终的推荐结果计算如下:

N=a*N1+b*N2+c*N3,其中参数a+b+c=1 (1)

在系统运行初期,主要采用基因内容的推荐,即a=1,b=c=0。当用户的借阅记录和评分记录大于2的时候,开始启动基于关联规则的推荐和基于协同过滤的推荐。通过对参数的调试,发现当参数a和b取值较小,特别是c取值超过50%的时候,推荐的结果相对比较准确。这说明基于协同过滤的推荐结果更加符合用户的需求,而另外两种方法可以作为补充。

2 总结和展望

本文提出了一种基于混合推荐模式的协同过滤图书推荐系统,可以主动为用户提供图书推荐服务。从系统实际运行效果来看,这种模式可以弥补各种推荐方法的不足,为用户产生比较准确的推荐结果。但是,随着系统数据规模的不断扩大,系统实时推荐效率有所下降。为了解决这个问题,还需要考虑引入其他推荐方法,比如基于模型的协同过滤算法。此外,在混合推荐模式中,本文只采用了最简单的加权组合方法。如何有效组合这些推荐方法,提高推荐精度,也是值得研究的方向。

参考文献:

[1]许海玲,吴潇,李晓东.互联网推荐系统比较研究[J].软件学报,2009(02):350-362.

[2]Adomavicius G and Tuzhilin A.Towards the next generation of recommender systems:A survey of the state-of-the-art and possible extensions[J].IEEE Transactions on Knowledge and Data Engineering,2005(06):734749.

作者单位:广东东软学院,广东佛山 528225

上一篇:浅谈网络化管理对司法考试的推动作用 下一篇:浅谈教学媒体在中职计算机教学中的应用