基于局部语义增强的中文拼写纠错方法

2023-02-10 04:27卓奕炜田泽佳
电子设计工程 2023年3期
关键词:高斯分布字符注意力

卓奕炜,田泽佳,门 豪

(1.武汉邮电科学研究院,湖北武汉 430047;2.南京烽火天地通信科技有限公司,江苏 南京 210019)

随着智能时代的到来,自然语言处理领域中的中文拼写纠错(Chinese Spelling Check,CSC)任务正变得越来越重要。上世纪出现的N-gram 模型利用无监督语料训练统计语言模型[1-2],较好地解决了纠错语料不足的问题。然而N-gram 模型仅考虑了邻近词,易导致订正结果严重脱离原文。随着深度学习的兴起,纠错任务被看作一类文本生成任务,基线模型就是RNN Seq2Seq[3-7]、ConvS2S[8-9]和Transformer 模型[10-13]等序列到序列(Seq2Seq)的模型。深度学习可自动提取文本中的深层语义特征,这对需要处理复杂错误的文本纠错任务[13]尤为重要。

中文不存在类似英文的分隔符,且汉字同其他字组合后才具有意义[14]。因此需要重点关注潜在错误字符为中心的局部文本环境。该文提出在局部范围强化特征提取,以提升对文本出错规律的学习,并结合自注意力网络实现上述改进思路,以提升纠错性能。后续实验显示,和基线模型相比,该文所提出的基于局部语义增强的中文拼写纠错模型F1 值可以提升高达1.74%。

1 局部语义增强的中文拼写纠错模型

该文从中文文本特点的角度出发,提出深度学习做中文拼写纠错任务时,可用于模型训练的深层语义特征主要来源于潜在出错位置的局部上下文环境。并据此提出了两种改进的Transformer 纠错模型,主要在自注意力计算单元上添加一个高斯分布的二次函数偏置项。这种结构会促使注意力权重分布结果更多地集中在当前位置附近,以此强化对出错文本局部语义特征的关注。

1.1 改进动机

中文拼写纠错与英文拼写纠错的区别在于中文文本当中不存在分隔符,一部分汉字在同其他汉字组合后才具有含义。同时错误文本与正确文本之间往往没有太多差别,如果模型再去关注全局范围信息就降低了模型的学习效率[15-16]。因此,以潜在出错字符为中心的局部上下文环境,是中文拼写纠错任务中尤其需要重点关注的对象。强化对局部上下文语义特征的学习,相对减少对中长距离语义特征的学习,对提升纠错效果具有重要促进作用。

基于当前主流的Transformer 模型,文献[17]提出了一种在训练语言模型过程中突出局部语义信息的方法。该模型没有采用卷积单元或循环单元,而是全部采用了自注意力(Self-Attention)计算单元对全局文本作注意力权重计算,以获取需要重点注意的信息。为了将重点关注范围集中在当前位置周边一定范围内的字符,可以在自注意力计算单元上额外添加一个高斯分布的二次函数偏置项。这种结构会促使注意力权重分布结果更多地集中在当前位置的附近,以此强化对出错文本局部语义特征的关注。

该文利用上述强化局部上下文语义特征学习方法,提出了两种基于局部语义增强方法的文本纠错模型。改进的中文拼写纠错模型与过去最优纠错模型相比,F1 值最多可以取得1.74 的提升。

1.2 基于局部语义增强方法的文本拼写错误纠正模型

该文采用在局部范围内加强提取文本特征的方法,来提升纠错模型对文本出错规律的学习效果。在自注意力得分的基础上,添加一个类高斯分布的二次函数偏置项,用于减少对远距离非错误部分的关注。如图1 所示,对语句“我现在正在踢球”的识别结果中,出现了将“踢”识别为“提”的替换错误。但是,自注意力网络在针对“提”字符学习全局的注意力权重时,可能最后训练得到的注意力权重分布重心并不在“提”字符附近位置。因此在原始注意力权重分布上添加了以错误字符“提”附近为中心的高斯分布,使模型能够加强对该字符以及周边字符的注意力。

图1 添加类高斯分布的偏置项后注意力权重分布走势的改变

对于一个特定的文本序列x={x1,x2,…,xl},首先利用词向量层提取文本字符的分布式表示,再与三个随机初始化的权重矩阵相乘,分别生成Query 矩阵Q∈RI×d、Key 矩阵K∈RI×d和Value 矩阵V∈RI×d。自注意力计算结果Content 可利用如下公式计算:

其中,Attention(·)用于计算点乘自注意力,计算公式如下:

在当前位置的注意力权重分布计算完成之后,再额外添加一个高斯分布偏置项G,用于改变原版自注意力分布的走势。改进后的自注意力计算公式如下:

scores 是原版自注意力公式中点乘计算得出的相似度项,计算公式如下:

其中,σi表示标准差,σi=,其中Di是一个窗口的大小。Pi是指预测的中心位置。Pi和Di的计算方式如下:

其中,I是放缩系数,用于将Pi和Di放缩至输入长度范围以内。

1.2.1 中心位置预测

由于高斯分布的中心位置pi不一定在当前字符的位置上,而是在其附近,因此需要基于当前位置对应的query 矩阵来预测得到中心位置pi。利用一个前向传播层Wp,可将query 矩阵Qi映射为位置隐藏状态矩阵,再通过线性投影矩阵Up∈Rd将该隐藏状态矩阵映射为标量pi,计算公式如下:

其中,Wp∈Rd×d是模型可训练的参数。

