关系推理是我全新接触的东西,虽然大一暑假的时候,留校做比赛有了解过神经网络的相关算法, 看过十多篇国内的论文,但这一次跟着刘老师的团队进行的这份工作,才让我真正的感受到了科研的魅力。

说起来,机器学习里那么多的方法,我对神经网络真的是真爱,这份喜爱大概来源自高中时看的某篇科幻小说吧~(不要打我……逃)

这一篇是刘老师交给我看的第一篇论文,从初期的配置环境,到后面直接一口气上全英文的论文,再到接触全新的一门Lua语言(因为论文的实现是用的Lua,我们项目组也在考虑要不要用Python来重写。)

总之,也不确定国内有多少人在看这篇论文,也不确定我自己的这一系列文章能对多少人有所帮助,只当是留下自己的一个学习过程吧。也希望能帮到项目组后面接触这篇论文的人。

那么下面切入正题。

首先是知识图谱这个东西。

知识图谱本质上是语义网络,是一种基于的数据结构,由节点(Point)(“实体”)和边(Edge)(“关系”)组成。在知识图谱里,每个节点表示现实世界中存在的“实体”,每条边为实体与实体之间的“关系”。知识图谱是关系的最有效的表示方式。通俗地讲,知识图谱就是把所有不同种类的信息(Heterogeneous Information)连接在一起而得到的一个关系网络。知识图谱提供了从“关系”的角度去分析问题的能力。

如果你已经对机器学习、数据挖掘这类的一系列新兴玩意儿搞傻眼了的话,可以先看看这篇介绍:

数据挖掘、机器学习、深度学习,脸盲症入坑指南

一图胜千言!上图!

知识图谱.png

如果还是不太懂的可以去看相关链接【1】【2】,这里我不赘述了。

再来说关系推理

就我的理解而言,虽然目前的知识图谱上已经有了非常多的实体对和关系事实,但是由于数据的更新迭代以及不完整性,注定了这个知识图谱的不完整,同样,他里面也隐藏着我们难以轻易发现的信息。在论文中,给出了一个非常经典的介绍:

For example, we may have no evidence directly linking Melinda Gates and Seattle, however, we may infer with some likelihood that Melinda–lives-in– Seattle, by observing that the KB contains the path Melinda–spouse–Bill–chairman–Microsoft–HQ-in–Seattle. 

比如说,我们没有证据直接指明梅琳达·盖茨和西雅图的关系。然而,我们可以通过观察到知识图谱中包含这样的一条路径“梅琳达·盖茨 - 配偶 - 比尔·盖茨 -主席 - 微软 - 总部在 - 西雅图 ”,推测出梅林达可能居住在西雅图。

这就是一个完整的、从关系推导出结果的例子。

或许你会说,这条路径多简单,是个人都能猜到。那么从100条这样的路径中呢?你会得出怎样的信息,会如何对信息的选择进行预判,你得出的信息又到底是对是错?这就是关系推理需要进行的工作了。

目前国内外的关系推理模型主要基于三类:

关系推理3.jpg

接下来分开来讲

先放两张便于大家理解的图——(基于逻辑规则的关系推理里也包含了基于概率图,基于知识表达的我暂时没找到,这个文件讲的还不错,大家可以先看看这个QAQ)

基于逻辑规则的关系推理

  1. 建模依据:采用抽象或具象的Horn子句
  2. 本质:基于逻辑规则进行推理
  3. 代表性工作:

    • 马尔科夫逻辑网络(Markov Logic Network)模型
    • 基于贝叶斯网络的概率关系模型(Probabilistic Relational Models)
    • 基于统计机器学习的FOIL(First Order Inductive Learner)算法
    • PRA算法(Path Ranking Alogorithm)
    • SFE(Subgraph Feature Extraction)算法
    • HiRi(Hierarchical Random-walk inference)算法
  4. 优势:能够模拟人类的逻辑推理能力,有可能引入人类的先验知识辅助推理
  5. 缺点:尚未有效解决优势所带来的的一系列问题,包括专家依赖、复杂度过高等问题
  6. 发展趋势

    1. 逐渐摒弃对人工规则的依赖
    2. 转而借助模式识别的方式进行规则(模式特征)发现
    3. 采用机器学习方法进行特征建模

