CKAN

问题定义

输入

  • M个用户
  • N个物品
  • 通过用户的log(点击,观看,购买), 得到用户-项目交互矩阵
    • 1 -> 交互, 0为不交互
  • 以知识图谱的形式组织边信息
    • 三元组(h, r, t)
      • 包含双向边 -> actorOf 和 actedBy
  • 集合 A = {(v, e) | v \in V, e \in E}, 其中(v, e)表示项v可以与知识图谱中的e对齐

输出

  • 预测用户u与他之前没有接触过的项目交互的概率是多少

方法

image-20210524162224937
  • 总共有三个部分组成
    • 异构传播层(异构是指两种不同的传播结构, 通过知识图谱中用户-物品的交互以及知识关联来传播协作信号)
    • 知识感知关注嵌入层-> 提出了一种新的神经知识感知注意机制来学习基于知识的权重并生成实体的加权表示
    • 预测层-> 聚合来自不同传播层的用户和项目表示,输出点击概率

异构传播层

  • 由协作传播和知识图传播两大模块组成。协作传播用于显式地将关键协作信号编码成用户和项目的表示。知识图传播沿着KG中的链接传播知识关联,以递归地扩展具有补充辅助信息的用户和项目的表示。

协作传播

  • 用户在历史中与之交互的项目能够在一定程度上代表用户的偏好。与传统上使用独立的潜在向量不同,我们用用户的相关物品来表示用户。通过用户u的历史交互获得的相关项集可以被转换为通过项和实体之间的比对在KG中传播的初始种子集。
image-20210524181226965
  • 与同一项目进行过交互的用户也可以由于其相似的行为偏好而对该项目的特征表示做出贡献。
image-20210524181450299
  • 综合协同项目集和对齐集,定义了Itemv的初始实体集如下:
image-20210524182151649
  • 协作传播层能够将最有效地表达潜在语义的一阶交互信息显式编码到初始实体集中,从而增强了对用户和项目的表示,提高了推荐效果。注意,根据定义,项目V的初始实体集还包含与项目V直接关联的实体。这样的设计可以持续强调原始项目V的信息,并减少由于多层传播而产生的偏差。

知识图传播

  • KG中的相邻实体总是有很强的关联性。在KG中沿着链路传播,可以得到与初始实体集不同距离的扩展实体集和三元组,能够有效地扩展用户和项目的潜在向量表示。Useru和itemv的实体集定义递归表示为:(o是指user和item两个)
image-20210524182734162
  • 给定实体集的定义,然后定义useru和itemv的l个三元组,如下所示:
image-20210524183853558
  • 将知识图作为边信息来构建我们的模型是很有意义的,因为相邻实体可以被看作是用户偏好和项目特征的直观延伸。如图2所示,通过协同传播获得的初始实体集,类似于声波的源,在KG介质中由近到远逐层传播。通过基于知识的深度传播,成功捕获了基于知识的用户和物品的高阶交互信息,有效地提高了模型用潜在向量表示用户和物品的能力。

知识感知的注意力嵌入

当每个尾部实体在KG中具有不同的头部实体和关系时,它具有不同的含义和潜在的向量表示。例如,《阿甘正传》和《荒野猎人》在导演或演员阵容方面有更多相似之处,但如果以类型或编剧来衡量,就不那么相似了。因此,我们提出了一种知识感知的注意力嵌入方法来生成尾部实体的不同关注度权重,以揭示当尾部实体获得不同的头部实体和关系时其具有的不同含义。

考虑到(h,r,t)是第l层三元组集合中的第i个三元组,我们构造了一个尾部实体的注意嵌入算法,如下所示:

image-20210524185928273
  • 其中e^h_i是头实体的嵌入,R_i是关系的嵌入,e^t_i是第i个三元组的尾实体的嵌入。π(e^h_i,r_i)控制头部实体产生的注意力权重以及头部和尾部之间的关系。我们通过类似于注意机制的神经网络来实现函数π(·),其公式如下:
image-20210525145827325
  • 其中,我们选择RELU作为非线性激活函数,最后一个激活函数是Sigmoid[5]。||是拼接操作。W和b是可训练权重矩阵和偏差,它们的不同下标表示它们是不同层次的参数。此后,通过采用SoftMax函数[12],我们对三元组中的整个三元组的系数进行归一化:
image-20210525150718709
  • 其中S^l_o是用户或项目的第l层三元组。因此,注意力权重能够建议对哪个相邻尾部实体给予更多关注,以更有效地捕捉知识关联。
  • 最后,我们得到了关于useru或itemv的第l层三元组的表示:
image-20210525151202718
  • 其中,下标和上标o是u或v的统一占位符,|S^l_o|是集合S^l_o中的三元组数量。
  • 由于初始实体集中的实体(类似于基于知识的传播的种子)最接近原始表示,因此初始实体集中与原始用户和项目有很强的联系。相应地,我们为用户和项目添加初始实体集的表示:
image-20210525151612878
  • 特别地,itemv具有用于其原始表示的相关实体,而useru没有。原始相关实体是潜在语义空间中与项目v本身最接近的节点。我们将其添加到项目v的表示集,并将其定义如下:
image-20210525152109339
  • 在知识感知的关注嵌入之后,我们形成了包含基于知识的关注加权表示和针对useru和itemv的附加表示的表示集,如下所示:
image-20210525152647696

模型预测

每一层的表征可以理解为强调不同高阶连通性和偏好相似性的层次化势能影响。我们实现了三种类型的聚合器来将等式(12)中的多个表示聚合成用户和项目的单个向量。

求和聚合器(Sum aggregator)

  • 求和聚合器在应用非线性变换之前将表示集中的多个向量求和
image-20210525154155040
  • 这里我们将非线性函数设为Sigmoid,W_a和b_a是可训练的权重和偏差。我们对其他两个聚合器使用相同的符号和非线性函数。

池化聚合器(Pooling aggregator)

  • 池化聚合器取多个向量的最大值作为同一纬度,然后进行非线性变换:
image-20210525154746393

拼接聚合器(Concat aggregator)

  • Concat聚合器将表示集中的表示向量连接起来,并按如下方式使用非线性变换:
image-20210525154827151
  • 其中e^{i_k}_o∈to,||是串联操作。
  • 请注意,由于用户和项目的聚合向量表示在下一次计算中需要具有相同的维度(例如内积),因此我们为三个聚集器选择多个表示的平衡组合。我们将在4.5.2节中讨论详细信息。
  • 我们用e_u来表示用户的聚合向量。类似地,对于Item,声明了e_v。最后,我们对表示进行内积运算,以预测用户对该项目的偏好得分:
image-20210525155323329

Loss Function

为了平衡正负样本的数量,保证模型训练的效果,我们对每个用户抽取与正样本数相同的负样本数。

image-20210525155445365

实验

数据集

  • 音乐(Last.fm), 书籍(Book-Crossing), 电影(MovieLens-20M), 餐厅推荐(美团-大众点评)
  • 负样本: 从未交互的项目中随机抽取大小与其交互的项目中相同的样本
  • 前三个使用MS的Satori中构建子KG,美团有三元组组成的KG

BaseLines

为了验证CKAN的有效性,我们将CKAN与基于CFMF的推荐方法(BPRMF)、基于嵌入的推荐方法(CKE)、基于路径的推荐方法(PER)和基于传播的推荐方法(RippleNet,KGCN,KGNN-LS,KGAT)进行了比较:

实验设置

  • 6:2:2 训练:评估:测试
  • 点击率预测 -> 预测测试集每个交互的概率
  • Top-K 为测试集每个用户选择K个预测概率最高的项目

实验结果

image-20210525162746440

问题定义

