基于SOA的图书馆个性化信息推荐系统研究

2015-09-21 11:00章增安褚芸芸辽宁师范大学图书馆计算机与信息技术学院辽宁大连116081
图书馆理论与实践 2015年10期
关键词:个性化协同图书馆

●章增安,褚芸芸(辽宁师范大学.图书馆;.计算机与信息技术学院,辽宁大连116081)

基于SOA的图书馆个性化信息推荐系统研究

●章增安a,褚芸芸b(辽宁师范大学a.图书馆;b.计算机与信息技术学院,辽宁大连116081)

个性化信息推荐;协同过滤; SOA

为了克服图书馆信息推送服务异构资源整合度不高,推送信息形式单一等不足,提出了一种基于SOA的个性化信息推荐服务模型.该模型充分考虑了信息资源的异构性和读者的兴趣特点,以开展深层次个性化信息推荐服务为目标、基于用户的协同过滤推荐为算法.通过分析读者、图书、资源访问日志、借阅记录等信息抽取出推荐信息,在.NET环境中采用Web Service封装发布,统一集成到SOA为基础架构实现的门户系统中,构建出图书馆个性化信息推荐服务系统,为整合分布推荐信息、提高推荐质量提供了一条途径.

数字图书馆信息资源的迅速增长给读者精确选择所需资源带来了困难,如何解决信息的海量规模与信息需求准确性、精确性之间的矛盾成为信息检索与推送服务中亟需解决的难题.一种行之有效的解决方法便是依托数字图书馆信息门户,根据读者访问资源的特点开展个性化信息推荐服务.个性化推荐系统在图书馆领域已经得到了广泛的研究和应用,但在实际应用中还存在诸多问题.(1)资源数量增长迅速.资源的质量和水平参差不齐,读者往往无法辨别资源的优劣,导致资源的利用水平并不理想.(2)资源种类多样性.除了传统的馆藏纸本资源外还有大量的电子资源,给资源的检索和归类带来了不便.(3)资源存储的异构性.订购或自建的数据库都自成体系,存储在不同的应用系统中,虽然有"一站式"检索工具或发现系统提供检索,但很难根据用户偏好实现跨系统的个性化推荐.如果能获得读者使用资源的潜在兴趣,采用推荐系统将资源推荐给相关读者,将极大地改善资源利用效率.因此,基于SOA架构,结合用户的协同过滤算法构建图书馆个性化信息推送系统.系统整合了图书馆各种异构的资源信息,为用户提供了与个人兴趣相符的推荐信息集合,丰富了用户对偏好信息的获取途径.

1 个性化推荐系统在图书馆的应用分析

1.1个性化推荐系统在图书馆的应用

个性化推荐系统以往的研究重点集中在用户建模、推荐算法和系统集成等方面.用户建模研究主要是分析借阅历史记录或资源访问日志等信息获取读者偏好,实现对相似读者群的分类.推荐算法方面研究较多的有基于内容推荐算法、协同过滤推荐算法以及组合推荐算法[1]等.基于内容推荐算法推荐结果直观、容易解释,但是难以帮助读者发现新的感兴趣资源;协同过滤推荐算法正好解决难以发现新的兴趣点问题,体现出针对性强、个性化程度高等优点,但存在冷启动、稀疏性和可扩展性问题.在系统集成方面,OpenAPI、App、Mashup、Agent、SOA技术在个性化推荐系统中得到了一定程度的应用,使得图书馆门户成为展示图书馆用户与资源、用户之间及用户群之间关系的开放平台,有效整合了图书馆、数据厂商和互联网上的文献资源,集成了图书馆各个系统的服务功能.[2]

1.2个性化推荐系统的实现技术

(1)基于用户的协同过滤算法.推荐方法是个性化信息推荐系统中关键核心部分,决定着推荐系统性能的优劣.基于用户的协同过滤是将对同一项目评分相似的用户认为是一类,根据用户的最近邻居,对用户进行聚类、过滤分析.[3]其基本思想是将兴趣爱好相似、拥有相同经验群体的偏好作为推荐内容.协同过滤算法的实现分为构建用户---项目矩阵,寻找最近邻居,计算推荐数据三个步骤.①构建用户---项目矩阵.统计、整理用户的个人偏好信息,在相应处理后,根据不同用户行为得到用户偏好矩阵.②寻找最近邻居.得到用户偏好矩阵后,根据用户对项目的评分计算得到用户间的相似度,再根据相似度找到用户最近邻居,用户间相似性的度量方法主要采用修正余弦相似性函数.③计算推荐数据.基于用户对任意项的偏爱度,设目标用户u的最近邻居集合为Nu,则计算用户对项目j的预测评分Puj.公式如下.[4]

其中,Ru和Rn分别为用户u和用户n对项目j的平均评分,Rn,j为用户n对项目j的评分,sim(u,n)为用户u与n之间的相似性.

(2)SOA.面向服务的架构(Service Oriented Architecture,SOA)是分布式软件系统构造方法和环境的新发展阶段.[5]SOA的重点是把服务从复杂的环境中独立出来并加以封装,然后以标准的接口供其他用户调用.SOA技术应用到图书馆门户系统中,可以很好地集成图书馆各种异构资源库,尤其是自建资源库、图书馆自动化系统等,这些系统的无缝结合将使门户系统统计的读者使用资源记录更为科学、精确.

2 基于SOA的图书馆个性化信息推荐服务模型的设计

2.1体系结构设计

从结构上分为四层,即表示层、服务管理层、服务封装层及服务数据层.(1)表示层.负责与读者交互,读者完成身份认证后可获得系统提供的个性化推荐服务.(2)服务管理层.将不同的服务接口组合成一个服务组合供门户系统调用,读者通过统一的门户来调用服务组合以实现具体的业务功能.(3)服务封装层.实现对推荐数据的服务封装,主要由一系列Web服务接口构成,这些接口使用XML进行规范的加工、组织、描述.(4)服务数据层.服务数据层主要完成对不同数据库的查询、存储、修改等操作.主要由分散异构的OPAC数据、自建资源库数据以及门户系统统计的各种网络数据库的访问记录数据组成.

2.2基于SOA架构的图书馆个性化信息推荐服务模型

结合基于用户的协同过滤推荐算法,本文设计了基于SOA的图书馆个性化推荐系统,如图1所示,系统主要包括基础数据采集、推荐系统基础数据集、基于用户的协同过滤处理、Web Service接口封装、推荐结果通知等模块.

读者个人资料、馆藏书目信息、OPAC借阅记录、电子资源数据库信息、电子资源访问记录等异构数据通过推荐系统基础数据采集后经标准化处理后形成推荐系统基础数据集,然后使用协同过滤推荐算法处理后形成最终的推荐数据集.根据用户偏好将推荐数据集封装成Web Service接口,最后由门户网站集成到个人空间推荐模块,或者通过订阅邮件、RSS等方式推荐给读者.

图 基于SOA的图书馆个性化推荐系统

3 基于SOA架构的信息推荐服务系统的实现

本推荐系统在.NET平台上采用ASP.NET和XML技术设计和实现.

3.1基于用户的协同过滤处理

推荐信息主要分为图书信息和电子资源信息,系统所使用的推荐算法依照前文所述的推荐算法流程执行.(1)图书推荐模块.首先根据图书自动化系统抽取出读者的借阅信息,将其映射到各个项目的属性值上,生成读者的属性值偏好矩阵,然后计算属性值偏好矩阵的相似度,从而得到目标读者的最近邻集合,并依据最近邻读者的借阅记录实现图书推荐. (2)资源推荐模块.资源推荐模块的推荐信息来源于两部分.一部分为读者长期使用的资源,这部分资源的推荐处理方式与图书推荐模块一致;另一部分为最新购买或试用的资源,这部分资源的处理方法是先生成读者的属性值偏好矩阵,根据新资源的属性值与读者的属性值偏好矩阵进行匹配,找出相似度最高的读者作为被推荐对象.

3.2Web Service的封装

推荐信息的封装通过Web Service实现,GetBook方法封装了推荐的图书信息,GetResource方法封装了要推荐的电子资源信息.门户系统统一调用这些封装的Web Service接口反馈给读者,推荐结果可以通过多种途径推送给读者.如读者登录门户系统后在相应的推荐模块推荐信息或者通过读者的Email信息推送.

[1]I En Liao,et al.A library recommender system based on a personal ontology model and collaborative filtering technique for English collections[J].The Electronic Library,2010,28(3):386-400.

[2]翟晓娟,聂娜.满足用户个体需求的图书馆开放平台设计---基于OpenAPI、App、Mashup、SOA的集成实践应用[J].大学图书馆学报,2011,29 (6):26-33.

[3]李爱明,刘冰.个性化信息检索系统的用户模型研究[J].情报杂志,2007,26(3):121-126.

[4]颜丰,张琳.一种混合模式的协同过滤算法[J].现代计算机(普及版),2014(5):20-25.

[5]毛新生.SOA原理.方法.实践[M].北京:电子工业出版社,2007:3-4.

G254.929.1

B

1005-8214(2015)10-0105-02

章增安(1978-),男,汉族,硕士,辽宁师范大学图书馆馆员,研究方向:数字图书馆;褚芸芸(1979-),女,汉族,硕士,辽宁师范大学计算机与信息技术学院讲师,研究方向:远程教育.

2014-12-22[责任编辑]张雅妮

猜你喜欢
个性化协同图书馆
家校社协同育人 共赢美好未来
蜀道难:车与路的协同进化
坚持个性化的写作
“四化”协同才有出路
图书馆
上汽大通:C2B个性化定制未来
三医联动 协同创新
同桌宝贝
满足群众的个性化需求
去图书馆