文章目录
- 文章介绍
- 文章方案
- 用于统一结构编码的结构化抽取语言(SEL)
- 用于可控IE结构生成的结构模式指导
- 使用UIE生成
- 预训练任务
- 微调任务
- 总结
- 参考
文章地址: https://arxiv.org/abs/2203.12277
文章介绍
目前对于自然语言处理中的信息抽取任务如关系抽取、时间抽取、情感识别等等,大多研究都是根据具体的任务设计不同的方案和框架,消耗了大量的时间且割舍了不同领域的相关知识。因此这篇文章提出了一个统一的生成框架UIE(unified text-to-structure generation framework)。UIE通过基于不同方案的提示机制(prompt mechanism),将不同的任务提取为统一的表达范式从而自适应的提取对应目标,在4个IE任务,13个数据集当中均达到了SOTA效果,且被今年的ACL会议录用。
文章方案
用于统一结构编码的结构化抽取语言(SEL)
众所周知,不同的任务其提取目标各不相同,如下图所示
因此首先要解决的是把它们归统一化,这里作者设计了如下方案
如上图所示,作者发现所有的提取任务均可以视为两个原子操作:
- Spotting:即在句子中定位定位目标信息块,比如事件中的实体和触发词。
- Associating:即找出不同信息块之间的联系表示,例如实体对之间的关系。
如上图所示,每一个SEL均包含3个语义单位:
1.Spot Name:源文本中的特定信息块
2.ASSONAME :代表不同信息块之间的联系,在图中表示就是上层与下层之间的联系。
3.INFOSPAN:源文本中的目标信息块和关联所在的具体位置,也就是任务的输出。
用于可控IE结构生成的结构模式指导
通过SEL可以将不同的IE任务转化为一系列的原子操作,但毕竟不同的IE任务的输出不同,因此对于特定任务如何指导模型的输出是另一个要解决的问题。
为此,我们提出了结构模式指导器(SSI),这是一种基于模式的提示机制,用于控制需要发现和关联哪些类型的信息。
UIE将SSL(s)和源文本(x)作为输出,然后生成标准化的SEL语法描述,下图符号代表拼接。
为了描述任务的提取目标,SSI构建了一个基于模式的提示,并在生成过程中将其用作前缀。具体形式如下图所示:
部分标注方案如下所示:
使用UIE生成
这里作者是借鉴的T5模型(同时用了Transformer decoder和encoder的架构),encoder部分的公式如下所示:
decoder公式如下所示(decoder时只能看到当前位之前的信息,从左到右):
预训练任务
作者设置了3种预训练的方式:
Text-to-Structure Pre-training Dpair ,输入为SSL+原始语句,同时为了让模型更好的训练,加入了一些负样本作为噪声,比如:“((person: Steve
(work for: Apple)))”, and we sample vehicle and located in as the negative schema to construct meta-schema,
Structure Generation Pre-training Drecord ,主要是为了训练模型可以生成有效结构的能力,因此只训练decoder部分,即只输入前边的部分让其生成后面的部分
Retrofitting Semantic Representation Dtext ,改进语言表示。就是借鉴了T5模型的mask处理,随机mask一些单词,让模型通过周围的单词进行预测,
最终的loss为3个叠加。
当然作者这里并没有将三个任务分开进行处理,而是随机输入,原文如下:
微调任务
微调任务的输入与预训练的Dpair类似,输入全部的三元组元素,当然也加入了相应的负样本,如下图所示
总结
其实看到这种文章,心里咯噔了一下。统一的模型超过了专门处理某领域的模型,很佩服,但是又可知每个领域又是很卷的,但是也许又可以根据这个预训练模型(比如以前的BERT)进一步去做,后续看看其他基于这个论文的工作会是怎么样的了。
参考
https://zhuanlan.zhihu.com/p/495619962