输入

  • M个用户
  • N个物品
  • 通过用户的log(点击,观看,购买), 得到用户-项目交互矩阵
    • 1 -> 交互, 0为不交互
  • 以知识图谱的形式组织边信息
    • 三元组(h, r, t)
      • 包含双向边 -> actorOf 和 actedBy
  • 集合 A = {(v, e) | v \in V, e \in E}, 其中(v, e)表示项v可以与知识图谱中的e对齐

输出

  • 预测用户u与他之前没有接触过的项目交互的概率是多少

方法

image-20210524162224937
  • 总共有三个部分组成
    • 异构传播层(异构是指两种不同的传播结构, 通过知识图谱中用户-物品的交互以及知识关联来传播协作信号)
    • 知识感知关注嵌入层-> 提出了一种新的神经知识感知注意机制来学习基于知识的权重并生成实体的加权表示
    • 预测层-> 聚合来自不同传播层的用户和项目表示,输出点击概率

异构传播层

  • 由协作传播和知识图传播两大模块组成。协作传播用于显式地将关键协作信号编码成用户和项目的表示。知识图传播沿着KG中的链接传播知识关联,以递归地扩展具有补充辅助信息的用户和项目的表示。

协作传播

  • 用户在历史中与之交互的项目能够在一定程度上代表用户的偏好。与传统上使用独立的潜在向量不同,我们用用户的相关物品来表示用户。通过用户u的历史交互获得的相关项集可以被转换为通过项和实体之间的比对在KG中传播的初始种子集。
image-20210524181226965
  • 与同一项目进行过交互的用户也可以由于其相似的行为偏好而对该项目的特征表示做出贡献。
image-20210524181450299
  • 综合协同项目集和对齐集,定义了Itemv的初始实体集如下:
image-20210524182151649
  • 协作传播层能够将最有效地表达潜在语义的一阶交互信息显式编码到初始实体集中,从而增强了对用户和项目的表示,提高了推荐效果。注意,根据定义,项目V的初始实体集还包含与项目V直接关联的实体。这样的设计可以持续强调原始项目V的信息,并减少由于多层传播而产生的偏差。

知识图传播

  • KG中的相邻实体总是有很强的关联性。在KG中沿着链路传播,可以得到与初始实体集不同距离的扩展实体集和三元组,能够有效地扩展用户和项目的潜在向量表示。Useru和itemv的实体集定义递归表示为:(o是指user和item两个)
image-20210524182734162
  • 给定实体集的定义,然后定义useru和itemv的l个三元组,如下所示:
image-20210524183853558
  • 将知识图作为边信息来构建我们的模型是很有意义的,因为相邻实体可以被看作是用户偏好和项目特征的直观延伸。如图2所示,通过协同传播获得的初始实体集,类似于声波的源,在KG介质中由近到远逐层传播。通过基于知识的深度传播,成功捕获了基于知识的用户和物品的高阶交互信息,有效地提高了模型用潜在向量表示用户和物品的能力。

知识感知的注意力嵌入

当每个尾部实体在KG中具有不同的头部实体和关系时,它具有不同的含义和潜在的向量表示。例如,《阿甘正传》和《荒野猎人》在导演或演员阵容方面有更多相似之处,但如果以类型或编剧来衡量,就不那么相似了。因此,我们提出了一种知识感知的注意力嵌入方法来生成尾部实体的不同关注度权重,以揭示当尾部实体获得不同的头部实体和关系时其具有的不同含义。

考虑到(h,r,t)是第l层三元组集合中的第i个三元组,我们构造了一个尾部实体的注意嵌入算法,如下所示:

image-20210524185928273
  • 其中e^h_i是头实体的嵌入,R_i是关系的嵌入,e^t_i是第i个三元组的尾实体的嵌入。π(e^h_i,r_i)控制头部实体产生的注意力权重以及头部和尾部之间的关系。我们通过类似于注意机制的神经网络来实现函数π(·),其公式如下:
