《Relational Collaborative Filter
最近有心深入了解推荐系统的内容,收到了几篇比较优秀的推荐系统论文,下面的内容就是在《Relational Collaborative Filtering: Modeling Multiple Item Relations for Recommendation》的基础下,记录我认为重要的内容!有问题可以随时提出来。超级小白嘻嘻嘻!
具体的pdf地址我没有去找,一般情况下,直接输入文章名就可以搜索到的啦!
这篇文章主要是由下面几位大神写的,下面有邮箱。
文章题目大致意思是:关系协同过滤:多项目关系的建模建议
摘要
现有的基于项目的协同过滤的方法大部分是基于寻找协同相似。然而,在现实世界中,项目之间存在着多重关系。例如,两部电影共享同一个导演,两首歌同一个专辑。与协作相似性不同,这意味着从用户的角度来看,交互模式是相互作用的。这些关系从元数据、功能等不同的角度揭示了关于项目的更细致的知识。然而,如何将多个项目关系建立起来,是很少被人们所探讨的。
在本文中,提出了关系协同过滤(RCF),这是一种在推荐系统中利用项目间多个关系的通用框架。我们认为关系类型(如共享导演)和关系值(如Steven Spielberg—一位著名导演)在推断用户偏好方面都是至关重要的。为此,开发了一种双层递阶attention mechanism,用于对用户偏好的一级辨别进行建模,以区分哪些类型的关系更重要,而第二层则是考虑特定的关系值去估计历史项目在推荐目标项目中的贡献。为了使项目嵌入反映项目之间的关系结构,我们进一步制定了一项任务来维护项目关系,并结合偏好建模的推荐任务对其进行训练。两个实际数据集的实验结果证明了RCF的强大性能,它不仅胜于使用最先进技术的ICF模型FISM和NAIS,而且还是基于具有竞争性的NFM模型。此外,还进行了定性分析去展现RCF建模对于多项目关系带来的好处。
1、介绍
推荐系统已广泛部署在web应用程序中,以解决信息过载问题,如电子商务平台、新闻门户、社交媒体站点、生活方式应用等。推荐系统不仅可以加快用户信息搜索的过程,还可以增加流量,为服务商带来利润。在各种推荐方法中,基于项目的协同过滤(ICF)以其可解释性和有效性而脱颖而出,在工业应用中受到高度重视。ICF的关键假设是,用户应该更喜欢与其历史上相互作用的项目相似的项目。这种相似性通常是从用户交互来判断的,就是在过去两个项目相互作用的可能性有多大来判断的。
有时候我们会对已经存在的ICF存在争议性,因为他们只考虑合作的相似关系,这是宏观层次的,粗粒度的,缺乏具体的语义。在实际应用程序中,具有具体语义的项之间通常存在多个关系,它们特别有助于理解用户行为。例如,在电影领域,某些电影可能具有相同的导演、类型、演员或其他属性。这些关系从不同的角度考虑了项目的相似性,更重要的是,它们可以很好地反映用户的决策。例如,在两个用户(U1和U2)观看了同一部电影“外星人”之后,U1喜欢导演,然后选择“Schindler‘s List”来观看,而U2则喜欢这个主题和外星人。如果不明确地模拟这些微观层次和细微的项目之间的关系,在概念上就不可能揭示用户决策背后的真正原因,更不用说用有说服力和准确的解释来推荐所需的项目。
本文提出了一种新的ICF框架-关系协作过滤,简称RCF,旨在集成多项关系,以获得更好的推荐。为了保留关系的细粒度语义,并为用户偏好的推理提供便利,我们将关系表示为具有两层次结构的概念:
(1)关系类型,可以在上面的电影示例中共享导演和类型,或者功能,并且在电子商务产品上具有类似的视觉效果。它以抽象的方式描述了项目是如何相互关联的。从用户行为的宏观角度看,协作相似性也是一种关系类型。
(2)关系值,它给出了两个项目的共享关系的细节。例如,“外星人”和“辛德勒的名单”的关系共享导演的价值是史蒂文·斯皮尔伯格。,关系共享体裁的价值包括:功能、动作、浪漫等等。关系值为仔细检查用户的偏好提供了重要的线索,因为用户在做决定时可以不同地权衡关系类型的不同值。
我们先简单来看一下上面的图,先说最左边的蓝色双箭头指向的两部电影,其中关系类型是同种电影类型,关系值是小说。再看橙色的双箭头指向的两部电影,其中关系类型是同个导演,关系值是Spielberg。再往右看羽毛球的图,先看红色双箭头和红色英文,其中关系类型是:同种类型,关系值是运动。再看紫色双箭头和紫色英文,其中关系类型是实用,关系值是补充物。
上图给出了一个关于项目关系的示例。请注意,两个项目之间可能存在多种关系;例如,羽毛球和羽毛球拍有两个关系。此外,关系值可能出现在多种类型的关系中,例如,导演也可以是其他电影的主角,因此很可能有两种关系,因为指向的是同一个物品或人物。在设计处理多项关系的方法时,应考虑到这些因素,使问题比标准的ICF更复杂。
为了将这些关系数据集成到ICF中,我们设计了一种两层neural attention mechanism来模拟历史上相互作用的项目。具体来说,为了预测用户对目标项的偏好,第一层是检测关系类型,并区分哪些关系类型对用户影响更大。第二层机制是操作于每种关系类型下相互作用的项目,,以便估计交互项在推荐目标项方面的贡献。两级注意输出每个交互项的权重,该权重用于聚合所有交互项的嵌入,以获得用户的表示。此外,为了利用多关系数据增强项目嵌入性,我们制定了另一学习任务,该任务将项目关系与嵌入操作连在一起。最后,我们共同优化这两个任务,最大限度地利用项目之间的多个关系。
总之,这项工作的主要贡献如下:
1、提出了一个新的通用推荐任务,即合并项目之间的多个关系,以更好地预测用户偏好。
2、设计了一种新的方法RCF,它利用了两种方式的关系:通过改进对历史上相互作用的项的建模来构造用户嵌入,以及通过保留关系结构来增强项嵌入。
3、在两个数据集上进行了实验。定量结果表明,RCF优于最近提出的几种方法,定性分析证明了RCF对于多项关系处理的有效性。
2、methodology(研究方法)
2.1 Problem Formulation
在给定用户及其交互历史的情况下,传统的ICF方法的目标是根据协同相似性生成建议。
交互图可以显示为图2的左边部分,其中项之间的链接只是隐含的协同相似性。然而,现实世界中存在着多项关系,它们都具有意义的语义。在这项工作中,我们的项目关系是:
定义2.1:给定一个项目对,它们之间的关系为集合,其中表示关系类型和是关系值。
RCF的目标是根据用户-项交互历史记录和项关系数据生成建议。一般来说,RCF交互图中项目之间的链接不仅包含隐式协作相似性,也有显式的多项关系,上图的右边部分可以展现出来。
在本节的其余部分中,我们首先提出了基于注意力机制的模型来推断用户项的偏好。然后,我们将演示如何对项关系数据建模,以引入项嵌入之间的关系结构。在此基础上,我们建议通过一个多任务学习框架,以端到端的方式将这两个部分集成起来。最后,我们讨论了RCF与其他一些模型之间的关系。
下表是一些重要的符号。
2.2 User-Item Preference Modeling(用户偏好建模)
考虑到由关系类型和关系值组成的多个项目关系,我们提出采用层次注意机制对用户偏好进行建模。图3演示了模型的总体结构。
给定数据后,我们首先求出、和.。
然后求出用户与关系类型之间的attention score,文中用前馈神经网络来描述它,函数如下:
其中和是对应的权矩阵和偏置向量,它们将输入投影到一个隐藏状态,而是将隐藏状态投影到attention score中的向量。我们将隐藏状态的大小称为“attention factor”,其值越大,对注意力网络的表征能力就越强。
通过上式,我们可以求出第一级attention,目的在于计算用户和关系类型的不同关系类型的重要性。我们使用标准的softmax函数来定义:
根据type的分类,将目标item与用户历史交互items进行计算得到对应第二级的 attention score:
因为根据type划分的数据集数量差距很大,对于包含很多items的数据集分母会很大,会造成梯度爆炸,为解决该问题,使用了smoothed softmax。下面是权重:
其中的是平滑因子,范围在0到1之间,一般我们设为0.5。
然后得到每个type划分的数据集的加权和:
利用之前用户 embedding与关系类型 embedding计算的得到的权重,对上述的进行加权和得到目标感知用户embedding的表示:
现在我们已经建模得到了目标用户的embedding,在此基础上,我们利用一个多层感知器(MLP)来计算用户在item 上的预测分数,如下所示:
得到最后的预测分数后,我们希望积极的项目比消极的项目有更高的排名。我们利用BPR pairwise来实现目标函数:
其中
2.3 Item-Item Relational Data Modeling(项目之间关系数据模型)
RCF的第二个任务是对项目关系数据进行建模。通常,关系数据被组织为知识图(KG)。知识图是一种节点对应实体,边对应关系的有向异构图。它可以用表示,其中表示头部实体,表示关系,表示尾实体。Knowledge graph embedding(KGE)是一种常用的从关系数据中学习信号的方法,其目的是将知识图嵌入到连续向量空间中。
然而,直接使用KGE[4,25,45]的技术来建模RCF的项目关系是不可行的,因为在我们的特定领域中存在以下挑战:
1、项目关系定义为两级层次结构:关系类型和关系值。有时候我们的关系不是单一性的,有时候是可逆的。就像我们的电影例子一样,第一级的关系类型是,同种类型体裁的电影,第二级考虑的关系值是小说,同样的两个作品,我们有两层的表示。而很多传统的有向图是单一性的。
2、项目关系是可逆的。传统的有向图,是有确切的指向性,而我们是项目关系是可你的,需要建模无向图。
应对第一个挑战,我们使用两级层次结构组件的总和作为关系embeddings。因此考虑直接将类型embedding和对应的value embedding相加。得到下式:
对应第二个挑战,我们要构建一个无向图,对于无向图的建模,需要满足交换律的模型,即:
这里的表示对角线矩阵,其对角线元素相应地等于r。
类似于推荐部分中使用的BPR损失,对于正例样本,我们要最大化,对于负例样本,我们要最小化它。在的基础上,得到以下的目标函数:
其中:
2.4 Multi-Task Learning(多任务学习)
RCF的总目标函数为:
其中为总空间,为正则化参数。
3、 EXPERIMENTS(实验)
在这一部分中,文中对两个真实的数据集进行了实验,以评估所提出的rcf模型。
此部分的目标是回答以下研究问题:
RQ1、与最先进的推荐模式相比,RCF的表现如何?
RQ2、多项关系如何影响模型性能?
RQ3、RCF如何帮助理解用户的行为?它能产生更有说服力的建议吗?
在下面的部分中,我们将介绍实验设置,然后逐一回答以上的研究问题。
3.1 Experimental Settings(实验设置)
3.1.1 Datasets(数据集)
文中用两个可公开访问的数据集进行实验: MovieLens和KKBox,分别对应于电影和音乐推荐。表2(下表)汇总了这两个数据集的统计数据。
3.1.2 Evaluation protocols(评估协议)
对于MovieLens中的每个用户,文中将他最近的两次交互用于验证和测试,并使用剩余的数据进行训练。对于KKBox数据集,由于缺乏时间,文中随机地将每个用户的两个交互关系为测试示例和验证示例,并将其余的用于训练。由于此数据集中的项目数量很大,因此对每个用户的所有项进行排序太费时了。为了更好地评估结果,文中随机抽取了999个没有数据的项目。与目标用户保持一致,并根据这999项对验证和测试项进行排序。这在其他许多作品中得到了广泛的应用。
推荐质量由 hit ratio(命中率HR)、 mean reciprocal rank(平均倒数秩MRR)和 排序指标normalized discounted cumulative gain(归一化累积折扣信息增益值NDCG)三种指标来衡量。
3.1.3 Compared methods(比较方法)
我们将RCF的性能与以下几个方法进行比较:
:matrix factorization,这是矩阵分解。
:这是一种最先进的模型。
:该方法通过神经网络对进行增强。
:主要是为了解决数据稀疏的情况下,特征怎样组合的问题
:通过使用来建立高阶特征交互模型来改进。
:,这是一种基于嵌入的增强推荐方法。
:这种方法是一种最先进的关系感知方法。
3.1.4 Parameter settings(参数设置)
为了公平地比较模型的性能,我们通过优化BPR损失和小批量AdaGrad来训练它们。
学习率设置为0.05,批处理大小设置为512。所有模型的embedding大小设置为64。对于所有基线,L2正则化系数在。
对于FISM, NAIS and RCF,他们的平滑因子设置为0.5。
用FISM的100次迭代预训练NAIS。
对于RCF和NAIS,attention factor设为32。
对于NFM,我们使用包含100次迭代的fm嵌入作为预训练向量。
MLP层数设置为1,64个神经元。
Dropout ratio在。
对于RCF的MLP,我们采用了与NFM相同的设置,以保证公平的比较。
对于MoHR,我们根据他们的原始论文将multi-task learning weights(多任务学习权重)设为1和0.1。
对于RCF,设置。
3.2 模型比较
1、RQ1
查看上图,是传统的top-k对比法,。很明显RCF比其他模型都略胜一筹。RCF在两个数据集中达到了更好的效果。两个数据集的最后一行p值,表示其显著性水平都小于0.05,证明结果是十分显著的。那么第一个问题(RQ1、与最先进的推荐模式相比,RCF的表现如何?)从上表可以很好地说明了。
2、RQ2( 多项关系如何影响模型性能?)
表4显示了用平均总和代表相应attention时的前10名推荐结果。查看上图Avg-1是第一层attention ,Avg-2是第二层attention ,Avg-both是两种attention。DEC是表现的平均下降。
RCF利用层次式attention mechanism(注意机制)对用户偏好进行建模。在这一部分中,我们进行了实验,证明了两级attention的有效性。很明显,第一级和第二级attention都是捕获用户偏好的必要条件,尤其是第二级attention,其目的是计算每个用户的特定权重。
我们都知道,建议的RCF定义了与关系类型和关系值的项关系。为了证明这两个部分的有效性,作者修改了RCF。表5展现了修改的细节。
表6报告了隐藏不同关系组件时的性能。
从表6,我们可以知道,RCF-type实现了比单一模型更好的性能,说明了关系类型的重要性,它有助于建模用户对一类在某些宏透视图中具有特殊相似性的项目的偏好。RCF-value的性能也优于单一模型,关系价值在很大程度上通过从微观角度捕捉用户偏好来增加模型的真实性和表现力。RCF达到了最好的表现力。这证明了关系类型和关系值对用户偏好的建模是必要的。
多任务学习的效果
图4展现了不同值的MRR和NDCG。
我们可以很明显地看到,当从0开始增大是,模型的性能在增强,当时,多任务模型只计算,当大于0时,模型就要计算和,这说明这两者联合训练可以提高模型性能。实际上,的功能是引入一种约束,即如果两个项之间有关系,则它们的嵌入之间必须有一个固有的结构。此约束指导着项和关系embeddings的学习过程,从而有助于提高模型的性能。
但是当提升到一定的时候,模型的性能会下降。因为RCF的主要目标是建议而不是预测项目关系,所以我们必须确保在总损失中占有关键的部分。
第二个问题在上面已经有很好的解释了。
3、RQ3(RCF如何帮助理解用户的行为?它能产生更有说服力的建议吗?)
接下来,进行了定性分析,以说明RCF如何帮助我们理解用户行为并产生更有说服力的建议。
图5展示了两个数据集的平均,表示用户对关系类型t感兴趣的attention。我们可以看到,在MovieLens数据集上,最大的属于类型,这意味着用户倾向于观看相同类型的电影,其次是导演。这一发现与常识一致,即类型和演员是影响用户对电影选择的最重要的两个因素。其中是最低的,这说明仅仅考虑协作相似性对用户偏好进行建模是不明智的。
在音乐领域中,我们可以看到,最重要的关系类型是artist。接下来是composer和lyricist。与电影领域相比,音乐领域中的attention 要小得多。这表明,用户在听音乐时的行为模式比看电影时更加明显。
个案研究
我们在MovieLens数据集中随机选择一个用户U54,以了解RCF如何帮助我们理解单个用户的行为。图6显示了这个用户的attention可视化。
我们可以看到,这个用户在看电影时最注意(0.4003)关系类型“genre”。在第二级关系值中,他最感兴趣的是“crime”(0.4477)和“sci-fic”(0.3928)。根据他的历史互动电影“崩溃”和“第五要素”,推荐的电影是“FACE/OFF”。
4、结论
在本文中,作者的在本文中提出了一个新的icf框架,即rcf来建模多项关系以获得更好的推荐。RCF将ICF的项目关系从协作相似性扩展到!n-粒度关系和具体关系.我们发现关系类型和关系值都是捕获用户p的关键。RCF将ICF的项目关系从协作相似扩展到细粒度的具体关系。然后发现关系类型和关系值是捕获用户偏好的关键。通过多任务学习框架以端到端的方式进行。对两个现实数据集进行的大量实验表明,RCF比最先进的基线有了显著的改进。此外,RCF还为我们提供了一种更好地理解用户行为和产生更具说服力的建议的方法。
参考: