论文笔记:Improving Grammatical Error Correction Models with Purpose-Built Adversarial Examples

文章简要介绍

  1. 出处:EMNLP 2020
  2. 作者来自:复旦大学 Shanghai Key Laboratory of Intelligent Information Processing
  3. 解决问题:GEC模型的性能依赖于语料库大小和质量的问题
  4. 思路:受对抗训练启发,通过不断识别模型弱点生成对抗样本,并将生成的对抗样本添加到训练集中

Introduction

1.简要介绍GEC模型:Grammatical Error Correction(GEC)语法错误纠正模型,它以seq2seq模型为基础,输入为有语法错误的句子,输出为正确的句子。GEC的目的是为了识别和修正文本中的不同错误,例如:拼写错误,标点符号,单词选择错误等。

2.背景介绍:有多种语法错误可以发生在一个句子中,然而无法构造一个涵盖所有错误及其组合的语料库。GEC模型的性能依赖于语料库大小和质量。**语料库的内容是原目标对,即一个语法错误的句子和一个正确的句子是一对。**目前生成高质量训练样本的方法可以简单的分为两类:(1)direct noise 直接噪声:类似于文本编辑操作,如:替换、删除、插入等(2)back-translation:训练一个clean-to-noise模型来生成带有语法错误的句子。这种方法生成的带有语法错误的句子有较差的可读性,和人类生成的带有语法错误的句子不同。还有一个问题:这种back-translation 生成的句子只包含几种类型的错误,并且难以生成在训练集中未出现的错误。

缺少训练数据是GEC的瓶颈

3.主要贡献:(1)发现GEC模型中存在对抗样本(2)通过对GEC模型进行对抗攻击,可以生成有价值的带有语法错误的句子,可以利用生成的句子训练GEC模型,提升性能的同时提升鲁棒性。

Method

1.**Baseline Model:**根据之前提到的,可以把GEC模型视为一个MT(machine translation)模型,将ungrammatical的句子视为源句x,将正确的句子视为目标句子y,D={(x,y)}是GEC的的训练数据集。带有Attention机制的seq2seq模型不详细介绍。

2.对抗样本生成:GEC模型生成对抗样本分为两步。

(1)Identifying Weak Spots 识别GEC模型弱点

​ **利用位置分数找到会影响模型结果的token。**一个token的位置分数越低,说明模型在预测这个位置出现这个token的置信度越低,说明这种预测容易被更改。使用位置分数还帮助减少生成的伪数据中的偏差,在这种情况下,过多的语法错误是因为误用了介词或者冠词导致的。实验发现,位置分数较低的单词都是词汇,或者名词,动词,形容词以及副词,还有一些OOV词典外的单词。下面详细介绍怎么用位置分数识别一个句子的weak spots.
在输出部分,第i个token的位置分数:g(yi)=P(yi∣y1:i−1)在输出部分,第i个token的位置分数: g(yi) = P(yi|y1:i-1) 在输出部分,第i个token的位置分数:g(yi)=P(yi∣y1:i−1)
下面详细介绍怎么用位置分数定位一个句子中的weak spots.

​ 用attention机制获得在一个seq2seq模型中目标句子中token Yi和源句中token Xj之间的注意力权重。上面公式6中的两个h,第一个对应的是decoder层的隐藏向量表示,第二个对应的是输入经过encoder层的隐藏向量表示。通过计算输入和输出每个token之间的注意力权重,可以获得一个矩阵A。对于目标句子中的token Yi,会计算它和源句中每个token之间的注意力权重,关注权重分数最大的那个源句token Xj,在矩阵A中将对应位置设置为1,这表示目标句子中的token Yi对齐源句token Xj,其他的设置为0。

怎么确定要被修改的token? 在原始训练数据集上训练的GEC模型,会对输出的每个token Yi给出一个位置分数g(Yi),如果**位置分数g(Yi)小于固定阈值**,就认为对应的源句token Xj是可以被修改的token。

(2)Word Substitutions-based Perturbations 基于替换的词级扰动

