知识图谱论文阅读(十八)【KDD2019】AKUPM: Attention-Enhanced Knowledge-Aware User Preference Model for Recommend

在这里插入图片描述
论文题目: AKUPM: Attention-Enhanced Knowledge-Aware User Preference Model for Recommendation
论文代码:
论文链接:

想法

  • 什么叫折射到关系空间? (添加了一个关系矩阵,但是关系矩阵为啥要加?)
  • 什么叫做自适应?
  • 其中hvu,m0h_{v_{u,m}}^0hvu,m0表示和item vu,mv_{u,m}vu,m连接的实体。如果为0,则表示是历史点击的初始items

创新

(1)提出了崭新的基于自适应自注意力模型,同时是第一次将用户和被包含的实体的交互分为两种的;
(2)通过将实体映射到关系空间和利用自监督机制,intra(使用关系矩阵)和inter(自注意力模型,就是会考虑用户交互过的item之间的关系)将会被描述。 这样AKUPM能够找到和每个用户包含的实体最相关的。

摘要

难点:
KG的引入确实一定程度改变了冷启动和稀疏问题,但是也包含了许多不相关的实体来表示user的嵌入。 很多论文并没有意识到该问题。

我们:
探索这些实体之间的交互!从而根据交互区别对待生成相关特征。
首先: 我们将实体之间的交互分为了两种:inter-entity-interactionintra-entity-interaction。 Inter-entity-interaction是实体之间的交互,它影响实体代表用户的重要性; intra-entity-interaction当涉及到不同的关系时,一个实体就会有不同的特征。 (如果还是有点抽象,可以看Introduction中的举例

考虑这两种交互,我们提出了AKUPM模型来进行点击率(CTR)预测,具体地说, Inter-entity-interaction,自注意力网络会被用来通过学习每个实体与用户之间适当的重要性来捕获实体间的交互; 此外,intra-entity-interaction通过将每个实体映射到其连接的关系空间中来获得该实体的特征,从而对实体内部的相互作用进行建模。

评价指标: AUC、ACC和Recall@top-K

1. Introduction

在这里插入图片描述

前人的缺点:
DKN(CNN)和RippleNet都利用KG来丰富在RS的users/items的表示。然鹅,图中包含的实体本身与items/users之间的关系并没有被研究,因此推荐结果可能会受到一些不相关的合并实体的影响。

以电影推荐为例,每个用户都由KG中与之相连的实体决定,而它们之间的交互可以从两方面定义:
1)Inter-entity-interaction: (出发点是别的实体对用户的影响)由于实体之间的相互作用,一个实体包含在不同的实体集中时,其重要性会有很大的差异。比如上面的图中,对于Bob来说,看的电影基本都来自USA,而对于Steph而言,来自各个国家,那么USA实体对Bob的影响要高于Steph。
2)Intra-entity-interaction:(出发点是自己,自己对不同电影的喜好)对于特定的用户,实体在涉及不同的关系时可能会表现出不同的特征。比如上图中,Alice喜欢City Lights 因为Charles Chaplin是该电影的导演,那么她可能喜欢Modern Time,因为Charles Chaplin是该不的主演。

整个模型架构是: 给定user-item pair,AKUPM的目的就是预测CTR(点击率)。 首先初始化: 一个用户的表示将会被和用户点击过的items所丰富。 而这些被点击的items将会被初始化,然后沿着KG从近到远的传播。 这样,就可以初始化user和其点击的items。 其次再进行inter\intra-entity interaction! 我们的贡献主要被总结如下:

(1)提出了崭新的基于自适应自注意力模型,同时是第一次将用户和被包含的实体的交互分为两种的;
(2)通过将实体映射到关系空间和利用自监督机制,intra和inter将会被描述。 这样AKUPM能够找到和每个用户包含的实体最相关的。

2 RELATED WORK

2.1 Knowledge Graph Embedding

自行看论文综述! TransE、R等等! 本文使用TransR

2.2 Attention Mechanism

在本文中,我们提出使用注意机制来探讨输入item与被整合实体之间的关系。此外,引入自注意机制,通过给每个实体分配适当的权重,在关联实体集合下生成被包含实体的表示

2.3 Knowledge-Aware Recommendation

也可以去看综述! 包含了分开的,基于路径的,基于两种方法的!

3 PRELIMINARIES

常见的定义,user集合、item集、交互矩阵; 知识图谱G、三元组、交互矩阵中实体和知识图谱中实体的对应。
最终的目标就是CTR:
在这里插入图片描述

4 提出的方法

