Soft-Masked Bert论文阅读记录

论文地址

Soft-Masked Bert

论文介绍

文本纠错,是自然语言处理领域检测一段文字是否存在错别字、以及将错别字纠正过来的技术,一般用于文本预处理阶段,同时能显著缓解智能客服等场景下语音识别(ASR)不准确的问题。

Soft-Masked Bert的大致原理是基于Bert从句子中的每一个字的候选字组中找到正确的候选字进行纠错。Soft-Maked Bert将文本的纠错任务分为检测网络和纠错网络两个部分,纠错网络的输入来自检测网络的输出,通过soft masking 将检测网络的输出字符特征添加mask embedding进行纠错。

论文原理

检测网络

检测网络的输入是一个包含了n个字符的字符序列X通过embedding处理之后的序列E:X={x1,x2,x3,...,xn},E={e1,e2,e3,...,en} X = \lbrace x_1,x_2,x_3,...,x_n \rbrace , E=\lbrace e_1,e_2,e_3,...,e_n\rbrace 其中的eie_ixix_i通过word embedding,position embedding,segment embedding共同处理。

检测网络的输出是一个字符的标签序列G={g1,g2,g3,...,gn}G= \lbrace g_1,g_2,g_3,...,g_n \rbrace,gig_i表示当前字符的标签值,其中0代表当前字符无错,1代表当前字符错误。对于每一个字符,使用pip_i表示当前字符的gig_i 为1的概率,pip_i值越高表示当前的字符错误可能性越大。 检测网络是由双向GRU组成,利用上下文信息输出pip_ipip_i的定义如下:pi=Pd(gi=1X)=σ(Wdhid+bd)p_i=P_d(g_i=1|X)=σ(W_dh^d_i+b_d)其中的σσ为sigmoid函数,对于hidh_i^d的定义:hi1d=GRU(hi1d,ei)\vec{h_{i1}^d}=GRU(\vec{h_{i-1}^d},e_i)hi2d=GRU(hi+1d,ei)\vec{h_{i2}^d}=GRU(\vec{h_{i+1}^d},e_i) hid=[hi1hi2]\vec{h_i^d}=[\vec{h_{i1}}·\vec{h_{i2}}]

Soft Masking

Soft Masking相当于是input embedding eie_i、mask embeddings emaske_{mask}的加权和,权重为pip_i,Soft-Masked embedding的表达式如下:ei=piemask+(1pi)eie_i^{'}=p_i*e_{mask}+(1-p_i)*e_i通过表达式可以看出,当pip_i越高的时候,eie_i^{'}的值就越接近emaske_{mask},反之约接近eie_i

纠错网络

纠错网络的模型是一个基于BERT的序列多分类标记模型,纠错网络的输入为Soft Masking输出的序列E={e1,e2,e3,...,en}E'=\lbrace e_1',e_2',e_3',...,e_n'\rbrace,输出为纠错完成的字符序列Y={y1,y2,y3,...,yn}Y=\lbrace y_1,y_2,y_3,...,y_n\rbrace。检测网络输出的特征EE'作为BERT的12层Transformer模块的输入 ,其中最后一层的Transformer使用检测网络的输入Emdedding特征EE与这一层的输出残差连接作为模型的输出,最终过一遍softmax函数,在候选字表中选取每一个位置的正确字符。hi=hic+eih_i'=h_i^c+e_i

模型的训练

Soft-Masked Bert模型的训练是端到端进行的,训练的数据是由原始句子序列和纠错句子序列组成的{(X1,Y1),(X2,Y2),(X3,Y3),...,(Xn,Yn)}\lbrace (X_1,Y_1),(X_2,Y_2),(X_3,Y_3),...,(X_n,Y_n) \rbrace生成训练数据的一种方法是通过给定的字符序列YiY_i,使用困惑字符表中的字符进行生成原始字符序列XiX_i,模型的损失函数由检测网络和纠错网络加权构成
Soft-Masked Bert论文阅读记录
Soft-Masked Bert论文阅读记录
其中λ(0,1)λ\in(0,1)

论文实验结果

实验数据

SIGHAN数据集和新闻标题数据集

实验结果

实验对比了多种CSC模型方法,最终的结果如下图:
Soft-Masked Bert论文阅读记录
实验的结果可以看到经过微调训练的BERT模型相比预训练模型效果有了很大的提升,这个在之前的Faspell项目中也是相同的,微调能极大的提升纠错的效果。
Soft-Masked Bert论文阅读记录上图是不同训练数据集大小的效果对比,可以看到随着数据集size的增大,检测和纠错的效果都在提升,不过貌似看起来纠错的召回率有点低,比之前我使用FASPELL训练的要低10%左右。

相关文章: