主要参考论文:《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)​=∑v​Su,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​={10​if 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=1N​r×∑k=1N​Qu,i,k(l)​Qu,i,r(l)​​=∑r=1N​r×∑k=1N​∑v​Su,v(l)​×Ev,i,k​∑v​Su,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

minw​L1​(w)=21​∥∥∥​Y⊙(R−∑l=1∣P∣​w(l)×R^u,i(l)​)∥∥∥​22​+2λ0​​∥w∥22​s.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

minW​L2​(W)=21​∥∥∥​Y⊙(R−∑l=1∣P∣​diag(W(l))R^(l))∥∥∥​22​+2λ0​​∥W∥22​s.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)​=∑v​Su,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

minW​L3​(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∥22​s.t. W⩾0

论文链接

《Semantic Path based Personalized Recommendation on Weighted Heterogeneous Information Networks》