在这里插入图片描述
上图显示了AKUPM的整体框架,对于一个用户而言,为了包含从一个KG中包含与他相关的丰富的实体从而探索他的兴趣,一个基于用户点击历史的特殊设计的实体传播(4.1)将会被用于包含许多的实体。 接下来为了描述这些被包含的实体之间的intra-entity-interactions,我们建议将实体嵌入到关系空间中(4.2)。 为了对inter-entity-interactions进行建模(4.3),我们应用一个自注意网络来获得每一组实体的表示。这样实体的表示更新完了,,我们提出应用一个注意网络根据输入item来表示user,通过聚合具有适当权重的实体表示。最后,根据输入用户和输入项的潜在表示进行CTR预测。

4.1实体传播

实体传播的说明。所有灰色圆圈表示合并实体。不同蓝环的实体属于不同的对应实体集。

不是所有的实体都对用户有用,所以为了过滤这些噪音,我们建议合并从用户点击历史沿着知识图的关系传播的实体,这样每个合并的实体都与用户相关。
在这里插入图片描述
原始的实体传播的定义为:
在这里插入图片描述
其中hvu,m0h_{v_{u,m}}^0hvu,m0表示和item vu,mv_{u,m}vu,m连接的实体。如果为0,则表示是历史点击的初始items。 然后L0L^0L0中的实体可以伴随着relation来迭代的传播,这样可以达到更多联系的实体。 然后我们定义实体的kthk^{th}kth集合如下:
在这里插入图片描述
在这里插入图片描述

4.2 Entity Representation(intra-entity-interactions)

我们首先应用TransR初始化实体。对于每个三元组(h,r,t)∈G(h,r,t)\in \mathcal{G}(h,r,t)G中的h、r和t都被初始化为d维度向量。 对于每个关系r,我们设置一个投影矩阵R∈Rd×d\mathrm {R}\in \mathbb{R}^{d \times d}RRd×d,它将实体从实体空间映射到对应的关系空间(是一个要学习的矩阵,是一个参数),如下所示:

上面将头和尾都转化为关系空间。

而对于初始的items(用户点击的items),,是没有关系被嵌入的(这里看出是传入的关系,而不是传出的关系)。 所以这个实体只是它本身的嵌入

在这里插入图片描述
除此之外,输入item v的表示v\mathrm{v}v是不投影到关系空间的:
在这里插入图片描述
在这里插入图片描述
综上:除了用户历史点击的原始items和输入item之外,其它都需要经过关系矩阵

4.3 Attention-based User Representation

常用方法:
对于H+1实体的集合Luk(k=0,1,...,H)L_u^k(k=0,1,...,H)Luk(k=0,1,...,H),一个常用的方式来生成用户的表示u\mathrm{u}u就是充分利用这些实体集合的表示,也就是

上面的e\mathrm{e}e是我们添加了intra-entity(乘关系矩阵后的)的实体表示!!
Luk(k=0,1,...,H)L_u^k(k=0,1,...,H)Luk(k=0,1,...,H)是所有的邻居哦!
所以上面的式子就是把所有的和u相关的都聚在一起求平均! 这是没有考虑inter-entity的!

作者的方法: (分成两组,每组一个聚合)

