群组推荐算法的研究

2019-11-18 07:26武蒙蒙
现代计算机 2019年28期
关键词:群组矩阵协同

武蒙蒙

(四川大学计算机学院,成都610065)

0 引言

推荐系统如今已经成为一种为用户搜素感兴趣或有用对象(如衣物、电影、旅游、酒店、餐馆等)时提供的个性化指导的基本方法。尽管大多数现有的推荐系统都是支持单个用户的,但是在“人类是群居动物”的大环境下,许多项目都是由组组成的,这也使得我们对群组推荐系统越来越感兴趣。本文的主要目的是对主流的群组推荐算法提供易于理解的介绍。

群组推荐是通过以某种方式融合组员首选项来确定的。在群组推荐系统中,推荐的确定取决于所选择的偏好融合策略。群组推荐系统有两种基本的融合策略。第一种称为推荐融合,是为每个小组成员确定推荐建议,然后融合为一个小组建议。第二种称为模型融合,是将单个用户的首选项融合到一个组概要文件中,然后使用该概要文件确定一个组推荐。

1 国内外研究

自上世纪90 年代末以来,已有许多文献提出了群组推荐系统。1998 年,MusicFX 推出了一种为一群在健身中心健身的人选择背景音乐的系统[1]。根据人们的喜好,系统构建一个群组配置文件(通过聚合喜好),并选择一个音乐频道,在选择过程中加入一些随机性,以确保多样性。根据一项定量评估,参与这项试验的健身中心绝大多数成员都对小组的建议感到满意。在电影领域,PolyLens 是MovieLens 的一个扩展,它支持对群组进行推荐[2]。该推荐系统采用协同过滤算法,根据用户的星级评分为用户推荐电影。在电视内容推荐方面,家庭互动电视系统(FIT)过滤电视节目,并根据不同观众的喜好创建自适应节目指南[3]。

虽然Web 浏览通常是一个单独的活动,就像今天的大多数桌面应用程序一样,但是各种各样的研究计划都试图通过建议可能具有共同兴趣的新材料来帮助一组人进行浏览。Let's Browse 是单个用户浏览器的扩展,它使用基于内容的算法向一组人推荐Web 页面[4]。该推荐系统通过分析每个个体和群体的访问网页的单词来估计用户的兴趣。小组推荐的另一个用例是家庭食谱推荐器[5]。由于所有家庭成员通常每天至少一起吃一顿饭,所以选择食谱和食用食物是集体活动的好例子。

本文中,我们将介绍推荐融合策略和模型融合策略如何应用于群组协同过滤、基于内容的组推荐、基于约束条件的组推荐,并具体介绍了基于协同过滤的常用推荐方法——矩阵分解在群组推荐系统中的应用。

2 聚合函数

在群组推荐系统中,一个主要的问题是:给定关于群组成员个人偏好的信息,如何适应整个群组?由于没有最优的方法来聚合推荐列表[6],因此必须使用相应的聚合策略来提出“尽可能”地考虑到组成员的个人偏好的推荐。基本聚合策略主要包括:投票制(如果喜欢该项目的成员超过阈值则推荐该项目)、平均策略(通过计算成员评分预测值的平均值来聚合各个推荐列表,并使用该平均值作为组的预测值)[7]、平均无痛苦策略(为群体找到最优的决策,而不是让一些群体成员对这个决策感到不满意)、领导者策略(为群组选取一个“领导者”,领导者决定组将选择什么而不咨询其他组成员的用户)、最小痛苦策略(群组对某一项的预测值等于该组所有成员对该项的预测值的最小值。如果聚合了首选项,则组对某项的评分是该成员对该项的最低评分)、最快乐策略(群组对某一项的预测值等于该组所有成员对该项的预测值的最大值。在聚合首选项策略中,组对某项的评分是该成员对该项的评分的最大值)

3 群组协同过滤

当前所使用的协同过滤都是基于Breese 等人的工作实现的[8]。协同过滤(Collaborative filtering,CF)的基本思想是推荐项目来自于最近邻居的偏好。邻居即,相似用户或系统中相似项。两个用户或项目之间的相似性是通过计算他们给出或接收的评分之间的皮尔逊相关系数来确定的。

协同过滤算法又分为基于用户的协同过滤和基于项目的协同过滤。在基于用户的方法(UBCF)中,用户对某个项目的评分是基于类似用户的评分来预测的。所获得的预测得分估计了该项目将被用户欣赏的程度。预测得分最高的项目包含在该用户的推荐列表中。在基于项目的方法(IBCF)中,用户对一个项目的评分是基于他/她对系统中类似项目的评分来预测的。同样,预测得分最高的项目推荐给该用户。

3.1 基于推荐融合的群组协同过滤

当推荐融合策略和协同过滤相结合时,将为单个用户确定推荐评级,然后融合为针对组的推荐,如图1所示。

