APP下载

可提高多样性的基于重排序图书推荐算法研究

2018-01-02钟足峰

现代情报 2017年12期
关键词:协同过滤推荐系统多样性

钟足峰

〔摘 要〕通过提供个性化推荐,推荐系统的重要性越来越受到读者的重视。现有推荐算法着重关注推荐的准确度,将读者引导到少数热点图书上,导致产生较多长尾图书的问题;并且读者的兴趣过于集中,不利于挖掘读者潜在的兴趣点。提出一种重排序的基于用户协同过滤算法,该算法通过对推荐列表TOP-N进行重排序来产生推荐列表。实验结果表明,该算法可以在一定精确度损失的条件下,大幅提高最终推荐列表的多样性有利于读者接触更多的未知领域及长尾图书的销售。

〔关键词〕推荐系统;协同过滤;多样性;长尾图书

DOI:10.3969/j.issn.1008-0821.2017.12.010

〔中图分类号〕G252.1 〔文献标识码〕A 〔文章编号〕1008-0821(2017)12-0059-05

〔Abstract〕The importance of Recommender systems is becoming more and more to readers by providing personalized recommendations.The existing recommendation algorithms that focus on recommendation accuracy will misguide readers to a few hot books,thus creating many long-tail books.As a result,the excessive concentration of reader interest is unfavorable for excavation of potential points of interest.The paper proposed a reranking user-based collaborative filtering algorithm,which generated a new recommendation list via reranking of TOP-N on the original list.The experimental results showed that this algorithm could greatly improve the diversity of the final recommendation list at the sacrifice of certain accuracy.This algorithm helped readers to know more previously unknown fields as well as the borrowing of long-tail books.

〔Key words〕recommender system;collaborative filtering;diversity;long-tail book

隨着高校的不断发展和学生数量的扩大,图书馆中馆藏图书数量以几何倍数增长。高校图书馆面临着数万读者与上百万的图书资源之间如何进行匹配的问题:即在如何发挥图书的最大功效的同时,能针对读者的个性化需求提供图书推荐服务。推荐系统实质是一种能进行信息过滤的系统。其能根据用户特征模型通过智能推荐策略实现个性化信息推荐和定制[1]。近年来,越来越多的推荐系统帮助人们从候选集合中找出最优资源,在不同的领域如音乐[ 2-3],电影[4-5],旅行[ 6-7],电子商务[ 8-9 ]、在线学习[10]、社交网络[11]和图书[12-13]等领域发挥着作用。

推荐系统的目的是为用户推荐合适的项目值,大多数推荐算法的主要目的是提高推荐的准确度。但在实际应用中,用户对准确率高的推荐系统不一定满意。因为推荐系统不仅需要通过高准确率来满足用户,更重要的是能发掘出用户潜在的最大需求效能。例如,系统推荐了热门经典图书给读者,使得准确度非常高,但是这些图书信息读者可以从其他途径轻易得到,因此读者不会认为这样的系统是有价值的。

由于现有图书推荐算法过度关注推荐的准确度,而很少考虑到推荐的多样性。将存在以下问题:①对图书而言,在现有的各种推荐算法中,由于各种热门经典书记被读者借阅和评论的越多,则将被排在推荐列表的首位,将更容易被读者借阅和评论,即广大读者的兴趣被集中引导到同类中的热门图书上去。形成马太效应,即热门书籍越来越热,而其他非热门的书籍将无人问津,形成长尾书籍。②对图书馆而言,推荐的书籍为经典或热门书籍,也受到大多数读者的喜欢,因此将导致推荐结果同质化严重的现象,很难推荐出读者潜在喜欢的书籍,也就是说,推荐系统提供的实质是热门及经典图书的排名推荐,而并没有做到推荐的个性化。③对读者而言,尤其是高校的学生来说,由于信息的不对称及认知的局限,开始并不知道对哪一方面的知识感兴趣,只有多接触不同种类不同学科的知识,才能真正发掘出自己的爱好和特长。因此为了充分推荐给读者潜在喜欢的书籍,对推荐结果质量的评估,不仅从推荐书籍准确度评估,更需要对推荐书籍的多样性进行评估。这样不仅能更好的挖掘读者潜在的喜好,也能增加长尾书籍的借阅量,为高校图书馆的书籍发挥更大效益。

一般而言,系统推荐长尾图书会使得系统的准确度降低,但这时读者反而容易发现一些新颖的,未接触过的图书。本文在基于用户的协同算法的基础上,利用重排名算法尽量选择读者具有潜在感兴趣的图书形成推荐列表,使生成的推荐列表具有更强的多样性。

1 相关研究回顾

1.1 协同推荐算法

