赞
踩
本文是香港城市大学联合京东发表在WWW 2019上的一篇论文,CCF A会议,提出了模型GraphRec。这篇文章聚焦于社会化推荐(Social Recommendation),是社会化推荐较早的作品之一。
论文解决三个问题:
针对这三个问题,作者进行了GraphRec模型的设计。
GraphRec可以分为两部分,User Modeling和Item Modeling,其中User Modeling又分为Item Aggregation和Social Aggregation,下面分别介绍。
Item Aggregation 这里是指通过user-item的交互矩阵进行用户在item-space的分解。
具体的,如下式所示,这里我们使用相对容易理解的符号进行重新书写,对文中一些不太友好的符号表示也进行了重新表示:
h i I = σ ( W ⋅ A g g i t e m s ( { x i a ∣ ∀ a ∈ C i } ) + b ) σ ( W ⋅ { ∑ a ∈ C ( i ) α i a x i a } + b ) h_i^I = \sigma (W \cdot Agg_{items}(\{x_{ia} | \forall a \in C_i \}) +b) \\ \sigma(W\cdot\{\sum_{a\in C(i)}\alpha_{ia} x_{ia}\} + b) hiI=σ(W⋅Aggitems({xia∣∀a∈Ci})+b)σ(W⋅{a∈C(i)∑αiaxia}+b)
这里, h i I h_i^I hiI就表示item空间用户 i i i的embedding表示, A g g i t e m s ( ⋅ ) Agg_{items}(\cdot) Aggitems(⋅)表示item-space的聚合函数,可以看到使用加权求和并线性变换的方式进行表示,其中, α i a \alpha_{ia} αia表示权重, x i a x_{ia} xia表示用户 i i i和与其邻接的物品 a a a的聚合向量, C i C_i Ci表示用户 i i i在item-space中与其邻接的所有物品集合。见下式:
x
i
a
=
g
v
(
[
q
a
∣
∣
e
r
]
)
x_{ia} = g_v([q_a || e_r])
xia=gv([qa∣∣er])
x
i
a
x_{ia}
xia使用物品
a
a
a和评分等级
r
r
r的可训练向量进行表示,
g
v
(
⋅
)
g_v(\cdot)
gv(⋅)表示融合函数,文中这里没有交代清楚,联系后文,应该是一个三层的MLP网络。
注意力系数 α i a \alpha_{ia} αia如下面两式所示
α i a ∗ = w 2 T ⋅ σ ( W 1 ⋅ [ x i a ∣ ∣ p i ] + b 1 1 ) + b 2 \alpha_{ia}^* = w_2^T \cdot \sigma(W_1 \cdot [x_{ia} || p_i] + b_11) + b_2 αia∗=w2T⋅σ(W1⋅[xia∣∣pi]+b11)+b2
α i a = exp ( α i a ∗ ) ∑ c ∈ C i α i c ∗ \alpha_{ia} = \frac{\exp(\alpha_{ia}^*)}{ \sum_{c \in C_i} {\alpha_{ic}^*} } αia=∑c∈Ciαic∗exp(αia∗)
可以看到,用户 i i i和与其邻接的物品 a a a的之间的注意力系数通过双层MLP进行计算,输入包括 x i a x_{ia} xia和 p i p_i pi,因此可以理解为用户 i i i和与其邻接的物品 a a a之间的亲和力(affinity)指数。
后面的部分可以参考前面,我们不进行太详细的介绍,大致方式相同。
h i S = σ ( W ⋅ A g g n e i g h b o r s ( { h o I ∣ ∀ o ∈ N i } ) + b ) σ ( W ⋅ { ∑ o ∈ N ( i ) β i o h o I } + b ) h_i^S = \sigma (W \cdot Agg_{neighbors}(\{h_{o}^{I} | \forall o \in N_i \}) +b) \\ \sigma(W\cdot\{\sum_{o\in N(i)}\beta_{io} h_{o}^I\} + b) hiS=σ(W⋅Aggneighbors({hoI∣∀o∈Ni})+b)σ(W⋅{o∈N(i)∑βiohoI}+b)
类似的, h i S h_i^S hiS就表示social空间用户 i i i的embedding表示, A g g n e i g h b o r s ( ⋅ ) Agg_{neighbors}(\cdot) Aggneighbors(⋅)表示social-space的聚合函数,可以看到使用加权求和并线性变换的方式进行表示,其中, β i o \beta_{io} βio表示权重, h o I h_o^I hoI是item-space完成的用户 o o o的item-space向量表示, N i N_i Ni表示用户 i i i在social-space中与其邻接的所有用户集合。具体的计算方式和Item Aggregation一样,篇幅原因,不一而足。
h i h_i hi表示最终的用户 i i i的向量表示,先通过连接 h i S h_i^S hiS与 h i I h_i^I hiI,再通过多层感知机进行变换得到。
需要指出的是,这里的权重矩阵和向量如 W W W、 b b b等应该是不同的,在计算过程中应该进行区分,上面为了方便理解,没有进行更多的区分。
直接在用户-物品的交互矩阵中进行提取,使用 z j z_j zj进行表示, A g g u s e r s Agg_{users} Aggusers是其聚合函数, μ j t \mu_{jt} μjt表示注意力系数。
使用MLP,先通过 h i h_i hi和 z j z_j zj的concatenation,然后通过多层感知机进行非线性变换得到最终的预测结果。
损失函数使用均方误差MSE进行表示,针对训练过程,一个三元组 ( i , j , r ) (i, j, r) (i,j,r)表示用户 i i i对物品 j j j进行评分,评分为 r r r,其中用户向量 h i h_i hi、物品向量 z j z_j zj、评分向量 e r e_r er都是随机初始化的可训练参数,除此以外各种MLP中的 W W W和 b b b也是可训练参数,共同构成训练参数。
针对开头提出的三个问题,现总结如下:
本文从社交网络和推荐交互图两部分进行学习,完成社会化推荐任务,值得一读。但是本人认为有以下几点需要注意一下:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。