文章关注关系抽取数据增强,之前的技术在采用基于规则的增强时,既没有保留原始句子的语义一致性,也没有在使用seq2seq模型表达关系时保留句子的语法结构,导致增强的多样性较差。在这项工作中,我们提出了一种专门用于关系型文本的增强技术,名为GDA,它使用两个互补的模块来保留语义一致性和语法结构。我们采用生成式结构,并设计了一个多任务的解决方案来实现协同效应。此外,GDA采用实体提示作为生成模型的先验知识来增强不同的句子。在低资源环境下的三个数据集的实验结果表明,与没有增强技术相比,GDA可以带来2.0%的F1改进。
经典的数据增强是应用基于规则的技术,近义词替换,随即删除,随机交换和依存树变形等但是,这些方法生成的合成句子没有考虑它们和原句子的语义一致性,由于忽视了语法结构,扭曲了语义。
另外一些方法试图通过基于模型的技术来保留句子的语义一致性。回译方法是使用一个翻译模型来将句子从原语言翻译到目标语言再翻译回原语言的方法,来生成合成平行句子。然而,它只适用于文本分类和翻译等句子层面的任务,并不是为了处理关系提取等实体层面任务中的细粒度语义而设计。
Bayer等人通过微调GPT-2,为RE任务设计了一种特定的方法,以生成特殊关系类型的句子。然而,它不能用于实践,因为该模型生成的句子种类较少,它包括类似的实体和同一关系下的相同关系表达。
为保持生成句子和原是句子的语义一致性以及句子多样性,作者提出一个关系文本增强即使叫做GDA。采用多任务学习框架,由一个共享的编码器和两个解码器组成,两者相互补充: 一个解码器旨在通过重组语法结构中的单词来预测原始句子,这可以保持原始句子的语义,确保模型有能力生成语义一致的目标句子。
然而,重组原句的句法结构不可避免地会破坏连贯性。因此,另一个解码器通过生成与现有数据相似的句法结构的目标句,保留并接近原句的句法模式。这种解码器不仅可以保持目标句子的连贯性,更重要的是可以确保模型在生成伪句子时能够保持原有的句法模式。因此,同一关系下的不同模式可以被保留下来,而不是由于关系归纳偏见而预测相同的同义词模式,从而增加增强句子的多样性。我们进一步采用目标句子中的一个实体作为该解码器输入的提示,它可以作为先验知识来控制生成句子的内容。在推理过程中,我们可以将各种不同的实体提示和具有不同语法模式的原生句子作为输入,从而生成多样化的句子。总结起来,这项工作的主要贡献有以下几点:
1)我们研究了在数据扩增过程中注重语法和语义保存的协同作用的任务,并提出了一种关系型文本扩增技术GDA。
2)我们采用GDA,利用多任务学习框架,为RE任务生成语义一致、连贯和多样化的增强句子。此外,来自目标句子的实体提示被用来指导不同句子的生成。
3)与其他竞争性基线相比,我们在三个公共RE数据集和低资源RE环境中验证了GDA的有效性。
1)训练一个seq2seq(T5)生成器 2)生成伪句子
具体来说,编码器部分将句子 X = (x_1, x_2, …, x_{T_x} ) 作为输入,其中命名实体被预先识别和标记,并获得上下文的标记嵌入 H = (h_1, h_2, …, h_{T_x} ) 。解码器部分将 H 作为输入,通过最大化条件概率分布 p(y_i|y_{<i}, H, θ) ,逐字生成目标句 Y = (y_1, y_2, …, y_{T_y} ) 。第二步是随机选择一个标注过的句子作为输入,并利用训练过的生成器来生成带有实体标记和相同关系标签的伪句。
训练模型
训练seq2seq生成器的目的是获得一个生成器,该生成器可以将标注的句子增强为多样化的、语义一致的、连贯的伪句。此外,增强后的伪句子中的实体也需要被标记为实体级的关系提取任务。为了实现这一目标,生成器必须转换具有相同关系标签的两个句子,并在生成过程中强调实体层面的上下文关系信号。
每一个标注句子 X = (x_1, x_2, …, x_{T_x} ) ,使用四个token标记实体的位置 [E_{sub}], [/E_{sub}], [E_{obj}], [/E_{obj}] 如下案例所示: “A [E_{sub}] surgeon [/E_{sub}] carefully applies the [E_{obj}] splints [/E_{obj}] to the forearm.”
然后将 X 输入T5,得到token embedding H 。
为解决生成句子的多样性,以及实体级关系抽取任务需要考虑实体信息这两个问题。
作者提出利用多任务学习框架解决以上两个问题:原始句子重构,原始句子模式接近,连个任务使用共享的编码器,使用不同的解码器。
模块1 :原始句子重构:
提高模型生成语义一致性句子的能力。如图所示,目标生成句子仅仅是原始句子的重构,拥有相同的词和句长。
应用机器翻译中的预排序规则,这些规则可以修改从原始句子获得的依存树,通过修改解析后的树,对单词进行排列组合。因为修改后的句子实体没有改变,因此很容易将实体标记出来。解码网络预测重构原始句子通过最大化概率 p(X'|H,theta_R) :
theta_R 是解码器参数, M 是训练数据的数量。
模块2: 原始句子模式接近重构的句子破坏了句子的连贯性, 因此,作者利用另外一个seq2seq的模型来额外预测未修改的句子,seq2seq模型通常会生成具有相同模式的定型句子。
例如关系component-whole,使用生成方法例如T5总是倾向于生成“consist of”这种模式,限制了增强句子的表现。因此作者引入原始句子模式接近任务迫使原始句子和目标句子有相近的模式,因此目标句子能够保留原始句子的模式也能增加多样性。 在实际应用中,使用两个实体之间的依存解析路径作为模式
首先解析原句的实体间的路径NSUBJ-applies-DOBJ为了迫使生成模型学习到这个模式,作者使用 Levenshtein (Lev) distance 来寻找接近原始模式的目标模式以及有一样关系的原始句子(感觉是从训练集中到和输入句子有一样模式且关系类型相同的句子),然后对应的句子将被作为训练的输出。 Levenshtein (Lev) distance是衡量两个序列表面相似度的度量,定义为将原句转换为目标句需要的插入,删除或替换操作的最少次数。
在以上依存图中,两个模式之间的距离是1,因为只有一处不同,在实际应用中,模式的不同要少于3。
因此,解码网络预测模式接近目标句子 Y =(y_1,y_2,…,y_{T_y}) 通过最大化 p(Y|H,θ_P) :
theta_P 表示参数, N 是所有符合 Lev distance 小于3的所有输出的数量。
为了使模型能生成更可控的实体级句子,帮助生成器更好标记增强句子中的实体,将目标输出句子中的一个主语或宾语实体(E)作为提示添加到解码器的输入嵌入中。
winemaker为提示
因此Eq2中的损失变成,增加实体E作为条件
整个多任务模型的损失:
训练过程中,先优化 (theta_E,theta_R) 5个epoch,优化后 theta_E 将作为第二个任务的初始参数,之后优化 (theta_E,theta_P) 5 epoch,交替训练。
生成伪数据 选择一个标注句子X,以及在X所属的关系标签下面找到和一个标记的主语或宾语实体E
生成伪数据过程
总实验
生成模型消融实验
多种增强倍数比较
使用训练数据的10%,然后增强数据从2倍到10倍对低资源场景模型的影响。
我们观察到,随着增强数据的不断增加,两个基础模型有更多的性能提升,而且在不同倍数的增强数据下,GDA与基线数据增强技术相比,始终实现了更好的F1性能,并有明显的优势。特别是对于10%的TACREV,GDA仅用4倍的增强数据就带来了难以置信的3%的F1性能改善,这甚至比直接采用25%(2.5倍)的训练数据好0.2%。