然而,这种方法忽略了第1节中讨论的inter-entity-interactions。
首先,我们对每组LukL_u^kLuk应用一个自注意力层来学习一个潜在的表示auka_u^kauk,捕获其实体之间的交互后来更新它;其次,得到auk(k=0,1,...,H)a_u^k(k=0,1,...,H)aukk=0,1,...,H)后,不管这个输入item vvv,我们需要添加一个注意力network来计算每个auk(k=0,1,...,H)a_u^k(k=0,1,...,H)aukk=0,1,...,H)的重要性。而这表示了用户对不同输入item的不同兴趣(因为这里的每一层邻居从外到内聚合的话,基本每个item代表了一种风格!)。

  1. 自注意力
    首先什么是attention mechanism和self attention? 注意力机制可以描述为将query和一组key-value pairs映射到输出。输出是values的加权和计算得来的,其中分配给每个value的权重是通过查询和相应key的兼容性函数(兼容性分数,可以为内积计算的)。 在自监督中,the query, key and value 都是一样的。
    (这里的兼容性函数其实就是查询集和key的点击,查看两个的相似度)
    在我们中,我们采用了一个scaled dot-product 注意力。 整个的为auka_u^kauk的计算过程在下图展示。
    在这里插入图片描述
    其中,对于每个LukL_u^kLuk,查询集QukQ_u^kQuk、键值KukK_u^kKuk和值VukV_u^kVuk都是从eu,mke_{u,m}^keu,mk得到的!
    在这里插入图片描述
    其中N是邻居实体的数量,而且是一个超参数。 如果∣Luk∣≥N\left | L_u^k \right | \ge NLukN,那么就该随机从中选N个;相反,则需要全部设置为Null(也就是zero vectors)。
    兼容性函数查询集QukQ_u^kQuk和键值KukK_u^kKuk之间的被这样计算:
    在这里插入图片描述
    在这里插入图片描述
    最终对每个auka_u^kauk上应用softmax函数:
    在这里插入图片描述
    d\sqrt{d}d用于缩放兼容性矩阵(兼容性分数),以避免式子10中的点积变得过大。 最后softmax 函数最终计算每列eu,mk∈Vk(m=1,...,N)e_{u,m}^k \in V^k(m=1, ...,N)eu,mkVk(m=1,...,N)的权重,
    在这里插入图片描述在这里插入图片描述
    注意这里我们在softmax之前,会进行masking操作(也就是CukC_u^kCuk的对角线都设置为0),这样可以避免兼容性分数太大。

  2. 注意力机制
    在根据式子11得到权重总和后,我们获得了潜在表示auk∈Rd,(k=0,...,H)a_u^k \in \mathbb{R}^d,(k=0,...,H)aukRdk=0...,H。 和auka_u^kauk是由eu,mke_{u,m}^keu,mk的权重总和得到一样,u\mathrm{u}u也是由auka_u^kauk的权重总和得到的。
    和上面一样,查询集QukQ_u^kQuk、键值KukK_u^kKuk和值VukV_u^kVuk被这样定义:
    在这里插入图片描述
    在这里插入图片描述
    这样u和式子11一样,被这样计算:
    在这里插入图片描述
    在这里插入图片描述
    这里,我们不会使用masking,因此查询集和key集合不相同。

最后,根据用户的表示量和项目的表示量v,计算出预测的CTR
在这里插入图片描述

5 LEARNING ALGORITHM

给定user-item的交互矩阵YYY和知识图谱G\mathcal{G}G, 目的是学习AKUPM的最优参数
假定Θ\ThetaΘ表明AKUPM中所有的参数,这里包含了h、t、r的嵌入,前面说的关系映射矩阵(映射空间)R\mathrm{R}R,自注意力网络的参数β1\beta_1β1和注意力网络的参数β2\beta_2β2,在观察了G\mathcal{G}GYYY后,我们希望最大化参数Θ\ThetaΘ的后验概率:
在这里插入图片描述
这个等价于最大化下面的:
在这里插入图片描述
在这里插入图片描述

下一节讲解评估知识图谱和隐式反馈的优化细节

5.1 Likelihood of Observed Knowledge Graph and Implicit Feedback

