Dual Graph Attention Networks for Deep Latent Representation of Multifaceted Social Effects in Recommender Systems
论文学习笔记,这里主要是对文章的理解和重要部分进行的翻译,如有不对的地方,请大家多多指正!
腾讯 at WWW 2019,本文提出了对偶注意力网络来更好地学习双重社交效应的深度隐式表示,其中一个由用户特定的注意力权重建模,另一个由动态的、上下文感知的注意力权重建模。结果表明,与其他最先进的社交推荐方法相比,我们的模型在推荐精度上有了很大的提高。
社交推荐在传统协同过滤方法上利用社交信息去解决数据稀疏和冷启动的问题,然而,大多数存在的模型假设社交影响来自静态的用户朋友和恒定的权值或固定的约束之下。
为了减轻这种强烈的假设,在这篇论文中,我们提出对偶图注意力网络去协作学习双层社交效应的特征表示,其中一个由用户特定的注意力权重建模,另一个由动态的、上下文感知的注意力权重建模。
我们还将用户领域的社会影响扩展到项目领域,这样就可以利用相关项目中的信息来进一步缓解数据稀疏性问题。此外,考虑到两个领域中不同的社会效应可以相互影响并共同影响用户对商品的偏好,我们提出了一种基于策略的新型融合策略,该策略基于上下文 multi-armed bandit 来权衡各种社交活动的交互作用。
在一个基准数据集和一个商业数据集上进行的实验验证了我们模型中关键组件的有效性。 结果表明,与其他最新的社会推荐方法相比,我们的模型在推荐准确性上有了很大的提高。
推荐系统旨在过滤和建议目标用户潜在的兴趣项目,具有广泛的应用范围,并可以带来巨大的商业利益,尤其是当信息过载问题随着万维网的快速发展而普遍存在时。 推荐的常规协作过滤(CF)方法存在数据稀疏和冷启动问题。 为此,已经提出了尝试利用用户的社交网络来合并更多有用信息的社交推荐,以减轻这两个问题[5、12、18、19]。
Prior Works and Limitations 如今,有许多组合平台将项目推荐和社交网络服务(SNS)集成在一起。 这些平台上的用户可以单击项目或对项目进行评分以及与朋友互动。 用户对某项商品的偏爱可能会受到其朋友的影响,这促使我们探究这种社交效果以提高推荐质量。 先前关于社会推荐的研究尝试以各种方式对社交效应进行建模,例如通过信任传播[5,12,21],正则化损失[19,38],矩阵分解[8,17,36],网络嵌入[16, 32、41]和深度神经网络[4、31]
但是,这些研究有几个共同的局限性。 首先,大多数研究假设链接用户都具有相似的偏好。 由于可能存在各种类型的在线朋友,例如密友,休闲朋友和活动朋友,所以这种假设无法很好地适应当代SNS [42]。 因此,听起来不容易将 SNS 上的友谊与偏好相似性等同起来。 其次,大多数作品会以固定权重或固定约束的形式静态模拟朋友的影响。 该假设忽略了社会效应的动态模式。 实际上,当涉及到特定项目时,用户可能会受到一群特定朋友的影响,这使得社会效应是动态的,并依赖于特定的上下文。 第三,以前的方法缺乏社会效应的可解释性,即它们无法明确表明用户对某项商品的偏好如何受到其朋友的影响。
Motivations and Rationales在现实世界中,人们的决定可能会受到多种因素的影响,而他们的行为往往是多方面原因的结果。为此,我们研究了推荐系统中的四种不同的社会效应,包括用户域中的双重效应和项目域中的其他对称性双重效应,如图1所示。在用户域中,朋友影响其他人有两种方式。一方面,用户倾向于具有与其朋友相似的偏好,这被称为社交同质性[23](图1.(a))。社交同质性通常会导致用户偏好的内在效应保持不变,并且独立于外部环境。另一方面,用户的朋友购买了某件商品,可以向该用户推荐该商品,然后该用户更有可能点击该商品,这被称为社会影响力[20](图1.(b))。实际上,社会影响力会为用户的偏好带来行为层面的影响,而这种影响可能会随着特定的环境而动态变化。例如,当涉及娱乐文章或商业新闻时,商业分析师可能会受到不同朋友社区的影响。因此,我们可以区分可能影响用户偏好的两个部分:来自社会同质性的静态效果和来自社会影响性的动态效果,我们分别将相应的用户偏好称为静态和动态偏好(图1的左半部分)。
此外,在项目领域中,存在类似的“‘social effects”。一方面,一些相关项目在暴露给用户时往往具有相似的吸引力。我们称其为“(item-to-item homophily )项目到项目的同质性”,并且称其项目属性组成部分受静态的影响(图1.(c))。另一方面,如果某个项目在某个社区中很受欢迎,则该社交组中的用户将更有可能点击其他相关项目。这种现象可以称为逐项影响(item-to-item inƒuence ),具体取决于特定的环境(图1.(d))。例如,一位商人和一位研究人员都读了一篇有关AI发展的文章,但这位商人则更喜欢另一篇有关AI公司财务信息的文章,而研究人员则倾向于点击另一篇有关AI前沿突破的文章。我们将受项目影响的项目属性组件称为动态属性。最终,如图1所示,用户域和项目域中的双重社交效应可能共同影响用户对一个项目的决策。这种现象在Epinion,Twitter,Facebook和Netflix等上普遍存在。
**Methodologies and Results.**为此,在本文中,我们提出了DANSER(用于在推荐系统中对多方面社会效应进行建模的双图注意力网络),它是扩展图注意力网络(GAT)的新颖体系结构[30]。 DANSER由两个双重GAT组成:一个针对用户的双重GAT(包括用于捕获社会同质性的GAT和用于捕获社会影响力的GAT),另一个用于商品的双重GAT。具体来说,在用户域中,一个用于捕获社交同质性的GAT会集中地聚集相邻用户的嵌入内容,以反映他们的偏好,并输出静态用户偏好的表示形式。另一个捕获社会影响力的 GAT 旨在卷积相邻用户的上下文感知偏好,以表征用户的评分项目与候选项目的相关性,并输出动态用户偏好的表示形式。在项目域中,设计了两个类似的GAT作为双重体系结构,分别在物料之间的同质性和相关物料之间的影响下,对物料的静态和动态属性进行建模。这种双重机制具有两个优点:i)捕获同质性的GAT,并且影响可以通过利用全局视图和局部视图来调查用户项交互而共同建模两个社会效应。 ii)项目域中的两个GAT合并了相关项目的信息,这可以进一步缓解数据稀疏性问题。
然后,由于用户的静态(动态)偏好以及项目的静态(动态)属性会共同影响用户对一项商品的决定(如图1所示),因此这四种交互的重要性因user-item对不同而异。我们提出了一种基于策略的策略来动态权衡这四个交互。具体来说,我们将问题建模为上下文 multi-armed bandit [1],并将权重策略视为基于上下文(目标用户-项目对)的策略。然后我们的目标是优化报酬(不包括预期损失)。对于模型训练,我们使用随机策略梯度来更新基于神经网络的策略单元,并设计一种局部图感知的正则化技术以减少用于正则化的计算成本。为了验证我们的模型,我们对Epinions的一个基准数据集和WeChat Top Story的商业数据集进行了实验。结果表明,DANSER在显式反馈设置(MAE改进了2.9%)和隐式反馈设置(AUC改进了4.5%)下都优于最新模型。
Our contributions
i)总体方面:我们从静态和动态效果的角度区分社会同质性和社会影响力概念。此外,我们将用户域中的双重社会效应扩展到项目域,因此研究了推荐系统中的四种社会效应。这些一般方面使模型可以捕获更多信息并提高其容量。
ii)新颖的方法:我们建议使用带有两个双重GAT和一个基于策略的融合单元的DANSER。我们是最早使用GAT进行社交推荐任务的公司之一,双重GAT可以在用户和项目领域中共同建模四种社交效果。政策单位基于上下文multi-armed bandit ,根据特定上下文动态权衡两个领域中社会效应的四种相互作用。
iii)多方面的实验:我们在一个基准数据集和一个商业数据集上部署DANSER。实验结果证明了DANSER优于最新技术,拟议组件的有效性以及其对社会效应进行建模的良好可解释性。
在本文中,我们考虑用户-项目交互矩阵 R = { r u i } M × N R = \{r_{ui}\}_{M \times N} R={rui}M×N,其中 M 和 N 分别是用户数和项目数。对于具有隐式反馈的推荐系统,R 由 0 和 1 组成,如果用户u 单击了项目 i,则 r u i r_{ui} rui= 1,否则, r u i r_{ui} rui= 0。对于具有明确反馈的推荐系统, r u i r_{ui} rui表示用户 u 在项目 i 上给出的评分值(在Epinions中,评分值范围为1到5,如果用户喜欢该项目,则用户可以给出较高的评分),如果 r u i r_{ui} rui= 0,则为 r u i r_{ui} rui= 0用户 u 尚未对项目 i 进行评分。我们使用 R I ( u ) R_I(u) RI(u)和 R U ( i ) R_U(i) RU(i)分别表示由用户 u 评分的项目集和为项目 i 评分的用户集。此外,我们假设存在用户信任或友谊网络,这是一个图形 G U = ( V U , E U ) G_U = (V_U, E_U) GU=(VU,EU),其中 V U V_U VU是用户集合, E U E_U EU是连接两个用户的边集合。我们使用 F U ( u ) F_U(u) FU(u)表示 G U G_U GU中与 u 相邻的节点集。同样,我们将用户 u 和用户 v 之间的交互频率视为边缘特征,用 e u v ∈ R C e_{uv} \in R^C euv∈RC表示,其中 e u v e_{uv} euv中的每个元素表示u和v之间的一种类型交互的频率,而 C 是交互类型的数量。边缘特征反映了两个用户之间的链接强度。
Problem Formulation : 社会推荐问题可以定义为[27]:给定 R 中观察到的交互记录和信任关系 G U G_U GU,我们将估计R中未观察到的交互,即目标用户 u + u^+ u+ 单击未观察到的候选项目 i + i^+ i+ 的概率(对于隐式反馈) )或评级用户 u + u^+ u+将对项 i + i^+ i+评分(以明确反馈)。
我们首先介绍模型框架。 对于每个部分,我们都从动机和直觉开始,然后介绍技术细节。 其次,我们提出一些训练技术来提高模型性能。 最后,我们讨论了模型中的两个关键单元以进行论证。
Raw Input and Item Implicit Network:
用户项目交互矩阵 R R R 和用户社交网络 G U G_U GU 作为输入。社交推荐方法侧重于利用用户社交网络来解决推荐器系统中的数据稀疏性问题。 大多数现有方法都是独立处理项目的,因为没有明确表示项目之间关系的先验信息。 计算两个项目之间相似性或相关性的一种方法是由点击或评分的普通用户[25]。对于任何项目 i i i和项目 j j j,我们定义他们的相似性系数 s i j s_{ij} sij ,表示点击这两个项目的用户数。这些系数对项目产生等价关系,如下所示:如果 s i j > τ s_{ij} > τ sij>τ,且 τ τ τ为固定阈值,则项目 i i i与项目 j j j相关。 我们将项目隐式网络定义为图 G I = ( V I , E I ) G_I = (V_I, E_I) GI=(VI,EI),其中 V i V_i Vi是项目集,而 E I E_I EI是连接两个相关项目的边集。
Embedding Layer
每个用户(resp。item)的原始输入是一高维度的one-hot向量,并且嵌入操作是将每个用户投影到低维表示。受[15]和[2]的启发,每个用户都可以通过特定于用户的嵌入和由她评分的项目来表示。 前一种表示方式反映了用户的兴趣,而后一种表示方式(称为基于项目的用户嵌入)捕获了其评分历史记录对当前决策的隐含影响。 这样的嵌入可以处理假阴性样本并提高模型准确性[15]。 同样,每个项目都可以通过特定于项目的嵌入和对其评分的用户来表示(称为基于用户的项目嵌入)。
对于特定的用户嵌入(the user-specific embedding )我们定义为 P = { p u } D × M P = \{p_u\}_{D \times M} P={pu}D×M, 其中 D D D是嵌入维数, p u p_u pu表示用户 u u u的嵌入向量。对于基于项目的用户嵌入,我们定义了另一个嵌入查找 Y = { y i } D × N Y = \{y_i\}_{D \times N} Y={yi}D×N, 其中 y i y_i yi表示项目潜在因子。然后,将通过 Y Y Y映射 R I ( u ) R_I \big( u \big) RI(u)中的每个项目,并输出 Y u = { y j ∣ j ∈ R I ( u ) } Y_u = \{y_j | j \in R_I \big( u \big) \} Yu={yj∣j∈RI(u)},这将用于计算基于项目的用户嵌入,即 D D D维向量表示。在下一层,用户嵌入反映了用户的固有偏好(“固有”概念强调它不包含社交信息,仅取决于用户自己)。类似地,对于项特定的项目嵌入,我们定义 Q = { q i } D × N Q = \{q_i\}_{D \times N} Q={qi}D×N,其中 q i q_i qi表示项i的嵌入向量。对于基于用户的项目嵌入,我们定义 X = { x u } D × M X = \{x_u\}_{D \times M} X={xu}D×M,其中 x u x_u xu是用户潜在因子,并且 R U ( i ) R_U \big( i \big) RU(i)中的每个用户都将通过 X X X映射,并输出 X i = { x v ∣ v ∈ R u ( i ) } X_i = \{x_v | v \in R_u \big( i \big) \} Xi={xv∣v∈Ru(i)},将用于在下一层计算基于用户的项目嵌入,即 D D D维矢量表示。此外,商品嵌入反映商品的固有属性。
Dual GCN/GAT Layer:
图卷积网络(GCN)[14]对图中的相邻节点进行局部卷积运算,并为每个节点输出新的表示形式,以便将图结构信息编码为低维节点表示形式。 这种操作可以看作是卷积神经网络(CNN)从网格结构到通用图的扩展。 GCN会平均聚合邻居在每个卷积中的嵌入,并以同等重要性对待每个邻居节点。 相比之下,图注意力网络(GAT)[30]利用注意力机制来考虑来自相邻节点的不同权重,这使模型能够滤除噪声并关注重要的相邻节点。
为了利用用户社交网络 G U G_U GU和项目隐式网络 G I G_I GI,我们提出了双图关注网络,即GCN / GAT的扩展,作为非线性聚合两个网络中邻居节点的嵌入的一种手段,从而产生了来自朋友和相关项目可以通过图传播到相邻节点。 如第1节所述,我们可以区分社交推荐系统中用户(重复项)的两种社交效果:同质效果和影响效果。 它们以不同的方式共同影响用户的偏好和项目属性。 DANSER 使用两个双重GAT来共同学习用户静态/动态偏好和项静态/动态属性的不同深度表示。
I. GAT捕获社交同质性(图2中标记为蓝色)。首先,通过用户嵌入,我们用 P P P表示固有的用户偏好因子。 然后,GCN / GAT操作可以通过以下方式输出新的表示形式:用户静态偏好因子 P ∗ P^* P∗
P ∗ = σ ( A P ( G U ) P W p T + b P ) P^* = \sigma \big( A_P \big( G_U\big) PW_p^T + b_P\big) P∗=σ(AP(GU)PWpT+bP) (1)
其中 σ \sigma σ, W p W_p Wp, b P b_P bP分别是激活函数,权重矩阵,偏差矢量,而 P ∗ P^* P∗是用户的更新表示,它通过使用从 G U G_U GU获得的注意力权重 A P ( G U ) = { a u v P } M × M A_P \big( G_U\big) = \{ a_{uv}^P\}_{M \times M} AP(GU)={auvP}M×M来合并社会信息 。 其元素定义如下:
a u v P = a t t n U ( W P p u , W P p v , W E e u v ) ∑ w ∈ τ U ( u ) a t t n U ( W P p u , W p p W , W E e u v ) , v ∈ τ U ( u ) a_{uv}^P = \frac {attn_U\big(W_Pp_u,W_Pp_v, W_Ee_{uv} \big) } {\sum_{w \in \tau_U\big(u\big)} attn_U\big(W_Pp_u, W_pp_W, W_Ee_{uv}\big)} , v \in \tau_U\big(u\big) auvP=∑w∈τU(u)attnU(WPpu,WppW,WEeuv)attnU(WPpu,WPpv,WEeuv),v∈τU(u)
其中 W E W_E WE是权重矩阵, τ U ( u ) = { u } ∪ F ( u ) \tau_U\big(u\big) = \{u\} \cup F\big(u\big) τU(u)={u}∪F(u), a t t n U ( x , y , z ) = L e a k y R e L u ( w U T z ⊗ ( x ∣ ∣ y ) ) attn_U\big(x, y, z\big) = LeakyReLu\big(w_U^T z \otimes \big(x ||y\big)\big) attnU(x,y,z)=LeakyReLu(wUTz⊗(x∣∣y)),而 w U w_U wU是权重向量,⊗和|| 分别表示按元素乘积和串联。 注意,给定用户 u u u和 v v v时,上述GAT权重 a u v P a_{uv}^P auvP保持不变,这意味着因子矩阵 P ∗ P^* P∗对于用户是固定的。 这种设计符合直觉,即社会同质性有助于用户偏好的静态效果,这就是为什么我们将其称为静态偏好因子。
II. GAT可以捕捉社会影响力(图2中标记为黄色)。 与社交同质相反,社交影响效果通常是上下文感知的,并且该模型需要为具有不同候选项目的朋友输出不同的关注权重。 通过嵌入层,我们将 Y u Y_u Yu作为用户 u u u单击的项的嵌入。 然后,我们让用户 u u u点击的每个商品与候选商品 i + i^+ i+互动,
Y u i + = { y j ⊗ y i + ∣ j ∈ R I ( u ) } Y_u^{i^+} = \{y_j \otimes y_{i^+} | j \in R_I\big(u\big)\} Yui+={yj⊗yi+∣j∈RI(u)}
该产品操作可以帮助您专注于候选商品,并在特定背景下建立动态的社会影响力模型。 我们定义基于项的用户嵌入 M i + = { m u i + } D × M M_{i^+} = \{m_u^{i^+}\}_{D \times M} Mi+={mui+}D×M,这取决于具有最大池化的候选项 i + i^+ i+,以选择 D D D维的最主要特征:
m u d i + = m a x j ∈ R I ( u ) { y j d ⋅ y i + d } ∀ d = 1 , . . . , D m_{ud}^{i^+} = {max \atop {j \in R_I \big(u\big)} } \{y_{jd} \cdot y_{i^+d}\} \ \ \ \ \ \forall d=1,...,D mudi+=j∈RI(u)max{yjd⋅yi+d} ∀d=1,...,D
其中 m u d i + m_{ud}^{i^+} mudi+, y i + d y_{i^+d} yi+d 和 y j d y_{jd} yjd分别是 m u i + m_u^{i^+} mui+, y i + y_{i^+} yi+和 y j y_j yj的第d个特征。 最大池化操作可以帮助您将注意力集中在最重要的值上,并减轻用户点击历史记录中的噪音。 基于项的嵌入 m u i + m_u^{i^+} mui+包含两个信息:i)用户 u 的上下文感知偏好(没有候选项 i + i^+ i+),以及ii)u 的固有表示(独立于社交信息)。 为了定义用户动态偏好因子 M i + ∗ M_{i^+}^* Mi+∗,我们继续合并来自好友用户的社交信息,
对于 v ∈ τ U ( u ) v \in \tau_U\big(u\big) v∈τU(u)。 请注意,上述注意力权重 a u v , i + M a_{uv, {i^+}} ^M auv,i+M取决于用户对评分项目以及特定候选项目 i + i^+ i+的历史记录,这表明因子矩阵 M i + ∗ M_{i^+}^* Mi+∗会随着不同的上下文而动态变化。 这种设计符合直觉,即社会影响力有助于用户偏好的上下文感知效果,因此我们将其称为动态偏好因子。
III . GAT捕获项目到项目的同质性(在图2中标记为绿色)。 同样,我们使用商品嵌入Q来表示固有商品属性因素,然后利用GAT整合社交信息,
其中 a t t n I ( x , y ) = L e a k y R e l u ( w I T ( x ∣ ∣ y ) ) attn_I\big(x, y \big) = LeakyRelu\big(w_I^T\big(x|| y\big)\big) attnI(x,y)=LeakyRelu(wIT(x∣∣y)),而 w I w_I wI是权重向量。 给定项目 i 和j,GAT权重 a i j Q a_{ij}^Q aijQ保持不变。 相应地,单项到单项对项目属性的静态影响有所贡献,我们称其为静态属性因子。
IV . GAT 捕获项目对项目的影响(在图2中标记为红色)。现在,我们利用项目对项目的影响进行建模,这是上下文感知的,并取决于特定的目标用户。 因此,我们的模型需要针对具有不同目标用户的不同相关项目输出不同的注意力权重。 类似于社会影响力,给定目标用户 u + u^+ u+的基于用户的项目表 N u + = ( n i u + ) D × N N_{u^+} = \big(n_i^{u^+}\big)_{D \times N} Nu+=(niu+)D×N可以定义如下:
其中 n i d u + n_{id}^{u^+} nidu+, x u + d x_{u^+d} xu+d和 x v d x_{vd} xvd分别是 n i u + n_i^{u+} niu+, x u + x_{u+} xu+, x v x_v xv的第d个特征。 然后可以如下计算项目动态属性 N u + ∗ N_{u+}^* Nu+∗ 的表示形式:
Pairwise Neural Interaction Layer. 由于用户对一项商品的决定通常取决于用户的偏好和商品属性,因此我们可以让两个偏好因素和两个属性因素成对地相互影响。 然后,我们从[11]中借用该思想,将这四个结果馈送到以 a∈{1、2、3、4}索引的不同神经网络中:
在这里,我们为每个网络采用塔式结构,其中高层具有较少的神经元[11]。
Policy-Based Fusion Layer. 我们进一步将四个相互作用的特征 s a s_a sa融合为一个合成的特征。 注意,同质效应和影响效应可以共同影响用户的偏好和项目属性,但是对于不同的用户和项目,双重社会效应的重要性可能不同。 为此,我们提出了一种新的基于策略的融合策略,可以根据特定的用户项对动态分配权重给四个交互的功能。
我们将权重分配建模为上下文multi-armed bandit 问题[1],其中用 γ∈{1、2、3、4}表示的动作指示要选择的特征,上下文是用户项目(user-item pair)对, 进行动作后的奖励代表推荐损失。 在这个问题中,随机策略可以写为条件概率 p ( γ ∣ p u , q i ) p\big(\gamma | p_u, q_i\big) p(γ∣pu,qi),它可以表征给定特定对(u,i)的不同社会效应组合的选择概率或重要性权重。
为了使问题可解决,我们通过神经网络(称为策略网络)近似 p ( γ ∣ p u , q i ) p\big(\gamma | p_u, q_i\big) p(γ∣pu,qi):
我们称上述策略为单头基于策略的融合。 受[29]的启发,我们可以将其扩展为多头版本。 我们利用 L 个不同的独立策略网络,最终权重由每个策略网给出的平均权重给出。 策略网络的培训是通过随机策略梯度进行的,将在3.2节中进行讨论。
Output Layer 用户 u 单击项目i的概率可以通过以下方式预测:
如果需要一个点击概率(用于隐式反馈),则 nn(·)可以是具有 sigmoid 激活函数的完全连接层。 如果需要一个评分(rating)值(用于显式反馈),则 nn(·)可以是不带激活功能的完全连接的层。
Loss Function 。 损失函数用于度量预测值与真实值之间的差异。 对于隐式反馈,最广泛采用的损失函数是定义为
为了获得明确的反馈,我们采用均方差:
在这里,我们专注于逐点损失。 同样,可以使用其他成对损失函数,我们将其留待以后研究。
在本小节中,我们介绍一些训练技术以提高模型性能。
Mini-Batch Training (小批量训练)。我们还利用小批量训练计算梯度。对于每次迭代,我们考虑 B 个用户项目对。对于每对(u,i),两个网络中的邻居节点 F U ( u ) F_U\big(u\big) FU(u), F I ( i ) F_I\big(i\big) FI(i)以及额定历史记录 R I ( v ) R_I\big(v\big) RI(v), v ∈ τ U ( u ) v \in \tau_U\big(u\big) v∈τU(u)和 R U ( j ) R_U\big(j\big) RU(j), j ∈ τ I ( i ) j \in \tau_I\big(i\big) j∈τI(i)将一起输入到模型中以计算梯度。一旦完成一个时期,批处理分区将被随机重置,以在优化过程中合并足够的噪声。在每个小批量中,由于用户的朋友数量不同,因此我们需要填充零,并在一个批次中输入最大朋友数量为维的矩阵。我们观察到,朋友的数量倾向于服从长尾分布(long-tail distribution ),因此填充会导致较高的空间和时间复杂度。因此,我们使用一种采样技术:1)对于大于 F 的朋友数,我们统一采样 F 个朋友作为输入数据; 2)对于小于 F 的朋友数,我们填充零以获得 F 维向量。我们还在中心节点附近的子图上试验了其他示例方法,例如带重启的随机游走(RWR)[28],但是我们发现,在相邻节点上进行统一采样可以达到有竞争力的性能。这种观察可以用社会学研究中的一种论证来证明,即来自用户的影响总是传播到社交网络中的相邻用户[7]。因此,我们采用了更简单的方法来减少时间复杂度。在实验部分,我们将研究样本量 F 对性能的影响。
Local-Graph Aware Regularization (本地图感知正则化) 另一个问题是正则化,以避免过度拟合问题。 在我们的模型中,我们采用 L1 正则化将嵌入参数约束为稀疏形式。 正则化损失可以表示为
但是,上述损失带来了很高的计算复杂性,因为对于每次批量训练,我们都需要计算所有用户和物品上的正则化梯度。 这样的操作不能推广到大规模数据集。 最近的工作[43]提出了一个小批量感知正则化技巧来解决此问题。 在每次批次训练中,仅将批次中用户项对(u,i)的嵌入参数用于计算正则化损失。 在这里,我们将此思想扩展到图结构,并将其称为局部图感知正则化。 在每次批量训练中,我们限制用户,商品及其邻居节点在社交网络和商品隐式网络中的嵌入参数。 新的正则化损失可以写成
实际上,本地图感知正则化是将每个微型批处理的正则化损失分成小部分,并保证一旦完成一个纪元,每个用户和每个项目都可以均等地进行正则化。 综上所述,最终的损失函数为
其中,λ 是精度和复杂度之间的折衷参数。
此外,对于神经网络中的参数(权重矩阵和偏差向量),我们采用 dropout 策略来代替传统的正则化。我们的实验将进一步讨论不同dropout 概率 ρ 的影响。
Policy Gradient (政策梯度)。在训练阶段,我们以随机方式训练政策网络。假设 p l ( γ ∣ p u , q i ) p_l\big(\gamma|p_u,q_i\big) pl(γ∣pu,qi)为第 l l l个策略网络给出的激活概率,并且随机变量 γ 服从多项式分布。对于每个策略网络,我们画出 γ ∼ M u l t i ( p l ( γ ∣ p u , q i ) ) \gamma \sim Multi\big(p_l\big(\gamma|p_u,q_i\big)\big) γ∼Multi(pl(γ∣pu,qi)),然后将 s γ s_\gamma sγ馈送到输出层,从而给出预测并返回损失。我们利用损失来训练政策网络。该设计可以用行为者批评的术语表述:i)给定环境(用户 u 和项 i ),第 l l l个代理(策略网)需要根据策略执行操作 p l ( γ ∣ p u , q i ) p_l\big(\gamma|p_u,q_i\big) pl(γ∣pu,qi); ii)每个行动都会产生奖励(建议损失),从而可以引导政策网络的训练。我们将奖励定义为减去所选交互特征所产生的损失,即 R ( p u , q i , γ ) = − ς ( s γ ) R\big(p_u, q_i, \gamma \big) = - \varsigma (s_{\gamma }) R(pu,qi,γ)=−ς(sγ)(其中 ς ( s γ ) \varsigma \big(s_{\gamma }\big) ς(sγ)表示将 s γ s_{\gamma } sγ输入到输出层时的损失)。我们的目标是使期望奖励 E γ ∼ p l ( γ ∣ p u , q i ) ( R ( p u , q i , γ ) ) E_{ \gamma \sim p_l\big(\gamma|p_u,q_i\big) } \big(R\big(p_u, q_i, \gamma \big)\big) Eγ∼pl(γ∣pu,qi)(R(pu,qi,γ))最大化。策略梯度方法 REINFORCE [33]可用于更新一个策略网络中的参数(表示为 θ),并且梯度可得出如下:
Training Algorithm DANSER的训练迭代地更新了策略网络和前馈网络(包括嵌入,双重GAT,成对神经交互和输出层),这在Alg中进行了介绍。 1.首先,我们通过优化(2)更新np步的前馈网络(一个步的一个微型批处理)。 然后我们通过进行相应的策略梯度来独立训练 L L L个策略网络(3)。
Complexity Analysis 由于复杂度和可伸缩性是图算法的两个重要问题,因此我们分别研究 DANSER 的复杂度以进行模型训练和推理。 为了进行训练,我们需要批量更新 B B B个用户项项目对的所有朋友用户和相关项的嵌入,这需要时间复杂度 O ( B F C D ) O\big(BFCD\big) O(BFCD),其中 C = m a x { ∣ R I ( v ) ∣ ∣ v ∈ τ U ( u ) } ∪ { ∣ R U ( j ) ∣ ∣ j ∈ τ I ( i ) } C = max \{|R_I\big(v\big)| \ |v \in \tau_U\big(u\big)\} \ \cup \ \{|R_U\big(j\big)| \ |j \in \tau_I\big(i\big)\} C=max{∣RI(v)∣ ∣v∈τU(u)} ∪ {∣RU(j)∣ ∣j∈τI(i)}。 我们可以通过为用户截断最近的 C t C_t Ct等级项目来将 C 限制在一个有限的值。 朋友数量 F 由我们的示例方法控制。 同样,为了进行推断,我们需要 O ( B F C D ) O\big(BFCD\big) O(BFCD)来计算GAT表示形式。 因此,DANSER 可以线性缩放用户项目互动的数量。
在本小节中,我们将讨论关键部门(双重GAT层和基于策略的融合层)的有效性,以便对 DANSER 产生更多见解。
Justification of Dual GATs。 在训练过程中,捕获同质效果的GAT将为那些对商品的偏好在总体上与目标用户相似(对用户的吸引力在总体上与候选商品相似的相关商品)上给予更大的权重,因此静态偏好(resp. attribute )因子捕获朋友用户的静态效果(resp. related items) 。 不同的是,GAT给出用来捕获影响效果的权重取决于目标用户(项目),因此相应的动态因素会从本地视图中捕获上下文感知的效果。 在每个领域中,双重GAT共同为双重效果建模,并采用全局和局部视图来对不同的用户和项目进行更准确的调查。
为了更具有象征意义,我们通过考虑以下两种情况来向目标用户 u + u^+ u+推荐候选项目 i + i^+ i+来说明其有效性:项目 i + i^+ i+类似于项目 i 1 i_1 i1, i + i^+ i+类似于 i 2 i_2 i2(请参见图的左列和右列)图3)。在这里,我们假设用户 u + u^+ u+仅点击了 i 1 i_1 i1和 i 2 i_2 i2(没有其他项目),并且用户 u 1 u_1 u1至 u 4 u_4 u4是 u + u^+ u+ 的朋友。先前的社交推荐作品平均考虑朋友的静态影响。如图3.(a)所示,对于单击了两个项目的朋友 u 1 u_1 u1,注意力权重将很大,而对于朋友 u 4 u_4 u4则相反。对于 u 2 u_2 u2和 u 3 u_3 u3,它们的权重中等,因为它们都与 u + u^+ u+部分相似。因此,当涉及到项目 i + i^+ i+时,静态权重无法区分用户 u 2 u_2 u2和 u 3 u_3 u3的影响,即使已知它类似于 i 1 i_1 i1或 i 2 i_2 i2。相反,DANSER 包含两种不同的注意权重,其中一种捕获用户特定的静态效果(对于同质性),而另一种可以在不同的上下文中动态变化(即,对于影响)。当候选项目 i + i^+ i+与 i 1 i_1 i1(分别为 i 2 i_2 i2)相似时,社会影响力GAT将更多地集中于 u 1 u_1 u1和 u 3 u_3 u3(分别为 u 1 u_1 u1和 u 3 u_3 u3)。然后,当 i + i^+ i+与 i 1 i_1 i1相似时,两个GAT的合力将使 u + u^+ u+对 u 2 u_2 u2更加关注,而在另一种情况下,则对 u 3 u_3 u3更加关注。 DANSER的全局和局部视图可以协同工作,以在特定上下文中选择与目标用户相似的“正确”邻居,从而提高模型的表达能力。在第4.5节中,我们将通过案例研究验证上述论点。
Justification of Policy-Based Fusion 基于策略的融合层在训练时就像一个随机网络,而 REINFORCE 算法可以帮助探索四个交互特征上的最佳权重分布。 由于更有可能选择具有较大主动概率的交互功能,因此提供“最佳”功能的交互神经层将更加频繁地被训练。 这种机制带来了两个主要好处。 首先,政策网络可以过滤“正确的”用户项样本,以训练相应的交互神经层以及以前的GCN / GAT和嵌入层。 其次,主动概率将随机模式引入训练过程,这可以帮助摆脱局部最优。 与其他简单策略相比,我们在实验部分进行的消融研究也验证了基于策略的融合的优越性。
为了全面评估 DANSER 模型的建议,我们进行实验以回答以下研究问题:
RQ1: DANSER 与最新的推荐和社交推荐模型相比表现如何?
RQ2: DANSER中的关键组件(例如双重GAT和基于策略的融合)是否对提高性能必不可少?
RQ3: DANSER中的超参数如何影响推荐性能?
RQ4: DANSER如何从现实数据中解释四种不同的社会影响?
我们将模型应用到一个用于社交推荐 Epinions 的公共基准数据集和一个商业数据集 WeChat Top Story 。 我们在表1中提供了这两个数据集的一些统计信息。关于这两个数据集的基本信息总结如下:
i)Epinions: Epinions是一个消费者评论网站,用户可以在其中评估某些商品并将其他用户添加到其信任列表中。 Epinions 数据集[22]包含两部分信息:用户与项目的交互对,其中项目的评分为1到5(显式反馈),以及用户之间的直接信任关系。 该数据集已被广泛用作社会推荐的基准。 在进行其他工作[10、16、31、36]之后,我们为每个数据集随机选择80%的用户-项目交互作为训练集,其余20%作为测试集。
ii)WeChat: 我们还将模型部署在现实世界中的商品推荐系统 WeChat Top Story上。 该数据集是通过在该平台上点击用户文章来构建的。 与 Epinions 不同,此数据集仅包含隐式反馈,即我们仅知道用户是否单击了文章。 此外,朋友关系是双向的。 我们按时间顺序排列 user-article 点击记录,并使用前90%的记录来训练我们的模型,并使用其余的记录来评估预测性能。 由于正样本和负样本在此数据集中相当不平衡,因此我们统一对负样本进行采样,以使一个用户的正样本和负样本数量相同。
我们使用 Tensorflow 来实现我们的模型并将其部署在具有 8G 内存的GTX 1080 GPU上。 Epinions的超参数设置如下:批量大小 B = 64,嵌入尺寸 D = 10,dropout ratio τ = 0.5,正则化系数 λ= 0.001,样本大小 F = 30,截短长度 C t C_t Ct= 30,多头( multi_head ) 数 L = 4,策略梯度周期 n p n_p np =1000。学习率 η= 0.1,ζ= 0.01。 The Leaky ReLu 斜率为0.2。 在成对交互神经层中,我们采用三层神经网络,神经元数为10 − 16 − 8 − 4。
我们选择几种比较方法,包括一些最新的推荐和社交推荐模型,以评估 DANSER 的性能。 每种方法的最佳超参数设置均由我们的实验确定或由先前的工作提出。
推荐模型包括 SVD ++ [15] 和 DELF [2]。 这两种方法仅将用户项目交互用作模型输入。 它们可用于评估使用社交信息的其他模型的有效性。
社交推荐模型包括 TrustPro,TrustMF,TrustSVD,NSCR,SREPS。 这些方法都利用用户项目交互和用户友谊作为输入信息。
我们还构建了 DANSER 的几种变体作为消融研究。 为了评估双GAT层的必要性,我们将模型简化为 DualEMB ,DualGCN,userGAT和itemGAT。 DualEMB消除了相邻节点上的卷积,而DualGCN用GCN代替了GAT。 userGAT删除item域中的两个GAT,而itemGAT删除user域中的两个GAT。 此外,为了评估基于策略的融合层的必要性,我们考虑以下变体。 DANSER-m 和 DANSER-a 分别利用最大池和平均池来融合四个交互功能。 DANSER-c 将四个相互作用的要素串联起来作为输出层的输入。 DANSER-w 删除策略网,设置四个共享融合权重,并与训练前馈网络一起更新权重。
我们采用不同的指标来评估推荐效果。 由于两个数据集拥有不同的反馈,因此我们为它们考虑不同的指标。 对于具有明确反馈的 Epinions,我们将MAE和RMSE(它们被其他著作广泛采用)用作评估指标。 对于具有隐式反馈的微信,我们使用Precision@k(简称P @ k)和 AUC,这是0-1分类的两个公认指标,反之亦然。 评估效果。 我们将每个实验重复十次,并报告平均效果。
我们在表2中报告了 DANSE 和其他比较方法的实验结果。我们可以看到,我们的DANSER 模型优于其他比较方法并取得了很大的改进,即提高了2.87%的MAE提升。 Epinions和4.48%AUC展示次数。对于微信。结果证明了所提出的社会推荐模型的优越性。同样,在这些比较实验中也有一些发现。首先,像TrustMF和TrustSVD这样的矩阵分解方法可以在带有显式反馈的Epinions中实现良好的准确性,但在带有隐式反馈的WeChat中表现不佳。其次,NSCR的性能比其他线性方法要好得多,这表明神经网络在捕获复杂的非线性信息中起着重要的作用。第三,即使DELF没有利用任何社交信息,它也比某些社交推荐方法(如TrustSVD和NSCR)表现更好。这可能是由于以下事实:i)DELF中的双重嵌入和神经交互层可以更好地利用用户-项目交互中的信息; ii)其他社交推荐方法(例如TrustSVD和NSCR)没有充分利用社交信息。实际上,TrustSVD假定每个朋友用户都具有同等的重要性,而 NSCR 使用图正则化以静态方式约束相邻用户的表示。这些设置基于先前的假设,即朋友用户的偏好都相似,这对于当代SNS可能并非如此(也在第1节中进行了讨论)。
为了验证模型中某些组件的有效性,我们进行了一些消融研究,结果显示在表3中。我们首先将 DANSER 与DualEMB和DualGCN进行比较。 正如我们所看到的,GCN可以捕获隐藏在图结构中的足够的社交信息并提高推荐准确性(相对于DualEMB,MAE的提高约1.0%),而GAT可以通过区分朋友用户的重要性权重来进一步提高性能(约提高0.8%的实现) 。 其次,我们将DANSER与userGAT和itemGAT进行比较。 结果表明,用户网络和项目网络的结合都可以带来显着的性能提升,并且用户社交网络带来的收益更大。
我们也评估基于策略的融合层的必要性。 结果表明,我们的基于策略的融合和策略梯度方法可以大大提高准确性。另外,Epinions,改进是相当显著。 一个可能的原因是,Epinions中的社会效应比微信中的社会效应更加异质,因此动态权衡不同的社会效应对Epinions更为有效。 更重要的是,由于DualEMB可以看作是DELF的扩展[2],因此我们用策略单元替换了四个嵌入的串联。 将表3中的DualEMB与表2中的DELF进行比较,我们发现该策略单元确实有助于提高其性能,并且优于直接连接。
我们也评估基于策略的融合层的必要性。 结果表明,我们的基于策略的融合和策略梯度方法可以大大提高准确性。另外,Epinions,改进是相当显著。 一个可能的原因是,Epinions中的社会效应比微信中的社会效应更加异质,因此动态权衡不同的社会效应对Epinions更为有效。 更重要的是,由于DualEMB可以看作是DELF的扩展[2],因此我们用策略单元替换了四个嵌入的串联。 将表3中的DualEMB与表2中的DELF进行比较,我们发现该策略单元确实有助于提高其性能,并且优于直接连接。
在第1节中,我们强调提出了社交推荐,以解决推荐系统中的数据稀疏和冷启动问题。在这里,我们要研究DANSER对于冷启动用户的性能。图4显示了在Epinions和WeChat上针对具有不同数量的点击项目和好友的用户的结果。我们介绍了中位数,即75%和25%的MAE / AUC。如我们所见,随着单击项的数量增加,上下限之间的差距变窄,这表明性能变得更好。通常,DANSER可以实现更好的总体性能以及更低的MAE / AUC变化。如图所示,对于具有不同朋友编号的用户,当朋友编号增加时,三种方法的变化趋势是不同的。对于DualEMB,性能有所提高。对于DualGCN,性能会明显下降,而DANSER的性能会更好。这可能是因为对于有大量朋友的用户而言,GCN操作可能会包含更多误导性信息,而GAT可以专心过滤噪声并将精力更多地集中在重要的邻居节点上。
我们通过一些超参数来研究模型的性能变化,其中包括正则化参数 λ,dropout 率 ρ,嵌入维数 D,样本大小 F.(其他超参数对模型性能影响不大,因此出于空间限制我们跳过了对它们的讨论)结果如图5所示,并给我们带来了启发。 i)正则化参数起着重要作用,如果参数太大,则该模型将无法专注于最小化推荐损失。 ii)如果dropout 率太大,则随机模式会阻碍训练。如果ρ太小,将失去正则化效果。 iii)需要适当的嵌入尺寸。如果它太小,则模型缺乏表达性;而如果它太大,则表示向量将变得如此稀疏,从而导致性能下降。 iv)随着样本数量的增加,准确性提高,但计算成本也随之增加。因此,适当的样本量可以在复杂性和准确性之间保持良好的平衡。
我们对四个用户项对进行了案例研究,并在图6中显示了四个GAT按节点大小给出的权重。我们可以看到,对于同一个用户或项目,两个同质GAT的权重保持不变,而权重有两种影响力的GAT对于不同的用户项目对有所不同。此外,影响力GAT倾向于为具有相同标签的节点分配更大的权重,这呼应了3.3节中的论点,即影响力GAT在特定情况下倾向于更多地集中在相似的节点上。此外,政策权重在从四个GAT表示中选择最主要的交互功能方面也起作用。
更重要的是,我们可以通过两级图示来分解推荐系统中社会效应的模型可解释性:i)对于特定的用户-项目对(u,i),策略权重首先指示用户中社会效应的主要组合领域和项目领域,ii)四个社交效应的对应GAT进一步给出了给定项目i的每个朋友的影响程度以及给定用户u的每个相关项目的影响程度。
Social Recommendation : 在在线社交网络中,朋友往往会对用户的决定和行为产生重大影响[9,26]。关于社交网络分析中的图结构,有很多关于社交影响的研究,例如均质[23]和影响[20]。对于推荐系统,[13]是利用社交网络缓解项目推荐的数据稀疏性问题的先驱者之一。随后,许多后续研究开始从各种角度对推荐系统中的社会效果进行建模。 [5,12,21]通过利用朋友的评分来推导目标用户的评分来提出信任传播方法。这种方法是非常启发式的,称为基于相似性的方法。然后其他研究提出了一种更现代的方法,即基于模型的方法。 [19,38]使用正则化约束邻居用户的嵌入向量相似,[8,17,36]使用矩阵分解将相邻矩阵合并到用户嵌入中。由于上述方法只能捕获线性信息,因此一些最近的研究,例如[4,31]和[16,32,41],分别利用深度神经网络和网络嵌入方法来学习图结构的更复杂表示。但是,与本文中使用的双重GAT相比,现有研究的普遍局限性在于:i)他们认为邻居的影响同等重要或受到静态约束,ii)他们忽略了相关项目的社会影响,iii)建模社会影响缺乏可解释性。
Graph Convolution/Attention Network : GCN和GAT作为将复杂图形编码为低维表示形式的两种强大技术,自从其提出[3,14,30]以来,已广泛应用于涉及图形数据的各种问题。使用GCN和GAT解决图形中的半监督分类问题可以实现最新的性能(根据[30],GAT可以看作是GCN的扩展并提供更好的性能),并且其良好的可伸缩性使其能够处理大规模数据集。现有研究利用GAT解决社会影响力分析[24],图节点分类[6],对话生成[44],关联性匹配[41]。作为推荐,最近的一些研究,例如[39]采用GCN来卷积用户项目网络(二部图),以更好地表示商品,还有一些使用GCN来捕获社会信息以进行推荐的工作[40] [34]。 ]。我们是第一个使用GAT进行社交推荐任务的人,我们的新架构双重GAT可以在用户和商品网络中捕获社交信息。
Dual Mechanism : 现实生活中有许多双重现象激发了模型设计中的几种双重结构。 [35]提出了一个双重模型范式来合并两个双重任务的训练。 [45]将GCN扩展为双重结构,在图中组合了全局和局部一致性。 [2]提出了DELF对推荐系统中的用户和项目进行双重嵌入。与[2]相比,我们的模型具有几个主要差异:i)基于项目的用户嵌入(分别为基于用户的项目嵌入),DANSER考虑在特定候选项目(分别为目标用户)下进行动态嵌入,而DELF处理静态嵌入给定用户(resp. item)的对象; ii)在双GCN / GAT层中,DANSER利用两个双GAT捕获用户社交网络和项目隐式网络中的社交信息,而DELF认为没有用户对用户和项目对项目的相互影响; iii)在基于策略的融合层中,DANSER动态权衡四个GAT表示的重要性,而DELF直接连接四个嵌入向量。
在本文中,我们提出了DANSER,其中包括两个双图注意网络,以学习推荐系统中社会效应的深入表示。我们的方法具有良好的表现力,因为:i)它可以协同建模同构并影响朋友用户和相关项目的影响; ii)可以针对不同的用户项目对两个双重社会效应的不同相互作用之间的异质重要性分布进行调查。我们在基准数据集和商业数据集上进行的比较实验和消融研究表明,DANSER可以学习多方面社会效应的有效表示,并利用这些信息来显着提高推荐准确性。
作为我们工作的扩展,我们相信项目隐式网络的构建可以利用额外的属性功能,或者在可以获得信息的情况下通过知识图提取更多的高级连接。更普遍的是,可以将DANSER扩展到其他信息检索任务,例如问题回答,其中DANSER可以根据相关问题和给出相应答案的相似答案对“社会影响”进行建模。