协同过滤是通过分析使用者的历史评分记录,计算与其他使用者的评分的相似度,来挖掘出使用者潜在喜好的项目。协同过滤推荐算法可分为基于用户协同过滤算法、基于项目协同过滤算法与混合型协同过滤算法三类。以用户为基础协同过滤算法的概念是根据评价矩阵计算用户之间的相邻程度,取邻近用户喜好项目做出推荐。即假设两用户之间有越多的项目评价相似,则喜好的项目也相似[14]。随着使用者数量的增加,邻近用户的计算机将成线性加大,其性能会越来越差。反应速度将越来越慢,而在互联网上,系统响应速度是影响使用者体验的重要因素。以项目为基础的协同过滤算法则根据评价矩阵计算推荐项目之间的相邻程度,选取用户以往喜好项目的邻近项目做出推荐。即系统假设用户喜好的项目类似,因此系统可以找出与查询项目相似度高的项目进行推荐。同样随项目数量增加,计算量将成线性加大,其性能会越来越差[15]。但由于相似项目集合不易受时间变化影响,可以在离线状态先完成相似项目集合计算,因此可在数据量大的情况下做出快速推荐。其缺点是如果用户从未曾对相似项目评过分,则无法采用此方法。而混合型协同过滤算法是集合以上两种算法优点的算法,将两种算法进行互补[16]。endprint

1.2 推荐系统的评价指标

准確性指标:推荐的准确度是评价推荐质量的最重要指标之一。推荐系统中的一个基本假设是用户喜好能带来精确推荐项目的系统。因此准确度被绝大多数推荐系统用来评估推荐结果的质量。平均绝对误差(MAE)是度量准确度的一个经典方法,其通过度量用户的过往实际打分与系统的预测打分的平均绝对误差值来进行计算[17]。其计算公式如公式(1)所示;

该方法使用按项目流行度排序的启发式重排名方法,rankItemPop(i)为推荐系统中项目的流行度指标,将候选项目按流行度(根据每个项目的历史评分数计算)从低到高进行排序。然后将该排名分两类处理[20]:1)当项目的评分大于阀值TR时,使用rankx(i)重新计算项目排名;2)当评分小于TR时,使用原有标准排名方法计算物品排名。其中Tmax为最大评分值,TH为判定物品是否与用户相关的阀值。au随着TR的变化而动态变化,au的主要作用是确保评分在[TR,Tmax]内的项目的排名比在[TH,TR]内优先。而当TR与Tmax靠近时,评分高的物品将被推荐,则造成推荐系统的准确度越大;TR与TH靠近时,则使用rankx(i)进行重排名,则造成推荐系统多样性增加而准确性降低。因此,TR具有调节推荐系统结果的准确度与多样性的作用。

2 基于中心值距离重排序算法(Center distance-Based Ranking)

从以上算法可以看出,基于商品流行度重排序算法可以提高长尾商品的覆盖率,然而没有充分考虑到用户个性化的潜在爱好,即没有考虑到个体多样性的扩展。例如:如果读者对某热门书籍评价较高,则按该算法推荐的为该热门书籍所属类的长尾商品,即将读者引向了先前感兴趣的领域。而读者更关注的可能是不同类的书籍,即未知的领域。如图1所示:以上算法导致用户的选项趋向于图中箭头1的方向,即引导到B区域的产品,而最优的推荐应该是箭头2的方向,即将用户的选择引导到D区域。基于存在的问题,本文提出了一种新的TOP-N重排名推荐方法,兼顾群体多样性和个体多样性。思路如下:尽可能将读者的选择引导到新的领域的项目,并且这些项目尽可能是长尾的书籍,因此通过计算读者已经借阅书籍的中心值,推荐距离该中心值远的书籍,距离中心值越远的说明不仅对读者来说是新的领域的项目,而且对整个所有书籍项目集来说也是长尾的书籍。步骤如下:首先通过基于读者的协同推荐算法得出前N个排在前面的书籍项目,然后计算读者已经借阅的项目集的中心值。设置阈值,将大于阈值的M个项目按照距离中心值的由远至近进行排序,另外小于阈值的N-M个项目按照标准的推荐算法进行排序,合并这N个项目为候选项目进行推荐。