基于知识表达的关系推理

  1. 建模依据:将实体和关系映射到一个低维的embedding空间中,基于知识的语义表达进行推理建模
  2. 代表性工作:

    • RESCAL张量分解模型(Tensor Factorization Model)
    • SE(Structured Embedding)关系推理算法
    • TransE(Translating Embedding)算法
    • TransH算法
    • TransM算法
    • TransG模型
  3. 优势:生成知识表达时能够充分利用知识图谱已有的结构化信息
  4. 缺点:建模方法着眼于实体间的直接关联关系,难以引入并利用人类的先验知识实现逻辑推理

基于深度学习的关系推理

  1. 代表性工作:

    • 单层感知机模型SLM(Single Layer Model)
    • NTN神经张量模型(Neural Tensor Networks)
    • DKRL(Description-Embodied Knowledge Representation Learning)模型
    • Path-RNN模型

      然后这是以上概括的整体思维导图——

而在关系推理日益发展壮大的基础上,在为知识图谱扩容的时候,又可以倒过来为自动化知识质量评估技术做出贡献。也就是前面所说的怎么判断抽取到的资料,好不好、正不正确等。

EMNLP 2016

A Position Encoding Convolutional Neural Network Based on Dependency Tree for Relation Classification

  • 作者:Yunlun Yang, Yunhai Tong, Shulei Ma, Zhi-Hong Deng
  • 机构:School of Electronics Engineering and Computer Science, Peking University

本文的任务为关系分类,即对于给定句子中的给定实体对进行关系分类。本文叙述,传统特征选择的方法严重依赖于特征的质量以及词语资源,为了达到最优往往需要耗时的人工选择特征子集。基于核函数的方法虽然不必选择特征,但仍需精心设计的核函数并具有较大的计算开销。最近,随着神经网络的兴起,深度学习所提供的端到端的方法被应用于很多经典的自然语言处理问题。RNN和CNN已经被证明对关系分类具有极大帮助。

然而,一些研究工作表明传统的特征对于关系分类的神经网络方法仍有提高作用,可以提供更多的信息。一个简单而可行的方法是将词语级的特征和神经网络获取的特征简单组合(一般是连接起来),组合后的表示输入到分类器。另一种更加复杂的方法是根据句子的句法依存树调整神经网络的结构,取得了较好的效果。

本文认为,句法依存树在关系分类的任务上是很有价值的。本文发现实体对间的依存路径对关系分类更有价值,相比于整体句子的依存路径,由于其依存路径的距离往往小于句子的依存路径距离,剪枝后的实体间依存路径减少了很多噪声信息。为了更好的利用句法依存所提供的语言学知识,本文提出了基于句法依存树和的位置编码卷积神经网络方法PECNN。方法的过程图如下:

每个词的表示由两部分构成:词向量、该词的依存树位置特征。位置特征的获取主要思想是将离散的位置映射到实数向量,它和词向量相似,只不过是将词替换为离散的距离。本文提出了两种方法来定义依存树中的位置特征TPF1、TPF2。TPF1中距离定义为当前词到目标实体的最短路径中依存弧的个数,映射方式和PF相同,即不同的距离随机初始化一个固定维度的向量,训练的过程中学习。一个词到实体的最短路径可以划分为两个子路径:被最低祖先节点分割,TPF2则将距离用二元组表示,分别代表两个子路径的长度。下图是各个词语到实体Convulsions的TPF1与TPF2:

典型的CNN的一个卷积窗口每次获取当前词的邻近上下文词语作为输入,在本文中为了充分利用树结构信息,本文将当前词的父节点和子节点作为作为其邻近上下文输入到卷积窗口,相应的本文对卷积核也做了修改,使用了两种卷积核:Kernel-1、Kernel-2,具体定义见论文。其中Kernal-1旨在从依存树中多层次抽取特征,而Kernel-2专注于挖掘共享父节点的词之间的语义信息。两个核函数的大小均取3。最后将Kernel-1、Kernel-2分别池化并拼接在一起作为CNN输出。

笔者:本文利用卷积神经网络对实体关系进行分类,创新性地将依存树作为输入,将词在树中的位置信息嵌入式表示并拼接到词向量中共同学习,同时,本文对CNN面向树结构设计了独特的卷积核。本文提出的方法在实体关系分类任务上,相比于未使用位置信息的CNN和LSTM取得了进一步提高。在实验中本文也将POS等特征融入PECNN,也取得了较好的结果。但文中似乎未探讨卷积核设计对结果的影响,面向树结构的卷积核的设计是否是本文独立提出的?读者可参看文中参考文献探寻一下。

