知识表示学习(一):TransE
一.摘要
我们考虑在低维向量空间中嵌入多关系数据的实体和关系的问题。 我们的目标是提出一个易于训练、包含减少的参数数量并且可以扩展到非常大的数据库的规范模型。 因此,我们提出了 TransE,这是一种通过将关系解释为在实体的低维嵌入上操作的翻译来对关系进行建模的方法。 尽管它很简单,但这个假设被证明是强大的,因为广泛的实验表明 TransE 在两个知识库上的链接预测中明显优于最先进的方法。 此外,它可以在具有 1M 实体、25k 关系和超过 17M 训练样本的大规模数据集上成功训练。
二.背景介绍
多关系数据是指有向图,其节点对应于实体和形式的边(head, label, tail)(记为(h, l, t)),每一个都表示存在着名为label的关系实体的头部和尾部。多关系数据模型在许多领域发挥着举足轻重的作用。示例是社交网络分析,其中实体是成员,边缘(关系)是友谊/社交关系链接,推荐系统,其中实体是用户和产品,关系是购买、评级、评论或搜索产品,或知识库 (KB)例如 Freebase 、 Google Knowledge Graph或 GeneOntology ,其中 KB 的每个实体代表一个抽象概念或世界的具体实体,而关系是表示涉及其中两个的事实的谓词。我们的工作重点是对来自 KB(本文中的 Wordnet 和 Freebase )的多关系数据进行建模,目的是提供一种有效的工具来通过自动添加新事实来完成它们,而无需额外的知识。
1.建模多关系数据
一般来说,建模过程归结为提取实体之间的局部或全局连接模式,并通过使用这些模式来概括特定实体与所有其他实体之间观察到的关系来执行预测。 单一关系的局部性概念可能是纯粹结构性的,例如我朋友的朋友是我在社交网络中的朋友,但也可以依赖于实体,例如喜欢星球大战 IV 的人也喜欢星球大战 V,但是 他们可能喜欢也可能不喜欢泰坦尼克号。 与在对数据进行一些描述性分析后可以做出临时但简单的建模假设的单一关系数据相比,关系数据的困难在于局部性的概念可能同时涉及不同类型的关系和实体, 因此,对多关系数据进行建模需要更通用的方法,这些方法可以同时考虑所有异构关系来选择适当的模式。
2.关系作为嵌入空间中的翻译
在本文中,我们介绍了 TransE,这是一种基于能量的模型,用于学习实体的低维嵌入。 在 TransE 中,关系表示为嵌入空间中的翻译:如果 (h, l, t) 成立,则尾部实体 t 的嵌入应该接近头部实体 h 的嵌入加上依赖于关系的一些向量 l。 我们的方法依赖于一组减少的参数,因为它只为每个实体和每个关系学习一个低维向量。
我们基于翻译的参数化背后的主要动机是层次关系在 KB 中极为常见,而翻译是表示它们的自然转换。 实际上,考虑到树的自然表示(即第 2 维中节点的嵌入),兄弟姐妹彼此靠近,并且给定高度的节点组织在 x 轴上,父子关系对应于 y 轴。由于空转换向量对应于实体之间的等价关系,因此模型也可以表示兄弟关系。因此,我们选择使用每个关系的参数预算(一个低维向量)来表示我们认为是 KB 中的关键关系。另一个次要的动机来自 [8] 最近的工作,其中作者从自由文本中学习词嵌入,以及不同类型实体之间的一些一对一关系,例如国家和城市之间的“首都”, 是(巧合而不是自愿)由模型表示为嵌入空间中的翻译。 这表明可能存在嵌入空间,其中不同类型实体之间的一对一关系也可以由翻译表示。 我们模型的目的是强制执行嵌入空间的这种结构。
三.基于翻译的模型
给定由两个实体 h、t ∈ E(实体集)和关系 l ∈ L(关系集)组成的三元组 (h, l, t) 训练集 S,我们的模型学习实体和关系的向量嵌入,嵌入采用 R^k 中的值(k 是模型超参数)并用相同的字母表示,粗体字符。我们模型背后的基本思想是,由 l 标记的边缘引起的函数关系对应于嵌入的平移,即当 (h, l, t) 成立时,我们希望 h + l ≈ t (t 应该是最近的 h + l) 的邻居,否则 h + l 应该远离 t 。遵循基于能量的框架,对于某些差异度量 d,三元组的能量等于 d(h + l, t),我们将其视为 L1 或 L2 范数。
这里的[x]+表示x部分大于0。
根据等式 (2) 构建的损坏三元组由训练三元组组成,其中头部或尾部被随机实体替换(但不能同时替换两者)。 引入损坏的三元组,有利于损失函数在训练三元组时取得更低的能量值,因此是符合预期的。
优化是通过随机梯度下降(在小批量模式下)在可能的 h、l 和 t 上执行的,附加约束是实体嵌入的 L2 范数为 1(没有给定正则化或范数约束 标签嵌入 l)。 这个约束对我们的模型很重要,就像以前的基于嵌入的方法 [3, 6, 2] 一样,因为它可以防止训练过程通过人为地增加实体嵌入范数来最小化 L。
Algorithm 1 中描述了详细的优化过程。实体和关系的所有嵌入首先按照随机过程进行初始化。 在算法的每次主要迭代中,首先对实体的嵌入向量进行归一化。 然后,从训练集中抽取一小部分三元组,作为小批量的训练三元组。 对于每个这样的三元组,我们然后采样一个损坏的三元组。 然后通过采用恒定学习率的梯度步骤来更新参数。 该算法根据其在验证集上的表现而停止。
算法的过程:
第一步:随机初始化头实体、尾实体和关系向量,对随机初始化的向量作归一化处理;
第二步:对数据集中的三元组抽样,并对抽样的三元组进行实体替换,造成负例(生成错误的三元组);
第三步:优化目标函数,获得实体和关系的向量表示。
四.总结
简单来说,TransE就是将知识图谱中的实体和关系看成两个Matrix。实体矩阵结构为n x d,其中n表示实体数量,d表示每个实体向量的维度,矩阵中的每一行代表了一个实体的词向量;而关系矩阵结构为r x d,其中r代表关系数量,d表示每个关系向量的维度。TransE训练后模型的理想状态是,从实体矩阵和关系矩阵中各自抽取一个向量,进行L1或者L2运算,得到的结果近似于实体矩阵中的另一个实体的向量,从而达到通过词向量表示知识图谱中已存在的三元组 (h,l,t)的关系。
TransE的知识图谱表示方法采用函数思想,即|h + r| ≈ t,其中h, t分别表示知识图谱中的头实体和尾实体的向量表示,r表示为关系的向量表示。这个思路可以参考词向量的思路,词向量就是在语料文档的词向量空间寻找相同性质的词,即C(king) – C(queen) ≈ C(man) – C(woman)。词向量空间中的传递是存在不变性。|h + r| ≈ t,即若是三元组是正确的,则尾实体向量应该与头实体向量和关系向量的加和更为接近;反之,若是三元组是错误的,则尾实体向量应该与头实体向量和关系向量的加和更为远离。
知识表示学习(一):TransE相关推荐
- 知识表示学习神器OpenKE:快速获取KG表示
©PaperWeekly 原创 · 作者|西南交一枝花 单位|西南交通大学CCIT实验室博士生 研究方向|NLP.时空数据挖掘 导读 最近使用到清华大学 NLP 组开发的知识图谱表示工具 OpenKE ...
- 领域应用 | 小米在知识表示学习的探索与实践
转载公众号 | DataFunTalk 导读:知识表示是知识获取与应用的基础,贯穿了小米知识图谱的构建与应用.本文将结合小米知识图谱的构建及小爱问答场景,介绍融合文本和知识图谱的知识表示学习方法,以及 ...
- 技术动态 | 清华大学开源OpenKE:知识表示学习平台
本文转载自公众号机器之心,选自 THUNLP. 清华大学自然语言处理实验室近日发布了 OpenKE 平台,整合了 TransE.TransH.TransR.TransD.RESCAL.DistMu ...
- 知识图谱最新权威综述论文解读:知识表示学习部分
知识图谱最新权威综述论文解读:知识表示学习部分 知识图谱表示学习 1 表示空间 1.1 Point-wise空间 1.2 复数向量空间 1.3 高斯分布 1.4 流形和群 2 打分函数 2.1 基于 ...
- 论文笔记--知识表示学习研究进展-2016
论文信息: 论文-知识表示学习研究进展-2016-刘知远 文末附6篇知识表示相关论文的下载地址 文章目录 前言 知识库的主要研究目标 基于网络形式的知识表示面临的困难点 表示学习&知识表示学习 ...
- 知识表示学习研究进展
知识表示学习研究进展 本博文来源于 Paper: 刘知远 2016 知识表示学习研究进展 计算机研究与发展 目前的产品 谷歌知识图谱 微软Bing Satori 百度知心 搜狗知立方 IBM Wast ...
- 知识表示学习(KG Embedding)—— TransX系列
文章目录 前言 TransE TransH TransR TransD 总结 参考资料 前言 知识表示学习是针对于知识图谱三元组所做的word embedding,平常所做的都是基于完整的文本表述比如 ...
- 知识图谱文献综述(第二章 知识表示学习)
第二章 知识表示学习 1. 任务定义.目标和研究意义 知识表示是知识获取与应用的基础,因此知识表示学习问题,是贯穿知识库 的构建与应用全过程的关键问题.人们通常以网络的形式组织知识库中的知识, 网络中 ...
- 基于翻译模型(Trans系列)的知识表示学习
翻译模型(Trans) 解决问题:知识表示与推理 将实体向量表示(Embedding)在低维稠密向量空间中,然后进行计算和推理. 主要应用:triplet classification, link p ...
- 知识图谱:知识表示学习(KRL)/知识嵌入(KE)必读论文
OpenKE这是一个用于 KRL/KE 的开源工具包.该存储库提供了标准的 KRL/KE 培训和测试框架.目前,OpenKE 中实现的模型包括 TransE.TransH.TransR.TransD. ...
最新文章
- 20年的人工智能设计总结:向产品中注入人工智能的指南
- NUMBER_GET_NEXT 获取编号年度问题
- ITK:线性强度变换
- 【报错笔记】在maven项目中jsp页面使用window.location.href给controller传参时参数过长所以路径无法跳转至controller
- 札记__ADT:URL,Lua:strlen方法
- 计算机网址登录教程,melogincn电脑登录教程
- mysql in 按顺序排序_mysql in 排序 也可以按in里面的顺序来排序
- cad 打开硬件加速卡_老司机手把手带你解决,各种CAD疑难杂症
- 费诺编码c语言实验报告,formal parameter 4 different from declaration
- 【美文赏析】世界上最遥远的距离
- android 移植 距离感应,Android sensors移植文档
- PX4飞控控制投放装置
- VMProtect修复导入表的插件
- 【面经_计算机网络_(个人总结_下】
- 【移动应用趋势】2022 年值得关注的 15 大移动应用开发趋势
- Android播放音效
- csdn博客贴代码方式
- 国外计算机科学英语演讲,华工学子英语演讲共庆祖国华诞
- java web 大并发服务器_计算-服务器最大并发量-http协议请求-以webSphere服务器为例-考虑线程池...
- 样本方差分母为什么是n-1?——无偏估计
热门文章
- pureftpd mysql.conf_pureftpd-mysql.conf配置文件
- python的路径拼接
- iPhone数据线能轻松黑掉你的电脑/联通新版冰激凌来了,以上为今日内容
- phonegap android开发中出现deviceready event not fired和Channel not fired的问题的解决办法
- 学历对一个程序员重要吗?是找工作还是考研?
- python做什么副业_适合上班族的25个副业,做什么副业好
- python outlook calendar_Outlook日历API Python
- java接入秒嘀API实现发送短信功能
- Spring Boot 2.x 跨域问题(多种解决方式)
- 从乙方到甲方,我在做什么