中文书写错误检测混合序列模型

中文书写错误检测混合序列模型

文章:Hao Wang, etc. Chinese Spelling Error Detection Using a Fusion Lattice LSTM. 2019

首先Spelling Error一般指的是英文的拼写错误,其实用在中文上不完全合适,因为中文是方块文字,错误有可能是拼音拼写导致的,也有可能拼写正确,但候选词选择错误,所以翻成输入错误会比较恰当。

摘要:在于过去的中文输入错误一般以字和词的信息,没有把拼音加入其中,文章提出一种端到端混合模型FL-LSTM-CRF(FL, Fusion Lattice)来处理该问题,并在标准集上取得最佳结果。

背景:现有的方法一般是先对句子进行切词,把单字的部分作为拼写错误检测对象,用语言模型高分词替换掉,主要的不足之处在于没有考虑读音。有方法,生成一个读音相近字的静态词典来处理发音特征,还有用翻译模型进行错误检测的,还有用主题模型的。

新方法:文章将字、词和拼音都加入到模型中。

1、字、拼音、词的向量表示

x e c = e c ( c e ) x e p = e p ( c e ) x^c_e = e^c (c_e) \\ x_e^p = e^p (c_e) xec=ec(ce)xep=ep(ce)

c, character,字
p, pinyin,拼音
e, embedding,嵌入(或向量)

x b , e w = e w ( c b : e ) x_{b,e}^w = e^w (c_{b:e}) xb,ew=ew(cb:e)

w, word, 词
b, begin,词首
e, end, 词尾

以上只是one-hot到词向量的转换,作者在上一层还加了一层自限门
中文书写错误检测混合序列模型_第1张图片
g e c = σ ( W g c T x e c + b g c ) g e p = σ ( W g p T x e p + b g p ) g_e^c=\sigma(W_g^{cT}x_e^c + b_g^c) \\ g_e^p=\sigma(W_g^{pT}x_e^p + b_g^p) gec=σ(WgcTxec+bgc)gep=σ(WgpTxep+bgp)

经过逐元素(element-wise)乘积得到文字和文字各自的向量

x e c = W g c ⊙ x e c x e p = W g p ⊙ x e p x_e^c=W_g^c \odot x_e^c \\ x_e^p=W_g^p \odot x_e^p xec=Wgcxecxep=Wgpxep

两个向量拼接到一起作为序列层的输入

x e = [ x e c , x e p ] x_e=[x_e^c,x_e^p] xe=[xec,xep]

中文书写错误检测混合序列模型_第2张图片
网络的整体结构是这样的,与一般形式的LSTM相比,有两处不同,一个是门的计算式,一个是中间插入了词

门的计算和使用方式,其实是将GRU里的摇摆门放到了LSTM中,它是这样的结构:

中文书写错误检测混合序列模型_第3张图片
i e = 1 − f e c e = f e ⊙ c e − 1 + i e ⊙ c ~ e h e = o e ⊙ t a n h ( c e ) i_e = 1 - f_e \\ c_e = f_e \odot c_{e-1} + i_e \odot \tilde{c}_e \\ h_e = o_e \odot tanh(c_e) ie=1fece=fece1+iec~ehe=oetanh(ce)

3个门减少到2个,2个门,原始细胞值都由本元输入 x e x_e xe和上元 h e − 1 h_{e-1} he1输出决定

[ o e f e c ~ e ] = [ σ σ t a n h ] ( W T [ x e h e − 1 ] + b ) \begin{bmatrix} o_e \\ f_e \\ \tilde{c}_e \end{bmatrix}= \begin{bmatrix} \sigma \\ \sigma \\ tanh \end{bmatrix} \begin{pmatrix} W^T \begin{bmatrix} x_e \\ h_{e-1} \end{bmatrix} +b \end{pmatrix} oefec~e=σσtanh(WT[xehe1]+b)
上面是只考虑了字和拼音的情况,现在要把词加进去,就是上面的蓝色部分,这部分本元值的计算是这样的
中文书写错误检测混合序列模型_第4张图片
总的来说,如果把它看作LSTM的一个元素,则本元值的的上元值来自该词的首字元值,其余参数由词提供,这样,本字的元值则由之前的字元值和词元值加权得出。

在这里插入图片描述
CRF层是标准形式,不在此列出,只有两个标签,正确T和错误F。

典型case如下,其中“女孩|努孩""哪里|那里"在新模型中正确检出,老模型未检出

中文书写错误检测混合序列模型_第5张图片
这是一篇12页的文章,发表在预印网站上,是否经过同行评议尚不知,但文章将词插入到LSTM的方式非常巧妙,但遗憾的是一股脑将整个结果给出来,并没有分析拼音和词在其中各起到多少作用,也没有分析对LSTM的改动是否十分必要。

你可能感兴趣的:(机器学习与自然语言处理)