​知识图谱:基于嵌入的模型(TransE 、TransH、TransR和TransD)

(一)TransE: Translating Embeddings for Modeling Multi-relational Data. Antoine Bordes, Nicolas Usunier, Alberto Garcia-Duran, Jason Weston, Oksana Yakhnenko. NIPS 2013.

论文地址:http://papers.nips.cc/paper/5071-translating-embeddings-for-modeling-multi-relational-data.pdf

代码地址:https://github.com/thunlp/OpenKE


一、引言

表示学习是深度学习的热门方向,自从word embedding出现后,关于知识图谱中结构化信息的三元组的表示学习研究也开始进入大家视野。

论文考虑了关于多元关系数据的实体关系嵌入到低维度向量空间的问题。论文的目标是提出一个容易训练的简易模型,包括降低参数数量,且可以适用大规模数据集。并基于此,论文提出了TransE方法,可以将对关系的建模在低维度的实体表征空间上视为一种翻译操作。尽管这样很简单,这种假设证明是有效的,在两个知识库上的链接预测广泛的实验表明TransE模型超越了最佳模型。模型的损失函数是基于实体和关系向量的计算。另外,它还可以成功的在大规模数据集上进行训练,包括1M个实体,25k个关系,超过17m个训练样本。

Multi-relational data(多元关系数据)是指有向图中包括头实体h 、尾实体t以及两者之间的关系类l ,表示为三元组(h,l,t) 。以这种三元组结构的任务有社交网络(social network)、推荐系统(recommender systems)、知识库(knowledge bases)。论文的任务是聚焦于对知识库(WordNet、FreeBase)中多元关系数据进行建模,同时提供一种高效的工具用于知识补全,不需要额外的知识。

(1)构建多元数据。通常关系数据包括单一关系数据(single-relational data)和多元关系数据(multi-relational data)。单一关系通常是结构化的,可以直接进行简单的推理;多元关系则依赖于多种类型的实体和关系,因此需要一种通用的方法能够同时考虑异构关系。

(2)关系可以作为嵌入空间之间的翻译。论文提出一种基于能量机制的模型来训练低维度实体嵌入,TransE认为,如果实体对存在,则头实体与之对应的关系向量之和和尾实体尽可能相同。即h+l\approx t


二、伪代码和目标函数构建

TransE伪代码

上述1~3步,对实体E和关系L进行初始化,但是实体没有除以L2范数归一化。

4~13为循环步骤,第5步中,对实体e进行L2范数归一化;采样一个大小为b的batch,记为S_{batch} ;初始化储存三元组对的列表;8~11为内循环,对 S_{batch} 中的每个正样本替换头实体h或者尾实体t构造负样本,然后把对应的正样本三元组和负样本三元组放到一起,组成T_{batch} ,本质上是完成正负样本的提取;第12步,梯度下降训练目标函数。

对于给定的训练集 S ,三元组表示为 (h,l,t) ,其中 h,t ∈ 实体集E, l∈ 关系集L实体和关系的嵌入维度设为k,我们希望h+lt能够尽可能的“相似”,因此定义一个能量函数:

d(h+l,t)=[(h+l)-t]^{2}

可知这是一个单纯的欧氏距离,即两个目标向量对应坐标距离。

为了训练实体对嵌入和关系嵌入,需要引入负样本。因此我们的目标是尽可能对正样本中最小化 d(h+l,t),负样本中则尽可能最大化d(h{}'+l,t{}')其中h{}',t{}' 表示不属于某个三元组的实体。,因此可以得出基于间距排序标准目标优化函数:

目标优化函数


三、实验分析

参数量与数据集信息

链路预测结果

更细致划分的实验结果

根据头实体和关系预测尾实体

根据少量样本学习新关系


四、结论

作为Trans系列论文的开山之作,本文提出一种新的学习知识库的表示嵌入的方法,并且在不同的知识库上的实验展示了这项工作与其他方法相比具有参数量少、可应用规模更大、更高效等优点。

但模型也存在着缺点,模型过于简单导致不能很好的学习到复杂的网络语义关系,这也是后续Trans系列论文的改善方向之一,如TransH


(二)TransH: Knowledge Graph Embedding by Translating on Hyperplanes. Zhen Wang, Jianwen Zhang, Jianlin Feng, Zheng Chen. AAAI 2014.

论文地址:https://www.aaai.org/ocs/index.php/AAAI/AAAI14/paper/viewFile/8531/8546

