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

2024-05-07 14:48

本文主要是介绍知识图谱中的关系推理,究竟是个什么玩意儿?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

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

这一篇是刘老师交给我看的第一篇论文,从初期的配置环境,到后面直接一口气上全英文的论文,再到接触全新的一门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,也取得了较好的结果。但文中似乎未探讨卷积核设计对结果的影响,面向树结构的卷积核的设计是否是本文独立提出的?读者可参看文中参考文献探寻一下。


这篇关于知识图谱中的关系推理,究竟是个什么玩意儿?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/967658

相关文章

python安装whl包并解决依赖关系的实现

《python安装whl包并解决依赖关系的实现》本文主要介绍了python安装whl包并解决依赖关系的实现,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录一、什么是whl文件?二、我们为什么需要使用whl文件来安装python库?三、我们应该去哪儿下

MYSQL关联关系查询方式

《MYSQL关联关系查询方式》文章详细介绍了MySQL中如何使用内连接和左外连接进行表的关联查询,并展示了如何选择列和使用别名,文章还提供了一些关于查询优化的建议,并鼓励读者参考和支持脚本之家... 目录mysql关联关系查询关联关系查询这个查询做了以下几件事MySQL自关联查询总结MYSQL关联关系查询

SSID究竟是什么? WiFi网络名称及工作方式解析

《SSID究竟是什么?WiFi网络名称及工作方式解析》SID可以看作是无线网络的名称,类似于有线网络中的网络名称或者路由器的名称,在无线网络中,设备通过SSID来识别和连接到特定的无线网络... 当提到 Wi-Fi 网络时,就避不开「SSID」这个术语。简单来说,SSID 就是 Wi-Fi 网络的名称。比如

Java架构师知识体认识

源码分析 常用设计模式 Proxy代理模式Factory工厂模式Singleton单例模式Delegate委派模式Strategy策略模式Prototype原型模式Template模板模式 Spring5 beans 接口实例化代理Bean操作 Context Ioc容器设计原理及高级特性Aop设计原理Factorybean与Beanfactory Transaction 声明式事物

sqlite3 相关知识

WAL 模式 VS 回滚模式 特性WAL 模式回滚模式(Rollback Journal)定义使用写前日志来记录变更。使用回滚日志来记录事务的所有修改。特点更高的并发性和性能;支持多读者和单写者。支持安全的事务回滚,但并发性较低。性能写入性能更好,尤其是读多写少的场景。写操作会造成较大的性能开销,尤其是在事务开始时。写入流程数据首先写入 WAL 文件,然后才从 WAL 刷新到主数据库。数据在开始

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

POJ1269 判断2条直线的位置关系

题目大意:给两个点能够确定一条直线,题目给出两条直线(由4个点确定),要求判断出这两条直线的关系:平行,同线,相交。如果相交还要求出交点坐标。 解题思路: 先判断两条直线p1p2, q1q2是否共线, 如果不是,再判断 直线 是否平行, 如果还不是, 则两直线相交。  判断共线:  p1p2q1 共线 且 p1p2q2 共线 ,共线用叉乘为 0  来判断,  判断 平行:  p1p

pip-tools:打造可重复、可控的 Python 开发环境,解决依赖关系,让代码更稳定

在 Python 开发中,管理依赖关系是一项繁琐且容易出错的任务。手动更新依赖版本、处理冲突、确保一致性等等,都可能让开发者感到头疼。而 pip-tools 为开发者提供了一套稳定可靠的解决方案。 什么是 pip-tools? pip-tools 是一组命令行工具,旨在简化 Python 依赖关系的管理,确保项目环境的稳定性和可重复性。它主要包含两个核心工具:pip-compile 和 pip

【Python知识宝库】上下文管理器与with语句:资源管理的优雅方式

🎬 鸽芷咕:个人主页  🔥 个人专栏: 《C++干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 文章目录 前言一、什么是上下文管理器?二、上下文管理器的实现三、使用内置上下文管理器四、使用`contextlib`模块五、总结 前言 在Python编程中,资源管理是一个重要的主题,尤其是在处理文件、网络连接和数据库

dr 航迹推算 知识介绍

DR(Dead Reckoning)航迹推算是一种在航海、航空、车辆导航等领域中广泛使用的技术,用于估算物体的位置。DR航迹推算主要通过已知的初始位置和运动参数(如速度、方向)来预测物体的当前位置。以下是 DR 航迹推算的详细知识介绍: 1. 基本概念 Dead Reckoning(DR): 定义:通过利用已知的当前位置、速度、方向和时间间隔,计算物体在下一时刻的位置。应用:用于导航和定位,