主要参考论文:《Semantic Path based Personalized Recommendation on Weighted Heterogeneous Information Networks》
概述
1)传统的异构图没有考虑连边上属性的值(连边的权重,比如电影评分1~5),所以一般的元路径不能准确地捕获语义信息。如下面这个异构图为例,考虑元路径“User-Movie-User”,如果不考虑Mary和Bob对电影的具体评分,那么会得出二者爱好很相似的结论,因为他们满足“Mary-The Terminator-Bob”这条元路径,但实际上,Mary对该电影只打了1分,并不喜欢这部电影,而Bob打了5分,喜欢这部电影。所以,我们应该考虑连边上具体的属性值。但这同时意味着需要新的相似度计算方式。
2)如何融合来自多条元路径的信息用于推荐。通过不同的元路径会产生不同类型的相似用户(即不同的元路径计算出的用户相似度不同),进而会产生不同的推荐物品。我们需要为每条路径设计一个权重学习方法以整合这些推荐结果。这些权重最好是个性化的,这样不仅能深度发掘用户的特征,还能为推荐提供可解释性。比如某用户对于“User-Interest Group-User”这条路径有很高的权重,那么可以解释推荐结果来自他同一兴趣组的用户,也可以反映出该用户很容易受到兴趣组用户的影响。
但是,为每个用户都学习一个个性化的权重是很难的,因为评分数据稀疏,大量的参数无法很好地学习。
针对上述挑战,1.提出了带权重的异构图和带权重的元路径;2.使用了新的相似度计算策略,从而可以使用现有的基于路径的相似度计算方法,无需设计特殊的计算方法;3.提出了基于语义元路径的个性化推荐方法(the semantic path based personalized recommendation method)SemRec,采用“相似用户的权重偏好一致性原则”设计了一种新颖的权重正则化项,以捕获用户个性化的权重偏好和缓解评分稀疏的问题。
带权重的元路径(weighted meta path,下称带权元路径)
形式化定义如下:
A
1
→
δ
1
(
R
1
)
A
2
→
δ
2
(
R
2
)
⋅
⋅
⋅
→
δ
l
(
R
l
)
A
l
+
1
∣
C
A_{1}\overset{\delta _{1}\left ( R_{1}\right )}{\rightarrow}A_{2}\overset{\delta _{2}\left ( R_{2}\right )}{\rightarrow}\cdot \cdot \cdot \overset{\delta _{l}\left ( R_{l}\right )}{\rightarrow}A_{l+1}|C
A1→δ1(R1)A2→δ2(R2)⋅⋅⋅→δl(Rl)Al+1∣C
也可表示为:
A
1
(
δ
1
(
R
1
)
)
A
2
(
δ
2
(
R
2
)
)
⋅
⋅
⋅
(
δ
l
(
R
l
)
)
A
l
+
1
∣
C
A_{1}\left ( \delta _{1}\left ( R_{1}\right )\right )A_{2}\left ( \delta _{2}\left ( R_{2}\right )\right )\cdot \cdot \cdot \left ( \delta _{l}\left ( R_{l}\right )\right )A_{l+1}|C
A1(δ1(R1))A2(δ2(R2))⋅⋅⋅(δl(Rl))Al+1∣C
其中, A i → δ i ( R i ) A i + 1 A_{i}\overset{\delta _{i}\left ( R_{i}\right )}{\rightarrow}A_{i+1} Ai→δi(Ri)Ai+1表示基于属性值 δ i ( R i ) \delta _{i}\left ( R_{i}\right ) δi(Ri)的 A i A_{i} Ai与 A i + 1 A_{i+1} Ai+1间的关系; C C C表示约束。
举例,带权元路径 U → 1 M U\overset{1}{\rightarrow}M U→1M即 U ( 1 ) M U\left ( 1\right )M U(1)M,表示用户对电影评分为1; U → 1 , 2 M → 1 , 2 U U\overset{1,2}{\rightarrow}M\overset{1,2}{\rightarrow}U U→1,2M→1,2U即 U ( 1 , 2 ) M ( 1 , 2 ) U U\left ( 1,2\right )M\left ( 1,2\right )U U(1,2)M(1,2)U,表示一个用户和另一个用户一样不喜欢这部电影(而无权元路径只能反映出两个用户有共同的观看记录); U → i M → j U ∣ i = j U\overset{i}{\rightarrow}M\overset{j}{\rightarrow}U|i=j U→iM→jU∣i=j表示两个用户对电影有相同的评分。
带权元路径的相似度计算方法
原子元路径(atomic meta path)
举例来说, U ( 1 ) M ( 1 ) U U\left ( 1\right )M\left ( 1\right )U U(1)M(1)U、 U ( 1 ) M ( 2 ) U U\left ( 1\right )M\left ( 2\right )U U(1)M(2)U等都是原子元路径; U ( i ) M ( j ) U ∣ i = j U\left ( i\right )M\left ( j\right )U|i=j U(i)M(j)U∣i=j包含了5个原子元路径(即 U ( 1 ) M ( 1 ) U U\left ( 1\right )M\left ( 1\right )U U(1)M(1)U到 U ( 5 ) M ( 5 ) U U\left ( 5\right )M\left ( 5\right )U U(5)M(5)U)。
1)首先是将带权元路径按照具体的权值分解为多个原子元路径(atomic meta path),用现有的基于元路径的相似度计算方法,计算出每条原子元路径上的相似度;2)然后将该带权元路径的所有原子元路径的相似度求和。
如下图所示,有3个用户对2部电影进行了评分,以PathSim(即数两个节点有多少条某类型元路径)为例,计算用户间的相似度。图的上半部分是使用传统的元路径,其没有考虑具体的评分(权重),用“UMU”路径得到的用户间的相似度是一样的;图的下半部分是先计算各原子元路径上用户的相似度,然后再求和,最后得到
u
1
u_1
u1和
u
3
u_3
u3的偏好是一致的,由此可见这种计算方法更能准确捕获用户间的相似度。
SemRec
基本思想是,使用带权或不带权元路径计算用户间的相似度,然后根据相似用户的评分预测目标用户对物品的评分。
不同的元路径会得到不同的推荐结果(评分),如何有效地整合这些推荐结果是一个挑战。我们需要为每条元路径分配一个偏好权重(preference weight)。在学习这些权重时有两个方面的困难:
(1)优先级权重(Prioritized weights)
不同元路径得到的相似度可能存在很大的偏差(bias),所以很难反映出路径的重要程度。比如,由基于稠密的关系构成的元路径得到的相似度可能普遍偏高,而由基于稀疏的关系构成的元路径得到的相似度可能普遍偏低。为此,SemRec设计了一个归一化评分强度运算(normalized rating intensity operation)消除相似度偏差,使偏好权重更好地反映元路径的重要性。
(2)个性化权重(Personalized weights)
即为每个用户学习权重。但存在数据稀疏性问题。为此,SemRec提出“相似用户的权重偏好一致性原则”,即假设两个相似的用户对元路径有相同的权重。两个用户基于一条路径是相似的,表明这条路径对这两个用户有相似的影响,也就是说这些用户对这条路径有一致的偏好。根据这个理论,设计了一个新颖的权重正则化项,有效缓解了权重学习过程中评分稀疏问题。
作者首先设计了基于一条元路径的推荐方法,然后提出三个级别的基于多条元路径的推荐方法:1.所有用户对元路径采用同一权重;2.每个用户对元路径都有个性化的权重;3.带有权重正则化项的个性化权重。
基于单条元路径推荐
设 R ∈ R ∣ U ∣ × ∣ I ∣ R\in \mathbf{R}^{\left | U\right |\times \left | I\right |} R∈R∣U∣×∣I∣为评分矩阵,其元素 R u , i R_{u,i} Ru,i表示用户 u u u对物品 i i i的评分; S ∈ R ∣ U ∣ × ∣ U ∣ S\in \mathbf{R}^{\left | U\right |\times \left | U\right |} S∈R∣U∣×∣U∣表示用户相似度矩阵,元素 S u , v ( l ) S_{u,v}^{\left ( l\right )} Su,v(l)表示元路径 l l l下,用户 u u u和 v v v的相似度;
另外定义一个评分强度: Q ∈ R ∣ U ∣ × ∣ I ∣ × N Q\in \mathbf{R}^{\left | U\right |\times \left | I\right |\times N} Q∈R∣U∣×∣I∣×N,元素 Q u , i , r ( l ) Q_{u,i,r}^{\left ( l\right )} Qu,i,r(l)表示在元路径 l l l下,用户 u u u以分数 r r r评分物品 i i i的强度,其由两方面决定:1)以分数 r r r评分物品 i i i的用户数;2)用户相似度。具体计算公式如下:
Q u , i , r ( l ) = ∑ v S u , v ( l ) × E v , i , r Q_{u,i,r}^{\left ( l\right )}=\sum_{v}^{}S_{u,v}^{\left ( l\right )}\times E_{v,i,r} Qu,i,r(l)=∑vSu,v(l)×Ev,i,r
E v , i , r = { 1 if R v , i = r 0 o t h e r s E_{v,i,r}=\begin{cases} 1& \text{if} \ R_{v,i}=r \\ 0& \text{} \ others \end{cases} Ev,i,r={10if Rv,i=r others
最后对分数用归一化评分强度加权求和,得到最终用户 u u u对物品 i i i的评分:
R ^ u , i ( l ) = ∑ r = 1 N r × Q u , i , r ( l ) ∑ k = 1 N Q u , i , k ( l ) = ∑ r = 1 N r × ∑ v S u , v ( l ) × E v , i , r ∑ k = 1 N ∑ v S u , v ( l ) × E v , i , k \hat{R}_{u,i}^{\left ( l\right )}=\sum_{r=1}^{N}r\times \frac{Q_{u,i,r}^{\left ( l\right )}}{\sum_{k=1}^{N}Q_{u,i,k}^{\left ( l\right )}}=\sum_{r=1}^{N}r\times \frac{\sum_{v}^{}S_{u,v}^{\left ( l\right )}\times E_{v,i,r}}{\sum_{k=1}^{N}\sum_{v}^{}S_{u,v}^{\left ( l\right )}\times E_{v,i,k}} R^u,i(l)=∑r=1Nr×∑k=1NQu,i,k(l)Qu,i,r(l)=∑r=1Nr×∑k=1N∑vSu,v(l)×Ev,i,k∑vSu,v(l)×Ev,i,r
由于归一化评分强度的存在,消除了不同元路径间存在的相似度偏差(scale差异)。
基于多条元路径的推荐
1.所有用户对元路径采用同一权重
所有用户都有相同的元路径权重向量 w ∈ R 1 × ∣ P ∣ \mathbf{w}\in \mathbf{R}^{1\times \left | P\right |} w∈R1×∣P∣, w ( l ) \mathbf{w}^{\left ( l\right )} w(l)表示元路径 P l P_l Pl的权重。最终的预测分数为每条元路径的加权和:
R ^ u , i = ∑ l = 1 ∣ P ∣ w ( l ) × R ^ u , i ( l ) \hat{R}_{u,i}=\sum_{l=1}^{\left | P\right |}\mathbf{w}^{\left ( l\right )}\times \hat{R}_{u,i}^{\left ( l\right )} R^u,i=∑l=1∣P∣w(l)×R^u,i(l),对应的损失函数为:
min w L 1 ( w ) = 1 2 ∥ Y ⊙ ( R − ∑ l = 1 ∣ P ∣ w ( l ) × R ^ u , i ( l ) ) ∥ 2 2 + λ 0 2 ∥ w ∥ 2 2 s . t . w ⩾ 0 \min_{\mathbf{w}}L_{1}\left ( \mathbf{w}\right )=\frac{1}{2}\left \| Y\odot \left ( R-\sum_{l=1}^{\left | P\right |}\mathbf{w}^{\left ( l\right )}\times \hat{R}_{u,i}^{\left ( l\right )}\right )\right \|_{2}^{2}+\frac{\lambda _{0}}{2}\left \| \mathbf{w}\right \|_{2}^{2}\\s.t. \ \mathbf{w}\geqslant 0 minwL1(w)=21∥∥∥Y⊙(R−∑l=1∣P∣w(l)×R^u,i(l))∥∥∥22+2λ0∥w∥22s.t. w⩾0
其中, Y Y Y为指示矩阵,当用户 u u u评分过物品 i i i时,元素 Y u , i = 1 Y_{u,i}=1 Yu,i=1;否则为0
2.每个用户对元路径都有个性化的权重
此时,元路径权重变为了一个矩阵 W ∈ R ∣ U ∣ × ∣ P ∣ W\in \mathbf{R}^{\left | U\right |\times \left | P\right |} W∈R∣U∣×∣P∣,元素 W u ( l ) W_{u}^{\left ( l\right )} Wu(l)表示用户 u u u对路径 P l P_l Pl的权重,列向量 W ( l ) ∈ R ∣ U ∣ × 1 W^{\left ( l\right )}\in \mathbf{R}^{\left | U\right |\times 1} W(l)∈R∣U∣×1表示所有用户对路径 P l P_l Pl的权重。所以预测分数为:
R
^
u
,
i
=
∑
l
=
1
∣
P
∣
W
u
(
l
)
×
R
^
u
,
i
(
l
)
\hat{R}_{u,i}=\sum_{l=1}^{\left | P\right |}W_{u}^{\left ( l\right )}\times \hat{R}_{u,i}^{\left ( l\right )}
R^u,i=∑l=1∣P∣Wu(l)×R^u,i(l)
损失函数为:
min W L 2 ( W ) = 1 2 ∥ Y ⊙ ( R − ∑ l = 1 ∣ P ∣ d i a g ( W ( l ) ) R ^ ( l ) ) ∥ 2 2 + λ 0 2 ∥ W ∥ 2 2 s . t . W ⩾ 0 \min_{\mathbf{W}}L_{2}\left ( \mathbf{W}\right )=\frac{1}{2}\left \| Y\odot \left ( R-\sum_{l=1}^{\left | P\right |}diag\left ( W^{\left ( l\right )}\right )\hat{R}^{\left ( l\right )}\right )\right \|_{2}^{2}+\frac{\lambda _{0}}{2}\left \| W\right \|_{2}^{2} \\ s.t. \ W\geqslant 0 minWL2(W)=21∥∥∥Y⊙(R−∑l=1∣P∣diag(W(l))R^(l))∥∥∥22+2λ0∥W∥22s.t. W⩾0
3.带有权重正则化项的个性化权重
如果对每个用户都学习个性化的元路径权重,需要学习 ∣ U ∣ × ∣ P ∣ \left | U\right |\times \left | P\right | ∣U∣×∣P∣个权重参数,在数据稀疏的情况下是很困难的。所以根据“相似用户的权重偏好一致性原则”,设计了一个权重正则化项,强制用户的权重逼近其相似用户权重的(加权)平均值:
∑ u = 1 ∣ U ∣ ∑ l = 1 ∣ P ∣ ( W u ( l ) − ∑ v = 1 ∣ U ∣ S ˉ u , v ( l ) W v ( l ) ) 2 \sum_{u=1}^{\left | U\right |}\sum_{l=1}^{\left | P\right |}\left ( W_{u}^{\left ( l\right )}-\sum_{v=1}^{\left | U\right |}\bar{S}_{u,v}^{\left ( l\right )}W_{v}^{\left ( l\right )}\right )^{2} ∑u=1∣U∣∑l=1∣P∣(Wu(l)−∑v=1∣U∣Sˉu,v(l)Wv(l))2
其中, S ˉ u , v ( l ) = S u , v ( l ) ∑ v S u , v ( l ) \bar{S}_{u,v}^{\left ( l\right )}=\frac{S_{u,v}^{\left ( l\right )}}{\sum_{v}^{}S_{u,v}^{\left ( l\right )}} Sˉu,v(l)=∑vSu,v(l)Su,v(l)是元路径 P l P_l Pl下归一化的用户相似度。矩阵形式为:
∑ l = 1 ∣ P ∣ ∥ W ( l ) − S ˉ ( l ) W ( l ) ∥ 2 2 \sum_{l=1}^{\left | P\right |}\left \| W^{\left ( l\right )}-\bar{S}^{\left ( l\right )}W^{\left ( l\right )}\right \|_{2}^{2} ∑l=1∣P∣∥∥W(l)−Sˉ(l)W(l)∥∥22
最终的损失函数为:
min
W
L
3
(
W
)
=
1
2
∥
Y
⊙
(
R
−
∑
l
=
1
∣
P
∣
d
i
a
g
(
W
(
l
)
)
R
^
(
l
)
)
∥
2
2
+
λ
1
2
∑
l
=
1
∣
P
∣
∥
W
(
l
)
−
S
ˉ
(
l
)
W
(
l
)
∥
2
2
+
λ
0
2
∥
W
∥
2
2
s
.
t
.
W
⩾
0
\min_{W}L_{3}\left ( W\right )=\frac{1}{2}\left \| Y\odot \left ( R-\sum_{l=1}^{\left | P\right |}diag\left ( W^{\left ( l\right )}\right )\hat{R}^{\left ( l\right )}\right )\right \|_{2}^{2}+\frac{\lambda _{1}}{2}\sum_{l=1}^{\left | P\right |}\left \| W^{\left ( l\right )}-\bar{S}^{\left ( l\right )}W^{\left ( l\right )}\right \|_{2}^{2}+\frac{\lambda _{0}}{2}\left \| W\right \|_{2}^{2} \\ s.t. \ W\geqslant 0
minWL3(W)=21∥∥∥Y⊙(R−∑l=1∣P∣diag(W(l))R^(l))∥∥∥22+2λ1∑l=1∣P∣∥∥W(l)−Sˉ(l)W(l)∥∥22+2λ0∥W∥22s.t. W⩾0
论文链接
《Semantic Path based Personalized Recommendation on Weighted Heterogeneous Information Networks》