Context is Key: Grammatical Error Detection with Contextual Word Representations翻译

摘要

非母语写作中的语法错误检测(GED)要求系统识别语言学习者书写的文本中的各种错误。由于GED数据集的大小有限且标签分布高度不平衡,因此将错误检测作为纯监督任务可能具有挑战性。基于上下文的词表示提供了一种可能的解决方案,因为它们可以有效地捕获语言中的组合信息,并且可以针对大量无监督的数据进行优化。在本文中,我们对一系列公共GED数据集进行了ELMo,BERT和Flair嵌入的系统比较,并提出了一种方法可以有效地将这些表示形式集成到当前方法中,从而在GED上达到最新水平。我们将进一步针对现有任务分析不同上下文嵌入的优缺点,并根据它们对不同类型错误的影响进行详细分析。

1.介绍

检测语言学习者编写的文本中的错误是语言学习和评估的教学应用的关键组成部分。有监督的任务学习方法利用具有人工错误注释的语料库,但是规模有限,而且分布在标签数量上有偏差:文本中正确标签的数量远远超过不正确标签的数量。这样,语法错误检测(GED)可以被视为资源不足/资源中等的任务。
  目前的技术是在基于神经网络的半监督,多任务学习框架内探索错误检测,该过程使用经过优化的神经序列标记器来检测错误并预测其周围上下文。为了进一步提高GED的表现,最近的工作研究了人工生成的训练数据的使用。关于语法错误纠正(GEC)的相关任务,Junczys-Dowmunt et al. (2018)探索迁移学习方法来解决任务的资源匮乏的瓶颈,除其他外,发现在结合预训练的词嵌入时可以显着提高性能,并从在未标记的大型语料库上训练的语言模型中导入网络权重。
  在本文中,我们扩展了错误检测的当前技术水平,以有效地合并上下文嵌入:基于上下文出现单词构造的单词表示形式。这些嵌入通常是大型语言模型网络的一组隐藏层的输出,它们是在大量未标记的通用领域数据上训练的。这样,他们就可以从各种数据源中获取有关语言和写作的详细信息,并可以帮助克服有监督学习的资源限制。
  我们评估了上下文嵌入的使用形式,这些形式包括Transformers(BERT),语言模型嵌入(ELMo)和Flair嵌入的双向编码器表示形式。据我们所知,这是对GED任务使用上下文嵌入的首次评估。我们的贡献主要是以下四个方面:

  • 对于GED的任务,我们对不同上下文的词表示形式进行了系统的比较;
  • 我们描述了一种有效地将上下文表示集成到错误检测模型中,在许多公共GED数据集上达到最新技术水平的方法,而且我们的代码和模型可在网上公开获得;
  • 我们证明了我们的方法除了可以整体提高性能外,还具有转移到领域外数据集的特殊优势;
  • 我们针对GED的任务对不同的上下文表示形式的优缺点进行了详细的分析,提出了其对不同类型错误影响的详细结果,以指导未来的工作。

2.相关工作

在本节中,我们将介绍有关GED和GEC相关任务的先前工作。虽然纠错系统可以用于错误检测,但先前的工作表明独立的错误检测模型可以与纠错模型互补,并且可以用来进一步提高GEC的性能
  GED和GEC的早期方法依赖于手写规则和错误语法,而后来的工作着重于使用特征工程方法并经常利用基于最大熵的分类器从具有错误标注的语料库进行有监督的学习。这些大量工作集中于针对特定错误类型的系统的开发,例如介词,文章用法和动词形式错误。错误类型不可知方法尤其着重于生成合成的非语法数据,以增强可用的训练集,或从本地英语数据集中学习。例如,Foster and Andersen (2009)研究了基于规则的错误生成方法,而Gamon (2010) 在大型通用领域语料库上训练语言模型(LM),从中推导了特征(例如单词似然性)用于错误分类。
  作为一项独特的任务,GEC已被表述为朴素贝叶斯分类或单语(统计或神经)机器翻译(MT)问题(其中未纠正的文本被视为源语言,而更正后的文本则作为其目标语言)。
  最近,Rei and Yannakoudakis (2016)提出了针对神经GED的第一种方法,该方法基于双向LSTM(bi-LSTM)处理的词嵌入训练序列标注模型,在整个句子作为上下文告知的标签上输出概率分布。当对领域内数据进行训练和评估时,此方法可获得很强的结果,但对领域外数据则具有较弱的泛化性能。Rei et al. (2016)将该模型扩展到包括字符嵌入,以捕获词尾等形态上的相似性。Rei (2017)随后在神经序列标注架构中添加了辅助LM目标,可同时在单词和字符级嵌入上运行。人们发现这对GED特别有用-引入LM目标可以使网络学习有关语言和组成的更多通用特征。同时,Rei and Yannakoudakis (2017)
