知识图谱表示学习-TransE算法

  • 表示学习
    • 知识图谱表示学习
    • TransE

(这是一篇小白入门笔记,请勿转载)

表示学习

表示学习是一个利用模型自动地学习数据的隐式特征的过程,以此来计算得到对学习对象来说相比原始数据更好的表示形式,是一种数据预处理方法,帮助剔除数据中的无效信息,以便在后续训练任务中更有效地利用数据的有用特征。表示学习算法的结果是用低维实值稠密向量,即表示对象的分布式表示(distributed representation),将语义信息分布式存储于各维度中。

原始数据和经人工简单加工得到的数据表示在应用过程中通常有缺陷。

比如独热表示(one-hot representation)是一种最简单的数据表示。在这种表示下,每个表示对象的向量都相互独立,但一般事实上的对象之间并非完全独立,这显然有违事实情况。独热编码方式未能表示出不同对象之间可能存在的共同的隐式特征,同时也存在数据稀疏问题,会造成空间浪费。

表示学习利用各种算法对原始数据进行特征学习,在保留数据特征的前提下对数据降维,使得数据表示更为精炼。表示学习的方法多样,可以是有监督的,例如监督神经网络, 监督型字典学习(dictionary Learning)、多层感知器(multiple perceptron, MLP),也可以是无监督的,例如自编码器(autoencoder, AE)、矩阵分解、独立分量分析(Independent Component Analysis, ICA)等,也可以二者相结合地进行多次训练。表示学习是深度学习领域中的重要内容,在各方向包括自然语言处理、计算机视觉、语音处理等应用相当广泛。

知识图谱表示学习

知识图谱表示学习,也可以说知识图嵌入(knowledge embedding learning),是对知识图谱中实体及关系的表示学习。通过有效计算实体、关系及其复杂的语义关联,提取实体和关系的特征,获取高质量的数据表示,以提高知识获取、融合和推理等后续任务的性能。

一个知识库或一张知识图谱被表示为 G = (E, R, S) ,E 为实体的集合,R 为关系集合,S 为实体和关系的三元组集合。在 S 中每个形如 (h, r, t) 的三元组代表一条事实,其中h为头实体,t 为尾实体,r 为头实体和尾实体间的关系。通常三元组从 RDF 中提取,实体用 URL 表示。在表示学习的过程中,根据定义的得分函数训练模型,每一个事实对应的得分代表该事实的显著性。

TransE

TransE是基于平移假设的模型。
根据词向量空间中的平移不变现象,Bordes等人于 2013 年提出TransE模型。用向量之间的加法运算表达实体和关系之间的逻辑。规定当三元组为真,即 (h, r, t) 为真时,有 h + rt。在训练过程中不断调整向量 h, r, t 使得 h+r 的结果与 t 尽可能相等。定义得分函数为 h + r 和 t 的距离,f(h,r, t) = ||h + r − t||1/2,三元组越接近事实时,得分函数越低,反之如果三元组与事实不符,则距离越远得分越高。在开始训练之前需要自行构造负例做负采样,TransE 的负采样方式是简单地随机打乱三元组的实体
项或关系项之一,并过滤掉包含在给定事实三元组的项来生成负例,负例用 (h’, r’, t’) 表示。基于此,TransE 的目标函数为:

γ 为一个大于 0 的超参数。
采用最大间隔法,在训练模型过程中用梯度下降法(SGD)最小化目标函数,从而得到最优化模型, 这里的优化是指使表示学习结果对知识的真实与否有较好的辨别能力。
TransE 是知识图谱表示学习经典基础的算法,计算复杂度较低,模型效果尚可。它的局限在于只能处理实体之间一对一的关系,对较复杂的一对多、多对一、多对多或者自映射关系无法达到预期建模效果。由于它简单地通过向量加法和向量距离来建模,且将实体关系投影到单一空间,同时也没有对实体和关系的类型属性、语义描述等信息进行利用,无法建立复杂模型对多源信息进行进一步融合。同时模型也没有涉及到关系之间或许存在的相互依赖性,将所有关系视为相互独立,所以它所完成的对数据的潜在特征提取非常片面。后续很多工作改进了该算法。

TransX 系列的模型训练过程都是类似的,以 TransE 为例,步骤如下:
TransE 算法可以被分为三步。

  1. 根据输入的维度 dim 随机初始化实体矩阵和关系矩阵并归一化。
  2. 根据 minibatch 在输入的三元组中随机抽取正例之后,再根据这些正例做负采样。
  3. 根据目标函数计算梯度,更新实体矩阵和关系矩阵中的值。
    在第三步中需要求导计算出梯度的具体表达式,如下所示:
    L1-norm 时 d = P |h + rt|,梯度为:对 h 求导:∂d∂h = P(sign(h + r − t)). 对 t 求导:∂∂dt = P(sign(h + rt)). 对 r 求导:∂d∂r = P(sign(h + rt)).
    L2-norm 时,d = P(h+r−t)T (h+r−t),梯度为:对 h 求导:∂d∂h = 2 P(h+rt). 对 t 求导:∂∂dt = 2 P(h + rt). 对 r 求导:∂d∂t = 2 P(h + rt).
    在循环第二第三步一定轮数之后,满足了一定停止条件时,得到了目标函数最优化的结果,即得到该算法下实体向量的嵌入式表示和关系表示。

相关代码就不展示了,github有各个语言的实现。以及个人感觉理解一个算法还是读论文最快最清楚。

