关于国内外语法纠错的研究(三)-方法篇(一)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

在上文提到目前国际上比较著名的几个数据集,在本文将讨论目前在GEC 领域存在的几种方法,包括分类器(统计和神经)、机器翻译(统计和神经)、基于编辑的方法和语言模型,本文将高度总结分类器方法和机器翻译,并介绍在用此两类方法构建GEC系统的重要模型。

一、分类器

1 基本原理

机器学习分类器是最流行的 GEC 方法之一。 造成这种情况的主要原因是,英语作为第二语言(ESL)学习者的一些最常见的错误类型(例如冠词和介词错误)具有较小的混淆集,因此非常适合多类分类。 例如:构建一个分类器来预测句子中每个名词短语之前的 {a/an, the},相当于利用句子的特征去进行一个三分类任务。
补充:混淆集(Confusion Set)或称为混淆对(Confusion Pair)通常指的是一组容易在输入时产生混淆的字符、词语或短语。这些混淆可能是由于拼写错误、键盘输入错误、语音识别错误或语言习惯等原因造成的,例如词语混淆:“在” 和 “再”,“的地得” 的用法混淆,“登陆” 和 “登录”(尽管它们在某些上下文中意思相同,但在某些情况下是不同的);字符混淆:“人” 和 “入”,“已” 和 “己”,“士” 和 “土”。
类器接输入句子中所需要纠错的单词或短语的上下文的多个特征,并输出构成校正的预测类别。 通过将文本中使用的原始单词与分类器预测的最有可能的候选单词进行比较来标记和纠正错误。此方法已应用于多种常见错误类型(出自论文:Grammatical Error Correction A Survey of the State of the Art):

  • articles (Lee 2004; Han, Chodorow, and Leacock 2006; De Felice 2008;
    Gamon et al. 2008; Gamon 2010; Dahlmeier and Ng 2011b; Kochmar,
    Andersen, and Briscoe 2012; Rozovskaya and Roth 2013, 2014);
  • prepositions (Chodorow, Tetreault, and Han 2007; De Felice 2008; Gamon
    et al. 2008; Tetreault and Chodorow 2008; Gamon 2010; Dahlmeier and
    Ng 2011b; Kochmar, Andersen, and Briscoe 2012; Rozovskaya and Roth
    2013, 2014);
  • noun number (Berend et al. 2013; van den Bosch and Berck 2013; Jia,
    Wang, and Zhao 2013; Xiang et al. 2013; Yoshimoto et al. 2013;
    Kunchukuttan, Chaudhury, and Bhattacharyya 2014);
  • verb form (Lee and Seneff 2008; Tajiri, Komachi, and Matsumoto 2012;
    van den Bosch and Berck 2013; Jia, Wang, and Zhao 2013; Rozovskaya
    and Roth 2013, 2014; Rozovskaya, Roth, and Srikumar 2014).

2 方式

由于最有用的特征通常取决于词类,因此有必要为每种错误类型构建单独的分类器,并且大多数基于分类的方法都集中在特征工程上。 对于绝大多数句法引发的错误,上下文词和词性 (POS) n 元语法、引理、短语选区信息和依存关系等特征通常很有用。
训练的细节因分类算法而异,但流行的例子包括朴素贝叶斯、最大熵、决策树、支持向量机以及平均感知器。 最近,神经网络技术已应用于基于分类的 GEC,其中神经分类器是使用具有预先训练的词嵌入的上下文词构建的,例如 Word2Vec和 GloVe)。 人们提出了不同的神经网络模型,包括卷积神经网络、循环神经网络和指针网络。

3 现状

然而,这些分类器的一个局限性是它们仅针对具有较小混淆集的非常具体的错误类型,并且不能很好地扩展到涉及开放类单词的错误(例如单词选择错误)。 另一个弱点是它们严重依赖本地上下文并独立处理错误,假设上下文中只有一个错误并且所有周围的信息都是正确的。 当针对多种错误类型组合多个分类器时,分类器顺序也很重要,并且各个分类器的预测可能会变得不一致。 因此,这些限制意味着 GEC 中通常不再探索分类器,而转而采用其他方法。
二 、使用步骤

二、机器翻译

随着网络模型的发展,越来越多的网络模型出世,其中我们所熟知的Seq2Seq模型,常常用于机器翻译领域,而在GEC领域,科学家也尝试将机器翻译与GEC相结合,目前来看,主要分为两大类,即基于神经机器翻译(NMT)与基于统计机器翻译 (SMT)。

1 SMT

与统计分类器相比,GEC 能被视为统计机器翻译 (SMT) 问题的主要优点之一是SMT 理论上可以同时纠正所有错误类型,无需专业知识或特征工程,这还包括交互错误,这对于基于规则的系统和分类器来说是很难去完成的。 尽管最初是为不同语言之间的翻译而开发的,但 SMT 已成功应用于 GEC,这可以看作是从错误句子到正确句子的翻译问题。
更具体地说,尽管源句子和目标句子都使用相同的语言(即单语翻译),但源句子可能包含语法错误,应“翻译”为适当的更正,将中间过程看为黑盒子。


eg:I are good --> I am good

