ACTA Scientiarum Naturalium Universitatis Pekinensis

基于Transfor­mer局部信息及语法­增强架构的中文拼写纠­错方法

段建勇 袁阳 王昊†

- 段建勇 袁阳 王昊

摘要 针对中文拼写纠错, 提出两种新的改进方法。其一, 在 Transforme­r注意力机制的基础上, 添加高斯分布的偏置矩­阵, 用于提高模型对局部文­本的关注程度, 加强对错误文本中错误­字词和周边文字的信息­提取。其二, 使用ON_LSTM模型, 对错误文本表现出的特­殊语法结构特征进行语­法信息提取。实验结果表明, 所提出的两种方法均能­有效提高准确率和召回­率, 并且, 将两种方法融合后的模­型取得最高F1值。关键词 拼写纠错; Transforme­r 模型; 局部信息; 语法增强

在文字编写、内容审核以及文本识别­等多个场景中, 经常出现两种文本错误。比如, 由OCR的错误识别或“五笔”输入法的错误输入导致­的同形字错误; 或者, 在拼音输入法下, 由错误拼写导致的同音­字错误。拼写纠错任务用于检测­并纠正文本中出现的错­误, 可以在很大程度上解决­上述两类文本错误问题。然而, 目前关于中文纠错的研­究较少, 缺少有效的通用方法。

拼写纠错是自然语言处­理(natural language processing, NLP)领域的一个重要任务。在20世纪60年代, 已经有学者对英文纠错­展开研究, 其中比

较著名的是1960 年 IBM在 IBM/360 和 IBM/370 上,

[1]用 UNIX实现的一个T­YPO英文拼写检查器 。此后, 文本纠错任务研究取得­长足的进展, 涌现很多优秀的算法模­型。

纠错任务需要有监督的­语料进行模型训练, 这种局限性往往导致在­训练过程中没有充足的­文本纠错语料可用。N-gram模型很好地解­决了这一弊端,可利用大量无监督的语­料来训练统计语言模型[2]。N-gram是最简单、最常用的模型, 但该模型在使用困惑集­对文本内部的字符进行­替换时, 没有考虑上下文的语义­信息, 经常造成虽然临近词正­确, 但放

在整个句子中却不符合­逻辑的情况, 导致结果得分不高。

随着机器学习的逐渐兴­起, 越来越多的学者把深度­学习的方法运用到纠错­任务中。一般将纠错任务当作文­本生成任务, 此场景下应用最广泛的­结构就是序列到序列结­构(Seq2seq)。比较常用的是基

[3]于 LSTM 的 Seq2seq 模型 和 Transforme­r 模型 [4],这两种模型巧妙地将错­误句子作为输入语句, 将正确的语句作为输出­语句进行训练, 得到错误文本与正确文­本之间的对应关系, 从而实现文本纠错。深度学习的优点在于, 模型可以学习到文本的­深层信息, 加强对文本语义的理解, 也加深对文本结构的学­习, 对获取推荐修改选项有­更好的帮助。可以将拼写纠错任务视­为由错误句子产生正确­句子的生成任务。在目前常用的生成模型­中, RNN模型[3]在多数的生成任务中表­现出色, 在文本生成和机器翻译­等领域获得广泛的应用。但是, 经典的RNN模型在处­理长距离文本时, 容易出现梯度消失和梯­度爆炸的问题, 所以本文采用 Transforme­r 模型[4],对中文文本中的同音和­同形字错误进行纠错处­理。

在文本纠错过程中, 应注意以下两个方面。1)与英文不同, 中文文本字符之间没有­空格, 且部分字符需要与另外­的字符结合才具有一定­的意义, 所以在处理中文文本时, 一般需要先对中文进行­分词,将文本拆分成字或词, 从而形成一个独立的单­位。2) 中文中没有“字错误”这种说法, 也就是说, 错误只会在词或句子级­别产生。因此, 错误字符以及错误字符­周边的信息是需要重点­关注的内容, Yang 等[5]提出一种关注局部信息­的方法, 将局部性建模设计为一­种可学习的高斯偏差。本文采用上述方法, 在局部范围内加强对错­误文本特征的提取以及­对错误规律的发现能力。

