语法检测-英语语法校对原理

编辑:pitaya02        日期:2020-09-27

1.自动扩充语料的方法

为了解决语法纠错训练数据不足的问题,部分研究者提出了通过构造伪数据来增加训练数据的方法。猿猴研究公司的 Wei Zhao等人提出了用随机生成错误数据的方法来生成伪数据,其具体流程如下:用10%的概率随机删除单词;用10%的概率随机添加单词;用10%的概率随机替换单词;用所有单词的序列号增加正态分布,然后把增加正态分布后的单词序列号重新排序,得到的句子作为错误语句。所构造的训练数据在CoNLL2014等语法纠错数据集上表现良好。火龙果智能写作

TaoGe和微软亚洲研究院的其他成员借鉴了 NMT领域的 backtranslation思想,提出了三种扩展语料的方法,如下图所示。图表中的seq2seq error correction就是我们最终要训练的语法纠错模型,seq2seq error generation是一种输入输出对调,它以正确的语句为输入,而错误的语句则以训练出来的错误语句为输出。火龙果智能写作

back-boost方法是将正确的句子输入seq2seq error generation中产生一个错误句子,然后得到的这个句子对即可以作为 error correction的训练数据。self-boost方法将 error correction生成模型本身产生的低质量纠正数据和正确语句组合起来,作为扩展培训数据。dual-boost建议采用双重学习方法,即把self-boost和back-boost相结合,不断扩大训练语料,并通过 error generation和 error correction相互促进学习。在下面的表格中,可以看到dual-boost结果优于self-boost和back-boost。火龙果智能写作

机器翻译技术是随着深度学习技术的发展而发展起来的,它能够产生高质量的翻译。但机器翻译系统仍会产生一些难以避免的语法错误,像 Google研究院的 JaredLichtarge等人提出使用机器翻译系统生成假数据。采用翻译系统将英语翻译成中间语言(日语、法语等),然后再将中间语言翻译成英语。产生的英语语义与原始的英语语句基本相同,但经常出现语法错误。像 JaredLichtarge这样的人利用机器翻译的这一特点,产生了大量语法错误纠正伪数据,并且在语法错误纠正方面取得了良好的效果。火龙果智能写作

JaredLichtarge和其他一些人建议,除了上面提到的构造伪数据的方法之外,还可以使用维基百科的编辑记录来自动生成真正的语法错误修正数据。由于维基百科记录了每个版本的变化,包含了大量的人工修改信息,所以在两个版本之间的修改可以被用来自动生成语法错误修正数据。下面的图表是一些实际生成的例子,我们可以从图表中看到,维基百科数据生成的数据比较杂乱,导致了一些信息变化。火龙果智能写作

2.改进模式方法

从下面的表格中可以看出,输入语句和输出语句在语法纠错任务中差别不大,超过80%的词在输入语句和输出语句中都是一样的。猿猴研究所的 Wei Zhao等人由此提出了采用 Copy机制进行文本纠错的想法,从而使得像 Attention这样的模型结构能够更好地学习如何纠正错误。

如下图所示, Copy机制的模型结构图的主要思想是在生成序列时,考虑两种生成分布:分别是输入序列和字典中的字的概率分布,二者的概率分布加权求和为最终生成的概率分布,进而预测每一刻生成的字。这种方法能够有效地利用输入语句与生成语句之间出现重叠的词语较多的特点,将简单的词语复制任务交给了 Copy机制,使诸如 Attention这样的模型结构更多地用于学习较难的新单词生成。火龙果智能写作

上面提到的基于 Copy机制的方法可以很好地利用输入语句和生成语句之间的单词重复的特点,但它仍然使用Seq2Seq框架从头生成目标语句,从而降低了模型的预测速度。

针对这个问题, Google研究院的 Eric Malmi等人在EMNLP2019中提出了一个基于文本编辑的文本生成模型 LaserTagger。其核心思想是:不直接生成文本,而采用序列标注的方法对编辑操作进行预测,并将预测的编辑操作与输入文本相结合进行输出。这篇文章主要定义了四种类型的编辑操作: Keep、 Delete、Keep-AddX和Delete-AddX,也就是说,如果保持、删除、保留当前单词,则在前面添加 X短语,如果删除当前单词,则在前面添加 X短语。词组 X都来自固定大小的词组,词组由top-n-grams组成,这是由训练集中的源和目标文本不进行对齐的词组组成的。在保证语法纠错准确度损失不大的前提下,提高了语法纠错的预测速度。火龙果智能写作

Awasthi和其他人在EMNLP2019还提出了一个并行迭代编辑模型(Parallel Iterative Edit, PIE)来解决本地序列转换问题(LST)。PIE模型的输出并非词汇表中的 token,而是“复制,添加,删除,替换等”动作。如下图所示, PIE模型是一种类似于 BERT的模型结构,仅仅是每个 token都有额外的两个表示,即[M, pi]和[M,]。在这些词中, M代表[MASK], pi代表[pi],[M, pi]可用于处理 pi位置词替换的情况;代表两个词中间的位置,[M,]可用于解决在 pi和 pi+1位置词之间添加词的情况。该模型能并行解码,预测速度快,精度高,可与seq2seq模型相匹敌。

火龙果智能写作是全球第一款中英双语语法检查校对产品,运用火龙果智能写作技术进行错别字文本校对,除错别字校对以外,还可以对语法、标点等进行校对。

火龙果智能写作官网https://www.mypitaya.com

积极拥抱变化,才能更好的应对这个时代

语法检查-如何强化英文写作能力?