达摩院⽂档级关系抽取新SOTA和零样本关系抽取新任务
如厕文明
©作者 | 邴⽴东、谭清宇、谢耀赓
单位 | Alibaba DAMO, NUS, SUTD
引⾔
关系抽取(RE)是 NLP 的核⼼任务之⼀,是构建知识库、事件抽取等下游应⽤的关键技术。多年来受到研究者的持续关注。本⽂将介绍达摩院语⾔实验室多语⾔算法团队的两篇 ACL Findings 2022 论⽂。
第⼀篇论⽂聚焦于⽂档级关系抽取,我们的模型在 DocRED 排⾏榜上将 SOTA F1 值提⾼了 1.36,Ign_F1 值提⾼了1.46。第⼆篇论⽂提出了零样本句⼦级关系抽取的新任务,旨在解决现有的任务设定不能泛化到陌⽣关系上的问题。具体地,我们提出了 RelationPrompt ⽅法来为陌⽣关系⽣成训练样本,进⽽训练抽取器。RelationPrompt 还可以作⽤于零样本关系分类任务,取得了平均优于基线算法 10 个点的 F1。
基于⾃适应Focal Loss和知识蒸馏的⽂档级关系抽取
本⼩节⼯作来⾃论⽂:Document-Level Relation Extraction with Adaptive Focal Loss and Knowledge Distillation, in ACL Findings 2022.
论⽂链接:
数据代码:
1.1 背景介绍
关系抽取,Relation Extraction from Text,简称 IE,是从⾃然语⾔⽂本中,抽取出实体之间的关系。传统的关系抽取⽅法主要是抽取单个句⼦间两个实体的关系,这⼀任务被称为句⼦级别关系抽取。然⽽,在真实的应⽤场景中,⼤量的实体关系是由多个句⼦联合表达的,因此,⽂档级别的关系抽取相对于句⼦级别更加具有应⽤价值[1]。
具体的任务定义为:给定⼀个⽂档 D,其中的实体数⽬为 N,模型需要预测所有实体对之间的关系,总共需要做 N(N-1)个实体对的关系分类。
⽬前,⽂档级别的关系抽取依然⾯临四个⽅⾯的挑战:
第⼀,⼤部分⽂档级别的实体关系横跨多个句⼦,关系抽取模型需要捕捉更长的上下⽂信息。
第⼆,同⼀⽂档中包含⼤量实体,⽂档级别关系抽取需要同时抽取所有实体间的关系,其复杂度与⽂档中的实体数成平⽅关系,分类过程中存在⼤量的负样本。
第三,⽂档级别关系抽取的样本类别属于长尾分布,以清华⼤学发布的 DocRED 数据集为例,频率前⼗的关系占到了所有关系的 60%,⽽剩下的 86 种关系只占全部关系三元组的 40%。
第四,由于⽂档级别的数据标注任务较难,现有的数据集中⼈⼯标注的训练数据⼗分有限。⼤量的训练数据为远程监督[2]的训练数据,⽽远程监督的数据中存在⼤量的噪⾳,限制模型的训练。
1.2 模型介绍
鉴于以上的挑战,我们提出了⼀个基于知识蒸馏的半监督学习框架,和⼀个新的关系抽取的模型。
▲图1.1 模型概况
如上图所⽰,在前⼈⼯作 ATLOP 模型 [3]的基础上,我们提出的模型主要提供了三个新的模块,第⼀,我们利⽤轴向注意⼒机制 [4]来提取实体对表⽰之间的相互关系,如上图所⽰,图中的红⾊部分代表实体对(e3,e6)的相关区域,例如假设 e3 为杭州,e6 为亚洲,⽽中间实体 e8 为中国,那么(e3 杭州, e6 亚洲, ⼤洲)这⼀关系可以通过(e3 杭州, e8中国,国家)这⼀三元组和(e8 中国,e6 亚洲,⼤洲)这⼀三元组联合推理得到。
第⼆,为了缓解关系抽取数据中的样本不平衡的问题,受 Focal Loss[5]启发,我们提出使⽤ Adaptive Focal Loss 来提⾼模型在长尾关系上的表现,具体形式为缩放⾼频关系的概率输出以及放⼤⼀些低频
关系的概率输出,详细的⽅法在⽂章的章节 2.2.2 中。
word中怎么把其中一页变成横向第三,我们在训练过程中利⽤知识蒸馏的机制来过滤远程监督数据中的噪⾳。DocRED 数据集中包含⼤量的远程监督的数据,传统的⽅法仅采⽤远程监督数据进⾏预训练,⽽忽略了远程监督数据中的噪⾳,我们将这⼀基准⽅法记为 Naïve Adaptation(NA),作为对⽐我们将知识蒸馏 [6]的⽅法记为 KD,我们⾸先利⽤ DocRED 的少量⼈⼯标注训练数据训练⼀个⽼师模型,再利⽤这个⽼师模型,对于所有的远程监督数据进⾏预测,其输出的概率分布会被作为软标签。
接下来我们会基于这些软标签,和远程监督数据中带有噪⾳的标签训练⼀个结构相同学⽣模型,学⽣模型的训练过程中有两个损失函数,第⼀个就是之前提到的 Adaptive Focal Loss,⽤来学习远程监督数据中的标签。第⼆个就是基于⽼师模型输出的软标签计算的均⽅误差(MSE),这⼀损失函数可以尽可能让学⽣模型的输出更接近于⽼师模型,这两个损失函数将会被相加并共同训练。最后,所训练得到的学⽣模型会进⼀步在⼈⼯标注的数据中进⾏微调,得到我们的最终模型。
1.3 实验分析
▲表1.1 DocRED以及HacRED数据统计
为了验证我们模型的有效性,我们在 DocRED[1]数据集以及 HacRED [7]数据集(表1.1)上进⾏了实验。
▲表1.2 DocRED实验结果
我们的实验结果如上表所⽰,其中我们的模型记为 Ours-B-b 和 Rb-l 分别指的是 Bert-ba 和 Roberta-large 语⾔模型。我们的模型相对于之前的基线模型均取得了显著的提升,并且在 DocRED 排⾏榜上,我们的 KD-Roberta 模型相对于之前的 SOTA-SSAN-NA[8]提⾼了 1.36 F1 以及 1.46 Ign_F1。
▲表1.3 DocRED开发集消融实验
在 DocRED 数据集上,我们针对⾼频关系(前⼗种关系)以及长尾关系(剩余 86 种关系)进⾏了消融实验,从上表(表1.3)可以看到,我们的 AFL 和轴向注意⼒模块都能有效提⾼模型在长尾关系上的表现。
▲表1.4 HacRED实验
我们同样在 HacRED 数据集上做了对⽐实验(表1.4),但由于 HacRED 尚未公布测试集,我们只汇报了相同场景下开发集的结果。
1.4 错误分析
▲表1.5 错误分析
▲图1.2 例⼦分析
我们对⽬前最好的模型进⾏了详实的错误分析,我们⾸先根据实体对将预测出来的三元组与标注中的三元组进⾏了⽐对,其中实体对与关系同时预测正确,记为Correct(C),如果实体对预测正确,⽽预测出来的关系是错误的,记为Wrong (W)。如果测试集中标注的关系预测为‘No Relation’,我们将其视作未预测出的三元组,记为
Misd(MS)。最后我们将模型预测出有关系,但测试集中未标注的三元组记为 More(MR)。
Misd(MS)。最后我们将模型预测出有关系,但测试集中未标注的三元组记为 More(MR)。
这⼀些错误的统计结果在表 1.5 中有所体现,我们可以看到预测错误(W)的占⽐相对于 MS 和 MR 较⼩。⽽ MS 和MR 的⽐例相当,根据我们进⼀步的分析,我们发现 MR 的三元组中,存在⼀定数量的正确三元组,如图 1.2 所⽰,该⽂章描述了⼀名挪威的政客,在标注数据中,Hol 是挪威的⼀个城市,⽽⽂中出现的 Vestvågøy 同样也是挪威的⼀个城市,在同⼀标准下,Vestvågøy 理应同样被标注。这⼀发现反映了 DocRED 数据中可能存在漏标的现象,这⼀发现可以为未来⽂档级别的关系抽取提供⼀定的思路和启发。
煎饼用什么面粉1.5 总结
综上所述, 我们提出了⼀个基于知识蒸馏的半监督学习框架,并且基于轴向注意⼒和⾃适应聚焦函数提出了⼀个新的⽂档级别关系抽取的模型,并且在 DocRED 排⾏榜显著超过了 SOTA 的表现。
RelationPrompt:通过提⽰语⾔模型的数据⽣成来解决零样本关系三元组抽取任务
本⼩节⼯作来⾃论⽂:RelationPrompt: Leveraging Prompts to Generate Synthetic Data for Zero-Shot Relation Triplet Extraction, in ACL Findings 2022.
论⽂链接:
数据代码:
2.1 问题提出
关系三元组是知识库 [9]的基本组成部分,能应⽤于搜索、社交⽹络、事实核查等等。然⽽,具体地说,现有的模型只能针对训练时候见过的关系类别执⾏三元组抽取(Relation Triplet Extraction)。因此,我们⾸次提出零样本关系三元组抽取任务(Zero-Shot Relation Triplet Extraction)(ZeroRTE)。
周固
⽐如这个句⼦“Their grandson was Group Captain Nicolas Tindal.” 包含了 “Military Rank”的关系,但
是训练数据没有见过这类关系类别的样本。ZeroRTE 的⽬标就是在这个零样本的情况下仍然能够抽取三元组(Nicolas Tindal,Military Rank, Group Captain)。
hitting为了执⾏ ZeroRTE,我们提出了RelationPrompt ⽅式,为没有见过的关系类别⽣成伪训练数据(Pudo-training data)。RelationPrompt 能够利⽤初次见到的关系名作为语⾔模型的提⽰(Prompt),⽣成该关系的结构化句⼦样本。这类样本的结构信息标明了句⼦中三元组的头部实体(Head Entity)和尾部实体(Tail Entity),进⽽可以作为抽取模型的训练数据。
一泻千里造句▲表2.1 任务对⽐
2.2 相关⽅法的局限
表 2.1 可以显⽰ ZeroRTE 在两个主要⽅⾯⽐现存的任务更有挑战性。与传统监督的关系三元组抽取(Relation Triplet Extraction)任务相⽐,ZeroRTE 需要模型泛化到训练中从没遇过的关系类别。与零样本关系分类的任务(Zero-Shot Relation Classification)(ZeroRC)[10]相⽐,ZeroRTE 需要模型在不假设给出实体对的情况下抽取完整的关系三元组。因此,ZeroRTE ⽐ ZeroRC 在实际应⽤中更现实。⽬前的⼏种⽅法可以解决低资源学习问题。
远程监督(Distant Supervision)[11]可⽤知识库构建⼤规模的关系数据集,但⽐⼈类的标注质量低,
并且仅限于固定关系类别。另⼀种⽅法是设计不受约束的预测类别空间来制定任务⽬标 [12],例如句⼦相似度匹配。然⽽,现存的⽅式只对句⼦分类任务有效,不能直接执⾏三元组抽取任务。第三⽅向是利⽤带有提⽰(Prompt)的语⾔模型[13],能让模型在低资源情况下泛化到新任务。然⽽,提⽰的⽅法⽬前仅限于⽐较简单的预测⽬标,⽐如句⼦分类或词组抽取。
2.3 任务定义
ZeroRTE 任务的⽬标是从训练数据集中学习,并泛化到测试数据集。和是从定义为的原本数据集中划分的,其中表⽰输⼊句⼦,表⽰输出三元组,表⽰数据中存在的⼀组关系类别。和数据集的关系类别组是预定义的,分别表⽰为和
⽰输⼊句⼦,表⽰输出三元组,表⽰数据中存在的⼀组关系类别。和数据集的关系类别组是预定义的,分别表⽰为和,⽽且是不相交的。每⼀个数据样本包含了输⼊句⼦,同时也包含⼀个或以上的三元组。每个三元组定义为
(,,y),其中表⽰头部实体,表⽰尾部实体,y 表⽰关系类别。
以上的算法描述了 RelationPrompt 执⾏ ZeroRTE 任务的整体训练和预测过程。由于现存的抽取模型不能泛化到新的关系类别,我们先需要训练⼀个关系⽣成模型,针对测试集的关系类别⽣成伪训练数据,接着⽤伪训练数据训练⼀个关系抽取模型来执⾏ ZeroRTE。
具体地说,我们先⽤训练数据来训练关系⽣成模型和关系抽取模型(1,2),接着以测试集的关系类别当作语⾔模型的提⽰来⽣成伪训练数据(3)。接着,我们使⽤之前⽣成的伪训练数据再次训练关系抽取模型(4)。最后,我们让关系抽取模型对测试数据的句⼦预测出关系三元组(5,6)。
▲图2.1 结构化⽂本格式
2.4 我们的模型
语⾔模型能够通过⼤规模的预训练,泛化到地资源的情况。因此,我们使⽤语⾔模型⽣成伪训练数据,以关系名称的提⽰作为⽣成的条件。不过,现存的提⽰⽅式不能⽀持⽣成三元组的信息。另⼀⽅⾯,结构化⽂本⽅式(Structured Text)[14]可以使⽤⾃然⽂本中的特殊标记,对实体和关系的结构信息进⾏编码。因此,我们的⼯作统⼀了提⽰语⾔模型和结构化⽂本的⽅法,能通过语⾔模型提来⽣成带有关系三元组信息的结构化⽂。
如图 2.1 所⽰,RelationPrompt 分别有两个模型: 关系⽣成模型(a)和关系抽取模型(b)。如图 2.1a 所⽰,关系⽣成模型的输⼊是包含关系名称的提⽰,输出是包含句⼦、头部实体和尾部实体的结构化⽂本。我们使⽤ GPT-2 模型和普通的训练⽬标[15]进⾏训练,进⽽⽣成的样本可⽤于训练关系抽模型。具体来说,我们对关系抽取模型采⽤ BART 模型的序列到序列⽅法。图 2.1b 显⽰了输⼊数据如何包含上下⽂句⼦,输出格式包含头部实体、尾部实体和关系名称来形成关系三元组。我们使⽤普
清风高节通的序列到序列学习⽬标 [16]来训练模型。
▲图2.2 模型应⽤⽅式
我们所设计的结构化⽂本格式能让关系抽取模型同时⽀持关系三元组抽取和关系分类。如图 2.2 显⽰,我们可以⽆条件地⽣成带有头部实体,尾部实体和关系类别的结构化⽂本,对 ZeroRTE 任务做预测(a)。另外,我们能以实体对信息为条件来⽣成关系类别,对 ZeroRC 任务做预测(b)。因此,我们的关系抽取模型在预测时可以⽀持 ZeroRTE 和ZeroRC 任务,不需要分别的训练。
由于结构化⽂本格式的复杂度会影响到关系⽣成模型的⽣成质量,我们保持⽣成的结构化⽂本最多包含⼀个三元组。因此,关系抽取模型在伪数据训练之后,对每⼀个输⼊句⼦最多预测⼀个三元组。为了克服这个挑战并预测多个三元组,我们进⼀步提出了⼀种⽣成解码⽅法(c)。
该⽅法可以在序列到序列的预测阶段枚举三元组候选并进⾏排名。对于头部实体、尾部实体和关系名称,我们可以在各个部分考虑多个可能的候选实体。如图 2.2c 表⽰,每个可能路径代表了⼀个三元组候选。为了筛选最合适的三元组候选,我们使⽤分数阈值。只有总体可能性⾼于得分数阈值的路径才能被预测为最终的关系三元组。
2.5 实验设置
由于 ZeroRTE 是⼀个新的任务,我们提供了两种基线⽅法。⾸先,利⽤⽣成⽅式的关系抽取模型可以在不使⽤⽣成数据的情况下抽取陌⽣关系类别的三元组。但是,由于训练数据和测试数据之间的领域不相关,它⽆法实现最佳性能。这个基线⽅式被称为 NoGen。
第⼆个基线⽅式是现有的 TableSequence[17]三元组抽取模型,它⽤⽣成的数据进⾏训练。TableSequence 是⼀种传统的关系三元组抽取模型,它需要假设在训练数据中存在具有多个关系三元组的句⼦,才能在测试句⼦上抽取多个关系三元组。然⽽,我们⽣成的数据仅限于每⼀个句⼦只包含⼀个关系三元组。
因此,TableSequence 对于多三元组 ZeroRTE 不能很好地执⾏。对于 ZeroRC 任务,⽬前最先进的⽅法是 ZS-BERT 。它将句⼦和实体信息转换为表⽰,并对要预测的候选关系类别的描述⽂本进⾏匹配。然⽽,这种句⼦表⽰⽅法不能保
。它将句⼦和实体信息转换为表⽰,并对要预测的候选关系类别的描述⽂本进⾏匹配。然⽽,这种句⼦表⽰⽅法不能保留句⼦和关系的完整语义。
▲表2.2 ZeroRTE 任务结果
2.6 主要结果
对于 ZeroRTE 任务,如表 2.2 所⽰,RelationPrompt ⽅法在 FewRel[18]和 Wiki-ZSL 数据集的总体结果始终⾼于基线模型。没有⽤⽣成的样本进⾏训练的抽取模型(NoGen)性能⽐较低,表明数据⽣成对于零样本泛化⾄关重要。
▲表2.3 ZeroRTE 任务结果
对于 ZeroRC 任务,表 2.3 显⽰了 RelationPrompt 对于现有⽅法具有⼀贯的优势。当看陌⽣关系类别集数量增加的时候,我们的⽅式能够保持较⾼的分类性能,⽽ ZS-BERT ⽅法不能很好地泛化到⽐较⼤的关系类别集。
▲图2.3 模型输出分析
为了进⼀步分析 RelationPrompt 的有效性,我们也检关系⽣成模型如何适应野外关系,并在图 2.3 中给出了⼏个例⼦。对于⼤多数关系,⽐如 “Investor”、“Defeated By” 和 “Currency Of”关系⽣成模型能够正确地推断关系的语义并⽣成合理的句⼦。然⽽,对于关系 “Political Partner” 的关系,⽣成的句⼦能正确地建⽴在政治背景,但是实体对不适合关系的语义。因此,这是⼀个未来的进步空间。
2.7 总结
我们介绍了零样本关系三元组抽取任务(ZeroRTE),要求模型在测试情况下抽取未见过的关系类别
的三元组。与之前零样本关系分类任务(ZeroRC)相⽐,ZeroRTE 不需要假设实体对已经被提供。因此,ZeroRTE 在实际应⽤中更现实。为了执⾏ ZeroRTE,我们提出了关系提⽰的⽅式(RelationPrompt),利⽤关系名称当作语⾔模型的提⽰,来⽣成未见过的关系类别的新的句⼦样本。
为了克服句⼦中多个关系三元组的挑战,我们也设计了新的三元组搜索解码⽅法(Triplet Search Decoding)。实验结果表明,RelationPrompt ⽐基线模型更有效,在 ZeroRTE 任务能达到 16.5 F1 提升,在 ZeroRC 任务能达到 28.2 F1提升。
关于作者:本⽂由阿⾥巴巴达摩院⾃然语⾔智能实验室邴⽴东、联培博⼠⽣谭清宇、谢耀赓共同整理。由 PaperWeekly 编辑同学做了校对和格式调整。
参考⽂献
[1] Yao, Yuan, et al. "DocRED: A Large-Scale Document-Level Relation Extraction Datat." Proceedings of ACL. 2019.
[2] Mintz, Mike, et al. "Distant supervision for relation extraction without labeled data." Proceedings of ACL. 2009.
[3] Zhou, Wenxuan, et al. "Document-level relation extraction with adaptive thresholding and localized context pooling." Proceedings of AAAI. 2021.创新意识
[4] Wang, Huiyu, et al. "Axial-deeplab: Stand-alone axial-attention for panoptic gmentation." Proceedings of ECCV. Springer, 2020.
[5] Lin, Tsung-Yi, et al. "Focal loss for den object detection." Proceedings of ICCV. 2017.
[6] Hinton, Geoffrey, Oriol Vinyals, and Jeff Dean. "Distilling the knowledge in a neural network." arXiv preprint arXiv:1503.02531 2.7 (2015).