《Learning from Context or Names?An Empirical Study on Neural Relation Extraction》论文阅读笔记
代码
原文地址
预备知识:
1.什么是对比学习?
摘要
1 Introduction

- 文本上下文和实体提及都是RE的关键因素。实验表明,上下文是支持分类的主要来源,而实体提及也提供了重要的信息,尤其是实体的类型信息。
- 现有的RE基准数据集可能通过实体提及泄露了一些浅层的线索,导致现有模型的高性能。实验显示,即使只给定实体提及作为输入,模型仍然可以达到高性能,这说明这些数据集中存在一些来自实体提及的有偏的统计线索。
2 Pilot Experiment and Analysis
2.1 Models and Dataset
- CNN:本文采用了Nguyen和Grishman (2015)提出的 卷积神经网络 ,并参考了Zhang等人(2017)的做法,用词性、命名实体识别和位置嵌入来丰富输入。
- BERT:本文遵循 Baldini Soares等人(2019)的方法,使用BERT进行RE,用特殊的标记来突显句子中的实体提及,并用实体表示的拼接来进行分类。
- Matching the blanks (MTB): MTB (Baldini Soares等人,2019)是一个基于BERT的面向RE的预训练模型。它通过对两个句子是否提及相同的实体对进行分类来进行预训练,其中实体提及被随机地 遮盖 。它和BERT一样,用相同的方式进行RE的微调。由于它没有公开发布,本文自行预训练了一个
版本的MTB,并在附录A中给出了细节。
2.2 Experimental Settings
- 上下文+提及(C+M):这是最常用的RE设置,其中提供了整个句子(包括上下文和突出显示的实体提及)。为了让模型知道实体提及的位置,本文对CNN模型使用位置嵌入(Zeng et al., 2014),对预训练的BERT使用特殊的实体标记。
- 上下文+类型(C+T):本文用TACRED提供的类型替换实体提及。使用特殊的标记来表示它们:例如,使用[person]和[date]来分别表示类型为person和date的实体。不同于Zhang et al. (2017),本文不会重复特殊标记来匹配实体的长度,以避免泄露实体长度信息。
- 仅上下文(OnlyC):为了分析文本上下文对RE的贡献,本文用特殊的标记[SUBJ]和[OBJ]替换所有的实体提及。在这种情况下,实体提及的信息源完全被阻断。
- 仅提及(OnlyM):在这种设置下,本文只提供实体提及,丢弃所有其他的文本上下文作为输入。
- 仅类型(OnlyT):这与仅提及类似,只不过本文只提供实体类型。
2.3 Result Analysis

- 文本上下文和实体提及都是关系分类的关键信息源,而实体提及中最重要的信息是它们的类型。如表1所示,OnlyC,OnlyM和OnlyT相比于C+M和C+T都有显著的性能损失,说明单一的信息源是不足以支持正确的预测的,上下文和实体提及都是必不可少的。此外,还可以发现C+T在TACRED上与C+M在BERT和MTB上达到了相近的效果。这表明实体提及中的大部分有用信息是它们的类型信息。
- 在现有的RE数据集中,实体提及存在一些表面的线索,这可能导致RE模型的过高的性能。在TACRED上发现OnlyM在所有三个模型上都有很高的性能,这种现象在其他数据集中也有体现(见表5)。本文还对OnlyC相比于C+M的性能降低进行了深入的分析,在第2.4节中发现,在一些模型难以理解上下文的情况下,它们会倾向于利用实体提及的浅层启发。这促使本文进一步改进模型在从上下文中提取关系的能力,同时避免它们对实体提及的死记硬背。
2.4 Case Study on TACRED


3 Contrastive Pre-training for RE
3.1 Relational Contrastive Example Generation

和
,它们各自包含了两个实体
和
。如果有一个关系
,使得
和
都在KG里,就把
和
称为“邻居”。本文用Wikidata作为KG,因为它和用来预训练的Wikipedia语料库很容易对应起来。在训练过程中,先按照KG里的关系分布来采样一个关系
,然后再采样一个和
有关的句子对
。为了做对比学习,还要随机采样
个句子
,让它们和
组成
个负样本对。模型的任务是在所有正负样本中,找出和
有相同关系的那个句子。
表示替换的实体比例,并参考 Baldini Soares 等人 (2019) 的方法设置
。注意,预训练时完全遮盖所有实体提及也不合适,因为这会导致预训练和微调之间的不一致,也会使预训练模型无法利用实体提及的信息(比如,学习实体类型)。
的概率被替换为 [BLANK]。3.2 Training Objectives
表示第 i 个位置的输出。对于输入格式,参考了 Baldini Soares等人(2019) 的方法,用特殊的标记来突出实体提及。例如,对于句子“SpaceX was founded by Elon Musk.”,输入序列是““[CLS][E1] SpaceX [/E1] was founded by [E2] Elon Musk [/E2] . [SEP]”。对比式预训练目标
和负样本句子对
,首先用 Transformer 编码器得到
在
中的关系感知表示:
和
是特殊标记 [E1] 和 [E2] 的位置,
表示拼接。有了句子表示,就有了以下的训练目标:
最小化,本文期望
和
的表示更加接近,最终具有相似关系的句子会有相似的表示。遮蔽语言建模目标
表示 MLM 的损失函数。
4 Experiment
4.1 RE Tasks
Supervised RE