其中up(un)代表单个用户--项目评分,CFn 代表单个用户的协同过滤,r̂ij代表用户i 对物品j 的预测评分。按照这种方法,对于每一组成员i 和每一组成员没有打分的项目j,确定一个预测评分r̂ij,然后根据不同的聚合函数聚合这些预测评分得到小组评分。

图1

3.2 基于模型融合的群组协同过滤

当使用模型融合策略时,将单个用户的评分聚合到一个组概要文件gp 中。协同过滤基于组概要文件决定每个候选项的排名。具体模型如图2 所示。

图2

在模型融合策略中组由组概要文件gp 表示。gp包括通过应用于单个组成员的项目评级聚合函数(模型)生成的组对项目的总评级。

4 基于内容的组过滤

基于内容的过滤(CBF)[9]是基于推荐与当前用户喜欢的类别相似的新项目。用户(组成员)首选的类别存储在用户配置文件中;这些类别派生自用户已经使用的项的描述。这个概要文件包含了用户对每个类型、特征(如电影中对电影分类、国家、导演、年代、演员)的偏好估计,这些类型、特征都与用户所评价的项目相关联。根据该概要文件的首选项,推荐人通过将未评级项目的元数据与用户的概要文件匹配来预测用户对未评级媒体项的首选项。然后,选择预测得分最高的项目作为推荐列表。

4.1 基于模型融合的基于内容的组过滤

当使用推荐融合策略时,基于组成员个人内容的推荐器将确定,他/她没有使用的项与他/她的用户配置文件之间的相似性。确定项目的相似性然后融合,从而形成小组建议。基于推荐融合的基于内容的组过滤的模型图3 与图1 相似,仅仅在基于推荐融合的基于内容的组过滤F 的模型中使用CBF 算法生成Sij(既用户i 与物品j 的相似度)。

图3

聚合策略可以确定组推荐。对相似性进行聚合的另一种方法是聚合由基于内容的单个推荐器提出的项。

4.2 基于模型融合的基于内容的组过滤

当使用模型融合策略时,将个人用户的首选类别集成到组概要文件gp 中。然后,基于内容的过滤通过计算gp 和候选项之间的相似性来确定推荐。具体模型如图4 所示。

图4

5 基于矩阵分解的群组推荐

矩阵分解(MF)[10]是一种常用的基于协同过滤(CF)的推荐方法,其基本思想是通过从项目评分模式中推断出的因素向量来表征项目和用户。项目和用户因素之间的高度对应关系导致推荐。矩阵分解的一个优点是它允许合并额外的信息。当没有显式反馈时,推荐系统可以使用隐式反馈来推断用户的偏好,隐式反馈通过观察用户的行为(包括购买历史、浏览历史、搜索模式,甚至鼠标移动)来间接地反映用户的意见。

MF 模型是将原始的评价矩阵分解成两个或多个矩阵来表示用户-项目交互。将评价矩阵分解为两个矩阵:一个矩阵表示潜在因素空间中的用户,一个矩阵表示潜在因素空间中的项目。

在群组推荐场景中应用矩阵因子分解的方法的关键是在潜在因子空间中计算表示群组--项目相互作用的群组潜在因子。计算这些因子的原始方法可以分为两种[11]。这两种方法可以根据用户数据统一为组数据的时间进行分类:分解前(BF)和分解后(AF)。

AF:这是使用MF 模型计算推荐给一组用户的最简单方法。它通过合并组内所有用户的影响因素来计算组的影响因素。

BF:它通过构建一个虚拟用户来对用户组建模,该虚拟用户表示该组用户的项首选项。为了计算群组潜在因子,它对虚拟用户使用折叠技术将其添加到因子分解模型中。

AF 和BF 的比较:由于AF 的简单性,AF 得到了有效的计算,并为基于矩阵因子分解的群组推荐方法提供了坚实的基线。然而,在实际中,BF 在较大的数据集和较大的组上给出了更好的预测结果。

得到群组潜在因子矩阵和物品潜在因子矩阵进行点积即可得到群组对物品的预测评分,在这个过程中我们要考虑获得最小化误差来优化损失函数。误差的最小化通常用梯度下降法和梯度下降法变体来计算。

6 结语

本文介绍组主推荐系统中常用的聚合函数,并详细描述了如何为协同过滤、基于内容的过滤、基于约束的推荐设计相关的群组推荐场景。越来越多的用户群体在社交网络中的相关性导致了群组推荐系统的显著扩展。群组推荐系统已经应用于不同的领域:旅游、娱乐、Web 餐饮等。可以预见,未来将会涌现大量群组推荐的相关工作。

猜你喜欢
群组矩阵协同
输入受限下多无人机三维协同路径跟踪控制
家校社协同育人 共赢美好未来
群组推荐系统:现状与展望
“四化”协同才有出路
多项式理论在矩阵求逆中的应用
京津冀协同发展
矩阵
矩阵
矩阵