以上内容是做毕设时的学习笔记,欢迎指正。

知识图谱表示学习-TransE算法相关推荐

  1. 知识图谱表示学习 TransE: Translating Embeddings for Modeling Multi-relational Data

    知识图谱表示学习 TransE: Translating Embeddings for Modeling Multi-relational Data 表示学习是深度学习的基础,将数据用更有效的方式表达 ...

  2. 知识图谱表示学习Transe TransD TransR等的评价指标 hit@10、mean rank的理解

    最近学习了知识图谱数值表示方式的学习算法,包括TransE.TransD.TransR等,看到提到的评价指标有hit@10.mean rank等,一开始对于这些指标并不清楚.在看了一篇Transe的实 ...

  3. 如何将知识图谱特征学习应用到推荐系统?

    来源 | 微软研究院AI头条 将知识图谱作为辅助信息引入到推荐系统中可以有效地解决传统推荐系统存在的稀疏性和冷启动问题,近几年有很多研究人员在做相关的工作.目前,将知识图谱特征学习应用到推荐系统中主要 ...

  4. 论文浅尝|简单高效的知识图谱表示学习负样本采样方法

    笔记整理 | 陈名杨,浙江大学在读博士生,主要研究方向为知识图谱表示学习 Introduction 研究知识图谱表示学习(KnowledgeGraph Embedding)可以解决当前很多应用的基本问 ...

  5. 论文小综 | 知识图谱表示学习中的零样本实体研究

    转载公众号 | 浙大KG 本文作者| 耿玉霞,浙江大学在读博士,主要研究方向为知识图谱.零样本学习及可解释性 前言 随着知识图谱表示学习算法的蓬勃发展,在各个领域中都得到了广泛的应用,如推荐系统.知识 ...

  6. 领域应用 | 如何将知识图谱特征学习应用到推荐系统?

    本文转载自公众号:微软研究院AI头条. 编者按:在上周发表的"推荐算法不够精准?让知识图谱来解决"一文中,我们为大家介绍了日常生活中几乎每天都会用到的推荐系统,以及用来提高推荐系统 ...

  7. 直播 | CIKM 2021论文解读:基于广群的知识图谱表示学习统一模型框架

    「AI Drive」是由 PaperWeekly 和 biendata 共同发起的学术直播间,旨在帮助更多的青年学者宣传其最新科研成果.我们一直认为,单向地输出知识并不是一个最好的方式,而有效地反馈和 ...

  8. AAAI 2018论文解读 | 基于置信度的知识图谱表示学习框架

    作者丨谢若冰 单位丨腾讯微信搜索应用部 研究方向丨知识表示学习 知识图谱被广泛地用来描述世界上的实体和实体之间的关系,一般使用三元组(h,r,t)(head entity, relation, tra ...

  9. 论文浅尝 - CIKM2021 | DT-GCN: 一种双曲空间中的数据类型感知的知识图谱表示学习模型...

    论文作者:申雨鑫,天津大学硕士 发表会议:CIKM 2021 链接:https://dl.acm.org/doi/pdf/10.1145/3459637.3482421 动机 知识图谱表示学习旨在将实 ...

  10. 论文浅尝 | BoxE:一种基于Box的知识图谱表示学习模型

    笔记整理 | 耿玉霞,浙江大学直博生.研究方向:知识图谱,零样本学习等. 论文链接:  https://arxiv.org/pdf/2007.06267.pdf 本文是发表在NeurIPS 2020上 ...

最新文章

  1. C#编写一个抓网页的应用程序
  2. 如何查看linux系统的体系结构
  3. java清屏_【图片】请问java编写中如何做到清屏啊。。。_java吧_百度贴吧
  4. python实现异步的几种方式_终于搞明白了,异步Python比同步Python究竟快在哪里?...
  5. 最近打算再写一个 局域网聊天软件
  6. 数据结构 【实验 串的基本操作】
  7. 计算机网络图论,网络图论
  8. ios刷机固件下载网址
  9. 炫酷的2022网页特效网站源码
  10. 数据库事务的四大特性,四种隔离级别,如何避免脏读、不可重复读、幻读(如何加锁)?
  11. 解决Microsoft已经阻止宏运行,因为此文件的来源不受信任。
  12. 使用AVFoundation完成照片拍摄存储相册, 开启关闭闪光灯, 切换摄像头
  13. 几个命令查看ELF文件的“秘密”
  14. 十分钟教会女朋友上手阿里云服务器
  15. Python之assert断言语句
  16. PSV中国天气 V1.2.3
  17. 二维码扫描器 android二维码扫描 二维码识别软件
  18. macOS必备APP macOS 下那些鲜为人知的使用技巧
  19. java抽奖程序头像_半小时撸一个抽奖程序
  20. 基于深度学习的推荐系统研究

热门文章

  1. 关于代理服务器与NAT
  2. maven 压缩html,YUI Compressor Maven插件压缩 js、css并输出war包
  3. qpython 3h怎么使用_不思议迷宫M14怎么玩 不思议迷宫M14攻略
  4. php flea,FleaPHP - 开发框架 - PHP开源网(PHP-OPEN.ORG)
  5. McAfee企业版8.8——病毒库的备份与还原
  6. 将GitHub源代码打包成jar包
  7. D star路径搜索算法
  8. 金庸群侠传修改器链接服务器,《金庸群侠传》6合1版修改器
  9. 最齐全的骨头VRay材质球素材,速来收藏
  10. 对诺基亚N8有兴趣的可以进来看看