Non-Autoregressive Grammatical Error Correction Toward a Writing Support System翻译

摘要

将语法错误纠正(GEC)应用于写作支持系统存在几个问题。首先第一个问题是处理不完整句子。直到现在,GEC对不完整句子的表现还不为人所知。因此,我们分析了每个模型对不完整句子的表现。另一个问题是纠正速度。当速度很慢时,系统的可用性会受到限制,并且用户体验会下降。因此,在本研究中,我们也将重点放在非自回归(NAR)模型上,这是一种广泛研究的快速解码方法。我们使用传统的自回归模型和最近的NAR模型在日语中执行GEC,并分析其准确性和速度。

1.介绍

语法错误纠正(GEC)是语言学习者的一种写作支持方法。近年来,由于神经GEC能够产生流利的文本,因此已经得到了积极的研究。例如,在Kiyono et al. (2019) 中使用Transformer实现了最先进的纠正精度,这是一个功能强大的神经机器翻译(NMT)模型。因为神经模型可以看到整个输入序列,所以它可以纠正具有长期依赖的错误。这些错误无法通过基于n-gram的统计方法来纠正。
  但是,考虑到GEC在写作支持系统中的应用,我们必须考虑如何处理不完整的句子。当用户写完句子时,很容易显示GEC结果。但是,在句子不完整的情况下,用户在编写句子时将不知道如何修正该句子。 如果系统可以针对不完整的句子正确执行GEC,则可以将结果呈现给用户。在以前的大多数研究中,已经对完整句子进行了评估,并且尚未研究GEC对不完整句子的性能。
  另外,序列到序列模型中的常规自回归(AR)解码器存在推断速度慢的问题。考虑到GEC在写作支持系统中的应用,较慢的推理速度将限制其实用性或降低模型的可用性。在Gu et al. (2018) 中,提出了一种非自回归(NAR)解码器,该解码器通过同时输出所有字符来加快推理时间。继NAR模型的成功之后,在Gu et al. (2019) 中,提出了Levenshtein Transformer,这是一种NAR NMT模型,可以迭代地删除和插入输入。该模型的有用性在机器翻译和文档摘要任务中得到了验证。
  此外,已经提出了使用NAR模型进行序列标记的快速GEC方法。在Awasthi et al. (2019) 中,GEC被视为局部序列转换任务,并且通过使用NAR模型来实现高速GEC,该模型迭代地并行调整编辑标签。在Omelianchuk et al. (2020) ,NAR GEC是通过对输入句子的每个字符重复编辑操作来执行的,与以前的研究相比,它具有更高的纠正精度和更快的校正速度。但是,这些方法通过将目标语言缩小为英语并预先使用语言知识将编辑操作作为标签,从而表现出良好的性能。
  在本研究中,我们将NAR模型作为高速GEC的一种方法。我们使用NAR模型以执行日语GEC,该模型不需要事先准备编辑操作。考虑到其在写作支持系统中的应用,我们分析了提出的方法。特别是,我们针对不完整的句子分析了纠正准确性和推理速度之间的关系,并评估了超参数对NAR模型的影响。这项研究的贡献可以总结如下。

  • 我们针对不完整句子评估了NAR和AR模型准确性和速度的性能,从而构建良好的写作支持系统。
  • 我们证明,与基于卷积神经网络(CNN)的方法相比,执行一次迭代细化的Levenshtein Transformer可以通过将最差推理时间减少6.0秒并将平均推理时间减少0.3秒来实现快速稳定的GEC。
  • 使用用于日语GEC的NAR模型,我们发现,当输入单词的数目为六个或更多时,能得到更好的GEC结果,因为当数目少于五个时,准确性会大大降低。

2.相关工作

2.1 AR NMT