SMT 受到噪声信道模型 (Shannon 1948) 的启发,并使用贝叶斯规则进行数学公式化。
噪声通道
事实上,早在2006年Brockett、Dolan 和 Gamon率先将 SMT 用于 GEC,他们构建了一个系统来纠正涉及 14 个可数和不可数名词的错误。 他们的训练数据包括从新闻文章中提取的大量句子,这些句子被故意修改为包含人为的大量名词错误。 Mizumoto等人(2011)将相同的技术应用于日语纠错,但对其进行了改进,不仅考虑了更广泛的错误类型,而且还对从语言学习社交网络网站 Lang-8 中提取的真实学习者示例进行了训练。 Yuan 和 Felice (2013) 随后训练了一个 POS 因子 SMT 系统来纠正 CoNLL-2013 共享任务中学习者文本中的五种类型的错误,并揭示了使用 SMT 作为纠正多种错误类型和交互错误的通用方法的潜力。
尽管在 GEC 中取得了成功,但基于 SMT 的方法仍存在一些缺点:
(1)倾向于产生整体语法较差的局部结构良好的短语(只能识别较为低级的语法错误)。
(2)即使原始内容正确,也倾向于将短语更改为更频繁的版本,从而导致不必要的更正。
(3)无法处理远程依赖关系,并且很难约束特定的错误类型.
(4)SMT 系统的性能在很大程度上取决于可用于训练的并行数据的数量和质量,而这在 GEC 中非常有限。该问题的常见解决方案是生成人工数据集,其中将错误注入到格式良好的文本中以生成伪不正确的句子。

2 NMT

随着深度学习的出现以及机器翻译和其他序列到序列任务中报告的有希望的结果,神经机器翻译(NMT)自然地扩展到了 GEC。与SMT相比,NMT使用单个大型神经网络对整个校正过程进行建模,无需进行复杂的GEC特定特征工程。 此外,训练 NMT 系统是一个端到端的过程(seq2seq),因此不需要像 SMT 那样单独训练和调整组件。 尽管 NMT 很简单,但它在各种 GEC 任务上都取得了最先进的性能。
NMT 采用编码器-解码器框架。 编码器首先读取整个输入序列 x = (x1, x2, . . . , xT) 并将其编码为隐藏状态表示,然后解码器生成输出序列 y = (y1, y2, . . . , yT ) ,通过根据输入序列 x 和所有先前生成的单词 {y1, y2, … 来预测下一个单词 yt 。 。 。 , yt−1}。其含义是现在解码器所生成的字Yi与输入序列x和已推测的词{Y1,Y2,…Yi-1}有关。
现阶段已经提出了不同的网络架构来构建编码器和解码器; 三种常用的序列到序列模型是 RNN(Bahdanau、Cho 和 Bengio,2015 年)、CNN(Gehring 等人,2017 年)和 Transformers(Vaswani 等人,2017 年)。
三种方法中,Transformer 已成为机器翻译的首选架构。 之前的工作研究了 NMT 对 GEC 的适应,例如使用编辑加权损失优化模型和添加复制机制。复制机制允许模型直接从源句子中复制标记,源句子通常与 GEC 中的目标句子有大量重叠。 Copy-Augmented Transformer 已成为 GEC 的流行替代架构。 对 Transformer 架构的另一个修改是改变解码器中的编码器-解码器注意机制,以接受和利用额外的上下文。 , Kaneko等人(2020) 添加了输入句子的 BERT 表示作为 GEC 的附加上下文,而 Yuan 和 Bryant (2021) 添加了文档中的先前句子,Zhang 等人(2022c) 添加了输入句子的基于树的语法表示。
由于Transformer架构具有大量参数,而并行GEC训练数据有限,预训练已成为构建GEC系统的标准程序。 第一个基于 Transformer 的 GEC 系统(Junczys-Dowmunt 等人,2018)在语言建模任务上对 Transformer 解码器进行了预训练,但此后对合成 GEC 数据进行预训练变得更加常见。 BEA2019 共享任务中排名靠前的两个系统和最近最先进的 GEC 系统都使用以下方法对其 Transformer 模型进行了预训练: 合成数据,但他们以不同的方式生成合成数据。
最近,随着大型预训练语言模型的进步,使用 GEC 并行数据直接微调大型预训练语言模型已被证明可以实现与合成数据预训练相当的性能,甚至达到最先进的性能。 然而,无论 NMT 架构的类型(RNN、CNN、Transformer)如何,NMT 系统与 SMT 系统都有一些共同的弱点,最明显的是在数据要求方面。 特别是,尽管 NMT 系统比 SMT 更能纠正更远的范围和更复杂的错误,但它们也需要尽可能多的训练数据,这可能会导致极端的资源和时间需求:某些模型需要多个训练数据,这并不罕见。 在 GPU 集群上进行几天的训练时间。 此外,神经模型几乎完全无法解释,并且人类几乎不可能确定给定决策背后的推理; 如果我们还想向用户解释错误的原因而不仅仅是纠正错误,那么这就又是一个相当棘手的问题。

总结

本篇介绍了两种语法纠错方法,阐述了其发展历史以及方法本身的优势和缺点,下篇将讲述另外两种方法基于编辑的方法和语言模型。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

桔色的猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值