Few-Shot Domain Adaptation for Grammatical Error Correction via Meta-Learning翻译

摘要

大多数现有的基于序列到序列的语法错误校正(GEC)方法主要集中在如何生成更多的伪造数据以获得更好的性能上。很少有工作能解决小样本GEC领域适应问题。在本文中,我们将不同的GEC领域视为不同的GEC任务,并提出将元学习扩展到不使用任何伪造数据的小样本GEC领域适应。我们利用一组数据丰富的源领域来学习初始的模型参数,这有助于快速适应资源贫乏的新目标领域。我们使GEC模型适应第二语言学习者的第一语言(L1)。为了评估所提出的方法,我们使用9个L1作为源域,并使用5个L1作为目标域。在L1 GEC领域适应数据集上的实验结果表明,所提出的方法比多任务迁移学习基线平均高出0.50 F0.5分数,使我们能够有效地适应只有200个并行句子的新L1领域。

1.介绍

在这里插入图片描述
  语法错误纠正(GEC)旨在纠正文本中的错误。例如,“He notice the picture.” 可以更正为“He notices the picture.”。GEC系统将不正确的句子作为输入,并输出相应的正确句子。随着深度学习的发展,GEC在过去几年中引起了许多研究人员的关注。
  大多数现有方法将GEC框架作为序列到序列(seq2seq)任务,并且在使用大量的数据训练后在通用领域上获得了很高的性能。但是,由于领域偏移和有限的领域内数据,这些基于seq2seq的模型在特殊的GEC领域中无法获得令人满意的性能。例如,Nadejde and Tetreault (2019) 使用在通用领域上训练的GEC模型对特定领域进行测试,发现性能急剧下降。解决此问题的一种方法是迁移学习,其中GEC模型在高资源通用领域上进行了预训练,然后在低资源目标领域上进行了微调。尽管这在目标领域上带来了经验上的改进,但是当领域内数据不足时,该方法会遭受模型过拟合和灾难性遗忘的困扰。在本文中,我们将不同领域的GEC系统构架为不同任务,并提出了针对少数GEC领域域适应的元学习方法。具体来说,我们使用模型不可知的元学习算法(MAML)从高资源领域中学习初始的模型参数,该模型可以以最少的数据快速适应新的目标域。图1显示了我们的方法与Nadejde and Tetreault (2019) 中的多任务迁移学习方法之间的差异。他们的方法首先在多领域数据上训练GEC模型,然后在目标域上对其进行微调。
  为了评估提出的方法,我们将GEC模型应用到汉语作为第二语言(CSL)学习者的第一语言(L1)。我们通过使用4个资源贫乏的L1作为测试域,其余10个L1作为源域和有效域,构造了一些GEC领域适应数据集。我们在构建的数据集上的实验表明,我们的方法仅使用200个并行句子就可以有效地适应新领域,并且比多任务迁移学习方法的得分平均高出0.50 F0.5。据我们所知,我们是第一个将元学习应用于GEC的团队。

2.方法

2.1 GEC领域适应

给定错误的句子 X = { x 1 , . . . , x M } X=\{x_1,...,x_M\} X={ x1,...,xM}和学习者的领域 d d d,基于神经机器翻译(NMT)的领域GEC模型对输出句子 Y = { y 1 , . . . , y N } Y=\{y_1,...,y_N\} Y={ y1,...,yN}的条件概率进行建模,如下所示:
p ( Y ∣ X , d ; θ ) = ∏ t = 1 N p ( y t ∣ y 1 : t − 1 , x 1 : M , d ; θ ) , (1) p(Y|X,d;\theta)=\prod^N_{t=1}p(y_t|y_{1:t-1},x_{1:M},d;\theta),\tag{1} p(YX,d;θ)=t=1Np(yty1:t1,x1:M,d;θ),(1)
其中 θ θ θ是一组模型参数。与Madotto et al. (2019)相同,我们首先将 θ θ θ调整到学习者的领域 d d d,然后以错误的输入句子为条件,对输出句子进行建模:
p ( Y ∣ X , d ; θ d ) = ∏ t = 1 N p ( y t ∣ y 1 : t − 1 , x 1 : M ; θ d ) , (1) p(Y|X,d;\theta_d)=\prod^N_{t=1}p(y_t|y_{1:t-1},x_{1:M};\theta_d),\tag{1} p(YX,d;θd)=t=1Np(yty1:t1,x1:M;θd),(1)
其中 θ d θ_d θd是领域模型参数的集合。可以使用不同的标准(例如L1和熟练程度)来定义学习者的领域。在本文中,我们以L1为准则,并根据学习者的L1调整GEC系统。 由于我们的方法与领域的定义无关,因此可以轻松地扩展到其他领域的GEC系统。