AR NMT是编码器-解码器模型中用于序列到序列学习的标准解码方法。该方法在推理过程中使用循环语言模型。
  给定一个原始句子, X = { x 1 , . . . , x T ′ } X=\{x_1,...,x_{T'}\} X={ x1,...,xT},和一个目标句子 Y = { y 1 , . . . , y T } Y=\{y_1,...,y_T\} Y={ y1,...,yT},AR NMT模型将目标句子计算为:
p ( Y ∣ X ; θ ) = ∏ t = 1 T + 1 p ( y t ∣ y 0 : t − 1 , x 1 : T ′ ; θ ) , (1) p(Y|X;\theta)=\prod^{T+1}_{t=1}p(y_t|y_{0:t-1},x_{1:T'};\theta),\tag{1} p(YX;θ)=t=1T+1p(yty0:t1,x1:T;θ),(1)
其中 y 0 y_0 y0 y T + 1 y_{T+1} yT+1是分别代表句子开头和结尾的特殊标记,而 θ θ θ是模型的参数。

2.2 NAR NMT

NAR NMT是一种解码方法,可独立且同时生成每个字符。作为增加解码速度的方法,这种方法引起了人们的注意。
  在Gu et al. (2018) 中,引入了fertility的概念,该概念可预测目标方对应于源方每个单词的单词数。解码执行如下:
p ( Y ∣ X ; θ ) = ∑ f 1 , . . . f T ′ ∈ F ( ∏ t ′ = 1 T ′ p F ( f t ′ ∣ x 1 : T ′ ; θ ) ⋅ ∏ T t = 1 p ( y t ∣ x 1 { f 1 } , . . . , x T ′ { f T ′ } ; θ ) ) , (2) p(Y|X;\theta)=\sum_{f_1,...f_{T'}\in \mathcal F}(\prod^{T'}_{t'=1}p_F(f_{t'}|x_{1:T'};\theta)\cdot \prod^{T_{t=1}}p(y_t|x_1\{f_1\},...,x_{T'}\{f_{T'}\};\theta)),\tag{2} p(YX;θ)=f1,...fTF(t=1TpF(ftx1:T;θ)Tt=1p(ytx1{ f1},...,xT{ fT};θ)),(2)
其中 F F F是所有fertility序列的集合,其总和为 Y Y Y的长度,并且 x { f } x\{f\} x{ f}表示字符 x x x重复 f f f次。如前所述,需要在NAR解码方法中预测目标句子长度。
  此外,NAR NMT涉及一个名为多模态问题的问题。与AR解码器相比,此问题会导致错误(例如字符重复和字符不足),并严重降低准确性。为了解决这个问题,最近的研究提出了迭代优化输出和分段部分自回归输出。知识蒸馏(KD)也被用来解决这个问题。众所周知,AR模型的输出可以缓解多模态问题,因为可以抑制多样性,从而使模型易于学习。

2.3 Levenshtein Transformer

Levenshtein Transformer是最新的NAR NMT模型之一,为上述多模态问题引入了解决方法。在Gu et al. (2019) 中,实验验证了Levenshtein Transformer在机器翻译和摘要任务中的有用性。但是,它在GEC中的用途尚未得到验证。
  该模型以Transformer块(T-block)作为主要组件,并为每个T-block提供了原始文本。首先,来自第 l l l个T-block的状态如下:
h 0 ( l + 1 ) , h 1 ( l + 1 ) , . . . , h n ( l + 1 ) = { E y 0 + P 0 , E y 1 + P 1 , . . . , E y n + P n , l = 0 T − b l o c k l ( h 0 ( l ) , h 1 ( l ) , . . . , h n ( l ) ) , l > 0 (3) \textbf h^{(l+1)}_0,\textbf h^{(l+1)}_1,...,\textbf h^{(l+1)}_n=\begin{cases} E_{y_0}+P_0,E_{y_1}+P_1,...,E_{y_n}+P_n,& l=0\\ T-block_l(\textbf h^{(l)}_0,\textbf h^{(l)}_1,...,\textbf h^{(l)}_n),& l\gt 0 \end{cases}\tag{3} h0(l+1),h1(l+1),...,hn(l+1)={ Ey0+P0,Ey1+P1,...,Eyn+Pn,Tblockl(h0(l),h1(l),...,hn(l)),l=0l>0(3)
其中 E E E P P P分别是字符和位置嵌入, y 0 y_0 y0 y n y_n yn是分别代表开始和结束的边界字符。接下来,我们使用这些解码器输出 ( h 0 , h 1 , . . . , h n ) (\textbf h_0,\textbf h_1,...,\textbf h_n) (h0,h1,...,hn)对deletions,placeholders和tokens进行分类。
  (1)deletion分类器使用 s o f t m a x ( h i ⋅ A ⊤ ) , ( i = 1 , . . . n − 1 ) softmax(\textbf h_i·A^⊤),(i=1,...n-1) softmax(hiA),(i=1,...n1)对边界字符以外的字符执行“删除”或“保留”的二进制分类,并根据分类结果删除相应的字符。
  (2)placeholder分类器使用 s o f t m a x ( c o n c a t ( h i , h i + 1 ) ⋅ B ⊤ ) , ( i = 0 , . . . n − 1 ) softmax(concat(\textbf h_i,\textbf h_{i+1})·B^⊤),(i=0,...n-1) softmax(concat(hi,hi+1)B),(i=0,...n1)对每个连续位置对插入多少个占位符(从 0 0 0 K m a x K_{max} Kmax)进行分类。随后,它插入相应数量的特殊字符 < P L H > <PLH> <PLH>,其中 K m a x K_{max} Kmax是一次可以在一个字符处插入的最大字符数量,我们将其设置为 255 255 255
  (3)token分类器使用 s o f t m a x ( h i ⋅ C ⊤ ) , ( ∀ y i = < P L H > ) softmax(\textbf h_i·C^⊤),(∀y_i=<PLH>) softmax(hiC),(yi=<PLH>)将所有特殊字符 < P L H > <PLH> <PLH>进行分类并将其替换为词表 V V V中的字符。
  此处, A A A B B B C C C是用于线性变换状态维数或将两个状态进行组合的矩阵。

2.4 GEC

GEC是一个纠错的任务,例如标点符号,语法和单词选择错误。人们已经研究了用于该任务的各种方法。近年来,由于NMT的发展,GEC通常被解释为机器翻译任务。几乎所有使用BEA Shared Task-2019数据集的研究都使用基于Transformer的模型。例如,在Li et al. (2019) 中,使用将基于CNN的模型与基于Transformer的模型相结合的系统,并采用lampatt and Ng (2018) 中的方法作为CNN架构。
  下面是使用NAR模型对fast GEC进行的相关研究。在Awasthi et al. (2019) 中,GEC被视为局部序列转换任务,并通过使用并行迭代编辑模型快速解决了该问题。在n Omelianchuk et al. (2020) 中,通过迭代序列标记解决了相同的任务。但是,这两种方法都应用了预先准备的语言知识(例如后缀转换规则和动词结合词典)。因此,将它们应用于另一种语言并不容易。在这项研究中,我们提出了一种仅使用训练语料库的方法。

3.提出的方法

这项研究旨在从准确性和速度方面分析NAR模型对日文GEC的有效性,并假设NAR用作写作支持系统的后端。

3.1 写作支持系统

在这里插入图片描述
  在本节中,我们将说明写作支持系统的工作流程。图1显示了该系统的示意图,该系统由一个带有文本输入字段的前端和一个带有GEC系统的后端组成,其工作原理如下:(1)用户在输入字段中输入或删除文本。(2)前端检测到更改;(3)将更改的句子发送到后端。(4)后端执行GEC;(5)将更正发送到前端。(6)前端检查更改;(a)它建议用户进行更改(如果有更改);(b)否则,不进行任何操作。

3.2 系统挑战

在本节中,我们考虑系统输入((1)和(2))和响应时间((2)至(6a))。
  (1)System Input
  (2)Response Time

猜你喜欢

转载自blog.csdn.net/qq_28385535/article/details/114690035