代码地址:https://github.com/thunlp/OpenkE 


一、研究问题

知识图谱表示学习,可用于知识推理和补全技术,论文主要研究如何更好地学习到由实体和关系组成的大规模知识图谱在低维连续向量空间的嵌入向量(embedding)。知识图谱一般由结构化的RDF三元组来表示——(头实体,关系,尾实体)如(美国,总统,奥巴马)表示为美国的总统为奥巴马,在图数据结构上表示为两个实体节点,分别为美国和奥巴马,它们由一条名为总统的无向边相连接。

论文提出的模型希望可以将结构化的三元组信息输入经过表示学习方法,输出学习到的关于整个知识图谱信息的低维连续嵌入向量,这些嵌入向量能够能够轻易应用到下游的特定机器学习任务中,例如链路预测,这项技术能够应用于知识推理和补全技术中,使知识图谱更完整、更丰富。


二、论文动机

TransE是当时已提出模型中效果最好、最有前景的模型,取得了SOTA的表现。但是TransE存在着自身的局限,其在处理自反关系以及一对多、多对一、多对多关系时存在天然的不足:

由之前(一)中写过的TransE可以知道,TransE算法的核心思想是对于一个三元组 (h,r,t)∈Δ( Δ 表示正确的三元组集合 ; Δ′ 表示不正确的三元组集合,所以 (h,r,t)∈Δ表示这个三元组 (h,r,t)是正确的),那么应该有 h+r=d,于是可以从TransE模型中得到两个结论:

(1)如果(h,r,t)∈Δ 并且(t,r,h)∈Δ ,表面关系 r是一个自反映射,此时按公式,r=0 以及 h=t 。

(2)若 \forall i\in \left \{ 0,1,2,...,m-1 \right \}(h_{i},r,t)∈Δ ,表明关系 r 是一个多对一的映射关系,并且 h_{0}=h_{1}=...=h_{m};类似地,如果 \forall i\in \left \{ 0,1,2,...,m-1 \right \},(h,r,t_{i})∈Δ ,则说明关系 r 是一个一对多的映射关系,并且t_{0}=t_{1}=...=t_{m} 。

以上述第二点为例子,具体地假如知识图谱中存在两个三元组(美国,总统,川普)和(美国,总统,奥巴马),这里的“总统”关系显然是一对多的映射关系,如果按TransE的方法,则学习到的“川普”和“奥巴马”的向量是一样的,这显然是不符合事实的,因为他们是完全不一样的人。类似地,对于自反映射关系也是,TransE会使得头尾两个实体的嵌入向量一样,不合实际。

因此,上述TransE的局限性影响了它的效率以及发展,而对于其他可以很好区分这些映射关系的复杂模型却牺牲了效率,总体效果不如TransE。因此论文作者希望提出一个综合的模型,这个模型既能解决上述局限性问题又能使得模型的复杂度接近TransE而有着高性能的表现。


三、方法设计

1. 解决方法

为了解决TransE在面对自反关系以及多对一、一对多、多对多关系的不足,论文提出让一个实体在不同的关系下拥有不同的表示,论文所提模型为每一个关系定义一个超平面 W_{r} 以及在超平面 W_{r} 上定义关系向量 d_{r} 。假设 h_{\perp },t_{\perp } 是h,t在超平面W_{r} 上的投影,则此时正确的三元组应该满足 h_{\perp }+d_{r}=t_{\perp } ,这样能够使得同一个实体在不同关系中的表示不同,同时不同实体在同一个关系中的表示也不同。我们可以从数学几何角度来看待这个对原始TransE的改动,如下图:

几何意义

我们可以从几何意义图例直观地感受到为什么TransH可以克服TransE的局限性,对上述图例,显然有 (h,r,t)∈Δ 以及 (h{}'',r,t)∈Δ ,这是一种多对一的情况,如果在TransE中,有h=h{}'' ,但显然我们的图上 h\neq h{}'',因此TransH的方法使得 h,h{}'' 在超平面W_{r}上的投影相同即可表示这种多对一的关系,类似地,其他关系同理,这样就能有效从向量上区分 h,h{}'',提高模型的准确率。

2. 损失函数

同时,由于一个关系 r 可能存在无限个超平面,因此论文作了约束条件,令 w_{r} 为超平面 W_{r} 的法向量,令\left \| w_{r} \right \|_{2=1} ,并且我们可以轻易得出Scoring function为\left \| h_{\perp }+d_{r}-t_{\perp } \right \|_{2}^{2} ,由此可以轻易得到:

