语法纠错数据生成方法

语法纠错属于句子级的校对,需要检测并纠正句子中的错误,其中语法纠错目前已经公开的数据量不多,而现在解决语法纠错的问题主要是采用深度学习的模型,这些深度学习的模型需要大量的训练数据,因此本文总结了几种语法纠错数据生成的方法

1.在word-level或者char-level随机插入、替换、删除、重排

按照10%的概率随机删除一个词;按照10%的比例随机增加一个词;按照10%的比例随机替换一个词;对所有的词语序号增加一个正态分布,然后对增加正态分布后的词语序号进行重新排序后得到的句子作为错误语句。

2.使用拼写检查或者从训练集中提取word的编辑进行随机

3. 直接使用back-Translation:输入正确的句子,输出具有语法错误的句子

4.在back-Translation解码过程中加入噪声,提高GEC的back-Translation

5. 在back-Translation解码过程中使用抽样代替beam search

在back- translation进行解码的时候,直接使用随机抽样,而不是beam search 

6. 在句子中直接插入噪声

在原来的句子中,以概率选择这四种操作:mask,keep,deletion,insert,其中选择概率是基于类别的分布得到的。

7. 提高流利度的学习(Fluency-boost learning),用于在训练过程中生成额外的句子对

 

8. 将正确的句子翻译成另外一种语言,然后再回译,形成正确句子对应的语法错误的句子。

Google研究院的Jared Lichtarge等人提出利用机器翻译系统来生成伪数据。具体方法是使用翻译系统将英语翻译成为一种中间语言(日语、法语等),然后再将中间语言翻译回英语。生成的英语语义和原始英语语句基本保持不变,但是往往会产生一些语法错误。

除了上述构造伪数据的方法外,Jared Lichtarge等人还提出采用维基百科的编辑记录来自动生成真实的语法纠错数据。维基百科会记录每一个版本的变化,里面包含大量的人工修正信息,因此可以采用两个相邻版本之间的变化来自动生成语法纠错数据。下图是实际生成的一些示例,我们可以从图中看到,维基百科数据生成的数据噪音比较大,会产生一些信息变动。

9. 使用显式错误类型标签受到干扰的潜在表示来生成合成句子

给定一个目标语法错误类型和相应的语法错误类型分类器,我们可以得到一个潜在空间中的扰动向量。然后将扰动向量添加到输入句子的潜在表示中,利用解码器生成具有目标语法错误类型的句子。通过这种方式,可以通过指定不同的目标错误类型来生成不同的错误。为了进一步提高性能,我们采用了一些规则来辅助一些局部语法错误的生成,如拼写错误、标点错误等。

10 . 将错误标签加入到输入序列中,即给定一个错误标签和一个没有语法错误的句子,去生成该错误类型下对应的语法错误的句子。

11. 将词性标注用于数据生成,一共是五类错误类型

 

 

词树中融入词性标注的信息,这样在按照错误类型去生成数据时,按照该树进行约束去生成数据,比随机的结果更符合实际情况,比如use对应的形容词和副词的混淆,那就直接把形容词和副词进行替换,动词形式使用错误,直接将动词的第三人称单数和复数进行互换,或者动词的过去式现在式进行替换,动词的主动和被动互换即可。

12. 两种基于规则的方法:

数据生成方法一: The Inverted Spellchecker Method

使用给定一个词语,Aspell spellchecker去生成推荐使用的词语列表,推荐使用的词语列表按照编辑距离进行排序

给定一个句子,从中选择一些词语,对于被选中的词语,以0.7的概率替换为推荐使用的词语列表中的词语,以0.1概率删除词语,以0.1概率随机插入一个词语,以0.1概率将被选中的词语与其相邻的词语进行交换。

数据生成方法二:The Patterns+POS Method

pattern表示token-base 方法,POS表示type-base方法,

首先从训练数据中抽取error pattern,例如编辑的出现以及出现的频率,编辑信息被用于构建常用的编辑词典,然后在将词典应用于语法正确的句子进行反向编辑来生成噪声。

POS方式,仅仅对介词,名词和动词生成噪声,对于每一个token,都以0.15的概率按照一下子的方式来修改:名词替换它的单数或者复数形式,动词替换成动词的其他形式,介词则使用其他的介词来替换。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值