美文网首页
论文模型阅读“Correcting Chinese Spelli

论文模型阅读“Correcting Chinese Spelli

作者: 掉了西红柿皮_Kee | 来源:发表于2022-03-07 21:30 被阅读0次

    Zhang R, Pang C, Zhang C, et al. Correcting Chinese spelling errors with phonetic pre-training[C]//Findings of the Association for Computational Linguistics: ACL-IJCNLP 2021. 2021: 2250-2261.

    摘要翻译

    中文拼写纠正(CSC)是一项非常重要且具有挑战的任务。在本论文中,作者提出了一个新的端到端CSC模型,该模型利用强大的预训练和微调方法将音标特征整合到语言模型中。不同于训练语言模型中使用一个特定的token进行mask,作者将要被mask的词用音标特征和对应的同音词代替。更进一步的,提出了一个统一的框架,使用自适应权重的目标对错误检测和纠正进行联合训练。实验证明该模型是有效的。

    模型浅析

    一般情况下,中文拼写检查任务是将一个可能包含拼写错误的序列x_w=(x_{w_1},x_{w_2},...,x_{w_N})映射到另一个正确的序列\hat{y}=(\hat{y_1},\hat{y_2},...,\hat{y_N}),其中x_{w_i}\hat{y_i}(1<i<N)都是中文字符。
    该论文中提出的端到端CSC模型由检测和纠正两个模块组成。检测模块以x_w为输入,预测每个字符拼写错误的概率。纠正模块将x_w和其对应的拼音序列x_p=(x_{p_1},x_{p_1},...,x_{p_N})的嵌入表示作为输入预测正确的序列y。我们使用拼写错误的概率作为权重,来融合x_wx_p的嵌入表示。
    和预训练和微调框架一致,作者首先预训练了一个语音的MLM模型,从简单的发音和拼音中学习预测字符。在微调阶段,联合优化检测和纠正模块。
    这里我们主要关注CSC模型的各模块,以及整个模型是如何联合训练的。完整的模型图如下所示:

    • 检测模块
      给定一个源序列x_w=(x_{w_1},x_{w_2},...,x_{w_N}),检测模块的目标是检测每个字符x_{w_i}是否正确。对于该标记问题,作者使用一个简单的二分类任务进行对应。检测模块可以形式化为如下:

      其中e_w=(e_{w_1},e_{w_2},...,e_{w_N})是词x_w的词嵌入,E是一个预训练的编码器,f_{det}是全连接层用于将句子表示映射为一个二值的序列y_d,其中每一个元素为0和1。这里,作者使用p_{err_i}来记录每各字符的错误率: \theta_d是错误检测模块的参数集合。
    • 纠正模块
      该模块的目标是依赖检测模块的输出来产生正确的字符。
      该模块不仅使用了输入的词嵌入,并使用了拼音的嵌入表示来整合语音信息。具体来说,首先使用外部工具(PyPinyin)来生成拼音序列x_p,并使其通过嵌入层得到拼音嵌入表示e_p。将拼音的嵌入表示和词嵌入表示进行线性组合:

      在这部分中,使用由检测模型得出的拼写错误概率作为权重来平衡语义特征(word embedding)和语音特征(pinyin embedding)之间的重要程度。那么,由此对应两种特殊的情况,如果p_{err_i}=1,代表着字符x_{w_i}被检测为正确,那么该模型在e_m中仅使用词嵌入;反之,仅使用拼音嵌入。
      最后,纠正输出y由一个全连接层f_{crt}预测:
      注:嵌入层,编码器E以及纠正网络f_{crt}的参数都由MLM-phonetics初始化。在预训练阶段,MLM-phonetics使用通常可能混淆的对应和对应的拼音中重建正确的字符,因此它可以通过融合嵌入进行转换。
    • 联合微调
      在该模型中主要包含两个目标,训练检测参数f_{det},通过调整实现检测模块和纠正模块的优化平衡。两个模块的损失函数如下:


      (5)式的含义是给定当前句子,预测对每一个字符是否需要修正的概率,当预测的对的概率接近于1时,log1=0,不产生loss,反之,根据log(x)的图像,则会有很大的惩罚,这里使用负对数似然将原始的概率进行了转化。同理,在(6)式中,加入了检测模块得出的概率值,因为检测模块的任务定义是简单的二分类,所以p(y_{d_i}|x_w;\theta_d)的值在0.5-1之间。当该值在0.5附近时,定义为模棱两可的低置信值。此时对于真实标签预测的概率理论上在0-0.5之间,根据log(x)的图像,此时的惩罚值会较大。下面给出log(x)的函数图像便于理解: log(x)

    特别的,纠正损失是一个负对数似然并且由检测结果进行权重化,且仅考虑检测结果中大于0.5的部分:


    当检测模块给出了一个低置信预测,即接近0.5,则e_m由语义和语音两个嵌入表示等比融合而成。实际上,我们希望检测模块可以提供一个明确的对错信息,这样e_m可以主要由语义或语音其中之一决定。因此,我们将对检测模块的低置信预测进行惩罚:即,当检测模块的置信度较低时,L_c降低,使得模型强制优化L_d。当检测置信较高时,二者同时进行优化。总体的损失函数可以如下表示:

    以概率的方式对纠正模块进行权重化,想法很新颖。同时利用了前一模块的输出结果,使得两个模块联合学习。真的强!

    相关文章

      网友评论

          本文标题:论文模型阅读“Correcting Chinese Spelli

          本文链接:https://www.haomeiwen.com/subject/iobnrrtx.html