Score Function

最后,论文考虑了一系列的优化损失函数的约束条件,如下图:

约束条件

约束条件(2)确保向量 d_{r} 在超平面里,论文没有直接去优化该损失函数,而是通过软约束的方法将其转变为无约束损失函数

最终损失函数

3. Trick:减少错误的负标签

对于先前TransE的负采样方法,只是简单地随机替换正确三元组的头实体或者尾实体,但是,真实的知识图谱往往由于知识图谱构建过程的不可避免的因素而信息残缺,因此原来的采样方式可能会引入很多错误的负标签到模型训练中。

因此论文提出了一种新的作者认为更科学的负采样方法,采取不同的概率,有偏向地选择替换头实体和尾实体。例如,对于一对多的关系,论文会相对以更大概率去替换头实体;反之,如果是多

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

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

相关文章

[论文笔记]跨语言摘要最新综述:典型挑战及解决方案

https://arxiv.org/abs/2203.12515 跨语言摘要是指为给定的一种语言(例如中文)的文档生成另一种语言(例如英文)的摘要。 图1:四个端到端框架的概述。XLS:跨语言摘要;MT:机器翻译;MS:单语摘要。虚线箭头表示监督信号。无框彩色方块表示相应任务的输入或输出…

Deep Learning for Detecting Robotic Grasps

链接:1301.3592.pdf (arxiv.org) 这个用于从单一RGB-D视图进行机器人抓取检测的算法包括以下步骤: 图像获取: 机器人获取包含待抓取对象的场景的RGB-D图像。 抓取评分: 使用小型深度网络对RGB-D图像中的潜在抓取进行评分。抓取以在…

如何才能做一名渗透测试人员?

学习实践,目前只有这路子,自学9月,成功入圈。下面说一下自己的学习路径,都是摸爬滚打,交了N份钱才学会的。 切记一定要先了解整个渗透测试的流程,记住整个流程口诀:信息收集&打点&#xff…

Linux:进程

