论文阅读——个性化实体推荐: 一种异构信息网络方法
论文名称:《Personalized Entity Recommendation: A Heterogeneous Information Network Approach》
作者:Xiao Yu, Xiang Ren, Yizhou Sun, Quanquan Gu, Bradley Sturt, Urvashi Khandelwal, Brandon Norick, Jiawei Han
原文链接:http://hanj.cs.illinois.edu/pdf/wsdm14_xyu.pdf
摘要
在各种混合推荐技术中,基于网络的实体推荐方法利用用户或项目之间的关系信息,近年来受到越来越多的关注。之前这类研究大多只考虑单一的关系类型,比如社交网络中的friendship。在大多数场景中,实体推荐问题存在与异构网络之中,用不同类型的关系提高推荐质量。具体来说,本文提出了对每个用户的异构关系信息进行不同地组合,以及利用用户隐式反馈数据来提供高质量推荐结果和个性化推荐模型。
为了充分利用信息网络中的关系异构性,我们首先引入基于meta-path的隐含特征来代表用户和项目在不同路径上的连接性,然后我们在全局和个性化级别上分别定义了推荐模型,并使用Bayesian ranking优化技术估计所提出的模型。
1. Introduction
过去的研究存在的问题
以往的研究表明,利用额外的用户或项目关系信息可以提高推荐系统的质量。我们的研究属于混合推荐系统的范畴。我们的工作与其他基于链接的混合方法的区别在于,以前的大多数研究只利用单一类型的关系,如trust relationship,friend relationship等。我们提出在上述异构网络环境中研究实体推荐问题,旨在同时利用不同类型的关系信息。
以往的研究针对所有的用户使用相同的推荐模型,他们依赖个性化评分或者用户反馈数据来实现推荐的个性化。然而,这样的方法不能全面地区分用户的兴趣和偏好,因此导致令人不满意的结果。例如,Alice和Bob观看了电影Pacific Rim,Alice观看这个电影是因为她喜欢robot/monster故事,而Bob是因为他的朋友也观看了这个电影。如果我们不理解和区分用户的动机和兴趣,使用相同的推荐模型,那么推荐结果可能不能使不同的用户满意。
本文的改进
在本文中,我们使用隐式反馈数据引进了一个新的实体推荐框架。我们以协同过滤的方式将用户反馈与不同类型的实体关系结合起来。通过考虑用户的隐式反馈数据,建立针对不同用户的个性化推荐模型,实现推荐结果的个性化。
为了利用信息网络的关系异构性,我们首先将观察到的用户隐式反馈沿着不同的元路径进行扩散,从而在相应的用户兴趣语义假设下生成可能的推荐候选项。我们将矩阵分解技术应用于扩散的用户偏好上(diffused user performance),来计算用户和项目的潜在表示。然后结合这些潜在的特征,定义一个全局推荐模型。为了进一步区分用户的兴趣,我们建议建立个性化的推荐模型,即,针对不同的用户建立不同的实体推荐模型。我们采用贝叶斯排序优化技术进行模型估计。在IMDB - MovieLens - 100k和Yelp这两个真实世界数据集中的实证研究表明,所提出的推荐模型优于几个最先进的隐式反馈推荐系统。
本文主要贡献:
1. 研究了异构信息网络中用户隐式反馈的个性化实体推荐问题。
2. 为了利用关系的异构性(relationship heterogenity),我们提出将用户偏好分散到信息网络中不同的元路径上,以生成用户和项目的潜在特征。
3. 我们提出的框架能够高效地为不同的用户生成个性化的推荐模型。
在MovieLens100K和Yelp这两个数据集的实证研究上证实了我们的方法。
2. Background
2.1 Binary User Feedback
对于m个用户和n个项目,我们定义以下的隐式反馈矩阵R
注意到,1代表了用户和项目之间的交互,如:用户观看了某个电影或者浏览了某个餐厅的网页。1不表明用户喜欢此项目,因为用户买了这个电影票,但是观影之后可能讨厌这个电影。0也不意味着用户不喜欢这个项目,它是负面反馈(用户不喜欢此item)和暂无交互(用户还没注意到这个item)的混合。之前的一些研究对隐式反馈数据有额外的假设,例如,用户-项目交互频率,或每个交互的驻留时间。为了不偏离本研究的目的,我们使用前面定义的原始形式的二进制用户反馈。但是,如前所述的其他信息可以相应地添加到所提议的模型的因数分解过程中。
2.2 Heterogeneous Information Network
异构网络定义省略
例子:
2.3 Matrix Factorization for Implicit Feedback
在以往的研究中,矩阵分解技术(通过学习用户和项目的低秩矩阵表示)已经被用来解释隐式用户反馈。就是用低秩矩阵的乘积近似隐式反馈矩阵R:R≈UVTR \approx UV^T R≈UVTU是m行d列的,V是n行d列的,U和V分别代表用户和项目的潜在特征表示,d<min(m,n)。用户uiu_iui和项目eje_jej之间的recommendation score可以用低秩矩阵来表示:r(ui,ej)=UiVjTr(u_i,e_j) =U_iV_j^Tr(ui,ej)=UiVjT UiU_iUi表示矩阵U的第i行,VjV_jVj表示矩阵V的第j列,通过对项目的recommendation score进行排序,我们可以得到用户以前没有接触过的项目top-k个项目。
我们应该注意到我们提出的模型是与因子分解技术正交的(our models are orthogonal to factorization techniques???),即利用先进的因子分解技术可以很容易地扩展我们所提出的模型。在本研究中,为了提出一个通用的推荐框架,我们使用基本的NMF方法定义特征和模型。利用先进的因子分解方法,由于上述正交性,我们的方法的性能可以得到相应的提高。
2.4 Problem Definition
给定一个用用户隐式反馈R表示的异构信息网络G,我们旨在建立一个个性化推荐模型,将用户可能感兴趣的项目排序列表推荐给他。
3 Meta-path Based Latent Features
这个部分旨在利用丰富但尚未发现的信息网络,提出一种基于用户偏好扩散(user preference diffusion)的特征生成方法,此方法结合了用户隐式反馈和异构实体关系。我们利用全局层次的潜在特征定义了一个推荐函数,全局(global)代表了这个推荐过程对于所有用户来说是相同的。
3.1 Meta-path
从信息网络的角度来看,实体推荐问题就是寻找用户和项目之间的连接性(connectivity),在信息网络中,两个实体可以通过不同的路径连接(以Figure 3为例),为了描述异构信息网络中的路径类型,我们引入了【1】提出的meta-path,meta-path是在信息网络模式的范围内定义的,并描述了如何通过不同类型的路径连接两个实体类型。
- Example1
对于Figure3,给定如下的两条路径,在Figure3中,蓝色实线电表P1,红色实线代表P2,这两条路径用不同的语义连接了用户和电影。P1利用社会关系,利用了电影演员的链接关系,通过衡量用户和电影基于不同路径的相似度,我们可以从不同语义角度为用户做出电影推荐。
当表示较长的元路径时,在不引起歧义的情况下关系类型可以省略,元路径的递归部分可以用指数符号进行压缩,如P2可以简化为:user−(movie−actor−movie)2user-(movie-actor-movie)^2user−(movie−actor−movie)2
3.2 User Preference Diffusion
如前所述,隐式反馈表示用户和项目交互的交互情况。隐式反馈中的值1表示用户对相应的项比对其他项更感兴趣。我们使用术语user preference 来表示隐式反馈数据中的用户兴趣。直观地说,如果我们能够理解user preference 的语义含义,并找到与用户感兴趣的相似的项目,那么根据所发现的语义,我们就可以对这些用户做出相应的实体推荐。
根据这一观察结果和第2节中给出的问题定义,在本文中,我们将重点讨论以user−item−∗−itemuser - item -*- itemuser−item−∗−item格式的元路径,以建立推荐模型。我们的直觉是,我们希望将隐式反馈数据中观察到的用户偏好分散到不同的元路径上,这样用户就可以与其他项目连接。通过定义目标用户和不同元路径上所有可能项目之间的 user preference diffusion score,我们现在可以测量在不同语义条件下未观察到的(用户-项目)交互的可能性。对于给定的元路径,我们扩展PathSim方法以计算 user preference diffusion score,计算方法如下:
s(ui,ej∣P)s(u_i,e_j|P)s(ui,ej∣P)表示沿着元路径P下用户uiu_iui和项目eje_jej的diffusion score,pe→ejp_{e→e_j}pe→ej代表eee和eje_jej之间的1条路径,pe→ep_{e→e}pe→e代表eee和eee之间的1条路径,pej→ejp_{e_j→e_j}pej→ej代表eje_jej和eje_jej之间的1条路径。这个得分包括两个部分:① 与用户uiu_iui 相关的、已观测到的用户-项目交互;② uiu_iui 感兴趣的项目和潜在偏好项(即式子中的eje_jej)之间的连接性。项目之间的连接性被定义为这些项目之间沿着元路径P的路径数量,用Example 2演示用户偏好扩散过程。
- Example2
假设只有两个用户,三部电影和五名演员,这些实体间的联系如Figure 4所示,红色链路表示已观测到的用户隐式反馈,紫色链路表示扩散的用户偏好,我们使用user−movie−actor−movieuser-movie-actor-movieuser−movie−actor−movie作为元路径以计算diffusion score。基于隐式反馈矩阵R,我们可以得知用户1观看了电影2;基于信息网络结构,可以得到电影1和电影2之间有1条路径,电影1和电影1之间有2条路径,电影2和电影2之间有2条路径。将上述隐式反馈数据和路径数带入diffusion score的计算式可以得到元路径P下用户偏好扩散得分为0.5,其他同理。
通过计算所有用户和项目之间的diffusion score,我们产生一个diffused user matrix R′R^{'}R′,重复此过程,利用L条不同的元路径,我们可以计算L个不同的diffused user matrix R(1)′R^{'}_{(1)}R(1)′,R(2)′R^{'}_{(2)}R(2)′,…R(L)′R^{'}_{(L)}R(L)′
3.3 Global Recommendation Model
根据矩阵分解推荐方法的直觉和原理,我们可以从每个扩散的偏好矩阵中得到相应的低秩用户矩阵和项目矩阵。这些低秩矩阵是用户和项目在相应元路径语义意义下的潜在表示。利用矩阵分解技术分解diffused matrix:
我们使用NMF技术完成式(3),得到L对用户-项目的特征表示,每一对特征在一定关系语义下代表了用户和项目。当使用这些潜在特性定义推荐模型时,不同的特性对可能具有不同的重要性。例如,用户在选择电影时更有可能追随某些演员,而不是考虑这些电影是由哪些电影公司制作的。根据这一观察,根据,我们定义了一个全局推荐模型如下:
θq是第q个<user,item>低秩表示的权重,基于非负属性的特性,我们添加θq≥0作为优化约束。利用式(4)中的推荐模型,给定一个用户,我们现在可以为所有item分配推荐分数,然后对这些item进行相应的排序。我们返回top-K结果作为推荐结果。我们将在第5节中讨论如何估计推荐模型中的参数。
4. Personalized Recommendation Model
Section 3所述模型没有区分用户兴趣和行为模式,例如:全局模型可能会建议大多数用户观看由著名演员主演的流行电影,但这一规则可能并不适合所有人。因此,此部分将全局模型扩展到更细的粒度级别,旨在为不同的用户计算不同的推荐模型,以捕捉其兴趣和偏好,提出了personalized model。一种直接的方法是仅使用某用户自己的隐式反馈数据计算式(4),但每个用户的反馈矩阵服从power law distribution,这意味着我们没有足够的数据学习personalized model。
虽然用户行为因人而异,但一组用户可能具有相似的兴趣,比如:漫画迷对超级英雄、奇幻和冒险电影感兴趣,而斯蒂芬·斯皮尔伯格的粉丝则追随他的电影。基于以上观察,我们首先根据用户的兴趣对他们进行集群,然后在每个集群中学习一个推荐模型。请注意,一个用户可以属于不同的用户集群(一个用户可以同时是comic fan和Spielberg fan)。推荐时,我们通过结合相关用户群的推荐模型,计算出目标用户的个性化推荐模型,再结合目标用户的个性化模型计算出推荐结果。对于用户uiu_iui的Personalized Model定义如下:
C代表了与用户UiU_iUi相关的用户集群,sim(.,.)sim(.,.)sim(.,.)函数定义了集群CkC_kCk中心和UiU_iUi之间的余弦相似度,θqkθ^{k}_qθqk代表了定义在用户集群CkC_kCk中的推荐模型。与全局模型相比,个性化模型具有c×Lc×Lc×L个参数,利用较大的参数空间,我们可以高效地生成个性化的推荐模型,有效地表现不同的用户兴趣或行为模式。第5节详细讨论了用户聚类和模型学习算法。
此处集群数量十分重要,集群数太小,就无法很好地区分用户兴趣,集群数太多,我们可能没有足够的数据训练模型。可以通交叉验证估计最优jiq
5. Model Learning With Implicit Feedback
在本节中,我们将介绍用于全局和个性化推荐模型的学习算法。首先讨论了全局推荐模型的参数估计方法(式(4)),然后将学习算法扩展到个性化推荐模型。
本文提出的推荐模型充分利用了信息网络中的异构实体关系。更具体地说,我们将基于网络扩散的潜在特征与代表推荐过程中相应元路径重要性的参数相结合。为了了解潜在特征的重要性,我们使用用户隐式反馈作为训练数据。如第2节所述,隐式反馈数据中的值1表示正反馈,0代表负反馈的集合(用户对这个item不感兴趣,或者用户没有注意到这个item),传统的学习方法采用分类或者learning-to-rank的目标函数,通常将数据集中的1视为positives,把0视为objectis,如前所述,这些方法不适合隐式反馈数据的定义,也不能生成高质量的推荐模型。
在[21]的激励下,我们采用了一种不同的学习方法: 通过考虑正确的item pair orders,我们定义一个目标函数,对每个用户,我们将1 values排在0 values之前,这个目标函数背后的设想是:比起其他items,用户对value为1的items更感兴趣。
5. Model Learning With Implicit Feedback
在此部分,介绍了全局模型和个性化模型的训练方法,首先讨论了全局模型的参数估计方法,然后将其推广到个性化模型中。受【2】的影响,我们使用一种不同的训练方法,我们定义一个目标函数,将值为1的项目排在值为0的之前,这背后的假设是:相比于其余项目,用户对隐式反馈矩阵中值为1的项目更加感兴趣。
5.1 Bayesiam Ranking-Based Optimization
我们使用P(eae_aea>ebe_beb;uiu_iui| θ)代表用户更喜欢eae_aea而不是ebe_beb的概率,优化准则的贝叶斯公式是最大化后验概率,如下所示
θ={θ1,……,θL}θ =\{θ_1,……,θ_L\}θ={θ1,……,θL}代表全局模型参数,p(R∣θ)p(R |θ)p(R∣θ)代表所有item pairs排名都正确的概率, 即,对于每个用户,反馈1的项可以排在反馈0的项之前。
假设用户偏好和项目对都是独立的,我们可以得到如下似然函数:
P(eae_aea>ebe_beb;uiu_iui| θ)的定义如下:
σ\sigmaσ是sigmoid函数,基于以上假设我们得到目标函数:
本文使用SGD进行参数估计。
5.2 Learning Personalized Recommendation Models
此前的部分说到,对于个性化模型,我们需要先根据用户兴趣对其进行分组。对于NMF得到的低维用户矩阵U,我们使用带有余弦函数的k-means算法作为用户之间的相似度度量,然后将用户聚类,对于每个集群,我们使用之前的讨论的方法训练出一个推荐模型,训练算法如Algorithm 1所示,在估计推荐模型的参数后,对于给定的目标用户,我们可以利用式(5)计算出相应的个性化推荐模型,并根据个性化推荐模型和用户的个人反馈数据进行个性化实体推荐。
Reference
【1】 Y. Sun, J. Han, X. Yan, S. P. Yu, and T. Wu. PathSim: Meta Path-Based Top-K Similarity Search in Heterogeneous Information Networks. In VLDB, 2011.
【2】 S. Rendle, C. Freudenthaler, Z. Gantner, and L. Schmidt-Thieme. Bpr: Bayesian personalized ranking from implicit feedback. In UAI, 2009.
总结
以上是生活随笔为你收集整理的论文阅读——个性化实体推荐: 一种异构信息网络方法的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 学习笔记——利用CC++语言计算二重积分
- 下一篇: Lecture 12: Iterated