APP下载

考虑时间情境的群体推荐算法研究

2016-08-02刘荣荣

关键词:协同过滤

刘荣荣

(天津大学 管理与经济学部,天津 300072)



考虑时间情境的群体推荐算法研究

刘荣荣

(天津大学 管理与经济学部,天津 300072)

摘要:群体推荐能够有效地解决群体社交活动问题,存在着广阔的应用前景。然而现有的群体推荐研究是不完善的,很少考虑用户的时间情境信息。针对这个现状,在传统群体推荐方法的基础上考虑时间情境信息,利用时间衰减函数对评分进行预处理后再产生群体推荐列表。实验结果表明,所提出的算法能为群体提供有效的推荐,且引入时间情境可以提高推荐质量。

关键词:群体推荐;时间情境;协同过滤

个体推荐系统根据用户的兴趣偏好和历史购买记录推荐用户可能感兴趣的商品或信息,是一种有效解决信息过载现象的工具,也带来了巨大的商业利润。但其针对的仅仅是个体用户,对于想要进行集体活动的群体用户难以发挥效用,这催生了群体推荐系统。群体推荐并不是个体推荐的简单叠加,因为群体中会存在不同的意见,个体间的兴趣爱好千差万别,想要找到整个群体都满意的项目十分困难。目前尚没有公众普遍认可的群体推荐算法或系统,群体推荐中仍然有很多因素需要进一步研究,比如上下文信息。上下文信息包括用户访问系统的时间、地点、心情等,对提高推荐系统的推荐质量非常重要。时间情境是其中最重要的一种信息,对用户兴趣有着深入而广泛的影响。用户兴趣是经常变化的,对物品的偏好有季节效应,且物品也有生命周期。要准确预测用户现在的兴趣,应该更加关注用户最近的行为,而不是公平对待用户的每一个行为。

因此运用时间情境更符合人的兴趣变化趋势,引入时间情境,运用衰减函数计算时间权重,对评分预处理,在个体推荐的基础上聚合个体评分为群体产生推荐列表。

1相关工作

1.1群体推荐系统

伴随着Web2.0的兴起,推荐系统受到更多的关注,其应用也越来越广泛。国外对群体推荐相关的研究较早,涉及很多相关学科,如运筹学、统计学、群决策、不确定理论和模糊理论等。群体推荐系统可以使用隐式信息或显式信息来实现推荐[1]。一般情况下使用的是显式信息,比如Pocket Restaurant Finder推荐系统[2]在做出推荐前需要用户做问卷调查来展示自己的偏好;还有Movielens推荐系统[3]则使用用户对电影的评分这种显示信息。也有推荐系统使用隐式信息的,比如Flytrap[4],这个系统致力于为健身房内的所有人推荐音乐,推荐的依据是健身房中用户在电脑上播放的音乐或歌曲。

1.2时间情境

推荐系统的作用是当大量项目存在时,帮助用户找到所需要的信息或商品,一般来说,这些商品或信息应该是基于用户历史偏好计算出来的最能吸引用户的商品或信息。在这样的过程中,发掘情境信息,比如时间、地点、天气、设备和心情等,能够起到提高推荐结果的作用。在这些情境信息中,时间情境信息是上下文信息中最重要最有用的信息。时间情境信息能够追踪用户偏好的变化,识别用户兴趣,是基于上下文信息推荐系统的重要输入。时间情境信息能够较容易地使用现有技术从推荐系统中得到。时间情境是推荐中应该备受关注的问题,因为用户的兴趣是经常变化的。例如一个程序员随着工作时间的增加,逐渐从阅读初级入门书籍过渡到阅读专业书籍;一个女孩随着年龄的增长,逐渐不喜欢动画片,转而喜欢浪漫爱情电影。因此人们现在的兴趣比以前的兴趣更重要,应该使用时间情境来降低以前兴趣所占比例,更加关注现在的兴趣和行为。然而,尽管个体推荐中已经存在时间情境的研究,但至今群体推荐的相关研究相对较少。

2考虑时间情境的群体推荐算法

在推荐系统中,用户可使用评分表示对已体验项目的喜好程度。假设U={U1,U2,…,Um}和I={I1,I2,…,In}分别表示用户集合和项目集合;R为m×n矩阵,表示m个用户对n个项目的评分,称为用户-项目矩阵;RUiIj表示用户Ui对项目Ij(i=1,2,…,m; j=1,2,…,n)的评分。

通常,一个群体至少包含两个成员,都有共同的意愿去参加群体活动。m表示群体中成员的数量,RUi(i=1,2,…,m)表示用户Ui对推荐系统所有项目的评分情况,因此群体中所有成员对项目的评分可以简单地描述为以下矩阵形式:

用户在体验项目后,通过给项目评分来展现对项目的喜好程度;同时从推荐系统中能够很容易获得评分时间戳,是指系统规定时间点到评分时间点的时间间隔。时间间隔越长代表评分时间越接近现在。例如如果用户U1对I2的评分时间为5天,意味着用户是在推荐系统规定时间之后的第5天给出评分的。

另外,用户的偏好被很多因素影响,例如年龄和职业等内在因素,或者是亲密的朋友和周围的环境等外在因素。总之,用户的兴趣不是固定不变的,而是随着时间的变化而迁移。目前大多数的研究工作放在时间窗或者遗忘函数上,用这些方法来学习和跟踪用户的行为。时间窗方法倾向于完全忽视某个时间段之前的信息,可能会导致重要信息的丢失。笔者使用指数遗忘函数[5-6],其是一种适应性的函数,可以用来逐渐降低以往评分的权重,其定义式为:

其中,time(U,I)是正整数,表示根据项目的评分时间偏好应该降低到什么程度。最近时间设为0天,第二个最近时间设为1天,第三个最近时间设为2天,以此类推。对同一个用户,如果两个项目在同一天被评分,则这两个项目的评分时间是相同的,即两个项目有相同的time(U,I)。hlU为用户的半生命周期,依赖于用户在不同天数的评分次数。对于hlU值较大的用户,拥有更长的生命周期,其兴趣衰减比生命周期短的用户缓慢。

使用指数遗忘函数计算出来的时间权重,对原始的评分值RUiIj进行预处理,即:

(2)

3实验结果及分析

3.1数据集

使用的数据集是Movielens 100K。通过网络进入该网站,注册后任意挑选已经看过的电影,并根据喜好在1~5分中给出评分。为了评价算法的推荐质量,实验按照评分时间戳将该数据集分成两部分。第一部分是训练集,是除去第二部分外的所有项目评分。第二部分是测试集,包含每个用户评分时间最接近现在的10个项目评分。对于每一个用户,测试集中的项目评分时间都比训练集中的更接近现在。

3.2评价指标

从HERLOCKER等[7]的观点出发,在衡量推荐系统的质量时,有两个主要的度量应该考虑,分别是准确度和覆盖率。从这两个角度出发,做一系列的实验,对笔者所提出的推荐算法与传统的群体推荐算法进行对比。

3.2.1准确度度量

采用NDCG指标(normalized discounted cumulative gain)对准确度进行度量。这是一种非常受欢迎的评价排列准确度的方法,获得了越来越高的关注。实践表明给出推荐列表更人性化,正确的推荐顺序要比准确的预测评分更重要。首先计算每个群体用户的NDCG,然后将用户的NDCG平均值作为群体的NDCG[8-10]。群体用户的NDCG越大,说明算法产生的相关项目越靠近列表前面,因此群体更有可能对推荐结果满意。

设{P1,P2,…,Ps}为推荐给一个群体的项目集合;s为推荐列表中项目的数量;U为一个用户;RUPi为用户U对项目Pi(i是项目Pi在群体推荐列表中的位置)的真实评分。用户U与群体G之间的DCG(discounted cumulative gain)和NDCG的定义式为:

(3)

(4)

(5)

3.2.2群体覆盖率度量

这里使用的覆盖率度量方法不同于传统的方法。对于传统的覆盖率度量,通常用于个体推荐,用来度量给用户推荐的项目占所有项目的比例。但是这里使用的叫做群体覆盖率,用来度量群体推荐的有效性。因为数据的稀疏性和信息的不完备性,有些群体无法得到有效的推荐结果。能够有效推荐的群体数量的比例是值得度量的。覆盖率的定义式为:

(6)

3.3实验结果

对比算法有以下几个:没有时间权重衰减的推荐算法,命名为CF-AVG;先个体推荐再用最小损失法聚合群体推荐算法,命名为CF-LM;带有时间权重衰减的CF-LM算法,命名为TIME-CF-LM;先使用平均值法聚合个体评分再用协同过滤算法为群体推荐算法,命名为AVG-CF;带有时间权重衰减的AVG-CF算法,命名为TIME-AVG-CF。群体成员数量为3、5、8的群体各随机产生500组,对这些群体给出推荐列表,然后与测试集中的项目相对比,利用准确度和群体覆盖率这两个指标衡量实验结果。不同群体成员数量下笔者推荐算法与对比算法的实验结果如表1所示。