进程 知识铺垫冯诺依曼体系结构操作系统(OS) 进程概念进程的查看ps 命令获取进程 pid文件内查看进程终止进程的方式kill命令快捷键 进程的创建 forkfork 返回值问题 进程状态运行状态 :R休眠状态:S (可中断&#xff09…

Python实用工具:三维坐标点的键值对数组的值替换功能

环境和包: 环境 python:python-3.12.0-amd64包: matplotlib 3.8.2 代码: # 定义数据列表 data [{x: 9000.00, y: 0.00, z: 28209.83},{x: 8950.70, y: 940.76, z: 28209.83},{x: 8803.33, y: 1871.21, z: 28209.83},{x: 8559.51, y: 2781.15, z: 28209.83},{x: 8221.91, y: …

Vue源码系列讲解——内置组件篇【一】(keep-alive)

目录 1. 前言 2 用法回顾 3. 实现原理 props created destroyed mounted render 4. 生命周期钩子 5. 总结 1. 前言 <keep-alive> 是 Vue 实现的一个内置组件&#xff0c;也就是说 Vue 源码不仅实现了一套组件化的机制&#xff0c;也实现了一些内置组件&#xf…

数据集生成 YOLOV5 可训练的数据目录、并且可视化

1、前言 YOLOV5 训练数据的目录结构如下&#xff1a; 如果有测试集的话&#xff0c;也按照下面目录摆放即可 注意&#xff1a;这里的图片和标签文件名要严格对应&#xff01;&#xff01;后缀除外 关于YOLOv5介绍或者yolo格式的介绍参考之前专栏&#xff0c; 2、划分数据生成…

SpringMVC04、Controller 及 RestFul

4、Controller 及 RestFul 4.1、控制器Controller 控制器复杂提供访问应用程序的行为&#xff0c;通常通过接口定义或注解定义两种方法实现。控制器负责解析用户的请求并将其转换为一个模型。在Spring MVC中一个控制器类可以包含多个方法在Spring MVC中&#xff0c;对于Contr…

http协议中的强缓存与协商缓存,带图详解

此篇抽自本人之前的文章&#xff1a;http面试题整理 。 别急着跳转&#xff0c;先把缓存知识学会了~ http中的缓存分为两种&#xff1a;强缓存、协商缓存。 强缓存 响应头中的 status 是 200&#xff0c;相关字段有expires&#xff08;http1.0&#xff09;,cache-control&…

C++ :内存管理 newdelete

目录 内存区域划分 C的动态内存的管理方式 new new的基本使用方法 【注意事项】 delete 【注意】 new和delete操作自定义类型 operator new 和 operator delete 【关于自定义类型new申请内存】 【原理】 【调用顺序】 【连续开辟空间问题】 malloc/free和…

基于UC3842的开关电源设计

基于UC3842的开关电源设计 摘要 在现代经济和科技的飞速发展的时代&#xff0c;电源的运用已经变得非常常见。目前&#xff0c;各种科技手段正在推动着电力电子技术和电源设备研发技术的快速发展&#xff0c;同时也促使电源设备向着高频化集成化方向发展。电源供电设备的开发和…

动态规划课堂5-----子序列问题(动态规划 + 哈希表)

目录 引言&#xff1a; 例题1&#xff1a;最长递增子序列 例题2&#xff1a;最长定差子序列 例题3&#xff1a;最长的斐波那契子序列的长度 例题4&#xff1a;最长等差数列 例题5&#xff1a;等差数列划分II-子序列 结语&#xff1a; 引言&#xff1a; 要想解决子序列问…

亚信安慧AntDB的超融合之路

在面对较大用户规模的系统建设需求时&#xff0c;传统数据库往往面临诸多挑战。为了满足多样化的技术要求&#xff0c;项目通常需要倚赖多套技术体系&#xff0c;例如&#xff0c;一套关系型数据库用于元数据管理和标签化管理&#xff0c;另一套则专注于非结构化文件的处理。这…

OWASP Top 10 网络安全10大漏洞——A03:2021-注入

10大Web应用程序安全风险 2021年top10中有三个新类别、四个类别的命名和范围变化&#xff0c;以及一些合并。 A03:2021-注入 Injection从第一的位置滑落至第三位置。94% 的应用程序针对某种形式的注入进行了测试&#xff0c;最大发生率为 19%&#xff0c;平均发生率为 3%&a…

STM32CubeMX学习笔记19——SD卡(SDIO接口)

1、简介 1.1 SD卡简介 很多单片机系统都需要大容量存储设备&#xff0c;以存储数据&#xff08;常用的有U盘、FLASH芯片、SD卡等&#xff09;&#xff0c;比较而言SD卡是单片机大容量外部存储的首选&#xff0c;只需要少数几个IO口即可外扩一个容量从几十M到几十G的&#xff…

力扣--动态规划/深度优先算法/回溯算法93.复原IP地址

这题主要用了动态规划和回溯算法。 动态规划数组初始化&#xff08;DP数组&#xff09;: 首先&#xff0c;创建一个二维数组dp&#xff0c;用于记录字符串中哪些部分是合法的IP地址。对字符串进行遍历&#xff0c;同时考虑每个可能的IP地址部分&#xff08;每部分由1到3个字符组…

共同聚焦空气污染治理,打造可持续发展未来|中联环保圈

在2024年全国生态环境保护工作会议上&#xff0c;我国生态环境部明确提出&#xff0c;“加强重点区域空气质量改善的监督帮扶和统筹强化监督”将成为未来生态环境保护工作的重中之重。这一战略方向的转变&#xff0c;清晰地展现了我国在空气污染治理政策上的优化和深化。 回顾2…

antd vue Tabs控件的使用

Ant Design Vue-------Tabs标签页 今天就讲讲Ant Design Vue下的控件----tabs 标签页 结合项目中的需求&#xff0c;讲一下该控件如何使用&#xff0c;需求&#xff1a; &#xff08;1&#xff09;竖排样式 &#xff08;2&#xff09;如何使用v-for绑定数据源 &#xff08;3…

当HR问你为什么申请这个职业,你该怎么回答?【文章底部添加进大学生就业交流群】

目录 强调对公司的了解&#xff1a; 突出你的技能和经验&#xff1a; 表达对行业的热情&#xff1a; 谈论个人发展&#xff1a; 对公司的价值观的契合&#xff1a; 当HR问你为什么申请这个职业时&#xff0c;你可以通过以下方式回答&#xff1a; 强调对公司的了解&#xf…

物联网导论

物联网起源 物联网&#xff1a;是一个基于互联网、传统电信网等信息承载体&#xff0c;让所有能够被独立寻址的普通物理对象实现互联互通的网络。它具有普通对象设备化、自治终端互联化和普适服务智能化三个重要特征。 按照规定的协议&#xff0c;将具有感知、通信、计算等功…