bgb邻居关系建立模型_学习开发知识图谱中的长期关系依赖
知识图谱结构化地存储着大量现实世界中的事实。其中,每个事实都以三元组 (s, r, o) 的方式进行描述,其中 s, o 分别表示头实体和尾实体,r 表示它们之间的关系。例如,三元组 (Tim Berners-Lee, country, United Kingdom) 描述了 Tim Berners-Lee 的国籍为 United Kingdom 这一事实。
通常情况下,单个知识图谱很难满足各类应用所需的全部知识。因此,知识图谱领域的学者们提出了两类相关任务:
- 实体对齐 (entity alignment),其通过发现不同知识图谱中指称真实世界相同对象的实体的方式,将两个知识图谱链接起来,从而得到一个规模更大、信息更丰富的联合知识图谱。
- 知识图谱补全 (knowledge graph completion),其主要目的在于利用单个知识图谱中的已知信息,通过推理和预测的方式补全该知识图谱所缺失的三元组,譬如预测 (Tim Berners-Lee, employer, ?) 或 (?, employer, W3C) 中的 ?。
目前大多数知识图谱嵌入方法都假设相似的实体会拥有相近的关系,因此这些方法更关注知识图谱中的三元组,即一阶邻居关系。但是,基于三元组的学习方式存在两个局限性:一是表达能力低,这是因为这种方式只能从一阶邻居的视角来学习实体的嵌入表示,而知识图谱中存在着大量拥有类似一阶关系的实体,比如有相同的国籍、出生地等。二是语义信息传递效率低,这是因为这些方法只能依靠周围的一阶邻居传递语义信息,而一个实体嵌入所能包含的信息是有限的,这意味着并不能将所有的邻居信息完整地传递到周围。
相较于三元组,路径能够提供更长、更具区分性的实体间依赖关系,一条知识图谱路径可以用如下方式表示:
United Kingdom, country−, Tim Berners-Lee, employer, W3C
值得注意的是,目前已有的基于路径的知识图谱嵌入方法大多只采用由关系元素组成的路径,而不考虑路径中的实体。并且,由于它们是利用路径辅助三元组训练,因此往往需要穷解路径空间来寻找符合条件的路径,因此大多只考虑由两个三元组组成的路径。
模型
循环神经网络 (recurrent neural networks, RNNs) 只使用少量的参数就能处理任意长度的序列,而知识图谱路径恰好是有序的,因此可以利用 RNNs 来建模知识图谱路径:
其中,
值得注意的是,RNNs 无法识别出知识图谱路径中的三元组结构,包括:
- 路径中“实体-关系-实体-关系”交错的链式结构;
- 当预测一个关系的尾实体时,其头实体更加重要,比如推测 employer -> W3C时,Tim Berners-Lee 是相对更重要的元素。
而循环跳跃网络 (recurrent skipping networks, RSNs) 通过利用一种跳跃机制建立一条捷径,在当前输入为实体嵌入时,利用该捷径跳过多个连接层,直接参与到预测对应的尾实体的过程中:
其中,
理论分析
实际上,循环跳跃网络中的跳跃机制引入了一种全新的三元残差学习。令
循环跳跃网络更关注于“浅层”网络的拟合,而非训练层数很深的网络。这是因为,循环跳跃网络中的跳跃机制并非将位置靠前的输入尽可能地传递到深层网络中,而是关注如何建模知识图谱路径中的每个三元组。具体来讲,给定一条知识图谱路径
当预测目标为
基于 RSNs 的知识图谱嵌入框架
本文还提出了一个端到端的知识图谱嵌入框架。目前大多数方法都只关注于单个知识图谱嵌入任务,比如知识图谱补全或实体对齐。ConvE、RotatE 在知识图谱补全任务上有着领先水平的性能,但在实体对齐任务上却失去了优势。本文所提出的框架能够同时在两种不同的任务上取得优秀的表现。
如下图所示,该框架首先使用有偏随机游走方法采样出一组具有深度和跨知识图谱偏好的路径,接着利用 RSNs 进行建模。根据每一步预测目标的不同,采用基于类型的噪音对比估计方法评估模型损失。
实验与分析
- 实体对齐
实验结果如表中所示,RSNs 在所有数据集上均有明显的优势,尤其是在两个跨知识图谱数据集 DBP-WD 和 DBP-YG。通过对比框架中采用有偏 / 无偏随机游走采样方法,可以看出使用有偏随机采样的方法具有更好的性能,尤其是在 Hits@10 上。
- 知识图谱补全
通过将三元组视为长度为 3 的路径,可以将 RSNs 应用于知识图谱补全任务中。但值得注意的是,两者的目标不完全一致,RSNs 学习的是更长的路径而非三元组,但仍取得具有竞争力的结果。
- 与其他替代网络的对比
还验证了 RSNs 中跳跃机制的有效性,其中 RRNs 为直接结合 RNNs 与残差学习的一种方法。从结果可以看出 RSNs 显著提升了模型的收敛速度与性能,而仅仅加入残差网络到 RNNs 并不能有效提升性能。
论文:
Lingbing Guo, Zequn Sun, Wei Hu*. Learning to exploit long-term relational dependencies in knowledge graphs. In: ICML, 2505-2514, 2019.
代码:https://github.com/nju-websoft/RSN
bgb邻居关系建立模型_学习开发知识图谱中的长期关系依赖相关推荐
- 论文浅尝 | 学习开发知识图谱中的长期关系依赖 - ICML 2019
本文转载自公众号:南大Websoft. 论文:https://arxiv.org/abs/1905.04914 代码:https://github.com/nju-websoft/RSN 背景 知识图 ...
- bgb邻居关系建立模型_知识图谱上的双塔召回:阿里的IntentGC模型
关注本人的同学可能发现,我最近点评的文章都是关于"GNN在推荐系统应用"方向的.这当然与现如今这个方向非常火有关,但是作为一个合格的炼丹师+调参侠,总要搞清楚一门技术为什么火?这么 ...
- bgb邻居关系建立模型_今日 Paper | 新闻推荐系统;多路编码;知识增强型预训练模型等...
目录 用多尺度自监督表征提高小样本学习的表现 详细了解如何设计和使用一个基于深度学习的新闻推荐系统 几何GCN 提升鲁棒性的多路编码 常识故事生成的知识增强型预训练模型 用多尺度自监督表征提高小样本学 ...
- bgb邻居关系建立模型_大神吐槽樱花 BGB1T真实使用4个月感受揭秘,不看后悔了...
1.物流给力,还没装修好,先放着很好很满意!方便很多.快递给力!包装好!质量很好!价格便宜!满意! 2.双十一买到价格优惠还没用,后续评价.宝贝收到了,很满意,还没有使用,先给好评.用后再追加评价.还 ...
- 通过图注意力神经网络进行多智能体游戏抽象_[读论文] AttnPath: 将图注意力机制融入基于深度强化学习的知识图谱推理中...
论文原文:Incorporating Graph Attention Mechanism into Knowledge Graph Reasoning Based on Deep Reinforcem ...
- 【论文阅读】强化学习与知识图谱关系路径发现
论文标题:DeepPath: A Reinforcement Learning Method for Knowledge Graph Reasoning 中文标题:深度路径:知识图谱推理的强化学习方法 ...
- 深度学习在知识图谱的应用
探索下深度学习在知识图谱中的应用实践,感兴趣的同学可以看看,研究下 一.大规模知识图谱的构建 知识图谱自上世纪60年代从语义网络发展起来以后,分别经历了1980年代的专家系统.1990年代的贝叶斯网络 ...
- 知识图谱从入门到应用——知识图谱推理:基于表示学习的知识图谱推理-[嵌入学习]
分类目录:<知识图谱从入门到应用>总目录 前面多次提到过,基于符号逻辑的演绎推理的主要缺点是对知识表示的逻辑结构要求比较高,不论是本体推理还是规则推理,都要求人工定义公理和规则才能完成推理 ...
- 石油勘探开发知识图谱技术实现思路探讨
石油勘探开发知识图谱技术实现思路探讨 一.石油勘探开发知识图谱概念 有关知识图谱的定义有很多,在维基百科的官方词条中:"知识图谱是Google用于增强其搜索引擎功能的知识库.本质上, 知识图 ...
最新文章
- Loadrunner脚本学习总结
- python基础代码-Python基础(代码)
- linux 下orapwd 未找到命令,关于orapwd命令entries参数的探究
- 【SpringBoot】在IOC之外的类中使用IOC内部的Bean
- 我所知道的前端组件化与模块化
- jQuery学习总结06-插件开发
- subsonic杂记
- Spring 最常用的注解,史上最强整理!
- cass转换jpg_怎么把CAD图转换成清晰的JPG等其他格式图形文件
- [笔记]SD卡相关资料
- HOI BMVC2018| iCAN: Instance-Centric Attention Network for Human-Object Interaction Detection论文阅读笔记
- 阿里java类注释模板_向IDE导入阿里编码规约格式化模板和注释模板
- 三级联动下拉框(省市县)存储数据库,包含信息回填
- 关于计算机社团的游戏活动计划,社团心理小游戏活动策划书范文
- OO第四单元作业小结
- 告别2016迎接2017,分享一些第三方插件
- SAP BAPI是个啥
- 【重识云原生】第六章容器基础6.4.9.2节——使用 Service 连接到应用
- numpy 对矩阵,数组的操作
- 简单介绍快速开始使用Unity引擎的步骤