​ NLP任务中的对抗样本生成已经有了一些研究,大多集中在对于情感分析任务。对情感分析任务生成对抗样本时,要改别预测结果但是保留语义,所以常用同义词进行替换。但是对于GEC模型,这种同义词替换的方法不可行。文章中提出两种替换方法

方法一:从GEC训练集中获得一个correction-to-error的映射map,对于候选修改的token,从这个map中找到合适的替换token。(带有语法错误) 如果通过Map找到有多种可以替换的token,需要根据上下文、语义选择最合适的一个。给出了一个定义句子相似性的函数S(基于编辑距离)。

​ 公式11描述的是加权随机抽样,权重Wi通过函数S计算得到。需要注意的是,会有一词多义,举例:单词change有两个词性,动词和名词,不同的词性将会产生不同的错误。因此,在进行替换选择的时候,要删除和原始token没有相同词性的候选项

**方法二:基于规则生成错误。 **

如果用方法1找不到候选替换,再用方法二。为了最大程度的保持句子语义,根据不同词性执行不同的变换方法。

​ 其中,数字和专有名词不进行修改。所有的冠词或限定词、介词、连词、代词都先通过方法1找到合适的候选替换。rare words或者符号可以直接删除或者标记为.

​ 在一个句子中可能存在多个要被修改的token,我们可以把所有错误集成到这个句子中,即获得一个有多种语法错误的句子。也可以不将语法错误集成,生成多个对抗样本。后续试验证明,把所有错误集成到一个句子中,更好。

总结:GEC对抗样本生成的算法

3.Adversarial Training对抗训练

​ 使用未标记的语料库越多,GEC模型的性能会越好。前两步使用未标记的语料库,为对抗训练生成大规模的对抗样本。

​ **训练策略:**对抗训练通过向训练集中加入对抗样本进行训练,可以有效提升模型的鲁棒性。但是这种方式存在问题,可能会让模型过拟合噪声,在干净数据集上的准确率会下降。有人提出用pre-training和fine-tuning的方法来缓解这种noise-overfit的问题。

论文:Improving grammatical error correction via pre-training a
copy-augmented architecture with unlabeled data

论文:An empirical study of incorporating pseudo data into grammatical
error correction.

​ 论文里面的训练方式也用类似的方法:模型先用对抗样本进行pre-trained,然后在原始训练集上对模型进行fine-tuned。

实验

1.数据集&评估

​ 数据集:BEA-2019 workshop official dataset。从训练集中**删除源句和目标局一致的句子对,并且从数据集中采样不含有数字和专有名词的句子,作为预训练的未标注数据**。

​ 评估:MaxMatch scores,GLEU。在评估前使用从Lang-8语料库中提取的含有50,000个词的词典进行拼写矫正。

2.模型&超参数设置

​ (1)baseline seq2seq模型:Transformer模型(论文:Attention is all you need)&工具包 fairseq

​ (2)为了评估模型的鲁棒性,在测试数据中添加对抗样本,添加的对抗样本含有1个或者3个错误。为了确保在攻击过程中生成错误,位置分数的阈值设定为0。

​ (3)对抗攻击分析:

​ (I)当前GEC模型,包括一些先进的模型,容易受到对抗样本影响

(II)用direct-noise做数据增强对提升GEC模型鲁棒性的效果不大。这可能与direct noise的编辑操作引入了一些任务无关的噪声有关

(III)综合对抗训练,可以不断提高模型的鲁棒性,如果以一定性能损失作为可接受代价。

Wang L , Zheng X . Improving Grammatical Error Correction Models with Purpose-Built Adversarial Examples[C]// Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing (EMNLP). 2020.

注意的点:
1.识别出有语法错误的方式
2.对抗训练方式