2.2 通过元学习来解决小样本GEC领域适应

在这里插入图片描述
  我们提出将模型不可知的元学习用于小样本GEC领域自适应中,我们使用MAML来学习模型参数 θ 0 θ^0 θ0的良好初始化,该模型可以通过很少的训练快速适应新的领域。我们将提出的用于GEC领域自适应的元学习方法称为MetaGEC。
  我们定义了一组源任务 T = { T d 1 , . . . , T d k } \mathscr T=\{\mathcal T_{d_1},...,\mathcal T_{d_k}\} T={ Td1,...,Tdk},其中每个任务 T d i T_{d_i} Tdi是特定领域 d i d_i di的GEC系统,而 k k k是学习者领域的数量。对于每个元学习episode,我们从 T \mathscr T T中随机抽取任务 T d i \mathcal T_{d_i} Tdi。然后,我们从任务 T d i \mathcal T_{d_i} Tdi的数据中独立采样两个批次,一个support批次 D d i s D^s_{d_i} Ddis和一个query批次 D d i q D^q_{d_i} Ddiq。我们首先使用 D d i s D^s_{d_i} Ddis更新GEC模型参数 θ θ θ,如下所示:
θ d i ′ = θ − α ∇ θ L D d i s ( θ ) , (3) \theta'_{d_i}=\theta-\alpha \nabla_{\theta}\mathcal L_{D^s_{d_i}}(\theta),\tag{3} θdi=θαθLDdis(θ),(3)
其中 α α α是学习率, L \mathcal L L是交叉熵损失函数:
L D d i s ( θ ) = − ∑ D d i s l o g   p ( Y ∣ X , θ ) . (4) \mathcal L_{D^s_{d_i}}(\theta)=-\sum_{D^s_{d_i}}log~p(Y|X,\theta).\tag{4} LDdis(θ)=Ddislog p(YX,θ).(4)
  之后,我们在 D d i q D^q_{d_i} Ddiq上评估更新的参数 θ d i ′ θ'_{d_i} θdi,并使用从该评估中计算出的梯度更新原始模型参数 θ θ θ。可以在更新 θ θ θ之前汇总源任务的多个episodes。因此,原始模型参数 θ θ θ的更新如下:
θ = θ − β ∑ d i ∇ θ L D d i q ( θ d i ′ ) , (5) \theta=\theta-\beta\sum_{d_i}\nabla_{\theta}\mathcal L_{D^q_{d_i}}(\theta'_{d_i}),\tag{5} θ=θβdiθLDdiq(θdi),(5)
其中 β β β是元学习率。完整的算法如算法1所示。元参数的更新涉及二阶偏导数,这在计算上非常昂贵。在我们的实验中,我们使用先前工作的方法,即一阶近似来节省内存消耗。在元训练阶段之后,从新目标任务 T d \mathcal T_d Td的少量样例中完成特定任务的学习,以获得特定任务的模型参数 θ d θ_d θd

猜你喜欢

转载自blog.csdn.net/qq_28385535/article/details/114590140
今日推荐