论文浅尝 | DEER:解释实体关系的描述性知识图谱

news2024/9/22 17:25:26

83e721afaea37f5a214326c1db28c1cc.png

笔记整理:王润哲,东南大学硕士,研究方向为多元关系抽取

链接:https://aclanthology.org/2022.emnlp-main.448.pdf

动机

实体关系是知识图谱中不可或缺的一层重要信息,它们描述了实体之间的语义关系,这种连接使得知识图谱能够表达更为丰富的知识信息。过去学者们围绕实习关系及其抽取做出了许多工作,但是这些工作大都需要预先定义关系类型,而这样的人为定义常常会导致抽取到的实体关系覆盖范围较小,并不能够充分描述实体间的不同关系。同时作者认为基于传统关系建模方式构建的图谱能够提供的信息量是受限的,这些实体关系虽然精简但是会提升人们理解关系具体语义的难度。

为此本文提出了一种名为DEER的描述性知识图谱,用以更好地解释实体关系。与传统关系建模方法不同,DEER将实体之间的关系表示为开放文本关系描述,并不需要预先指定一组关系类型,这种建模方式更加灵活开放,并且能使得图谱包含更大的信息量。同时,针对这种新型的实体关系表示方式,本文提出了一种自监督学习的方法来抽取关系描述,利用一种基于transformer的关系描述合成模型即可不用人为标注而生成未被覆盖的实体的新关系描述。

贡献

(1)提出了一种描述性知识图谱(DEER),用于解释实体之间的关系

(2)提出了一种自监督的实体关系描述抽取方法,帮助构建DEER

(3)提出了对关系描述抽取效果的标准评估模型,帮助规范关系描述的生成

方法

关系描述抽取

关系描述抽取主要可以分成两个部分,第一个部分是对描述进行预处理和筛选,这部分的目的是获取到存在关系的实体对,并根据实体对获取其候选关系描述。为了提高关系的准确性,这里作者选择以Wikipedia这样的高质量语料库作为原始语料,后续的处理主要利用了多层次的规则以及一些现有工具完成,

第二部分是核心的打分环节,这里由于选用了Wikipedia这样一个本身就较为准确的语料,所以后续抽取关系描述时更加关注这些关系的明确性(explicitness)和重要性(significance)。这里为了更精简且准确地描述关系,作者选择采用实体间最短的依赖路径来作为核心路径(corePath)用以表示关系,同时会去掉一些不影响人们去阅读理解的部分使得表述减少冗余。描述实体关系和其他文本之间联系的次要路径(subPath)也会被收集起来,它也会以类似于核心路径的方式去描述其他一些关系模式。接下来就会对这些描述关系的路径进行明确性以及重要性的评估,明确性评估是依赖不同核心路径出现的频率计算得到的,公式如下:

1355d52ea2f5e29a9f037e0094a5f653.png

其中  和  分别代表当前核心路径的关系模式以及出现最频繁的核心路径关系模式各自的频率。对于关系重要性的评估则主要依赖次要路径的频率,计算公式如下:

1e25a428ca716950164a1e339da8fac8.png

其中ct代表核心路径中的token,mt代表相关次要路径中的token,  和  则分别表示当前次要路径的关系模式以及出现最频繁的次要路径关系模式各自的频率。最终的得分函数基于先前算出的明确性分数以及重要性分数,计算公式如下所示:

9efaa439aa90eff5f13043c30cbf4703.png

构建过程中会对每一对实体对计算其所有候选关系描述的分数,并取得分最高的作为最终的关系描述保留。

关系描述生成

这部分方法是对第一部分的补充,因为在实际构建过程中,会遇到某些相关的实体对,他们之间存在的关系在语料库中并没有对应的描述,换句话说可能不存在同时包含这对相关实体的句子,或者即使存在这样的句子也无法提取出相应的关系描述,因此这部分方法是为了生成这样相关实体对之间的关系描述。这个生成任务被定义为给定一对实体,在现有DEER的前提下生成句子描述实体间的关系,生成的关系描述的概率可以表示为:

7c8993260f6679576523b4c3d230bcb3.png

其中(x,y)代表给定的实体对,  代表初始的DEER,s即为生成的关系描述,m为这个描述的长度。

这里作者提出了一种关系描述的合成方式RelationSyn(Relation Description Synthesizing)来帮助合并  用于生成,框架如图1所示:

40037a00b96a4db913bdd2b08a1b4dc8.png

图1 RelationSyn框架图

这里可以看出RelationSyn主要分为两个部分,首先会检索相关的关系描述,然后再将它们合成最终的关系描述。由于一对实体之间可能存在多条可能的路径,所以作者设计了一个路径分数来评估不同推理路径的质量,计算公式如下所示:

69ef0dccd7dd635cab7d63a1db2372ac.png

公式中q代表一条推理路径,  代表推理路径中的关系描述集合。同时作者提到,推理难度会随着推理路径长度的增加而提高,这也是一个需要考虑的因素。最终在检索路径时会先按照路径长度排序,路径比较短的优先级较高,路径评分则反映了路径的明确性和重要性,因此会在此基础上给予路径评分较高的以更高的优先级。

合成部分又可以分成编码和解码,作者又把它们称为Local synthesize和Global synthesize。大致的流程是先利用T5的编码器将路径转化为潜在向量,相同实体对的不同路径的潜在向量将会被拼接在一起,然后经过T5的解码器获取到最终的关系描述。

实验

实验和结果评估根据方法分成了两部分进行,对于抽取的关系描述采用了人工评估的方式,分数的数值范围为1-5。这里作者分别采用了明确性得分ExpScore,重要性得分SigScore,以及综合得分RDScore作为关系描述的筛选标准,同时加入了随机采样作为一种基础模式,对随机抽出的100个样本对比四种不同方式得到的关系描述获得的人工评分,验证了评估机制的有效性,四种不同模式的得分表1所示:

9c6362788e8c1edec8d30348e849dd91.png

表1 关系描述抽取评分表

关系描述生成部分的实验依然是基于Wikipedia上的数据进行的,作者进行实验的方式为对已经存在关系描述的实体对,隐藏已有描述,并利用现存的推理路径复原原先存在的关系描述,这样便可以和本身不存在关系描述的实体对统一进行生成。模型设置方面,由于在本文之前只有一篇Open Relation Modeling的文章较为相关,所以作者主要对这篇文章中提出的模型以及本文提出模型的集中变体进行对比实验。采用的自动评估指标为BLEU、ROUGE-L、METEOR和BERTScore,结果如表2所示:

171f2a88b27393f0328d042b2064b5ae.png

表2 关系描述生成的自动评估表

这里RelationSyn-m代表每一对实体最多检索的推理路径数目。同时作者也对文本描述的生成结果进行了人工评估,结果如表3所示:

e7f8d2e84a7c4be2efbacde5b75e34ef.png

表3 关系描述生成的人工评估表

从实验结果可以看出本文提出的方法在对每个实体对仅仅检索一条推理路径时就已经超过了先前的工作,并且检索的推理路径越多,生成的结果越好,但是从表3可以看出生成的关系描述评分难以超越直接抽取出的关系描述,这可能是因为对本身不并不存在的描述进行生成难度较高。

总结

本文介绍了一种描述性知识图谱(DEER),用于解释实体之间的关系。DEER能够提供明确、重要且正确的关系描述,这在很大程度上超越了其他相关工作,例如Open Relation Modeling。通过使用DEER,研究人员可以从知识图谱中提取大量有用的信息,以帮助更好地理解实体之间的关系。此外,DEER还提供了一个处理关系描述的标准评估模型,以帮助研究人员在生成关系描述时做出更准确的决策。


OpenKG

OpenKG(中文开放知识图谱)旨在推动以中文为核心的知识图谱数据的开放、互联及众包,并促进知识图谱算法、工具及平台的开源开放。

8949e4c089b6d8e97cea487376af0a13.png

点击阅读原文,进入 OpenKG 网站。

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

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

相关文章

【力扣刷题 | 第十二天】

目录 前言: 104. 二叉树的最大深度 - 力扣(LeetCode) 111. 二叉树的最小深度 - 力扣(LeetCode) 前序遍历: 后序遍历: 总结: 前言: 今天还是对树的基础题进行刷题&am…

大数据Doris(四十七):开启Steam Load记录

文章目录 开启Steam Load记录 一、停止 Doris 集群 二、在 node3-node5 BE 节点上配置 be.conf 三、重新启动 Doris 集群 开启Steam Load记录 后续执行Stream Load 导入任务后,我们会在Doris集群中会查询对应Stream Load任务的情况,默认BE是不记录S…

【Rust日报】2023-06-20 使用Quickwit、Jaeger和Grafana监控您的Rust应用程序

使用Quickwit、Jaeger和Grafana监控您的Rust应用程序 你可能已经看过了Lucas Palmieri的博客文章Are we observable yet? An introduction to Rust telemetry。如果你还没有看过,我们建议阅读一下,因为它提供了一个全面的介绍,介绍了如何处理…

【Python 基础篇】Python 函数:代码重用的利器

文章目录 导言一、创建函数二、函数参数1、位置参数2、关键字参数3、默认参数 三、函数返回值四、函数的高级用法1、递归函数2、匿名函数3、内置函数 总结 导言 函数是一种在Python中定义和封装可重用代码的重要机制。它们使我们能够将复杂的任务分解为更小的部分,…

【算法与数据结构】15、LeetCode三数之和

文章目录 一、题目二、双指针法三、完整代码 所有的LeetCode题解索引,可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、双指针法 思路分析:我们使用双指针法,但这道题因为要求数组三个元素的和,一共用到了三个指…

新人拿到一个web项目如何使用idea发布运行

本文描述的是一个新手,拿到一个web项目,使用idea如何发布运行。项目中没有非常复杂的元素,只是试着描述应该如何配置相关内容。 内容描述前提,首先请您确认tomcat已经安装,其次确认jdk已经安装,并明确他们在…

基于Java农产品仓库管理系统设计实现(源码+lw+部署文档+讲解等)

博主介绍: ✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战 ✌ 🍅 文末获取源码联系 🍅 👇🏻 精…

管理类联考——逻辑——技巧篇——论证推理(10-12 道左右)——五大秒杀思路

逻辑考试出题思路分类 论证推理(10-12 道左右) 论证推理细分思路 假设——补全逻辑假设——引入前提前真后假 - 前假后真建立联系型支持由果推因的削弱由因推果 / 直接引入他因指出不同 / 指出相同五大固定秒杀思路解释类题目评价类题目 论证推理题目…

C语言学习(二十四)---递归与冒泡排序法

在前面几节的内容中,我们学习了指针的相关概念,至此,指针的内容就暂时告一段落了,今天我们将继续向下学习,主要内容为递归和冒泡排序法,好了,话不多说,开整!!…

【AndroidUI设计】主界面设计-Toolbar的简单使用

文章目录 一、引言二、了解三、编码1、UI设计2、编码 一、引言 描述:需要设计一个主界面,菜单通过主界面的左边界划入,实现点击跳转修改主界面内容的一个效果,并且点击非内容区域恢复原界面的一个效果。做到菜单的弹出&#xff0…

Vue3 One Piece Study

目录 脚手架安装vue3 使用vue-cli创建 使用vite创建 setup 介绍 示例使用 ref函数 介绍 代码示例 reactive函数 介绍 代码示例 脚手架安装vue3 使用vue-cli创建 vue create 项目名 安装完成 进入到刚才创建的项目目录中 cd vue3_test 输入npm run serve测试 使用…

基于Java健康综合咨询问诊平台设计实现(源码+lw+部署文档+讲解等)

博主介绍: ✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战 ✌ 🍅 文末获取源码联系 🍅 👇🏻 精…

STM32 HAL库开发——入门篇(2):定时器

目录 一、TIMER定时器概述 1.1 软件定时原理 1.2 定时器定时原理 1.3 STM32定时器分类 1.4 STM32定时器特性表 1.5 STM32基本、通用、高级定时器功能整体的区别 二、基本定时器 2.1 基本定时器简介 2.3 STM32定时器计数模式及溢出条件 2.4 定时器中断实验相关寄存器 …

MySQL创建商品订单数据库

目录 一、商品分类表 ProductClass1. 创建 ProductClass表2. 插入数据3. 展示 二、客户表 Customer记录1. 创建 Customer表2. 插入数据3. 展示 三、商品表 Product1. 创建 Product表2. 插入数据3. 展示 四、员工表Employee1. 创建 Employee表2. 插入数据3. 展示 五、订单主表 O…

kubernetes_核心组件_KubeProxy_KubeProxy三种模式和参数解析

系列文章目录 文章目录 系列文章目录前言一、kube-proxy三种服务负载模式1.1 userspace 模式1.2 iptables 模式1.3 ipvs 模式 二、kube-proxy 启动参数基本参数目录挂盘kubeproxy配置项(ConfigMap)kube-proxy 启动参数 三、kube-proxy 常用命令四、宿主机上的iptables规则&…

数据结构链表(C语言实现)

绪论 机遇对于有准备的头脑有特别的亲和力。本章将讲写到链表其中主要将写到单链表和带头双向循环链表的如何实现。 话不多说安全带系好,发车啦(建议电脑观看)。 附:红色,部分为重点部分;蓝颜色为需要记忆的…

【微服务】一文了解Nginx网关搭建教程

一文了解Nginx网关搭建教程 Nginx网关搭建nginx配置Nginx网关搭建 那么什么是Nginx呢? nginx是一个高性能HTTP服务器,反向代理服务器,邮件代理服务器,TCP/UDP反向代理服务器。 单个系统主要用于处理客户端请求,一个系统处理客户端的请求量是有限的,当客户端的并发量超…

CROSSROADS: 1实战演练

文章目录 CROSSROADS: 1实战演练一、前期准备1、相关信息 二、信息收集1、端口扫描2、访问网站3、dirsearch扫描目录4、查看隐写5、枚举用户6、暴力破解7、访问共享文件夹8、查看第一个flag9、写入shell并连接 二、后渗透1、查看权限和SUID文件2、运行程序3、切换root3、查看第…

2019 - 2023,再见了我的大学四年

个人简介 👀个人主页: 前端杂货铺 🙋‍♂️学习方向: 主攻前端方向,也会涉及到服务端(Node.js 等) 📃个人状态: 2023届本科毕业生,已拿多个前端 offer&#x…

【Linux环境基础开发工具】编译器-gcc/g++

写在前面: 上一篇博客, 我们学习了vim编辑工具,学会了怎么写代码, 这篇文章,我将分享代码该怎么编译的问题。 目录 写在前面: 1. gcc和g介绍 2. gcc是如何编译程序的 1. 预处理 2. 编译 3. 汇编 …