1.2.2 查询窗口

类似地,高斯分布的窗口大小zi同样需要由当前位置对应的query 矩阵预测得到。利用一层前向传播神经网络Wd,将query 矩阵Qi转换为窗口隐藏状态,再通过线性投影矩阵Ud∈Rd将该隐藏状态矩阵映射为标量zi,其计算公式如下:

其中,Ud∈Rd是可训练的线性投影参数矩阵。

1.3 改进的局部语义增强方法

在计算注意力得分时,由于当前位置存在出错的可能,因此需要减少对当前位置语义信息的关注,而进一步增加对局部上下文信息的关注。该节对上述局部语义增强模型进行了再次改进,在高斯偏置项G的计算公式中,再额外添加偏置b并取绝对值,改进为如下所示的计算公式:

其中,系数a设为0.1,系数b设为0.1。与原始改进模型相比,经过二次局部语义增强的模型可以进一步减少对当前位置语义信息的关注,并加强周边局部范围信息的关注,促使模型更加高效地学习文本出错规律。

2 实验过程与结果分析

2.1 实验语料

实验的训练数据由训练数据集和测试数据集两个部分组成。训练集中一部分是文献[5]提供的开源纠错语料,错误种类主要包括了同音字和同形字的替换错误;另外一部分则来自公开测评任务SIGHAN 2015 Bake-off[18-20]提供的开源纠错语料,合计274 766条语句。测试集则采用了公开测评任务SIGHAN 2015 Bake-off 放出的测试集,合计1 099 条语句。该文需要使用可开放获取的繁简转换工具OpenCC 来处理训练语料中的繁体字字符。

2.2 评价准则

中文拼写纠错任务普遍采用准确率(Precision,P)、召回率(Recall,R)和F1 值对模型进行评价。

2.3 模型参数

当前中文拼写纠错任务普遍采用Transformer 模型作为基准模型。文中采用的Transformer 模型为开源文本生成框架Fairseq 提供的基准模型。具体的模型参数:模型的编码器、解码器分别由6 层自注意力模块所构成,每层由8 个注意力头单元并行构成,其中前向传播层的维度定为2 048,采用Adam 优化器训练模型,学习率初始值设为1×10-7,在前4 000个batch 的训练中,线性地增长到5×10-4,在后续的训练中逐步下降,直到训练结束,Dropout 设置为0.1,Label-smoothing 设置为0.1。模型在每轮(epoch)训练结束后,都要在验证集上对模型效果进行验证,最后需要取其中5 个最佳结果的模型权重参数,并计算权重的平均值,作为最终模型的权重设置。而到了解码阶段,则将波束搜索(beam search)的波束宽度定为8 条,将取得的最佳结果作为模型的输出结果。

2.4 结果分析

该文对两种采用局部信息增强方法的中文拼写纠错模型进行了对比实验,上述改进方法可提升模型对各类文本错误的订正效果,并进行验证。如表1所示,该节对比了基于局部信息增强方法的Transformer模型与基线模型的纠错效果。可以发现,在上述模型的编码器部分或解码器部分单独添加局部信息增强组件,均可有效提升模型性能,其中,F1 值与基线模型相比分别提高了0.56%和0.47%;但最好在两个部分均添加局部信息增强组件,F1 值综合提高了1.34%;而添加改进的局部信息增强组件对模型性能的提升效果最为明显,F1 值相比于第一种改进方法又进一步提高了0.40%。

表1 局部信息增强方法对纠错性能的改进效果

其中,Transformer-LSE 代表采用局部信息增强的Transformer 纠错模型,Transformer-LSE+代表采用改进局部信息增强的Transformer 纠错模型。可以发现,Transformer-LSE+模型相对Transformer-LSE 模型在准确率上具有一定的提升效果,而召回率下降,但是F1 值对比Transformer-LSE 模型有所提升。猜测出现这样结果的原因是,Transformer-LSE+模型对当前错误字符的关注相较Transformer-LSE 模型来说有所减少,因此错误字符与正确字符之间对应关系的学习效果变差;但模型同时加强了对周边局部语义信息的关注,最后促使模型加强了拼写纠错能力。

3 结论

该文基于对中文文本错误现象结构特征的分析,采用局部语义增强的思路,对Transformer 纠错模型进行改进,成功提升了模型在中文拼写纠错任务上的表现。主要思路是在自注意力网络中强化对当前位置相邻文本信息的学习,同时减少对当前位置字符的关注,因此可以有效提升模型的拼写纠错性能。实验表明,该文提出的改进方法对中文拼写纠错任务的精确率、召回率和F1 值均有提升,其中,F1值与过往最好成果相比可提升1.74%。

中文拼写纠错任务需要重点关注以潜在错误字符为中心的上下文语义信息,因此挖掘更多种类的结构性文本特征具有进一步提升模型性能的潜力。因此,下一步工作就是在纠错语句中尝试构造多种结构性语义特征并加以利用,进一步提升纠错模型对文本出错规律的学习效果。

猜你喜欢
高斯分布字符注意力
让注意力“飞”回来
利用Box-Cox变换对移动通信中小区级业务流量分布的研究
2种非对称广义高斯分布模型的构造
字符代表几
一种USB接口字符液晶控制器设计
图片轻松变身ASCⅡ艺术画
HBM电子称与西门子S7-200系列PLC自由口通讯
在航集装箱船舶摇摆姿态的概率模型
“扬眼”APP:让注意力“变现”
一种基于改进混合高斯模型的前景检测