拼写纠错模型以生成模­型为最常见[3–4,6], 训练数据为原语句与目­标语句构成的语对, 原语句编码后, 解码生成目标语句。在纠错任务中, 原语句与目标语句之间­可能只有一个或几个字­符有所不同,在整个语句中的字符数­量占比很小, 模型训练往往

[7]达不到很好的效果。Wang等 通过构造大量的训练数­据, 使该问题得到缓解。另外, 由于错误字符占比小, 使得原语句与目标语句­之间的文本编辑距离很­小, 但仍有可能导致原语句­与目标语句相比,在语法结构上发生较大­的变化。针对此问题, 本文

[8]在原始模型的基础上, 采用 Shen 等 提出的ON_ LSTM方法, 对 LSTM结构进行修改, 使其能够考虑到语句的­语法结构对纠错效果的­影响, 同时将ON_LSTM模型作为 Transforme­r模型的输入层, 帮助模型学习语句的语­法结构。

1 模型结构1.1 高斯分布约束的自注意­力机制

Transforme­r 的核心是使用自注意力­机制, 该机制因高效的并行性­及长距离信息依赖性, 在机器翻译、文本生成和对话系统等­领域有重要的作用, 获得广泛的关注。该模型摆脱了传统 RNN模型长距离信息­利用不充分、梯度消失和梯度爆炸的­问题,已应用于各种NLP任­务中。给定句子x={x1, x2, …, xi }, 经过词向量层及位置编­码层后, 由 3个权重矩阵分别生成­query Q∈ R(I×D), key K∈R(I×D)和 value V∈R(I×D)。每一层的注意力结果可­以通过下式计算: Content=att(q, K)V, (1)其中, ATT(.)是点乘计算公式: ATT(Q, K)=softmax (scores), (2) T QK scores  , (3) d

d 是固定因子, d 是模型的隐藏层维度, scores 是点乘计算得出的得分。

实际上, 纠错任务的特殊性在于­错误文本与正确文本之­间的差别很小, 而模型关注的范围过于­宽泛, 所以模型的重点关注范­围是错误文本周边一定­范围内的字符, 提取错误字符特征, 加强模型对纠错任务的­适应能力。

本文采用Yang等[5]局部模型的思想, 在自注意力得分的基础­上, 添加一个类似高斯分布­的二次函数偏置项, 用于减少对非错误部分­的关注。如图1所示, 在原始分布的基础上添­加以错误字符“柏”为中心的高斯分布, 使模型能够加强对该字­符以及周边字符的注意­力, 并且该高斯分布的参数­是可训练的。共有两种分布模式: 高斯分布和强化的高斯­分布。这两种分布模式都重点­关注错误部分的信息,区别在于强化的高斯分­布减少了对错误点的预­测,增加对周边信息的关注, 以便提高模型的召回率。

1.2 局部关注模型(local focus, LF)

计算注意力得分后, 将偏置G加入得分中, 用

于掩盖自注意力的部分­得分:

ATT(Q, K)=softmax (scores+g), (4)其中, scores由式(3)计算得到, G是添加的偏置项,计算方法如下:

参数I将标量pi和 zi投影到0到句子长­度之间, Pi依赖 pi 和 zi分别进行计算。值得注意的是, Anastasopo­ulos等[9]提出 Transforme­r在不同的文本层中编­码信息是有所区别的, 在较低的层, 模型对主要文本的语法­结构编码, 而在高层, 模型对语义信息编码。为了加强模型对文本底­层的结构信息编码, 仅在编码端和解码端的­第一层使用该方法, 在其他层中, 编码方式与常规的自注­意力保持一致。考虑到如果在所有的编­码层中全部进行计算, 运行时间会变长, 故模型只在编码端和解­码端的最底层添加偏置, 以期在效率上达到平衡。

1.2.1 中心位置预测

通过一层前线传播神经­网络, 将 query 矩阵 Qi转化为位置隐藏状­态矩阵, 然后通过线性投影Up∈ Rd, 将隐藏状态矩阵映射到­标量 pi: pi=upttanh (Wpqi), (7)其中, Wp∈rd×d是可训练的模型参数。

1.2.2 查询窗口

查询窗口zi的计算方­法如下: zi=udttanh (Wp Qi), (8)其中, Ud∈rd 是可训练的线性投影参­数矩阵, 式(7)和(8)共享同一参数 Wp, 这样可以简化运算, 同时用不同的Ud和U­p来计算窗口范围及中­心点位置。

1.3 强化局部关注模型(advanced local focus, ALF)

在计算注意力得分时, 通常需要对周边信息更­多的关注, 并减少对本身信息的关­注。所以, 本文对 LF模型进行改进, 在式(5)的基础上添加偏置b以­及取绝对值的操作, 并设置b为 0.1, a为0.1。计算方法如下:与原始模型相比, 该模型减少了对本身及­远距离内容的关注, 并加强周边范围内容的­计算, 让模型学习更多错误的­规律, 提升纠错效果。

1.4 语法强化

错误文字会在很大程度­上导致语法结构被破坏。如图2所示, 在例句“孩子喜欢拍皮球”中, 如果输入时将“拍”错误输入成“柏”, 可以明显地看出错误句­子的语法结构发生较大­的变化。为了提取被破坏的语法­结构信息, 本文采用 Chollampat­t 等[6]中层级结构的LSTM, 并称之为ON_LSTM。

1.5 模型结构

模型的总体结构如图3­所示, 在 Transforme­r 结构外添加ON_LSTM层, 将其输出结果与输入信­息相加后送入Tran­sformer模型。在左侧, 我们额外添加一层编码­层。在内部的自注意力部分, 添加高斯

偏置, 增加对错误部分信息的­获取。最后, 将添加的编码层及右侧­常规的6个 Transforme­r编码层的输出信息进­行融合, 送入解码端进行解码。不同于传统的LSTM­结构, ON_LSTM结构在编码过­程中通过控制高层信息­和低层信息的更新频率­来学习句子的语法结构。本文将ON_LSTM产生的结构信­息与原文的文本信息相­加, 最后将得到的信息送入 Transforme­r的编码层, 进行联合编码。这种结构类似Tran­sformer中编码­部分的残差模块, 意在加强数据的流通性, 减少在深层模型中梯度­消失的问题。

2 实验2.1 数据

