发布时间:2023-02-20 10:30
注:论文阅读笔记仅帮助大家快读了解、知晓论文的创新点、重点等,如需详细掌握请点击上方标题自行阅读,在此是存在一定博主和读者偏见的,有任何问题欢迎留言指正补充或讨论。
将语法纠错看作翻译任务,在Transformer结构上提出了一种动态残差结构,结合到了编码器端与解码器端(每一层均为注意力操作+归一化+FFN+归一化)就是将不同层的输出乘上不同的系数wi然后求和 以及 构造了错误数据用于数据增强。数据集:Lang-8、HSK、NLPCC2018
模型使用Transformer,主要是对输入句进行五种噪声方案:填充符替换、随机替换、字频替换、同音词替换、混合替换,可生成多种“错误-正确”句子对,解决了训练语料库小的问题。
首次提出融合字、词的噪声数据增强方法,仅用transformer模型在NLPCC2018达到sota。并在transformer模型中提出了一种 源端词的Dropout方法,在源端数据经过词嵌入层将随机把一部分词向量置为0(即sentence->Input Embedding->Dropout Src->Positional Embedding->Encoder)。基于此,在源端以概率Psrc筛选出要被丢弃的单词,将词向量设为0。同时对未被丢弃的其他词向量做出相应补偿,以1/(1-Psrc)的倍率放缩。通过这样方法,模型没有得到完整源端输入,泛化能力更强。噪声增强的方法是针对四大类:冗余、缺词、选词和词序(以及综合)进行词粒度再字粒度的双重噪声化,再累加得到最终的噪声语料。
CGEC的sota,采用迭代生成的方式来解决一次预测下来不能完全解决句子中所有错误的问题,这样会使同一个模型被反复使用使得错误修正有局限性。
使用拼写检查模型+Transformer来迭代生成,本文使用的拼写检查模型是5-gram语言模型来获得原始句子的最高概率。具体而言,用jieba分词后,对于每个单词w,如果不在词典D中则用[SCS]替换以生成替换单词,用语言模型从候选单词集中寻找最有可能使得5-gram句子最高概率的词进行替换。
在上一篇多轮同模型的迭代生成基础上,本文基于多轮不同模型的效果更优的假设。将同时利用NMT和序列编辑模型两种优势。NMT适合重写整句,如改序、多词替换;而序列编辑模型适用于小问题,如移除一个词、添加一个符号
本文贡献:
1 多模型融合系统达到sota,且无需大量训练数据
2 在迭代生成实验中寻找最优模型组合和最优迭代轮数
3 使用ERRANT来评估中文,过去该指标都用来评估英文
序列编辑简单来说就是对每个xi做多分类,每一类ei是整个固定编辑符集合之一。如使用Levenshtein Transformer通过插入和删除来做到文本简化,Dong人名 使用三种基本编辑操作Keep、ADD、DELETE来完成序列编辑。但唯一适用于中文GEC序列编辑模型仅有LaserTagger,两种编辑操作:Keep、DELETE,在少量样本下英文GEC效果好,但离sota还是很远。本文将结合LaserTagger和NMT模型。
本文GEC模型由三部分组成:NMT\\序列编辑\\拼写检查。每个模型输出一次或多次来组成最后的正确输出。实验数据集采用NLPCC2018
NMT模型采用 Transformer直接端到端训练;序列编辑模型参考LaserTagger,使用BERT-base作为Encode端,然后输入给Transformer,对每个token进行tag标记的预测,实验发现短语性切分比字符切分效果更好(切词用的是jieba);拼写检查模型,与上篇文章相似,只不过将5-gram的语言模型替换为了Transformer;迭代生成也考虑到了两种方式:多轮同模型,该轮的输出作为下一轮的输入、多轮双模型,Translate+Edit与Edit+Translate,最终实验结果表明NMT+序列编辑模型的两轮迭代生成的F0.5分数最高。对于ERRANT的评估未看,因迄今已有效果更优的基于字的评估方式,即MuCGEC的。