知识图谱中的关系推理,究竟是个什么玩意儿?相关推荐

  1. 知识图谱中的关系推理

    向AI转型的程序员都关注了这个号

  2. 知识图谱中的关系方向与强度研究

    知识图谱中的关系方向与强度研究 臧根林1,2, 王亚强1,2, 吴庆蓉1,2, 占春丽1,2, 谢新扬1,2 1 拓尔思知识图谱研究院,广东 广州 510665 2 广州拓尔思大数据有限公司,广东 广 ...

  3. 知识图谱中传统关系抽取方法

    目前主要采用统计机器学习的方法,将关系实例转换成高 维空间中的特征向量或直接用离散结构来表示,在标注语 料库上训练生成分类模型,然后再识别实体间关系  基于特征向量方法 最大熵模型(Kambhatl ...

  4. bgb邻居关系建立模型_学习开发知识图谱中的长期关系依赖

    知识图谱结构化地存储着大量现实世界中的事实.其中,每个事实都以三元组 (s, r, o) 的方式进行描述,其中 s, o 分别表示头实体和尾实体,r 表示它们之间的关系.例如,三元组 (Tim Ber ...

  5. 论文浅尝 | 学习开发知识图谱中的长期关系依赖 - ICML 2019 ​

    本文转载自公众号:南大Websoft. 论文:https://arxiv.org/abs/1905.04914 代码:https://github.com/nju-websoft/RSN 背景 知识图 ...

  6. “神经+符号”:从知识图谱角度看认知推理的发展

    2020-09-18 21:41:33 作者 | 王昊奋.王萌 编辑 | 陈彩娴 在过去十年的人工智能浪潮中,以深度学习为代表的人工智能技术已基本实现了视觉.听觉等感知智能,但依然无法很好地做到思考. ...

  7. 论文小综 | 知识图谱中的复杂查询问答

    作者 | 张文,浙江大学博士,研究兴趣为知识图谱表示与推理 陈名杨,浙江大学在读博士生,研究兴趣为知识图谱表示与推理 本文将介绍近两年4篇关于知识图谱中的复杂查询问答(Complex Query An ...

  8. 论文浅尝 | 知识图谱中的链接预测:一种基于层次约束的方法

    论文笔记整理:张良,东南大学博士生,研究方向为知识图谱,自然语言处理. 链接:https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber= ...

  9. 虚拟专题:知识图谱 | 知识图谱多跳问答推理研究进展、挑战与展望

    来源:<大数据> 知识图谱多跳问答推理研究进展.挑战与展望 杜会芳1, 王昊奋1, 史英慧2, 王萌3 1 同济大学设计创意学院 2 东南大学网络空间与安全学院 3 东南大学计算机科学与工 ...

最新文章

  1. 使用代理软件之后其他软件不能联网的解决方法
  2. 数据表格+弹出层的综合案例
  3. 幕课网产品总监:教你从0到1打造600W下载量的爆款APP
  4. 大咖说:React Native 全埋点实现原理(内附赠书)
  5. CSS3弹性伸缩布局(一)——box布局
  6. [编程入门]猴子吃桃的问题
  7. 无服务器冷启动不是问题-这就是为什么(对于大多数应用程序)
  8. 欧几里得gcd/extend_gcd
  9. 随想录(png的读取和显示)
  10. 问题 L: 求一元二次方程的根
  11. linux编译带pgm的zmq,ZeroMQ接口函数之 :zmq_pgm – ØMQ 使用PGM 进行可靠的多路传输...
  12. 最新美团JS逆向分析(_token参数)
  13. 广东财经大学计算机专业学费,广东财经大学各专业一年至少需要交的学费
  14. postgres stat 记事
  15. text无法使用空格 unity_简单的介绍几种在unity中对数据的存储和读档的方法!
  16. Java程序发生异常就挂了吗?
  17. 基于Python向Abaqus导入txt、dat数据(附abaqus中python二次开发课程)
  18. Disease Ontology:人类疾病分类数据库
  19. java 事务回滚报rollback-only异常
  20. 树莓派-硬件基础GDIO管脚(5)

热门文章

  1. easyuefi安装不了_手把手教你Windows Linux双系统的安装与卸载
  2. 【全栈软件测试】二、Windows服务器(1)搭建DNS服务器
  3. docker本地镜像发布到阿里云镜像仓库
  4. 基于Android平台的手机安全卫士的设计与实现
  5. 2018全国穿越机竞速联赛沪上3月31日启动
  6. servicecomb log4j-slf4j-impl cannot be present with log4j-to-slf4j
  7. 双线性弹塑性模型的塑性模量 plastic modulus
  8. plsql客户端的安装
  9. Unity中的旋转和矩阵操作
  10. python实现最小堆