研究了GED任务的许多辅助(语素-句法)训练目标的有效性,发现预测词性标签,语法关系或错误类型作为辅助任务与单任务GED目标相比,性能有所提高(尽管不如使用LM目标时高)。
  GED的当前技术是基于通过人工生成的训练数据增强神经方法。Rei et al. (2017)通过使用双向LSTM序列标注器以两种不同的方式生成人为错误显示出改进的GED性能:1)从带错误注释的语料库中学习频繁的错误模式并将其应用于无错误文本; 2)使用统计MT方法使用并行语料库将正确的文本“翻译”为错误的对应文本。最近,Kasewa et al. (2018)使用神经MT系统代替统计MT,Rei et al. (2017)的神经模型在GED上取得了最新的技术水平。

3.数据

4.错误检测模型

在这里插入图片描述
  在本节中,我们扩展了当前GED(Rei, 2017)的神经网络结构。此模型是基于词嵌入的bi-LSTM序列标记器,其中,对于每个词,模型经过训练以使用softmax层在二分类正确/不正确的标签上输出概率分布(即,在上下文中预测字符是正确的还是错误的) 。此外,还使用辅助双向LM目标函数对模型进行训练,以预测序列中目标词的上下文。具体而言,模型使用前向LM预测序列中的下一个词,并使用后向LM预测前一个词。Rei(2017)还使用了字符级的bi-LSTM,而不是仅对词进行限制,以便从子词形态单元中受益,尤其是在单词未知或拼写错误的情况下。字符级LSTM的输出连接到单词嵌入,并作为单词级bi-LSTM的输入。
  该模型学习300维的单词嵌入以及100维字符嵌入,其中单词嵌入使用预训练的Google新闻嵌入进行初始化。单词和字符级LSTM的隐藏状态也分别为300和100维。每个LSTM的输出都通过具有tanh激活函数的50维隐藏层。Dropout以0.5的概率应用于每个LSTM层的输入和输出。针对语法错误检测目标函数,使用交叉熵损失函数对模型进行训练,该函数将金标对应的负对数概率最小化。由于还使用第二个LM目标函数训练了模型,因此使用了第二部分交叉熵损失函数,从而将正向LM序列中下一个单词的负对数概率最小,而反向LM则将序列中的前一个单词的负对数概率最小。超参数 γ = 0.1 γ=0.1 γ=0.1用于加权两个损失函数的组合,从而使得与语言建模的任务相比,更重视语法错误检测这个主要任务。使用AdaDelta优化器进行优化,却初始学习率为 1.0 1.0 1.0,batch大小为32个句子。当验证集性能在7个epoch内都没有改善时,训练将终止。
  在这项工作中,我们通过合并由三种不同方法(BERT,ELMo和Flair;每种方法在第5节中进行了详细说明)产生的上下文词嵌入来扩展上述模型。具体来说,我们将上下文嵌入拼接到输入词嵌入中,然后再通过词级bi-LSTM(图1a),或者连接至bi-LSTM的输出(图1b)。Peters et al. (2018)发现整合ELMo向量的最佳点因任务而异,因此,我们在这里继续进行分析。
  我们使代码和模型的TensorFlow实现可在线公开获得。

5.上下文嵌入

在这项工作中考虑了三种类型的上下文嵌入:BERT,ELMo和Flair嵌入。在每种情况下,我们都使用作者发布的公开可用的预训练模型。
  (1)BERT
  BERT嵌入是从经过MASK的LM目标训练的transformer结构的最高层中提取的:与其MASK序列中的下一个或上一个单词,不如掩盖一定百分比的输入字符,然后网络学会预测MASK的字符。BERT还接受了第二个目标的训练,该目标可在给定两个输入句子的情况下预测一个句子是否紧随另一个句子。BERT预训练嵌入有两种变体:base嵌入,是四个最高的768维隐藏层的拼接,产生了3072维的嵌入;large嵌入,是四个最高1024维隐藏层的拼接,产生4,096维嵌入。BERT嵌入在未出版作者撰写的BooksCorpus(8亿字)书籍上和英语维基百科上(25亿字)训练。
  (2)ELMo
  ELMo嵌入是三层堆叠的双向LSTM LM的输出的加权元素和,经过训练可以预测序列中的下一个和上一个字符。使用每层特定于任务的标量,将三个LSTM的输出缩减为单个1,024维嵌入。在训练期间,我们的序列标记器将学习特定于任务的加权。ELMo接受了十亿单词基准语料库(8亿个单词)的训练,该语料库主要由在线新闻文章组成。
  (3)Flair
  Flair嵌入是单个(即未堆叠)字符级双向LSTM的串联输出。我们使用2048维向前和向后嵌入的串联,分别由前向和向后LSTM生成,并且都在十亿字基准测试中进行了训练,这产生了4,096维的嵌入。

6.结果

在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_28385535/article/details/111165991
今日推荐