论文浅尝 | 利用关系标签的主题语义知识为关系抽取提供监督 (IJCAI 2019)

本文转载自公众号:知识工场。

作者:蒋海云,复旦大学2016级计算机博士生,研究方向为知识图谱与自然语言处理。目前已在 IJCAI,AAAI,ACL,DASFAA等会议上发表文章。


IJCAI 2019(The 28th International Joint Conference on Artificial Intelligence)将于当地时间8月10日至8月16日在中国澳门举行。作为人工智能领域最顶级的国际学术会议之一,本次会议投稿量有 4752 篇,接收率为 17.8%。知识工场实验室发表“关系抽取”相关论文一篇,名为《Relation Extraction Using Suervision from Topic Knowledge of Relation Labels》,以下为具体内容:

640?wx_fmt=png

1、Introduction

关系抽取旨在基于文本上下文识别出实体对的语义关系。这些关系通常是预先定义好的。例如,给定实体对[ Microsoft, Bill Gates ]和句子“Bill Gates co-founded Microsoft withhis childhood friend Paul Allen”,我们希望抽取出关系“ founder ”。

传统的方法通常将关系抽取建模为分类问题或者标注问题。在这些方法中,不同的关系标签往往被视为不同的 ID。例如,在关系分类中,每个 ID 代表多分类问题的一个类别( class )。给定一个样本,模型将其映射到一个或多个关系 ID 。然而,关系标签包含着非常丰富的语义信息,这些语义信息被现有的关系抽取模型所忽略。我们认为,充分建模关系标签的语义信息并将其作为关系分类的监督信号,有望进一步提升关系抽取性能。

很显然,仅仅靠关系标签这个词组本身很难挖掘出太多的语义信息。因此,我们需要引入额外的信息作为关系的背景知识。为了克服这一挑战,本文求助于主题模型。对于预定义关系,我们通过相应的训练句子集合进行主题建模,进而从训练数据中挖掘出关系的主题知识。我们的基本假设是:对于每个关系,其标注句子集合包含几个潜在主题,并且这些主题在语义上与关系是相关的。通过主题建模,我们提取前k个带权重的主题词来表示关系的语义。因此,关系的主题知识被具体化为带权重的词袋( weighted bag of words, WBoW )。不难理解,每个主题词都刻画了关系的某些方面,而词的权重则刻画了它对关系的重要性。因此,一个被标注为该关系的句子应该匹配关系的某些重要方面。

640?wx_fmt=png

图1中给出了一个例子来说明主题知识如何为关系抽取( RE )提供有效的监督信息。对于图左边的四个句子,我们希望推断这些句子是否表达了 CEO 关系。对于人类而言,我们知道第一句和第二句明确表达了这种关系,而第三句则较弱地表达了关系。进一步地,第四句则完全没有表达这种关系。通过引入CEO的主题知识,我们发现第一句和第二句与 CEO 关系的大多数重要主题词匹配,而最后一句与其中任何一个主题词都不匹配。因此,主题知识提供的语义信息能有效地支持关系推理。

2、Overview

640?wx_fmt=png

我们在图2中给出了应用关系的主题知识的框架流程图。主要步骤如下。

步骤1:从训练句子中检索关系r的所有句子。

步骤2:获取 r 的主题知识,即通过主题建模从r的标记句子集合中提取前k个加权主题词。

步骤3:为句子-关系对( s; r )建立深度匹配网络。

步骤4:基于主题知识,通过 Word Mover Distance( WMD )计算 s 和 r 之间的语义距离 d ( s,r )。

步骤5:根据语义距离 d ( s,r ) 计算样本的重要性权重。

步骤6:基于深度匹配网络和样本重要性权重建立损失函数。

3、Framework Sentence-Relation Matching Network

640?wx_fmt=png

整个句子关系匹配网络包括三部分:句子学习模块,关系学习模块以及句子关系匹配模块。

句子学习模块。按照头尾实体的位置,我们将句子分成三部分。主要原因有两个。第一:在一个句子中,表达实体对关系的往往位于实体对之间。因此,每部分对于关系推理的贡献是不一样的。第二,为了后续注意力机制的处理,将句子分块可以显著提升效率。句子学习模块主要采用多头的注意力机制( multi-head self-attention )。此外,关系敏感的注意力机制( relation-awareattention )旨在将学习到的句子特征中关系敏感的部分抽取出来,从而降低噪声的影响。