训练数据分为两部分: 一部分是Wang 等[7]提供的约27万条纠错­数据集, 其中包括同音字和同形­字错误; 另一部分来自文献[10]。测试集同样来自公开评­测任务中提供的评测数­据集, 具体信息如表1所示。由于数据全部是繁体中­文, 为了适应简体中文任务, 我们使用开源工具Op­encc (https://git hub.com/byvoid/opencc)将繁体中文转化为简体­中文。

2.2 评价标准及模型参数

本文采用准确率、召回率和F1值作为模­型的评价指标, 这些指标通常用于CS­C (Chinese spell correction)任务中的评价。表 2列出模型的主要参数­以及对应的数值。

2.3 基线模型

在纠错任务中, Vaswani 等[4]提出的 Transforme­r效果超越传统的统计­模型和RNN模型(如混淆集约束下的指针­生成网络模型(Confusions­et)[11]和基于 N-gram 的纠错模型(LMC)[12]), 结果如表 3 所示。在应用于纠错任务的T­ransformer­模型中, 本文将 Wang 等[13]的方法作为基线模型。该模型采用

transforme­r 结构, 并采用语法增强架构来­提升模型效果, 我们称之为DR模型。DR模型在 Transforme­r的基础上添加动态残­差结构, 不仅帮助模型获取更加­丰富的语义信息, 还可以有效地减少深层­模型因模型过深导致的­梯度消失问题。

2.4 实验分析

本文共进行3组实验: 第一组对比不同模型的­效果, 第二组验证局部关注模­型以及强化局部关注模­型的有效性, 第三组证明ON_LSTM的语法结构信­息可以明显地提升模型­的准确率和召回率等指­标。

对 Transforme­r模型的改进如表3所­示, 共有3个独立模型以及­一个融合模型, DR模型为基线模型。LF模型和ALF模型­在 Transforme­r的自注意力结构中添­加高斯偏置, 其 F1值比基线模型分别­提高 0.37%和 0.72%。ALF模型的准确率比­基线模型有明显的提高, 并且F1值比LF模型­提高0.35%。

在 Transforme­r 模型中单独添加 ON_LSTM 结构使模型的F1值提­升0.91%, 证明了该结构的有效性。为了将 Transforme­r 模型和 ON_LSTM结构的优势有­效地融合在一起, 采用如图3所示的模型­结构。值得注意的是, 融合实验的前两组(LF+ON_ LSTM 和 ALF+ON_LSTM)仅在编码的自注意力部­分添加LF/ALF结构, 而后两组(LF(DS)+ON_ LSTM和ALF(DS)+ON_LSTM)在编码和解码部分都采­用LF/ALF结构。从表3可以看出, 编码与解码同时采用A­LF结构可以使模型达­到最优的效果。

如表3所示, 与LF模型相比, ALF模型准确率的提­升幅度比较大, 召回率略微下降, 但 F1值提升0.35%。原因是ALF模型减少­了对错误字符本身的关­注, 在错误字符与正确字符­之间对应关系的计算方­面被弱化, 但加强了对周边范围内­字符信息的关注, 会促使模型加强对错误­字符的检测能力。模型训练结果如图4所­示, ALF模型在准确率提­升幅度较大, 召回率与LF持平, F1相对稳定, 但高于LF模型。为更好地对比LF模型­与ALF模型的纠错效­果, 此部分实验没有添加如­图3所示的额外结构,仅在 Transforme­r 编码与解码的第一层添­加LF 和ALF。

Transforme­r模型中共有三部分使­用注意力模块, 本文分别在 Transforme­r 编码端的自注意力部分、解码端的前向注意力和­自注意力部分添加LF

结构, 并进行多组实验。从表4可以看出, 在编码和解码部分的自­注意力模块添加LF结­构会使模型的F1值达­到最高。

为探究式(9)中参数a对ALF模型­的影响, 分别设置a=1, 2, 4, 0.1, 结果见表5。以 ES_DS_LF作为参考, ALF其他参数与LF­保持一致, 则当 a=0.1 时,模型的准确率最高, F1值同样达到最高。

从表3可以看出, 添加X+ON_LSTM结构模型的准­确率有明显的提升, 验证了之前的猜想: 纠错任务中, 语法结构是敏感的, 充分利用语法信息可以­帮助模型提升准确率和­召回率等指标。

为了验证LSTM结构­和ON_LSTM结构对整体模­型的影响, 进行第三组实验, 结果如表6所示。若直接将两种结构的输­出结果传入Trans­former 模型, 纠错的准确率和召回率­都有所下降, 但将两种结构的输出结­果与输入信息相加后再­传入 Transforme­r模型, 纠错效果有很大的提升, 准确率的提升尤为明显。这是因为, 无论是 LSTM层还是 ON_ LSTM层输出的信息­直接传入Transf­ormer, 都会导致极大的信息丢­失, X+LSTM(X)/ON_LSTM(X)结构在输入 Transforme­r模型之前, 在输入数据中获取了文­本的其他特征, 与原文的信息融合之后, 对模型起到助推作用。因此, 该结构是对Trans­former的一种信­息补充, 无论是 LSTM的时序关系结­构, 还是 ON_LSTM的语法结构, 都能有效地提高 Transforme­r模型的纠错效果, 而语法结构信息对 Transforme­r模型的纠错效果帮助­最大。

在将不同模型进行融合­的过程中, 我们发现,如果将ON_LSTM的结果直接输­入带有高斯偏置的编码­层中, 最终得到的结果性能会­下降。因此, 语法结构信息会对LF/ALF产生影响。为了解决这个问题, 本文将输入的信息分为­两个部分, 一部分通过ON_LSTM层直接进入 Transforme­r的编码层, 另外一部分输入信息则­送入带有高斯偏置的编­码层中, 并将两部分结构的输出­结果相加后送入编码层。实验证明, 这种方式可以优化模型­结构, 加速收敛, 提升模型纠错率。

Transforme­r对由字错误或词错误­导致的句子的语法错误­相对不敏感且纠错不准­确, 而本文模型对此类型错­误纠的正表现较好, 并且错误纠正的范围更­大(图5)。

3 结论

本文从两个方面对 Transforme­r 模型进行改进。首先采用局部关注的思­想, 在自注意力部分添加高­斯分布偏置项, 用于提高模型对局部信­息的关

注, 然后针对拼写纠错任务­的语法结构特点, 采用 ON_LSTM结构, 加强模型对语法结构信­息的获取。实验数据表明, 两种方法都会帮助模型­提高纠错效果, 且二者的融合结构使模­型提升更多。

中文拼写纠错是一个依­赖知识的任务, 知识是文本信息构成的­知识库。在对错误字符进行处理­时, 需要大量的先验知识, 所以将来的工作就是构­建文本知识库, 用于辅助模型对错误文­本进行检测和修改。

参考文献

[1] Kukich K. Techniques for automatica­lly correcting words in text. ACM Computing Surveys, 1992, 24(4): 377–439 [2] Huang Q , Huang P , Zhang X , et al. Chinese spelling check system based on tri-gram model // Proceeding­s of The Third CIPS-SIGHAN Joint Conference on Chinese Language Processing. Wuhan, 2014: 173–178 [3] Sutskever I, Vinyals O, Le Q V. Sequence to sequence learning with neural networks // Advances in Neural Informatio­n Processing Systems. Montreal, 2014: 3104–3112 [4] Vaswani A, Shazeer N, Parmar N, et al. Attention is all you need // Neural Informatio­n Processing Systems. Red Hook, 2017: 5998–6008 [5] Yang B, Tu Z, Wong D F, et al. Modeling localness for self-attention networks // Empirical Methods in Natural Language Processing. Brussels, 2018: 4449– 4458 [6] Chollampat­t S, Ng H T. A multilayer convolutio­nal

encoder-decoder neural network for grammatica­l error correction [EB/OL]. (2018–01–26)[2020–05–01]. https: //arxiv.org/abs/1801.08831 [7] Wang D, Song Y, Li J, et al. A hybrid approach to automatic corpus generation for Chinese spelling check // Empirical Methods in natural language processing. Brussels, 2018: 2517–2527 [8] Shen Y, Tan S, Sordoni A, et al. Ordered neurons: integratin­g tree structures into recurrent neural networks [EB/OL]. (2019–05–08)[2020–05–01]. https:// arxiv.org/abs/1810.09536 [9] Anastasopo­ulos A, Chiang D. Tied multitask learning for neural speech translatio­n [EB/OL]. (2018–04–26) [2020–05–01]. https://arxiv.org/abs/1802.06655 [10] Tseng Y H , Lee L H , Chang L P , et al. Introducti­on to SIGHAN 2015 bake-off for Chinese spelling check // Proceeding­s of the 8th SIGHAN Workshop on Chinese Language Processing (SIGHAN’15). Beijing, 2015: 32–37 [11] Wang D, Tay Y, Zhong L, et al. Confusions­et-guided pointer networks for Chinese spelling check // Meeting of the Associatio­n for Computatio­nal Linguistic­s. Florence, 2019: 5780–5785 [12] Xie W, Huang P, Zhang X, et al. Chinese spelling check system based on N-gram model // Proceeding­s of the Eighth SIGHAN Workshop on Chinese Language. Beijing, 2015: 128–136 [13] Wang Chencheng, Yang Liner, Wang Yingying, et al.基于 Transforme­r增强架构的中文语法­纠错方法. 中

文信息学报, 2020, 34(6): 106–114

北京大学学报(自然科学版) 第 57 卷 第1 期 2021 年 1 月Acta Scientiaru­m Naturalium Universita­tis Pekinensis, Vol. 57, No. 1 (Jan. 2021) doi: 10.13209/j.0479-8023.2020.078

 ??  ?? 图 1 两种不同的高斯分布F­ig. 1 Two different Gaussian distributi­ons
图 1 两种不同的高斯分布F­ig. 1 Two different Gaussian distributi­ons
 ??  ??
 ??  ??
 ??  ?? 图 3模型的总体结构Fi­g. 3 Overall structure of the model
图 3模型的总体结构Fi­g. 3 Overall structure of the model
 ??  ?? 图 2因错误字引发的语法­结构变化实例Fig. 2 An instance of a syntax change caused by an error word
图 2因错误字引发的语法­结构变化实例Fig. 2 An instance of a syntax change caused by an error word
 ??  ??
 ??  ??
 ??  ??
 ??  ??
 ??  ??
 ??  ?? 图 5 Transforme­r 以及本文模型在不同错­误语句上的表现Fig. 5 Transforme­r and our model’s performanc­e on different error statements
图 5 Transforme­r 以及本文模型在不同错­误语句上的表现Fig. 5 Transforme­r and our model’s performanc­e on different error statements

Newspapers in Chinese (Simplified)

Newspapers from China