其中i*表示某个大于阈值需要进行重排序的书籍,R1(u,i*)为所有读者对其评分的均值,i1表示该读者已经借阅(或评分)的项目,R0(u,i1)为所有读者对已评分书籍集评分的均值,即中心值。阈值初始值TR=,为所有读者对所有书籍已评分值的平均。并且根据实际需要可以动态设置阈值 TR(TH

3 实验及结果分析

实验数据选用某高校图书馆借阅数据集,该图书馆纸质图书211万余册,纸质中外文期刊2 200多种,每周开放时间100小时,在校本科生23 000多人,为了方便实验,抽取商学院和化学学院13级学生共1 023人,从2013年9月1日到2017年1月1日借阅记录共73 231条借阅记录,借阅后对图书打分记录有21 654条,打分从 1~5,5 分表示最好。实验用75%的数据进行学习,用剩下的25%去预测验证。

采用的是精确度指标来评价推荐的精确性,采用覆盖率指标来评价推荐的多样性,实验使用用户协同推荐算法,及基于流行度的重排名算法和本文的基于聚类的重排名算法,使用N=5,10,15,20,25进行实验。

经过实验,图示3展示了以上述多种评估方法所表示的实验结果,由结果可知,该改进的重排名方法不仅展示了在top-N推荐方面的准确度和多样性性能,,并且将其与原基于流行度的重排名和用户协同推荐算法进行了对比。与预期中一致,用户协同推荐算法的推荐结果具有最高的准确度,但其覆盖率和多样性却很低。虽然ReRank-Itempop和ReRank-ItemDist算法在精确度和覆盖率方面差不多,但是在多样性方面,ReRank-ItemDist方面优于ReRank-Itempop算法。表明ReRank-ItemDist算法能更有利于扩张个体的多样性,即引导个体到新的领域。图中原重排名方法的准确度——多样性曲线是通过使用不同的N的值来确定的。

4 结 论

近年来,推荐系统已取得重大进展。为了提高推荐质量涌现了许多解决方法,然而,设计的算法大多数为了提高精度,而推荐结果的多样性经常被忽视。推荐结果的多样性不仅能提高长尾图书的借阅量,而且能挖掘出读者潜在阅读兴趣点。因此,在本文中,我们提出了基于距离的重排名算法,本算法能对图书借阅推荐的多样性进行改进,而只造成少量的推荐精确度损失。此外,该算法非常灵活,能根据需要设置其中的参数N来调节推荐结果多样性与精确度的比重。同时,通过仿真实验的设计,并与传统算法进行比较,得出了基于距离的重排名算法在推荐结果多样性指标上优于传统算法。

参考文献

[1]Resnick P,Varian H R.Recommender systems[J].Communications of the ACM,1997,40(3):56-58.

[2]Chen H C,Chen A L P.A music recommendation system based on music and user grouping[J].Journal of Intelligent Information Systems,2005,24(2):113-132.

[3]秦继伟,郑庆华.面向推荐系统的音乐内涵空间建模研究[J].西安交通大学学报,2014,48(4):31-34.

[4]雷鸣,朱明.情感分析在电影推荐系统中的应用[J].计算机工程与应用,2016,52(10):59-63.

[5]Golbeck J.Generating predictive movie recommendations from trust in social networks[J].Trust Management,2006:93-104.

[6]劉小燕,陈艳丽,贾宗璞,等.基于增强学习的旅行计划推荐系统[J].计算机工程,2010,36(21):254-256.

[7]Shih D H,Yen D C,Lin H C,et al.An implementation and evaluation of recommender systems for traveling abroad[J].Expert Systems with Applications,2011,38(12):15344-15355.

[8]Rosaci D,Sarné G M L.A multi-agent recommender system for supporting device adaptivity in e-Commerce[J].Journal of Intelligent Information Systems,2012,38(2):393-418.

[9]艾丹祥,张玉峰,左晖,等.面向C2C在线情境的一种个性化三维推荐方法[J].情报学报,2016,35(6):651-663.

[10]Bobadilla J,Serradilla F,Hernando A.Collaborative filtering adapted to recommender systems of e-learning[J].Knowledge-Based Systems,2009,22(4):261-265.

[11]熊回香,杨雪萍.社会化标注系统中的个性化信息推荐研究[J].情报学报,2016,35(5):549-560.

[12]丁勇,朱长水.基于Android平台的图书阅读推荐系统[J].计算机科学,2016,43(s1).

[13]高全力,高岭,杨建锋,等.上下文感知推荐系统中基于用户认知行为的偏好获取方法[J].计算机学报,2015,(9):1767-1776.

[14]Zhao Z D,Shang M S.User-based collaborative-filtering recommendation algorithms on hadoop[C]//Knowledge Discovery and Data Mining,2010.WKDD10.Third International Conference on.IEEE,2010:478-481.

[15]Sarwar B,Karypis G,Konstan J,et al.Item-based collaborative filtering recommendation algorithms[C]//Proceedings of the 10th international conference on World Wide Web.ACM,2001:285-295.

[16]Wang J,De Vries A P,Reinders M J T.Unifying user-based and item-based collaborative filtering approaches by similarity fusion[C]//Proceedings of the 29th annual international ACM SIGIR conference on Research and development in information retrieval.ACM,2006:501-508.

[17]刘建国,周涛,郭强,等.个性化推荐系统评价方法综述[J].复杂系统与复杂性科学,2009,6(3):1-10.

[18]Bradley K,Smyth B.Improving recommendation diversity[C]//Proceedings of the Twelfth Irish Conference on Artificial Intelligence and Cognitive Science,Maynooth,Ireland,2001:85-94.

[19]Ge M,Delgado-Battenfeld C,Jannach D.Beyond accuracy:evaluating recommender systems by coverage and serendipity[C]//Proceedings of the fourth ACM conference on Recommender systems.ACM,2010:257-260.

[20]Adomavicius G,Kwon Y O.Improving aggregate recommendation diversity using ranking-based techniques[J].IEEE Transactions on Knowledge and Data Engineering,2012,24(5):896-911.

(本文责任编辑:孙国雷)endprint

猜你喜欢

协同过滤推荐系统多样性
基于用户偏好的信任网络随机游走推荐模型
海洋微生物次生代谢的生物合成机制
舞蹈表演的表现形式多样性研究