,数据集中的每个句子
都表达了
中的某个关系。在一些基准测试中,有一种特殊的关系叫做
或
,表示句子中没有表达给定实体之间的任何关系,或者它们的关系不包含在
中。对于有监督的 RE 数据集,本文使用 TACRED,SemEval-2010 Task 8 ,Wiki80和 ChemProt 。表 4 显示了数据集之间的比较。本文还添加了 1% 和 10% 的设置,意味着只使用训练集的 1% / 10% 的数据。这是为了模拟低资源的情况,并观察模型性能在不同的数据集和设置下的变化。注意,ChemProt 只有 4169 个训练实例,这导致了表 5 中 1% ChemProt 的异常结果。在附录 B 中给出了这个问题的详细说明。Few-Shot RE
4.2 RE Models
4.3 Strength of Contrastive Pre-training
《Learning from Context or Names?An Empirical Study on Neural Relation Extraction》论文阅读笔记的更多相关文章
- 《MuseGAN: Multi-track Sequential Generative Adversarial Networks for Symbolic Music Generation and Accompaniment》论文阅读笔记
出处:2018 AAAI SourceCode:https://github.com/salu133445/musegan abstract: (写得不错 值得借鉴)重点阐述了生成音乐和生成图片,视频 ...
- (转)Introductory guide to Generative Adversarial Networks (GANs) and their promise!
Introductory guide to Generative Adversarial Networks (GANs) and their promise! Introduction Neural ...
- 生成对抗网络(Generative Adversarial Networks,GAN)初探
1. 从纳什均衡(Nash equilibrium)说起 我们先来看看纳什均衡的经济学定义: 所谓纳什均衡,指的是参与人的这样一种策略组合,在该策略组合上,任何参与人单独改变策略都不会得到好处.换句话 ...
- 生成对抗网络(Generative Adversarial Networks, GAN)
生成对抗网络(Generative Adversarial Networks, GAN)是一种深度学习模型,是近年来复杂分布上无监督学习最具前景的学习方法之一. GAN 主要包括了两个部分,即 ...
- StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Networks 论文笔记
StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Networks 本文将利 ...
- 论文笔记之:Semi-Supervised Learning with Generative Adversarial Networks
Semi-Supervised Learning with Generative Adversarial Networks 引言:本文将产生式对抗网络(GAN)拓展到半监督学习,通过强制判别器来输出类 ...
- 《Self-Attention Generative Adversarial Networks》里的注意力计算
前天看了 criss-cross 里的注意力模型 仔细理解了 在: https://www.cnblogs.com/yjphhw/p/10750797.html 今天又看了一个注意力模型 < ...
- Paper Reading: Perceptual Generative Adversarial Networks for Small Object Detection
Perceptual Generative Adversarial Networks for Small Object Detection 2017-07-11 19:47:46 CVPR 20 ...
- SalGAN: Visual saliency prediction with generative adversarial networks
SalGAN: Visual saliency prediction with generative adversarial networks 2017-03-17 摘要:本文引入了对抗网络的对抗训练 ...
- Generative Adversarial Networks,gan论文的畅想
前天看完Generative Adversarial Networks的论文,不知道有什么用处,总想着机器生成的数据会有机器的局限性,所以百度看了一些别人 的看法和观点,可能我是机器学习小白吧,看完之 ...
随机推荐
- 每天学五分钟 Liunx 111 | 存储篇:NFS
NFS NFS(Network File System,网络文件系统),它可以通过网络让不同操作系统,不同机器共享彼此的文件. NFS 分为服务端和客户端.服务端提供共享的文件目录,客户端将该目录挂载 ...
- Logback 实现日志链路追踪
本文为博主原创,未经允许不得转载: 在开发过程中,经常会使用log记录一下当前请求的参数,过程和结果,以便帮助定位问题.在并发量下的情况下,日志打印不会剧增,可以很快就能通过打印的日志查看执行的情况. ...
- webflux 的使用总结
本文为博主原创,未经允许不得转载: 1. Servlet 3.0 简介 2. WebFlux 简介 及 特点 3. 基于函数式的 WebFlux 开发 4. webFlux 全局异常 5. webF ...
- C++编译器选择是否自动生成代码的背后逻辑
C++编译器选择是否自动生成代码的背后逻辑 编译器会为class和struct(实际上两者在C++中是一回事)自动生成构造函数.赋值操作符函数和析构函数.如果不是这样,那么开发者就必须自己写一些枯燥冗 ...
- Linux中使用Docker容器安装mysql,无法直接使用mysql命令?
1.问题 如果你在 Docker 容器中运行 MySQL,你不能在宿主主机上使用 mysql --version 命令来检查 MySQL 版本,因为 MySQL 客户端工具在宿主主机上未安装. 2.解 ...
- 【linux】Linux内核结构体--kfifo 环状缓冲区
1.前言 最近项目中用到一个环形缓冲区(ring buffer),代码是由linux内核的kfifo改过来的.缓冲区在文件系统中经常用到,通过缓冲区缓解cpu读写内存和读写磁盘的速度.例如一个进程A产 ...
- 【java】 向上转型的运用
应用 :求面积 1,抽象类 Geometry . public abstract class Geometry { public abstract double getArea(); } 2,矩形 ...
- [转帖]TLB缓存是个神马鬼,如何查看TLB miss?
https://zhuanlan.zhihu.com/p/79607142 介绍TLB之前,我们先来回顾一个操作系统里的基本概念,虚拟内存. 虚拟内存 在用户的视角里,每个进程都有自己独立的地址空间, ...
- [转帖]【dperf系列-5】使用dperf进行性能测试(初级)
https://zhuanlan.zhihu.com/p/451341132 dperf是一款高性能的开源网络压力测试仪,是Linux基金会旗下的DPDK官方生态项目.本文介绍如利用dperf在两台物 ...
- Linux 查找并且复制部分文件到其他目录的办法(find xargs {})
最近经常需要从某些文件夹查找部分文件,然后复制到其他目录里面进行进一步的处理 shell 脚本一直在不断的学习中, 最近发现之前看文档还是有疏漏. find . -iname "*fi*&q ...