CKAN: Collaborative Knowledge-aware Attentive Network for Recommender Systems

以下内容纯属个人见解,欢迎大家交流。
发布于2020 SIGIR

1.motivation

1.1问题

知识图谱作为辅助信息在推荐系统中得到了广泛的研究和应用。然而,现有的基于知识属性的推荐方法大多关注于如何有效地对知识属性关联进行编码,而没有突出隐藏在用户-物品交互中的关键协同信号。因此,学习到的嵌入信息没有充分利用这两种关键信息,不能有效地表示用户和项目在向量空间中的潜在语义。

1.2解决办法

提出了一种新的协作知识感知注意网络方法(Collaborative Knowledge-aware Attentive Network,CKAN),用异质传播策略显式编码这两种信息,并使用知识感知的关注机制来区分不同知识邻居的贡献。

2. 相关介绍

CKAN的设计有两种:1)异构传播(Heterogeneous propagation),它由协作过程和知识图传播(knowledge graph propagation)组成,将交互和知识视为两个不同空间中的信息,以自然的方式进行组合,使它们共享不同的权重,从而形成嵌入。2)知识感知注意嵌入(Knowledge-aware attention embedding)是一种全新的知识感知神经注意机制,用于学习不同条件下相邻节点在KG中的不同权重。

3. model

3.1符号说明

用户集合U=\{u_1,u_2,\dots,u_M\},物品集合V=\{v_1,v_2,\dots,v_N\},用户-物品交互矩阵Y\in R^{M*N},u、v交互过,则y_{uv}=1,否则y_{uv}=0,知识图谱为g=\{(h,r,t)|h,r\in \varepsilon,t\in \Re\},\mathcal{A}=\{(v,e)|v\in V, e\in \varepsilon\}。

3.2 Heterogeneous Propagation

3.2.1 Collaboration Propagation.

用户在历史上与之交互过的物品在一定程度上能够表示用户的偏好,通过用户u的历史查询得到用户u的相关项集,通过项与实体的比对,将其转换为在KG中传播的初始实体集。用户u的初始实体集定义如下:
\varepsilon_u^0=\{e|(v,e)\in \mathcal{A}\ and\ v\in\{v|y_{uv}=1\}\}
类似的,与同一产品进行过交互的用户也会因为他们相似的行为偏好而对该产品的特征表示做出贡献。我们将已被同一用户交互的项目定义为协作邻居,并将项目v的协作项目集定义如下:
V_v=\{v_u|u\in\{v|y_{uv}=1\}\ and\ y_{uv_u}=1\}
则物品v的初始化实体集为:
\varepsilon_v^0=\{e|(v_u,e)\in \mathcal{A}\ and\ v_u\in V_v\}
协作传播层能够显式地将最有效地表达潜在语义的一阶交互信息编码到初始实体集中,从而增强用户和项目的表示,提高编码效果。需要注意的是,根据定义,项目v的初始实体集也包含了与项目v直接相关的实体。这样的设计可以不断强调原始项目v的信息,减少多层传播带来的偏差。

3.2.2 Knowledge Graph Propagation

KG中的相邻实体总是有很强的关联。在KG中沿着链路传播,可以得到扩展的实体集和与初始实体集距离不同的三元组集合,这些集合能够有效地扩展用户和项目的潜在向量表示。用户u和项v的实体集定义递归表述为:
\varepsilon_o^l=\{t|(h,r,t)\in g\ and\ h\in \varepsilon_o^{l-1}\},l=1,2,\dots,L
其中l表示与初始实体集的距离,下标符号o是符号u或v的统一占位符。给定实体集的定义,我们对用户u和物品v的第l个三元组集定义如下:
S_o^l=\{(h,r,t)|(h,r,t)\in g\ and\ h\in \varepsilon_o^{l-1}\},l=1,2,\dots,L
将知识图作为边信息来构建我们的模型是有意义的,因为相邻实体可以看作是用户偏好和产品特征的直观延伸。如模型图所示,通过协同传播(类似于声源)得到的初始实体集在kg介质中逐层传播,从附近扩散到远处。通过基于知识的深度传播,有效地捕获了基于知识的用户和物品的高阶交互信息,有效地提高了模型用潜在向量表示用户和物品的能力。

3.3 Knowledge-aware Attentive Embedding

当每个尾实体在KG中有不同的头实体和关系时,每个尾实体具有不同的意义和潜在向量表示。例如,《阿甘正传》和《荒岛生活》在导演和演员方面有更多的共同点,但如果以题材或作家来衡量,就没有那么相似了。在此基础上,提出了一种基于知识感知的动态嵌入方法,通过生成不同的关注权值来揭示在得到不同的头部实体和关系时尾部实体所具有的不同意义。
考虑(h,t,r),是第l层的第i个三元组,我们对尾实体建立注意力嵌入:
\alpha_i=\pi(e_i^h,r_i)e_i^t
z_0=ReLU(W_0[e_i^h,r_i]+b_0)
\pi(e_i^h,r_i)=\sigma(W_2ReLU(W_1z_0+b_1)+b_2)
\pi(e_i^h,r_i)=\frac{exp(\pi(e_i^h,r_i))}{\sum_{(h',r',t')\in \varepsilon_o^l} exp(\pi(e_i^{h'},r'_i))}
最终第l层的嵌入为:
e_o^{(l)}=\sum_{i=1}^{|S_o^l|}\alpha_i^{(o)},l=1,2,\dots,L
请注意,由于初始实体集中的实体类似于知识传播的种子,它们最接近原始表示,所以初始实体集与原始用户和项目有很强的联系。据此,我们为user和item分别添加初始实体集的代表:
e_o^{(0)}=\frac{\sum_{e\in \varepsilon_o^0 }e}{|\varepsilon_o^0|}
特别地,v有其原始表示的相关实体,而用户u没有。原始相关实体是潜在语义空间中距离项目v本身最近的节点。因此,我们将其加入到项v的表示集中,并对其进行如下定义:
e_v^{(origin)}=\frac{\sum_{e\in \{e|(e,v)\in \mathcal{A}\} }e}{|\{e|(e,v)\in \mathcal{A}\}|}
在知识感知的注意嵌入后,我们构造了包含基于知识的注意加权表示和附加表示的表示集,用于user u和item v,如下所示:
\mathcal{T}_u=\{e_u^{(0)},e_u^{(1)},\dots,e_u^{(L)}\}
\mathcal{T}_v=\{e_v^{(origin)},e_v^{(0)},e_v^{(1)},\dots,e_v^{(L)}\}

3.4 model prediction

用户和物品的表示都是数据集,将数据集中的向量进行聚合有三种方法。
(1)加和聚合
agg_{sum}^{(o)}=\sigma(W_a\cdot \sum_{e_o\in \mathcal{T}_o}e_o+b_a)
(2)池化聚合
agg_{sum}^{(o)}=\sigma(W_a\cdot Pool_{max}(\mathcal{T}_o)+b_a)
(3)连接聚合
agg_{sum}^{(o)}=\sigma(W_a\cdot [e_o^{(1)},e_o^{(2)},\dots,e_o^{(L)}])+b_a)
预测器为:
\overset{\frown} {y}_{uv}=e_u^Te_v

4 实验结果

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容