表1 不同群体成员数量下笔者推荐算法与对比算法的实验结果

由表1可知,在群体成员数量分别为3、5和8的情况下,笔者推荐算法得到的准确度和群体覆盖率均比其他算法大,即该算法在准确度和群体覆盖率上都比其他算法好,群体推荐效果更优。而且带有时间权重衰减的群体推荐算法的推荐结果都优于没有时间权重衰减算法。

4结论

目前群体推荐算法的研究很少考虑时间情境,而时间情境会对推荐结果产生影响。笔者提出的推荐算法使用用户评分时间这一时间情境,在时间权重衰减评分的基础上为群体用户产生推荐列表。实验结果表明,笔者推荐算法能够提供更有效的推荐结果,且时间情境的运用提高了算法的推荐质量。今后还需更加深入细致地研究时间情境,寻找更优的时间衰减函数和方法,进一步地提高群体推荐系统的推荐效果。

参考文献:

[1]JAMESON A,SMYTH B.Recommendation to groups[J].Lecture Notes in Computer Science,2007(4321):596-627.

[2]MCCARTHY J F,ANAGNOST T D.MusicFX: an arbiter of group preferences for computer supported collaborative workouts[C]∥Proceedings of the 1998 ACM Conference on Computer Supported Cooperative Work.[S.l.]:[s.n.],1998:363-372.

[3]JUNG J J.Attribute selection-based recommendation framework for long-tail user group: an empirical study on movielens dataset [J].Expert Systems with Applications,2011,39(4):4049-4054.

[4]CROSSEN A,BUDZIK J,HAMMOND K J.Flytrap: intelligent group music recommendation[C]∥Proceedings of the 7th International Conference on Intelligent User Interfaces.[S.l.]: ACM,2002:184-185.

[5]AGGARWAL C C,HAN J,WANG J,et al.A framework for projected clustering of high dimensional data streams[C]∥Proceedings of the Thirtieth International Conference on Very Large Data Bases.[S.l.]:[s.n.],2004:852-863.

[6]ZHENG N,LI Q.A recommender system based on tag and time information for social tagging systems[J].Expert Systems with Applications,2011,38(4):4575-4587.

[7]HERLOCKER J L,KONSTAN J A,BORCHERS A,et al.An algorithmic framework for performing collaborative filtering[C]∥Proceedings of the 22nd Annual International ACM SIGIR Conference on Research and Development in Information Retrieval.[S.l.]: ACM,1999:230-237.

[9]BALTRUNAS L,MAKCINSKAS T,RICCI F.Group recommendations with rank aggregation and collaborative filtering[C]∥Proceedings of the Fourth ACM Conference on Recommender Systems.[S.l.]: ACM,2010:119-126.

[10]PERA M S,NG Y K.A group recommender for movies based on content similarity and popularity[J].Information Processing & Management,2013,49(3):673-687.

LIU Rongrong:Postgraduate;College of Management and Economics,Tianjin University,Tianjin 300072,China.

[编辑:王志全]

文章编号:2095-3852(2016)01-0093-04

文献标志码:A

收稿日期:2015-10-11.

作者简介:刘荣荣(1990-),女,山东泰安人,天津大学管理与经济学部硕士研究生.

中图分类号:TP391.7

DOI:10.3963/j.issn.2095-3852.2016.01.020

Group Recommendation Algorithm Research Considering Time Context

LIU Rongrong

Abstract:Group recommendation can effectively solve social activity problems that it has broad application prospects.However,current group recommendation research is not sufficient that it rarely considers users' time context information.In terms of this current situation,the proposed algorithm considers time context information on the basis of traditional group recommendation algorithm.Time decay function is used to preprocess ratings and then group recommendation list is generated.The experiemental results show that the proposed algorithm provide effective recommendation for groups and time context can improve recommendation quality.

Key words:group recommendation; time context; collaborative filtering

猜你喜欢

协同过滤
基于用户评分和项目类偏好的协同过滤推荐算法
基于用户相似度加权的Slope One算法
图书推荐算法综述
改进的协同过滤推荐算法
基于链式存储结构的协同过滤推荐算法设计与实现
基于相似传播和情景聚类的网络协同过滤推荐算法研究
基于协同过滤算法的个性化图书推荐系统研究
混合推荐算法在电影推荐中的研究与评述
关于协同过滤推荐算法的研究文献综述
基于混合信任模型的协同过滤推荐算法