对于三元组(h,r,t)∈G(h,r,t)\in \mathcal{G}(h,r,t)G,我们根据下面的工作,并定义分数函数:
在这里插入图片描述
上面的都放到了关系空间中!
我们会随机地取消tail实体,从而组成新的知识图谱 (h,r,t′)∉G(h, r, t') \notin \mathcal{G}(h,r,t)/G,然后创建新的知识图谱G′\mathcal{G}'G,这样一个四元组 (h,r,t,t′)∈G′(h, r, t, t') \in \mathcal{G}'(h,r,t,t)G,并且计算它的似然估计,
在这里插入图片描述
因此,观察到的知识图的似概率可以描述为:

在这里插入图片描述

对于每个属于矩阵YYY里的条目yuvy_{uv}yuv,概率可以定义为伯努利分布的乘积:

在这里插入图片描述
其中y^uv\hat{y}_{uv}y^uv是式子15的输入对(u,v)(u, v)(u,v)的CTR预测

5.2 Loss Function

将式子20和式子21放到式子16:
在这里插入图片描述
对Eq. 22取负对数并加入正则项后,我们得到AKUPM的损失函数如下:
在这里插入图片描述
为了最小化Eq. 23中的目标,我们使用了一个批处理梯度下降算法,通过整个观测到的训练集YYYG′\mathcal{G}'G,并使用损失函数的相应梯度更新每个参数

6 EXPERIMENTS

数据集: MovieLens-1M 和 Book-Crossing
因为AKUPM是基于隐式反馈的,所以我们会设置阈值将现有数据集从显示反馈转化为隐式反馈。 具体的就是将他/她所有不低于阈值的评分转换为积极的隐式反馈,也将相同数量的未打分的电影设置为消极的。

对比的模型: CKE、DKN、RippleNet、LibFM和DeepWide;

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(2)所有模型在Book-Crossing数据集上的表现都不如在MovieLens-1M数据集上的表现。主要原因是Book-Crossing数据集的每用户平均正反馈(3.91)远小于MovieLens-1M数据集(62.44)。因此,在Book-Crossing数据集上没有足够的信息来让模型了解用户的兴趣

(3)与其他相比,DKN表现最差。原因可能是,电影或书籍的标题比新闻短得多,使得单词级嵌入和实体级嵌入包含的信息不足,无法提出建议。
(4)CKE在我们的实验中表现很差。原因可能有两个:文本描述和可视图像在我们的数据集中不可用;AKUPM和RippleNet包含了许多可能与输入项相关的实体,而CKE只使用与输入项直接相关的一个实体进行推荐。
(5)嵌入是有用的
(6)RippleNet在所有基线中几乎达到了最佳性能。AKUPM和RippleNet在合并实体以表示用户的层次偏好方面是相似的。然而,RippleNet没有探索用户和合并实体之间的关系,因此结果可能会受到不相关实体的很大影响。

下面是消融实验:
在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/476113.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode 1304. 和为零的N个唯一整数

1. 题目 给你一个整数 n,请你返回 任意 一个由 n 个 各不相同 的整数组成的数组,并且这 n 个数相加和为 0 。 示例 1: 输入:n 5 输出:[-7,-1,1,3,4] 解释:这些数组也是正确的 [-5,-1,1,2,3],…

vue做混合式app_Vue+原生App混合开发手记#1

项目的大致需求就是做一个App,里面集成各种功能供用户使用,其中涉及到很多Vue的使用方法,单独总结太麻烦,所以通过这几篇笔记来梳理一下。原型图如下:路由配置主界面会用到一些原生App方法,比如验证用户身份…

Android入门第八篇之GridView(九宫图)

GridView跟ListView都是比较常用的多控件布局,而GridView更是实现九宫图的首选!本文就是介绍如何使用GridView实现九宫图。GridView的用法很多,网上介绍最多的方法就是自己实现一个ImageAdapter继承BaseAdapter,再供GridView使用,…

(十九)【AAAI2021】Knowledge-Enhanced Hierarchical Graph Transformer Network for Multi-Behavior Recommend

题目: Knowledge-Enhanced Hierarchical Graph Transformer Network for Multi-Behavior Recommendation 论文链接: 代码链接:https://github.com/akaxlh/KHGT 论文 时间戳放入到关系中,可以参考这篇《Heterogeneous graph trans…

LeetCode 1295. 统计位数为偶数的数字

1. 题目 给你一个整数数组 nums,请你返回其中位数为 偶数 的数字的个数。 示例 1: 输入:nums [12,345,2,6,7896] 输出:2 解释: 12 是 2 位数字(位数为偶数) 345 是 3 位数字(位数…

pymysql保存数组_pymysql 读取大数据内存卡死的解决方案

背景:目前表中只有5G(后期持续增长),但是其中一个字段(以下称为detail字段)存了2M(不一定2M,部分为0,平均下来就是2M),字段中存的是一个数组,数组中存N个json数据。这个字段如下:[{"A"…

WPF学习笔记-第二周【基本笔刷】

书接上回&#xff0c;这一次&#xff0c;讲的是WPF中的基本笔刷&#xff0c;由于是菜鸟&#xff0c;就不多说了&#xff0c;继续帖示例代码&#xff1a;&#xff09; 第一部份 代码 第二章 基本笔刷 第一个 示例 VaryTheBackgroud P38 1 #regionVaryTheBackgroud P382 3 ///<…

知识图谱论文阅读(二十)【WWW2020】Heterogeneous Graph Transformer

题目&#xff1a; Heterogeneous Graph Transformer 论文链接&#xff1a; https://arxiv.org/abs/2003.01332 代码链接&#xff1a;https://github.com/acbull/pyHGT 论文 异构图研究之一&#xff1a; 使用元路径来建模异构结构 heterogeneous graphs 《Mining Heterogeneous…

LeetCode 1287. 有序数组中出现次数超过25%的元素

1. 题目 给你一个非递减的 有序 整数数组&#xff0c;已知这个数组中恰好有一个整数&#xff0c;它的出现次数超过数组元素总数的 25%。 请你找到并返回这个整数 示例&#xff1a; 输入&#xff1a;arr [1,2,2,6,6,6,6,7,10] 输出&#xff1a;6提示&#xff1a; 1 < arr…

你真的知道一个HTML及资源是如何load的吗(了解各个部分是何时下载和执行的)

你真的知道一个HTML及资源是如何load的吗(了解各个部分是何时下载和执行的)2009-12-03 01:09 by Tower Joo, 3741 visits, 网摘, 收藏, 编辑 你真的知道一个HTML及资源是如何load的吗(了解各个部分是何时下载和执行的) 本博客所有内容采用 Creative Commons Licenses 许可使用.…

vue开发手机页面闪烁_Vue页面加载闪烁问题的解决方法_婳祎_前端开发者

v-if 和 v-show 的区别v-if只会在满足条件时才会编译&#xff0c;而v-show不管是否满足条件始终会编译&#xff0c;v-show的显示与隐藏只是简单的切换也就是说&#xff0c;在使用v-if时&#xff0c;若值为false&#xff0c;那么页面将不会有这个使用场景一般来说&#xff0c;v-…

知识图谱论文阅读(二十一)【SIGIR2019】NGCF: Neural Graph Collaborative Filtering

题目&#xff1a;Neural Graph Collaborative Filtering 代码&#xff1a; https://github.com/xiangwang1223/neural_graph_collaborative_filtering 本文参考了博文 想法 &#xff08;1&#xff09;其实是很有缺点&#xff0c;在消息传播中&#xff0c;只是使用了邻居与目…

[推荐]VMware Workstation 6.5虚拟机(汉化补丁+注册机+原版安装文件)

VMware虚拟机6.5 新版虚拟机过了近一年的开发&#xff0c;VMware Workstation 6.5终于正式发布了。 这个增强版的Vmware Workstation 6.5不仅将3D加速带到了虚拟机平台&#xff0c;而且新增的Unity模式更是改变了虚拟机应用的模式。 VMware Workstation 6.5新特性有&#xff1a…

bootstrap获取弹框数据_Bootstrap模态弹出框的实例教程

前面的话在 Bootstrap 框架中把模态弹出框统一称为 Modal。这种弹出框效果在大多数 Web 网站的交互中都可见。比如点击一个按钮弹出一个框&#xff0c;弹出的框可能是一段文件描述&#xff0c;也可能带有按钮操作&#xff0c;也有可能弹出的是一张图片。本文将详细介绍Bootstra…

知识图谱论文阅读(二十三)【SIGIR2020】Multi-behavior Recommendation with Graph Convolutional Networks

题目&#xff1a; Multi-behavior Recommendation with Graph Convolutional Networks 论文地址&#xff1a; 论文代码&#xff1a; 想法 将相同行为的交互方式进行了聚合来计算user Embedding和item Embedding 创新 模型要做的事情就是user-item传播层学习行为影响力度&am…

LeetCode 1200. 最小绝对差

1. 题目 给你个整数数组 arr&#xff0c;其中每个元素都 不相同。 请你找到所有具有最小绝对差的元素对&#xff0c;并且按升序的顺序返回。 示例 1&#xff1a; 输入&#xff1a;arr [4,2,1,3] 输出&#xff1a;[[1,2],[2,3],[3,4]]示例 2&#xff1a; 输入&#xff1a;ar…

在mojoportal项目中发邮件使用的是dotnetopenmail

[翻译]开源发送邮件组件dotnetopenmail使用介绍 在mojoportal项目中发邮件使用的是dotnetopenmail介绍发邮件是非常简单的,不管用System.web.mail [ASP.NET 1.1]或System.Net.mail [ASP.NET 2.0],但是还是有其他第三方组件可以被使用,比如DotNetOpenMail.他可以使你用最少的代码…

怎么看表_干货 | 剪力墙、柱、板配筋率到底怎么算?

干货 | 剪力墙、柱、板配筋率到底怎么算&#xff1f;正在努力的阿源 北京峰源结构设计 剪力墙&#xff08;纯剪力墙&#xff09;1.一般部位墙厚高规7.2.1条及抗规6.4.1条&#xff0c;对于一般部位&#xff0c;一、二级不应小于160mm且不宜小于层高或无支长度的1/20&#xff0c;…

(二十四)【2021 ACL】OntoED: Low-resource Event Detection with Ontology Embedding

题目&#xff1a; OntoED: Low-resource Event Detection with Ontology Embedding 论文链接&#xff1a; https://arxiv.org/abs/2105.10922 论文代码&#xff1a;https://github.com/231sm/Reasoning_In_EE 论文 什么原型&#xff1f; Prototypical networks for few-shot …

哈尔滨理工C语言程序设计精髓_【注意啦】哈尔滨工业大学2020考研计算机专业课调整,难度提升!...

前言&#xff1a;最近各高校在密集调整计算机相关专业的专业课&#xff0c;从热门985高校、211高校到普通本科&#xff0c;许多学校的专业课都进行了调整。各高校通常会发布专业课调整通知或者直接发布2020研究生招生专业目录&#xff0c;请各位同学多多关注相关信息。哈尔滨工…