摘要
传统的异构信息网络没有考虑链接上的属性值,而在异构信息网络中,由于推荐系统用户对产品评分值的存在(如1到5分的评分),目前广泛使用的元路径可能不能精确地刻画对象之间的语义联系。本文我们是首先通过区分不同的链接属性值提出加权异构信息网络和加权元路径的概念来刻画路径语义的。此外,我们提出了一种基于语义路径的个性化 推荐方法SemRec来预测用户对产品的评分。通过设置元路径,SemRec不仅灵活地融合了异构信息还得到了代表用户对路径偏好的优先化和个性化的权重。在两个真实数据集上的实验表明SemRec在加权元路径的帮助下通过灵活融合信息得到了更好的推荐表现。
引言
最近几年出现了大量的异构信息网络的研究,在异构信息网络中对象具有不同的类型,对象之间的链接代表了不同的关系。信息网络的异质性和丰富的关系使得其在很多场景中是一个更好的数据表示。作为异构信息网络中的一个独特的特征,链接两个对象的元路径被广泛应用于开发富语义信息中。很多基于元路径的数据任务在过去几年得到了研究如相似度搜索,聚类和分类等等。
最近,一些工作已经意识到了异构信息网络对于推荐的价值,在推荐系统中对象和他们之间的关系构成了一个异构信息网络。如图1所示。异构信息网络不仅包含电影推荐中不同类型的对象(例如用户和电影),还说明了对象之间所有类型的关系,如观看信息,社会关系和属性信息。构造用于推荐的异构网络可以有效融合所有信息,这些信息可能有益于推荐。此外,网络中的对象和关系有着不同的关系,可以反映对象之间的微妙联系。例如“用户电影用户“意味着用户看过相同的电影,可以用于根据浏览记录找到相似用户,其本质上对应的是协同过滤模型。类似地,“用户兴趣群用户” 可以找到有着相似兴趣的相似用户,这个路径对应的是群的隶属度推荐。所以我们可以基于由连接用户的不同元路径得到的相似用户直接推荐产品。此外,通过适当地设置元路径可以实现不同的推荐模型。不过这个思路面临如下两个困难。
首先,传统的异构信息网络和元路径不能直接应用于推荐系统中。我们都知道传统的异构信息网络和元路径没有考虑到链接上的属性值。不过电影网络上的链接包含属性值。忽略评分可能导致发现的用户相似度不精确。例如,根据路径“用户-电影-用户”,Tom与Mary和Bob有着相同的相似度,因为他们看过相同的电影。不过,他们有着截然不同的偏好,因为给的评分不同。实际上,Tom和Bob更相似,因为他们都喜欢相同的电影,并且给了较高的评分。Mary可能有着完全不同的偏好,因为他根本不喜欢这些电影。传统的元路径不允许链接有属性值,因此不能反应这种微妙的差异。不过,这种差异对于更精确地反应对象之间的关系很重要,特别是在推荐系统中。所以我们需要扩展现有的异构信息网络和元路径以考虑链接上的属性值。此外,也需要提出相应的相似度度量指标。
其次,很难有效地结合多个元路径的信息做推荐。我们已经说了,我们可以通过不同的元路径生成不同类型的相似用户,这些不同类型的相似用户可以推荐不同的产品。因此我们可以设计一种加权学习方法来结合这些不同用户的推荐,而且每条路径可以分配一个学习得到的偏好权重。也就是,学习到的权重可以代表路径的重要性,每个用户应该有个性化权重来体现他对路径的偏好。优先化和个性化的权重对于推荐很重要,因为他们可以深度地反应用户的特征。更重要的是,这使得推荐更具有可解释性,因为元路径包括语义。例如,如果用户对于“用户-兴趣群-用户”路径有着高的权重偏好,我们可以解释为推荐结果源于他加入的兴趣的用户看过的电影。不过,个性化权重可能会遇到评分稀疏性问题,特别是对于那些只有少量评分信息的用户。原因在于需要学习的参数很多,评分信息不够。
本文我们针对信息网络中链接上的属性值扩展了异构信息网络和元路径,并首先提出了加权异构信息网络和加权元路径的概念以更好的反应链接的关系。我们设计了一种新的相似度计算策略使得当前的基于路径的相似度度量仍然有用。此外,我们提出了基于语义路径的个性化推荐方法SemRec通过设置元路径来灵活地融合异构信息。在SemRec中,我们设计了一种新的权重正则化项来得到路径上的个性化权重偏好,通过利用相似用户偏好权重一致性原则缓解评分稀疏性。本文的数据集和代码可以从网上下载。本文的主要贡献总结如下:
1. 据我们所知,我们是首先提出加权异构信息网络和加权元路径以考虑信息网络中的属性值的。此外,我们提出了加权元路径上的相似度度量策略。
2. 我们设计了一种新的SemRec方法,不仅有效融合了推荐系统中的所有信息,还通过恰当地设置元路径灵活地表示不同类型的推荐模型。此外,SemRec可以得到优先化和个性化的路径权重偏好,这对于实际应用很重要,例如,用户特征分析和推荐解释。
3. 在Douban和Yelp这两个真实数据集上的实验研究证实了SemRec的效果。SemRec胜过当前的最优算法,特别是在冷启动用户和产品上,SemRec学习到的个性化权重可以反映用户对路径的偏好。此外,SemRec在加权元路径的帮助下可以得到更好的效果。
异构网络推荐框架
本节我们描述本文使用的符号,介绍一些先验知识。
基本概念
异构信息网络是一种特别的信息网络,底层的数据结构是一个有向图,包含多种类型的对象或多种类型的链接关系。传统的异构信息网络不考虑链接上的属性值。不过很多实际的网络链接上包含属性值。例如,在电影推荐系统中用户通常会对电影打上1到5分的评分,在书籍网络作者和文章之间的“作者”关系可能取值为1,2,3,表示的是文章的作者顺序。本文,我们形式化提出加权异构信息网络的概念来处理这种情况。
定义1:加权信息网络。给定一个模式S=(A, R, W),该图由对象的类型A={A},链接对象对之间的关系集合R={R},关系上的属性值集合W={W};加权信息网络定义为一个有向图G=(V, E, W)和一个对象类型映射函数
φ:V→A
,一个链接类型映射函数
ψ:E→R
和一个属性值类型映射函数
θ:W→W
。每个对象
v∈V
都属于一个特定的对象类型
φ(v)∈A
,每个链接
e∈E
都属于一种特定的关系
ψ(e)∈R
,每种属性值
w∈W
都属于一种特定的属性值类型
θ(w)∈W
。当对象类型|A|=1,关系类型|R|=1时,这是一个同构信息网络。当对象类型|A|>1(或者关系类型|R|>1),且属性值类型|W|=0时,网络称作无权异构信息网络。当对象类型|A|>1(或者关系类型|R|>1),且属性值类型|W|>0时,网络称为加权异构信息网络(WHIN)。
传统的异构信息网络是一个无权异构信息网络,对象之间的链接没有属性值或者我们不去考虑。而对于加权异构信息网络,在有些关系类型上有属性值,这些属性值可以是离散或是连续的值。
例1:一个电影推荐系统可以表示为一个加权异构信息网络,其网络模式如图2(a)所示。网络包含6种类型的实体对象(如用户,电影,群组和演员)以及他们之间的关系。对象之间的链接表示不同的关系。例如用户和用户之间的链接表示朋友关系,用户和电影之间的链接表示评分与被评分的关系。此外,网络在用户和电影之间的评分关系上还包含一种类型的属性值,取值在1到5之间。
异构信息网络中的两个对象可以通过不同的路径链接,这些路径有着不同的含义。如图2(a)所示,用户之间可以通过“用户-用户”路径,“用户-群组-用户”路径和“用户-电影-用户”路径进行连接。这些路径称为元路径,是对象类型之间的关系序列的组合。虽然元路径被广泛用于表示对象的语义,但是它不能区分加权异构信息网络中两个对象之间的属性值。例如,如果在上述电影推荐例子中忽略了用户对产品的不同评分值,我们可能得到错误的结果。考虑如下的场景:我们使用UMU路径根据图1所示的浏览记录来找到Tom的相似用户。我们可以推断Tom与Mary和Bob很相似,因为他们有着相同的浏览记录。但是,很显然Tom和Mary有着完全不同的偏好。所以UMU不能精细地描述不同用户对同一部电影的不同评分。为了有效利用加权异构信息网络中的语义,我们对传统的元路径进行扩展以考虑关系上的属性值。不失一般性,我们假设加权异构信息网络中关系上的属性值是离散的。对于关系的连续属性值,我们可以将连续属性值转换成离散值。
定义2:加权信息网络上的扩展元路径。扩展元路径是基于基于关系上的属性值的元路径,表示为
A1−→−−−δ1(R1)A2−→−−−δ2(R2)⋯−→−−δl(Rl)Al+1|C
(也可以表示为
A1(δ1(R1)A2(δ2(R2))⋯(δl(Rl))Al+1|C
)。如果关系R有属性值,那么属性值函数
δ(R)
就是值的集合,否则
δ(R)
就是一个空集。
Ai−→−−δi(Ri)Ai+1
表示
Ai
和
Ai+1
之间的关系
Ri
的属性值为
δi(Ri)
。如果一个元路径上的所有属性值函数都是空集,那么该路径称为无权元路径,否则该路径称为加权元路径。
注意到,传统的元路径是一个无权元路径,可以视为加权元路径的特例。
例2:以图2(a)为例,用户U和电影M之间的评分关系可以取1-5之间的值。加权元路径
U−→1M
意味着用户对电影的评分是1,也反映用户不喜欢该部电影。加权元路径
U−→1,2M−→1,2U
意味着其它用户和目标用户一样不喜欢相同的电影,而无权网络只能反映用户有着相同的浏览记录。此外,我们可以灵活地在加权元路径中设置不同关系上属性值函数的关联约束。例如,路径
U(i)M(j)U|i=j
意味着用户与目标用户在一些电影上有着相同的评分。在这种路径下,我们可以很容易地发现图1中,Tom与Bob很相似,但是他们与Mary完全不同。
异构网络中的推荐
对一个目标用户,推荐系统通常根据他的相似用户推荐产品。在异构信息网络中有很多连接用户的元路径,如“用户-用户”和“用户-电影-用户”。基于这些路径,用户有着不同的相似度。这里我们定义基于路径的相似度如下。
定义3:基于路径的相似度。在异构信息网络中,两个对象的基于路径的相似度是基于给定的连接两个对象的原路径的相似度度量。
在得到用户的基于路径的相似度后,我们可以根据目标用户的相似用户推荐产品。更重要的是,连接用户的元路径有着不同的语义,可以表示不同的推荐模型,“用户-用户”表示的是目标用户的朋友。如果我们根据这条路径得到的用户相似度推荐电影,那么将会推荐目标用户的好友看过的电影。实际上,这是一种社会化推荐。另外一个例子是“用户-电影-用户”(UMU)意味着用户看过与目标用户相同的电影。沿着这条路径,它会推荐与目标用户有着相似浏览记录的用户看过的电影,这本质上是协同过滤推荐。表1列出了其它的典型路径和其对应的推荐模型。基于异构信息网络框架,我们可以通过设置元路径灵活地表示不同的推荐模型。
基于加权元路径的相似性度量
元路径上的相似度度量已经有较多研究,异构信息网络的研究者也提出了若干基于路径的相似性度量如PathSim,PCRW和HeteSim。不过这些相似性度量不能直接应用于加权元路径中,因为它们没有考虑关系上的属性值约束。我们知道,基于路径的相似性度量的本质是评估连接两个对象的路径数在沿着元路径的所有可能路径中的占比,所以沿着一条加权元路径的路径必须满足属性值约束。此外,关系上的属性值可能是一个变量,甚至是相关的。以
U(i)M(j)U|i=j
为例,i和j的属性值是1到5的变量,且它们满足约束i=j。对于这种路径,现有的基于路径的相似性度量不能处理。
为了解决一个加权元路径中变量,甚至是相关的属性值约束问题,我们对元路径概念进行扩展,提出一种一般的策略使得现有的基于路径的相似性度量仍然可用。具体地,我们可以将加权元路径分解为一组有确定属性值约束的原子元路径。对于一条原子元路径,我们可以直接应用现有的基于路径的相似性度量。
定义4:原子元路径。如果在加权元路径中的所有属性值函数
δ(R)
都取一个特定值,那么该滤镜称作一个原子元路径。加权元路径是一组原子元路径的集合。
例3:以图2(a)为例,U(1)M(1)U和U(1)M(2)U都是原子元路径。加权元路径U(i)M(j)U|i=j是五个原子元路径的集合(如U(1)M(1)U和U(2)M(2)U)。
由于加权元路径是原子元路径的集合,在加权元路径上的相似性度量可以视作在对应的原子元路径上的相似性度量之和。所以在加权元路径的相似性度量可以通过下面两个步骤进行:(1)利用现有的基于路径的度量计算每个原子元路径上的相似度;(2)对加权元路径中的所有原子元路径上的相似度求和。注意到,相似性度量需要考虑现有的基于路径的相似性度量的规范化项的效应。以PathSim为例,我们将基于PathSim对传统元路径和加权元路径进行相似性度量计算的过程描述如图3,其中3个用户对2部电影的评分矩阵见图1。我们知道PathSim用一个规范化项计算链接在两个对象的上的路径实例的个数,因此它认为所有用户都是相同的。对于图3的下半部分,基于加权元路径的PathSim首先计算沿着每条原子元路径的路径实例的个数,然后在进行标准化之前对所有路径实例求和。因此它可以精确地发现只有
u1
和
u3
是相似的,因为他们对电影有着相似的偏好。
SemRec求解
基本思想
本节我们提出一种基于语义路径的个性化推荐方法(SemRec)来预测产品的评分。具体地,SemRec首先基于加权或无权元路径计算用户相似度,然后根据相似相似用户的评分推断用户对产品的评分。不同的元路径下,用户会得到不同的推荐结果。如何有效结合这些不同元路径生成的推荐结果是一项挑战。我们需要在不同的元路径上设置不同的偏好权重。我们将偏好权重简写为权重,注意区分这里的权重与前面的加权元路径上的链接权重。学习元路径的偏好权重有两方面的困难:(1)优先化权重。也就是,学习到的权重需要体现路径的重要性,反应用户的偏好。不过基于不同路径计算得到的相似度有着重要性偏差,使得路径偏好很难反应路径重要性。例如,在关系密集的某路径上相似性度量可能都很高,而在关系稀疏的另一路径上的相似性度量都很低。所以基于不同路径的相似性评价不能反映两个对象之间的相似度。SemRec设计了一种规范化的评分强度操作以消除相似度偏差,使得权重更好地反应路径重要性。(2)个性化权重。也就是,为每个用户学习到个性化的权重偏好当然很好。但是个性化权重学习可能会面临数据稀疏性问题,因为很多用户只有少量的评分信息。为了缓解个性化权重学习中的评分稀疏性问题,我们提出了相似用户的权重偏好一致性原则。也就是,我们假设两个相似用户在元路径上有着一致的权重偏好。尽管很合理,但是之前很少使用。两个用户在某一条路径上是相似的,表明这条路径对这两个用户有相似的影响。也就是说这些用户在这条路径上有着一致的偏好。根据这个原则,我们设计了一种新的权重正则化项,可以有效地缓解个性化权重学习中的评分稀疏性问题。
接下来的几节,我们首先设计单路径上的基本推荐方法。然后基于多条路径提出了三种级别的个性化推荐方法:所有用户统一权重,每个用户的个性化权重,权重正则化的个性化权重。
单路径推荐
根据基于路径的用户相似度,我们可以在给定路径下找到目标用户的相似用户,然后可以根据相似用户对产品的评分推断出目标用户对产品的评分。假设评分范围在1到N(N为5)之间;P是一个无权或者加权元路径集合;
R∈R|U|×|I|
是评分矩阵,其中
Ru,i
表示的是用户u对产品i的评分;
S∈R|U|×|U|
是基于路径的用户相似度矩阵,其中
S(l)u,v
是路径
Pl
下用户u和v的相似度。这里我们定义评分强度
Q∈R|U|×|I|×N
,其中
Q(l)u,i,r
表示的是给定路径
Pl
用户u给项目i评分为r的强度。
Q(l)u,i,r
由两个方面决定:给项目i评分为r的相似用户个数,用户相似度。所以我们对
Q(l)u,i,r
的计算方式为对项目i评分为r的用户的相似度。
其中 Ev,i,r 表示用户v是否给产品i给过评分r。
在一个元路径 Pl 下,用户u对产品i的评分范围在1到N之间,具有不同的评分强度 Q(l)u,i,r 。所以预测评分 R^(l)u,i ,也就是在路径 Pl 下用户u对产品i的评分是评分与对应的规范化强度的加权平均:
其中 R^(l)∈R|U|×|I| 意味着路径 Pl 下的预测评分矩阵。
根据式(2),我们可以预测在一个给定路径下用户对产品的评分分之,然后对目标用户推荐分值高的产品。此外,式(2)还有另外一个优势在于它缓解了不同元路径之间的相似度偏差。我们知道,不同元路径下的用户相似度有着不同的尺度,使得不同路径之间的相似度计算和评分强度都存在不可比行。式(2)中的规范化评分强度可以消除这些尺度差异。
多路径的推荐
在不同的元路径下,有着不同的预测评分。为了计算综合得分,我们提出三种不同的权重学习方法,对应不同级别的用户个性化权重
全体用户的统一权重学习
对于所有用户,我们队每个元路径分配一个统一的权重,意味着用户对路径的偏好。这个权重向量表示为