关系学习模块。关系学习模块的输入是关系的主题词集合。在该模块中,我们仍采用自注意力机制。但值得注意的是,在输入词袋中我们考虑了每个词的先验权重,因此,我们希望在自注意力机制学习中将该先验权重考虑进去。这在 weighted multi-head self-attention 中实现。

句子关系匹配模块。基于学到的句子表示和关系表示,我们采用简单的全连接操作实现匹配建模。其中,匹配函数为:

640?wx_fmt=png

其中,Os 是句子 s 的特征矩阵,Or 是关系 r 的特征矩阵。p(y=1|<s,r,t>) 表示句子 s 在表达实体对 t 的关系 r 的概率。

4、Experiments

我们采用NYT数据集,实验结果如下:

640?wx_fmt=png

640?wx_fmt=png

5、Conclusion

在本文中,我们挖掘关系标签的主题知识来表示其语义信息,这为关系抽取提供了有效的监督。 进一步地,我们提出了一种新的深度匹配网络。值得注意的是,我们的框架适用于许多采用分类的NLP任务,这也是我们未来工作的主要研究方向。


OpenKG

开放知识图谱(简称 OpenKG)旨在促进中文知识图谱数据的开放与互联,促进知识图谱和语义技术的普及和广泛应用。

640?wx_fmt=jpeg

点击阅读原文,进入 OpenKG 博客。

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

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

相关文章

LeetCode 268. 缺失数字

文章目录1. 题目信息2. 解题1. 题目信息 给定一个包含 0, 1, 2, …, n 中 n 个数的序列&#xff0c;找出 0 … n 中没有出现在序列中的那个数。 示例 1:输入: [3,0,1] 输出: 2 示例 2:输入: [9,6,4,2,3,5,7,0,1] 输出: 8 说明: 你的算法应具有线性时间复杂度。你能否仅使用额…

一位前BAT面试官详谈进入BAT面试经验

“ 之前有一篇文章“最强攻略&#xff1a;java程序员如何通过阿里、百度社招面试”谈到了进入BAT需要掌握的技术知识点,关注优知学院可以获得。很多同学看完后&#xff0c;一直在说能否与面试一起结合谈谈这方面的经验。所以&#xff0c;补充了本篇文章。 希望能使大家在未来少…

使用numpy实现神经网络模块

class Network(object):def __init__(self, num_of_weights):# 随机产生w的初始值# 为了保持程序每次运行结果的一致性&#xff0c;此处设置固定的随机数种子np.random.seed(0)self.w np.random.randn(num_of_weights, 1)self.b 0.def forward(self, x):z np.dot(x, self.w)…

一句话超短摘要,速览752篇EMNLP论文

文 | Posy阿花今年的EMNLP今天开始召开啦&#xff0c;不知道大家的论文列表都刷完没有呀~ 什么&#xff1f;论文太多&#xff0c;看不过来&#xff0c;怎么办&#xff1f;看了论文题目还是不知道讲的是什么&#xff0c;怎么办&#xff1f;别担心&#xff0c;今天阿花给大家带来…

LeetCode 136. 只出现一次的数字(异或^)

文章目录1. 题目信息2. 解题1. 题目信息 给定一个非空整数数组&#xff0c;除了某个元素只出现一次以外&#xff0c;其余每个元素均出现两次。找出那个只出现了一次的元素。 说明&#xff1a;你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗&#xff1f;示例…

阿里蚂蚁金服中间件(Java 4轮面试题含答案):Redis缓存+线程锁+微服务等

第一轮 说说HaspMap底层原理&#xff1f;再说说它跟HaspTable和ConcurrentHashMap他们之间的相同点和不同点&#xff1f; 讲讲jdk1.7和1.8的区别&#xff1f; 几种内置的线程池 MySQL事务隔离级别以及MVCC机制 Redis缓存雪崩、缓存穿透以及如何解决&#xff1f; 分布式架构…

简述python setup.py install的过程

原文连接&#xff1a;https://www.jianshu.com/p/f8ffbf18c312 简述python setup.py install的过程0.4872018.06.27 18:24:01字数 372阅读 31,948python setup.py install 是我们用来安装下载的python包或者自己按照python官方规范开发的扩展包的常用指令。通过这个命令&#x…

IDEA:将web工程部署到tomcat

在项目结构中进行部署即可&#xff1a;

NeurIPS 2020 所有RL papers全扫荡