论文笔记:Improving Grammatical Error Correction Models with Purpose-Built Adversarial Examples相关推荐

  1. 论文阅读:Overview of the NLPCC 2018 Shared Task: Grammatical Error Correction

    论文阅读:Overview of the NLPCC 2018 Shared Task: Grammatical Error Correction 1. 引言 2. 任务定义 3. 数据 3.1 训练 ...

  2. 复现有道NLPCC-2018 CGEC:A Neural Machine Translation Approach to Chinese Grammatical Error Correction

    有道NLPCC-2018 CGEC任务论文:A Neural Machine Translation Approach to Chinese Grammatical Error Correction ...

  3. 自动语法错误校正(Grammatical Error Correction)

    写英语论文很折磨人.平时用英语写的少,关键时候写的头痛死.记起前段时间在知乎上看了一个哥们写的NLP潜在热门方向,介绍了自动语法错误校正(具体名称记不起来了,当时没有收藏,现在找不到了).就不知道怎么 ...

  4. CLIP论文笔记--《Learning Transferable Visual Models From Natural Language Supervision》

    CLIP论文笔记--<Learning Transferable Visual Models From Natural Language Supervision> 1.Introducti ...

  5. 论文解读:Spelling Error Correction with Soft-Masked BERT

    论文解读:Spelling Error Correction with Soft-Masked BERT(2020ACL)   拼写错误纠错是一个比较重要且挑战的任务,非常依赖于人类的语言理解能力.本 ...

  6. 【论文笔记】 LSTM-BASED DEEP LEARNING MODELS FOR NONFACTOID ANSWER SELECTION

    一.简介 这篇论文由IBM Watson发表在2016 ICLR,目前引用量92.这篇论文的研究主题是answer selection,作者在这篇论文基础上[Applying Deep Learnin ...

  7. Improving the Efficiency of Grammatical Error Correction with Erroneous Span Detection and Correctio

    EMNLP20,GEC(Grammar Error Correct)比较近的一篇文章,没啥太多的novelty,主要是用了RoBertA,和以往的neural方法一样,seq2seq model,只是 ...

  8. Improving the Efficiency of Grammatical Error Correction with Erroneous Span Detection翻译

    摘要 我们提出了一种独立于语言的新颖方法,通过将GEC任务分为两个子任务来提高语法错误纠正的效率:错误跨度检测(ESD)和错误跨度校正(ESC).ESD使用有效的序列标注模型来识别语法错误的文本范围. ...

  9. 【论文笔记】Character-Aware Neural Language Models

    一.概要   该文章发于AAAI 2016,作者提出了仅建立在字符输入,预测在词水平上进行的一个神经语言模型(NLM).当输入一个LSTM循环神经网络语言模型(RNN-LM)时,该模型在字符上启用了一 ...

最新文章

  1. Windows SQL Server 2008 群集(摘自网络)
  2. docker desktop ubuntu镜像_资深专家都知道的顶级 Docker 命令!
  3. HTTP2 基础知识点总结
  4. eclipse 高效快捷键大全
  5. 喜大普奔:Datawhale开源项目《李宏毅机器学习完整笔记》发布了!
  6. linux 运行jar main,Maven打包生成jar包并在linux下启动main方法
  7. print输出保存到txt
  8. C# 根据年月日计算星期几
  9. iOS-Core-Animation-Advanced-Techniques(二)
  10. C++ 智能指针unique_ptr的简单实现
  11. 自学网html视频教程,ps教程自学网html视频教程
  12. 成功解决 3DMAX报错:3D MAX application 已停止工作的解决方法
  13. 福到了 分数 15作者 陈越单位 浙江大学
  14. 图像压缩之DCT变换
  15. 计算机网络的基础学习
  16. PS纳米纤维膜 聚苯乙烯 纤维直径500-2000nm
  17. 京东管培生(产品方向)线上hr面
  18. 支付中心,防止重复支付的一些思路!
  19. 来来来,教你如何智慧薅羊毛!
  20. 端元提取——纯像元指数PPI

热门文章

  1. 5G移动性增强技术分析
  2. 计算机打字手怎么放,打字时如何正确放置手指
  3. java面试专题(商城面试问题)
  4. Kotlin零基础入门到精通(精选)
  5. 2022年跨境电商(美国区)预计趋势
  6. 正则表达式判断合法的电话号码
  7. 微信支付apiv3全教程
  8. DVDRW光驱无法读DVD刻录盘
  9. Google AIY 套件将亮相香港!人工智能新一轮风潮袭来!
  10. 高中二年级计算机会考吉大附中,长春小学、初中、高中期末考试时间大曝光