image-20210525145827325
  • 其中,我们选择RELU作为非线性激活函数,最后一个激活函数是Sigmoid[5]。||是拼接操作。W和b是可训练权重矩阵和偏差,它们的不同下标表示它们是不同层次的参数。此后,通过采用SoftMax函数[12],我们对三元组中的整个三元组的系数进行归一化:
image-20210525150718709
  • 其中S^l_o是用户或项目的第l层三元组。因此,注意力权重能够建议对哪个相邻尾部实体给予更多关注,以更有效地捕捉知识关联。
  • 最后,我们得到了关于useru或itemv的第l层三元组的表示:
image-20210525151202718
  • 其中,下标和上标o是u或v的统一占位符,|S^l_o|是集合S^l_o中的三元组数量。
  • 由于初始实体集中的实体(类似于基于知识的传播的种子)最接近原始表示,因此初始实体集中与原始用户和项目有很强的联系。相应地,我们为用户和项目添加初始实体集的表示:
image-20210525151612878
  • 特别地,itemv具有用于其原始表示的相关实体,而useru没有。原始相关实体是潜在语义空间中与项目v本身最接近的节点。我们将其添加到项目v的表示集,并将其定义如下:
image-20210525152109339
  • 在知识感知的关注嵌入之后,我们形成了包含基于知识的关注加权表示和针对useru和itemv的附加表示的表示集,如下所示:
image-20210525152647696

模型预测

每一层的表征可以理解为强调不同高阶连通性和偏好相似性的层次化势能影响。我们实现了三种类型的聚合器来将等式(12)中的多个表示聚合成用户和项目的单个向量。

求和聚合器(Sum aggregator)

  • 求和聚合器在应用非线性变换之前将表示集中的多个向量求和
image-20210525154155040
  • 这里我们将非线性函数设为Sigmoid,W_a和b_a是可训练的权重和偏差。我们对其他两个聚合器使用相同的符号和非线性函数。

池化聚合器(Pooling aggregator)

  • 池化聚合器取多个向量的最大值作为同一纬度,然后进行非线性变换:
image-20210525154746393

拼接聚合器(Concat aggregator)

  • Concat聚合器将表示集中的表示向量连接起来,并按如下方式使用非线性变换:
image-20210525154827151
  • 其中e^{i_k}_o∈to,||是串联操作。
  • 请注意,由于用户和项目的聚合向量表示在下一次计算中需要具有相同的维度(例如内积),因此我们为三个聚集器选择多个表示的平衡组合。我们将在4.5.2节中讨论详细信息。
  • 我们用e_u来表示用户的聚合向量。类似地,对于Item,声明了e_v。最后,我们对表示进行内积运算,以预测用户对该项目的偏好得分:
image-20210525155323329

Loss Function

为了平衡正负样本的数量,保证模型训练的效果,我们对每个用户抽取与正样本数相同的负样本数。

image-20210525155445365

实验

数据集

  • 音乐(Last.fm), 书籍(Book-Crossing), 电影(MovieLens-20M), 餐厅推荐(美团-大众点评)
  • 负样本: 从未交互的项目中随机抽取大小与其交互的项目中相同的样本
  • 前三个使用MS的Satori中构建子KG,美团有三元组组成的KG

BaseLines

为了验证CKAN的有效性,我们将CKAN与基于CFMF的推荐方法(BPRMF)、基于嵌入的推荐方法(CKE)、基于路径的推荐方法(PER)和基于传播的推荐方法(RippleNet,KGCN,KGNN-LS,KGAT)进行了比较:

实验设置

  • 6:2:2 训练:评估:测试
  • 点击率预测 -> 预测测试集每个交互的概率
  • Top-K 为测试集每个用户选择K个预测概率最高的项目

实验结果

image-20210525162746440
image-20210525162851326

CKAN》有2条评论

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注