文 | 微尘-黄含驰源 | 知乎论文列表1.《Breaking the Sample Size Barrier in Model-Based Reinforcement Learning with a Generative Model》关键词&#xff1a;model-based reinforcement learning, minimaxity, planning, policy evaluation, instance-dependent guarantee…

java架构师进阶独孤九剑系列(一):数据结构与算法

“ 架构师进阶系列之独孤九剑&#xff0c;这套秘籍如果你能完整学会&#xff0c;年薪至少60万起&#xff0c;今天是架构师进阶连载开启篇。 Java程序员成长为架构师进阶步骤 未来我会用1-2个月在实战为大家讲解架构师的九大必备技能。 架构师进阶系列之独孤九剑九大步骤&…

【社招/实习】百度大搜索招聘NLP、搜索方向算法工程师!

星标/置顶小屋&#xff0c;带你解锁最萌最前沿的NLP、搜索与推荐技术工作职责负责百度搜索中的语义理解及相关性计算、LTR排序逻辑、query分析理解、召回匹配等相关算法创新及优化工作&#xff1b;关注传统机器学习与数据挖掘、深度学习、强化学习等方向的前沿技术&#xff0c;…

最全Java面试180题:阿里11面试+网易+百度+美团!含答案大赠送!

网络编程 ISO模型与协议 http1.0&#xff1a;需要使用keep-alive参数来告知服务器端要建立一个长连接 http1.1&#xff1a;默认长连接。支持只发送header信息&#xff0c;可以用作权限请求。支持Host域。 http2.0&#xff1a;多路复用的技术&#xff0c;做到同一个连接并发处…

Redis持久化(RDB 和 AOF)

一、RDB持久化 RDB&#xff08;Redis DataBase&#xff09;&#xff1a; 配置文件中对其的相关配置&#xff1a; 触发机制&#xff1a; 恢复rdb文件&#xff1a; 优点&#xff1a; 缺点&#xff1a; 二、AOF持久化 AOF&#xff08;Append Only File&#xff09;&#x…

LeetCode 78. 子集(回溯)

文章目录1. 题目信息2. 解题2.1 暴力回溯2.2 循环2.3 位运算1. 题目信息 给定一组不含重复元素的整数数组 nums&#xff0c;返回该数组所有可能的子集&#xff08;幂集&#xff09;。 说明&#xff1a;解集不能包含重复的子集。 示例:输入: nums [1,2,3] 输出: [[3],[1],[2…

EMNLP'20最佳论文揭晓!八块肌肉=能打电话?!

文 | 小轶(y)背景今天上午十点刚刚颁布的EMNLP 2020最佳论文&#xff0c;获奖者是来自UCBerkeley团队的这篇Digital Voicing of Silent Speech。刷了那么多NLP论文&#xff0c;各种pretraining、BERT、XXX-former...是不是都快刷出审美疲劳了&#xff1f;今年的EMNLP best pape…

空洞卷积相关理解

多标签文本分类&#xff1a;基于语义单元的空洞卷积&#xff1a;https://zhuanlan.zhihu.com/p/50231229?utm_sourceweibo 原文链接&#xff1a;https://www.jianshu.com/p/f743bd9041b3 扩展阅读&#xff1a;https://blog.csdn.net/c9Yv2cf9I06K2A9E/article/details/7982559…

2019 最全阿里天猫Java 3面真题,含面试题答案!

1 阿里天猫Java一面 自我介绍 jvm GC原理&#xff0c;JVM怎么回收内存 ConcurrentHashMap是怎么解决并发问题的&#xff1f; HashMap怎么从链表转换为红黑树&#xff1f;如果存入的是null键&#xff0c;放在桶的哪个位置&#xff1f; 谈谈Synchronized与ReentrantLock的区别…

NumPy快速入门--形状操作

文章目录1. 更改数组的形状2. 将不同数组堆叠在一起3. 将一个数组分成几个较小的数组1. 更改数组的形状 >>> import numpy as np >>> a np.floor(10*np.random.random((3,4))) >>> a array([[2., 2., 5., 6.],[2., 7., 4., 2.],[9., 3., 5., 8.]]…

深度学习语义分割理论与实战指南.pdf

深度学习语义分割理论与实战指南 V1.0 版本已经完成&#xff0c;主要包括语义分割概述、关键技术组件、数据模块、经典分割网络与架构、PyTorch基本实战方法等五个部分。获取方式&#xff1a;扫描关注下方公众号回复 语义分割 即可。图像分类、目标检测和图像分割是基于深度学习…