国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

融合字形特征的多任務(wù)老撾語文字識別后糾錯

2023-03-06 09:58:08楊志婥琪周蘭江周蕾越
小型微型計算機系統(tǒng) 2023年3期
關(guān)鍵詞:老撾字符解碼

楊志婥琪,周蘭江,周蕾越

1(昆明理工大學(xué) 信息工程與自動化學(xué)院,昆明 650500) 2(昆明理工大學(xué) 津橋?qū)W院 電子與信息工程學(xué)院,昆明 650106)

1 引 言

老撾語的光學(xué)字符識別(Optical Character Recognition,OCR)能緩解老撾語語料匱乏的問題,但目前老撾語文字識別技術(shù)尚在起步階段,老撾語復(fù)雜的字符結(jié)構(gòu)特征及圖片背景復(fù)雜、文字模糊等原因?qū)е吕蠐胛淖肿R別準(zhǔn)確率難以提升,識別結(jié)果存在錯誤使得識別后的老撾文本不能直接用于自然語言處理基礎(chǔ)任務(wù).因此,對老撾文字識別后的文本進(jìn)行糾錯以減少錯誤能有效提高老撾文字識別準(zhǔn)確率,以及提升老撾文字識別結(jié)果在其他任務(wù)上的可利用性.

在先前的老撾文字識別研究中,針對老撾語字符結(jié)構(gòu)復(fù)雜導(dǎo)致識別困難的問題進(jìn)行了相關(guān)研究,提升了識別準(zhǔn)確率,但識別結(jié)果仍存在錯誤(1)http://kns.cnki.net/kcms/detail/21.1106.TP.20210420.1049.008.html..本文針對先前的老撾文字識別結(jié)果進(jìn)行分析,發(fā)現(xiàn)識別結(jié)果的錯誤主要集中在相似字符誤識別和字符粘連、斷裂導(dǎo)致的識別錯誤上.因此,本文在老撾語OCR后處理研究中需要解決上述問題.

目前,深度學(xué)習(xí)模型已被應(yīng)用到OCR后糾錯的研究中,文獻(xiàn)[1]中來自荷蘭阿姆斯特丹大學(xué)的團(tuán)隊提出了OCR后基于字符級seq2seq模型的英文錯誤校正模型,多層LSTM作為解碼器,將校正任務(wù)形式化為從拼寫錯誤到目標(biāo)拼寫的翻譯,在ICDAR 2019 OCR后文本校正競賽中得分最高.由于老撾語是詞間無分隔語言,故本文同樣基于字符級別建模以避免分詞造成的錯誤,且序列到序列的模型架構(gòu)針對本文數(shù)據(jù)集中錯誤語句和目標(biāo)語句存在長度不等的情況是適用的,使用長短期記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)建模也能更好地獲取老撾長文本的語義信息.但將校正任務(wù)形式化為翻譯任務(wù),模型容易產(chǎn)生一定程度的誤糾,因此借鑒Qiu等人[2]的方法,將語言模型和seq2seq模型結(jié)合,以修正深度模型產(chǎn)生的錯誤.此外,謝海華等人[3]采用音近、形近字判斷等多種篩選糾正結(jié)果的方法,并針對一些典型且特殊的錯誤,例如“的地得”誤用,采取了數(shù)據(jù)增強方法.同樣地,針對老撾語OCR結(jié)果中的高頻錯誤本文生成了相應(yīng)的數(shù)據(jù)擴(kuò)充訓(xùn)練集,以數(shù)據(jù)增強方式訓(xùn)練模型.葉俊民等人[4]基于預(yù)訓(xùn)練語言表征模型(Bidirectional Encoder Representation from Transformers,BERT)建模得到文本的多種語義表示來完成對錯誤的修正,并將錯誤檢測與錯誤修正的損失作為整個模型的損失,以此提升模型性能.遺憾的是,BERT模型尚不支持老撾語(2)https://github.com/google-research/bert/blob/master/multilingual.md,但借鑒該方法,本文引入多任務(wù)學(xué)習(xí)的方式,以輔任務(wù)的損失值提升模型訓(xùn)練效果.

本文借鑒前人研究,針對老撾文字識別結(jié)果中存在的錯誤,構(gòu)建了以seq2seq架構(gòu)為基礎(chǔ)的多任務(wù)老撾語文字識別后文本糾錯模型.首先,本文將融合了字形分類特征的老撾文字識別結(jié)果作為編碼端輸入,對采用BiLSTM網(wǎng)絡(luò)以及多尺度卷積網(wǎng)絡(luò)提取老撾文本的上下文語義表示,并進(jìn)行線性組合,再通過帶有注意力機制的LSTM網(wǎng)絡(luò)對上下文向量進(jìn)行解碼,對解碼端預(yù)測序列與原始文本序列用n-gram語言模型比較概率得分,并將概率更大的序列作為最終的文本糾錯結(jié)果.同時,本文增加輔助任務(wù)以檢測輸入字符序列中的錯誤字符,通過共享參數(shù)的形式優(yōu)化文本糾錯主任務(wù),并以損失值增強模型訓(xùn)練效果.

本文主要貢獻(xiàn)如下:

1)針對識別后老撾相似字符替換錯誤的糾正,本文對老撾字符進(jìn)行字形分類,并將字形特征融入模型,提高了模型對相似字符替換錯誤糾正的能力.

2)針對識別后老撾字符斷裂、粘連導(dǎo)致的插入、刪除錯誤的糾正,本文采用多尺度CNN網(wǎng)絡(luò)對編碼器進(jìn)行補充以提升模型對字符插入、刪除錯誤的糾正能力.

3)針對模型的誤糾問題,本文引入多任務(wù)學(xué)習(xí),以錯誤檢測的輔任務(wù)優(yōu)化文本糾錯主任務(wù),并且對模型的預(yù)測序列與原始文本序列使用語言模型進(jìn)行排序來決定最佳候選,以改善模型的誤糾問題.同時,為防止模型過擬合,本文通過老撾相似字符表及高頻粘連、斷裂錯誤字符對進(jìn)行數(shù)據(jù)增強工作以擴(kuò)充訓(xùn)練數(shù)據(jù)集.

2 相關(guān)工作

近年來,針對OCR后糾錯和與其類似的文本拼寫糾錯主要有基于統(tǒng)計規(guī)則的方法和基于深度學(xué)習(xí)模型的方法.

基于統(tǒng)計規(guī)則的方法主要分為錯誤檢測、錯誤糾正兩步.通常是使用混淆集定位錯誤位置,并將混淆集作為糾正候選集,通過語言模型計算經(jīng)不同糾正候選替換后的句子概率,得到使句子概率最高的詞,即為糾正詞.文獻(xiàn)[5]對蒙古文字形編碼和國際標(biāo)準(zhǔn)編碼一一對應(yīng)整理成編碼轉(zhuǎn)換詞典以實現(xiàn)對蒙古文字識別的后處理;文獻(xiàn)[6]通過改進(jìn)的TF-IDF算法對多候選字列表進(jìn)行權(quán)重生成并排序,再利用漢字知識圖譜輔助對OCR識別時的錯誤規(guī)則進(jìn)行預(yù)測;Bassil等人[7]基于Google的在線拼寫建議來檢測和校正英文OCR非單詞和真實詞錯誤;Del等人[8]基于頻率統(tǒng)計學(xué)上的顯著差異和定性分析產(chǎn)生錯誤列表,并將糾錯規(guī)則定義為正則表達(dá)式以匹配錯誤,并將其替換為正確形式;Metwally等人[9]將OCR后文本與詞典中的單詞進(jìn)行匹配以生成完整的單詞,進(jìn)一步提高單詞識別率;ICDAR 2019 OCR后文本校正競賽[1]中來自焦特布爾的團(tuán)隊提出采用基于字典的方法,基于編輯距離生成一組候選有效詞,候選詞的排名基于通過字符n-gram混淆矩陣捕獲的錯誤模型給出的可能性;Dhivya等人[10]所提出的工作支持向量機分類器從中識別文本,再結(jié)合n-grams后處理算法用于糾正識別的藥片劑文本中的替換、插入和刪除錯誤.

基于深度學(xué)習(xí)的方法已成為目前主流方法.Bao等人[11]使用類似的發(fā)音,形狀和語義混淆集以提出的基于塊的解碼方法,并采用全局優(yōu)化來選擇最佳矯正,實驗證實該方法對OCR誤差校正是有效的,但上述方法需要較大的混淆詞典或者音節(jié)詞典,所需人工工作量較大.文獻(xiàn)[1]中來自蒙納士研究院的團(tuán)隊針對英文真正的單詞錯誤以及非單詞錯誤,在解碼器輸出中使用光束搜索的字符級注意模型;Etoori等人[12]提出基于字符表示的具有雙向RNN編碼器和注意解碼器的序列到序列注意模型針對資源稀缺語言的自動拼寫矯正;Chollampatt等人[13]同樣采用編碼器-解碼器架構(gòu),提出多層卷積網(wǎng)絡(luò)及門控線性單元(GLU)進(jìn)行編碼和解碼的神經(jīng)網(wǎng)絡(luò)模型,以實現(xiàn)文本的自動校正;Guo等人[14]針對語音識別器做出的錯誤,提出的糾錯模型由編碼器中的3個雙向LSTM層和解碼器中的3個單向LSTM層組成,將殘差連接添加到編碼器和解碼器的第3層,并引入四頭注意力機制;張佳寧等人[15]提出一種基于word2vcc的語音識別后文本糾錯方法,利用word2vcc結(jié)合語境核心詞生成關(guān)鍵詞,并使用拼音混淆集結(jié)合語義和語境信息對可能出錯的詞進(jìn)行糾錯.

基于統(tǒng)計規(guī)則的方法速度較慢,語言模型所需混淆集、詞典、規(guī)則的構(gòu)建需要花費大量人工工作量,尤其在通用領(lǐng)域使用的混淆集需要涵蓋的內(nèi)容甚多,這是極其困難的任務(wù),且老撾語其本就存在大量相似字符,若構(gòu)建其混淆詞表數(shù)量之大不可估計,但語言模型本身對錯誤定位及錯誤糾正任務(wù)的效果不容忽視.而深度學(xué)習(xí)方法與基于統(tǒng)計規(guī)則的方法相比,無需人工提取特征,具有更好的泛化能力,因此,本文采用深度模型對老撾OCR后文本進(jìn)行糾錯,并結(jié)合語言模型對深度模型輸出結(jié)果進(jìn)行處理.

3 老撾語OCR后文本錯誤及字形特征分析

3.1 老撾語OCR后文本錯誤

本文使用先前研究中基于CRNN改進(jìn)的老撾文字識別模型作為印刷體老撾文字圖片識別的工具.通過對識別結(jié)果的分析,發(fā)現(xiàn)識別后的文本錯誤主要集中在3類:相似字符替換錯誤,字符斷裂、粘連導(dǎo)致的非相似字符替換錯誤及字符插入、刪除錯誤,其中,相似字符替換錯誤占主要的比重.

表1 錯誤示例Table 1 Some examples of errors

因此,本文統(tǒng)計出了高頻出現(xiàn)的字符斷裂、粘連的字符對,并采用Wang等人[16]的方法獲取老撾語相似字符混淆集,方法流程如圖1所示.如:隨機模糊老撾字符“”的上部,再通過OCR識別,字符“”即為模糊處理后的OCR錯誤結(jié)果候選,即可將“”加入到字符“”的相似字符混淆集中.該方法通過OCR識別得到的錯誤候選集合是真正在形狀上相似的字符混淆集,適用于本文針對OCR后糾錯問題的研究.

圖1 相似字符混淆集獲取流程Fig.1 Similar character confusion set acquisition process

最終將統(tǒng)計得到的相似字符表和高頻出現(xiàn)的斷裂、粘連的字符對表用于數(shù)據(jù)增強,使模型針對這兩類錯誤進(jìn)行訓(xùn)練,以提升模型訓(xùn)練效果,部分示例如表2所示.

表2 部分相似字符及斷裂、粘連字符對示例Table 2 Examples of some similar characters, broken and glued character pairs

3.2 老撾語的字形特征

老撾文字中存在大量相似字符,導(dǎo)致OCR結(jié)果中產(chǎn)生了大量的相似字符替換錯誤,在對該錯誤進(jìn)行糾正時,模型對糾正候選的選擇應(yīng)傾向于當(dāng)前字符的相似字符集合.因此,本文對老撾文字中相似字符的字形進(jìn)行了分析,發(fā)現(xiàn)老撾相似字符之間往往具有相同的開口方向,如圖2所示.

故本文根據(jù)老撾相似字符開口方向一致的字形特點,將老撾字符根據(jù)開口方向分為10個類別,示例如表3所示.

表3 部分字形分類示例Table 3 Some examples of glyph classification

在構(gòu)建本文的糾錯模型時,先對需要輸入模型的待糾錯老撾文本添加字形分類標(biāo)簽Si∈{a,b,c,…,j},再將老撾文本字符序列C=(C1,C2,…,Cn)與字形分類標(biāo)簽序列S=(S1,S2,…,Sn)在Embedding層進(jìn)行拼接,如式(1)所示.將得到的融合字形特征的字符嵌入表示V∈Rn×(dc+ds)=(V1,V2,…,Vn)輸入到編碼器中,使模型更好地學(xué)習(xí)老撾相似字符之間的相關(guān)信息,增大模型預(yù)測正確的概率,以提升模型對相似字符替換錯誤的糾正能力.

Vi=concat(Ci,Si)

(1)

4 融合字形特征的多任務(wù)老撾語文字識別后糾錯

4.1 模型結(jié)構(gòu)

本文構(gòu)建的融合字形特征的多任務(wù)老撾語文字識別后糾錯模型基于seq2seq架構(gòu)進(jìn)行改進(jìn),具體結(jié)構(gòu)如下:1)輸入層:待糾錯老撾文本序列;2)預(yù)處理層:對待糾錯老撾文本進(jìn)行字形類別標(biāo)記;3)Embedding層:將輸入的文本序列及字形類別標(biāo)簽序列轉(zhuǎn)換為字符向量表示,并在主任務(wù)中進(jìn)行拼接,生成帶有老撾語特征的字符向量;4)編碼層:采用BiLSTM網(wǎng)絡(luò)及多尺度CNN網(wǎng)絡(luò)分別對字符特征向量進(jìn)行編碼,生成隱藏狀態(tài)向量后組合輸入解碼層;5)解碼層:采用帶有Luong注意力機制的單向LSTM網(wǎng)絡(luò),傳遞編碼層的隱藏信息,并用softmax函數(shù)預(yù)測字符序列的概率分布;6)語言模型處理層:通過Kenlm語言模型計算預(yù)測字符序列和原始輸入字符序列的概率,選取概率更大的一個作為模型最終的糾錯結(jié)果;7)多任務(wù)學(xué)習(xí):在錯誤檢測輔任務(wù)中,模型對帶有錯誤標(biāo)記的待糾錯文本序列進(jìn)行有監(jiān)督訓(xùn)練,最后得到錯誤標(biāo)記的預(yù)測序列,輔任務(wù)與文本糾錯主任務(wù)共享網(wǎng)絡(luò)結(jié)構(gòu),同時以參數(shù)共享方式與主任務(wù)共享語義信息,并結(jié)合輔助任務(wù)的損失函數(shù)以提升模型性能.模型結(jié)構(gòu)圖如圖3所示.

圖3 模型結(jié)構(gòu)圖Fig.3 Model structure diagram

4.2 seq2seq模型架構(gòu)

seq2seq模型[17]在各種任務(wù)中享有巨大的成功,針對其在輸入輸出序列映射任務(wù)中顯示出很大的潛力,如機器翻譯.這種架構(gòu)不要求輸入輸出序列具有相同的長度,且設(shè)置似乎自然地符合映射輸入中的噪聲,以使校正預(yù)測可以被視為不同的語言,故文本拼寫糾錯任務(wù)可以被視為翻譯任務(wù),將可能含有錯誤的序列X轉(zhuǎn)換為錯誤更少或不含錯誤的序列Y,使得P(Y|X)概率最大化,編碼器捕獲數(shù)據(jù)中更高級的語義表示,而解碼器將相應(yīng)的映射輸出到目標(biāo)序列.

4.3 編碼層

4.3.1 BiLSTM編碼

4.3.2 多尺度CNN編碼

在文本拼寫糾錯的研究中,CNN借鑒N-gram語言模型的思想,通過提取相鄰n個老撾字符組合形成的局部依賴信息,將提取的局部特征綜合為更高級的全局信息,從而得到文本序列的全局語義表示[13].根據(jù)這種思想,本文借鑒文獻(xiàn)[19]中多尺度CNN提取不同尺度的局部老撾文本特征的方法,采用多尺度卷積網(wǎng)絡(luò)以獲取更優(yōu)質(zhì)的老撾語義信息.多尺度CNN結(jié)構(gòu)如圖4所示.

圖4 多尺度CNN結(jié)構(gòu)Fig.4 Multi-scale CNN structure

由于老撾字符與字符之間的相關(guān)性有所不同,且OCR識別后存在字符斷裂、粘連導(dǎo)致的插入刪除錯誤,該錯誤主要集中在連續(xù)的2,3或4個字符上,因此本文采用2×E,3×E,4×E(E表示字符嵌入的維度)3個不同尺寸的卷積核對待糾錯文本進(jìn)行編碼,縱向?qū)W習(xí)文本內(nèi)部更深層次的特征以及不同尺度相應(yīng)的局部特征.由于不同尺度的卷積核會導(dǎo)致卷積層輸出的特征向量數(shù)量不一致,因此先對輸入的老撾字符向量左端(卷積操作從左至右,步長為1)進(jìn)行padding操作后再輸入到不同尺度卷積核的CNN網(wǎng)絡(luò)中,最后將多個不同尺寸卷積輸出的老撾語義向量拼接得到多尺度卷積編碼的輸出向量C=concat(C1,C2,C3).其中,每個尺寸卷積輸出的語義向量為Ct=[Ct1,Ct2,…,Ctn-l+1],n表示字符序列的長度,l表示卷積核大小,即在一次卷積操作中,對連續(xù)l個老撾字符進(jìn)行卷積運算:Cti=f(W·Xi:i-l+1+b),f表示ReLU激活函數(shù),W∈RlE為卷積核參數(shù)矩陣,X=[X1,X2,…,Xn]為輸入的老撾字符序列表示,X∈Rn×E.同時,本文在老撾句子的初始Embedding表示之后添加Dropout,以防止過度擬合.

最終對BiLSTM網(wǎng)絡(luò)和多尺度CNN輸出的狀態(tài)向量H和C進(jìn)行線性組合,如式(2)所示,其中,m=n=1,并將得到的老撾語義表示向量F輸入解碼層.

F=m·H+n·C

(2)

4.4 解碼層

seq2seq結(jié)構(gòu)中,編碼生成的老撾語義向量c會傳遞給解碼的每一時刻,若傳遞給每一時刻的語義向量都是同一個c,這顯然不合理,句子中的每個老撾字符對解碼預(yù)測某個字符的影響是不同的,因此,解碼中每個時刻接收到的老撾語義向量cj都應(yīng)該是不同的,故本文引入Luong 注意力機制[20],使用編碼層和解碼層的隱層狀態(tài)共同來計算每個時刻的影響程度.具體計算過程如式(3)~式(8)所示.

(3)

(4)

sj=tanh(W[sj-1,yj-1])

(5)

(6)

(7)

(8)

4.5 語言模型處理層

使用語言模型計算句子概率可用來衡量模型預(yù)測的文本正確的概率,即預(yù)測文本概率越大,文本為正確的概率越大.因此,本文使用n-gram語言模型計算解碼輸出的老撾字符序列與原始文本序列的概率值,選出兩者中概率最大者.該召回機制能夠有效處理正確句子經(jīng)過深度模型之后反而變成錯誤句子的現(xiàn)象,并有效地把原本不含錯誤的老撾文本的誤判消除,較大程度降低了模型的誤糾率.其中,本文使用Kenlm工具(3)https://kheafield.com/code/kenlm/,對拆分成字符序列的老撾正確文本進(jìn)行訓(xùn)練,構(gòu)建了4-gram語言模型.句子概率P(S)的計算公式如式(9)所示,P(Cn|C1…Cn-1)表示老撾句子S在前n-1個字符為C1…Cn-1時,第n個字符為Cn的概率.

(9)

4.6 多任務(wù)學(xué)習(xí)

端到端糾錯任務(wù)中只能通過神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)在解碼中對可能出錯的字符進(jìn)行推斷,缺少可解釋性且其檢錯效果不如直接進(jìn)行錯誤檢測任務(wù)的效果好.故本文借鑒文獻(xiàn)[4]中錯誤檢測與錯誤修正統(tǒng)一的思路,引入多任務(wù)學(xué)習(xí)架構(gòu),在解碼層的softmax預(yù)測中,一方面預(yù)測糾錯后的老撾字符序列,另一方面預(yù)測待糾錯文本序列的錯誤標(biāo)記序列.本文將輔任務(wù)看作預(yù)測文本序列中錯誤字符的序列標(biāo)注任務(wù),并將待糾錯老撾文本與其對應(yīng)的錯誤標(biāo)記序列作為輔任務(wù)訓(xùn)練數(shù)據(jù),主任務(wù)訓(xùn)練數(shù)據(jù)則是待糾錯老撾文本與其對應(yīng)的正確老撾文本.兩個任務(wù)均通過本文模型中相同的網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行訓(xùn)練,共享老撾字符嵌入矩陣、編碼層、解碼端注意力LSTM層的參數(shù),因此,輔任務(wù)學(xué)習(xí)到的老撾文本特征會以參數(shù)形式與主任務(wù)共享,同時,通過控制輔任務(wù)損失函數(shù)的權(quán)重來控制輔任務(wù)共享參數(shù)的重要性,以此界定主輔任務(wù),并通過輔任務(wù)損失函數(shù)融合字符錯誤檢測信息,優(yōu)化主任務(wù)模型性能,提高了主任務(wù)糾錯的準(zhǔn)確率,同時也降低了其誤糾率.

針對兩個任務(wù)的解碼本文采用交叉熵?fù)p失函數(shù)來計算損失值,如式(10)~式(12)所示.

(10)

(11)

L=L1+λL2

(12)

5 實 驗

5.1 數(shù)據(jù)準(zhǔn)備及模型設(shè)置

本文老撾文字識別后糾錯模型的訓(xùn)練和測試包括兩部分?jǐn)?shù)據(jù).用來識別的老撾語文字圖片共35370張(32×840像素)以及識別工具(基于CRNN改進(jìn)的老撾文字識別模型)均來自先前工作.包括老撾印刷體PDF文檔截取的10700張印刷體老撾文字圖片,以及對老撾短句(10~60個老撾字符)進(jìn)行圖像增強工作后批量生成的24670張老撾文字圖片.對上述老撾文字圖片進(jìn)行文字識別,得到35370個老撾句子,去除過長的老撾句子(字符數(shù)超過70)以及含有錯誤字符過多的句子(包含4個錯誤及以上),最終得到不含錯誤的句子有5017個,及包含錯誤字符數(shù)1~3個的句子有10753個,共同組成第一部分?jǐn)?shù)據(jù).

對錯誤文本進(jìn)行錯誤分析,并對錯誤字符進(jìn)行分類統(tǒng)計,如表4所示.其中,有部分老撾句子同時包含字符替換錯誤和字符插入、刪除錯誤.

表4 錯誤類型占比統(tǒng)計Table 4 Statistics on the proportion of error types

本文將上述第1部分和第2部分?jǐn)?shù)據(jù)集作為源語句,并與其對應(yīng)的正確老撾句子形成源-目標(biāo)句對,再將第1部分?jǐn)?shù)據(jù)中的錯誤語句和正確語句一同按9:1劃分為訓(xùn)練集和測試集,同時,也將第2部分?jǐn)?shù)據(jù)擴(kuò)充到訓(xùn)練集中,使模型能在充足的數(shù)據(jù)集中學(xué)習(xí)數(shù)據(jù)特征,并以增強訓(xùn)練的方式提升模型對特定錯誤的糾正能力.數(shù)據(jù)集劃分如表5所示.

表5 模型數(shù)據(jù)集劃分Table 5 Model data set partition

同時,對數(shù)據(jù)集進(jìn)行了如下的預(yù)處理操作:

1)對其進(jìn)行字形分類標(biāo)記處理.對待糾錯老撾語句中的每個字符進(jìn)行字形類別標(biāo)記Si,得到字形分類標(biāo)記序列[S1,S2,…,Sn].

2)對訓(xùn)練數(shù)據(jù)進(jìn)行錯誤標(biāo)記處理.對每個老撾源語句進(jìn)行錯誤標(biāo)記,正確字符標(biāo)記為0,錯誤字符標(biāo)記為1,并將每個句子與其錯誤標(biāo)記序列形成源-目標(biāo)對用于輔任務(wù)的訓(xùn)練.

5.2 模型設(shè)置及評價

本文基于Pytorch框架使用Python語言進(jìn)行建模,其中,本文采用學(xué)習(xí)率衰減算法,模型優(yōu)化器采用Adam算法,具體參數(shù)設(shè)置如表6所示.

表6 模型參數(shù)設(shè)置Table 6 Model parameter settings

本文采用文字識別領(lǐng)域的字符錯率(CER)作為模型的評估指標(biāo),同時,也通過老撾句子的誤糾率(FPR)來評估本文模型對減少誤糾操作設(shè)置的有效性,CER值與FPR值越低,證明模型具有越好的效果.評估指標(biāo)計算公式如式(13)和式(14)所示.其中,N為總字符數(shù),I,R,D分別為需要插入,替換和刪除的字符數(shù),F(xiàn)P為實際沒錯但被誤糾的句子數(shù),TN為實際沒錯也沒被誤糾的句子數(shù).

CER=(I+R+D)/N

(13)

FPR=FP/(FP+TN)

(14)

5.3 實驗結(jié)果與分析

本文以基于雙向LSTM編碼和注意力解碼的序列到序列模型[12]為Baseline,通過3組對比實驗驗證了模型的有效性:1)數(shù)據(jù)增強效果對比實驗;2)模型設(shè)置對比實驗;3)文本拼寫糾錯模型對比實驗.

5.3.1 數(shù)據(jù)增強效果對比實驗

文獻(xiàn)[4]針對中文“的地得”的誤用,采用數(shù)據(jù)增強方式,對訓(xùn)練數(shù)據(jù)進(jìn)行“的”“地”“得”的隨機替換,并擴(kuò)充到訓(xùn)練集中,實現(xiàn)了對該類錯誤較好的糾正效果.而本文老撾文字識別后的待糾錯文本中也存在類似的特定錯誤類別,可通過隨機替換老撾相似字符集和高頻斷裂、粘連字符對進(jìn)行數(shù)據(jù)增強.因此,為提升模型對特定錯誤的糾正效果,本文借鑒上述思想,將經(jīng)過數(shù)據(jù)增強后的第2部分?jǐn)?shù)據(jù)擴(kuò)充到第1部分?jǐn)?shù)據(jù)中對模型進(jìn)行數(shù)據(jù)增強訓(xùn)練,為了驗證在老撾語文本糾錯任務(wù)中的有效性及適用性,設(shè)置如下實驗方案:1)僅將第1部分?jǐn)?shù)據(jù)按9∶1劃分為訓(xùn)練集和測試集用于模型的訓(xùn)練和測試;2)在1)的基礎(chǔ)上僅用數(shù)據(jù)增強后的第2部分?jǐn)?shù)據(jù)作為訓(xùn)練集以訓(xùn)練模型;3)在1)的基礎(chǔ)上將數(shù)據(jù)增強后的第2部分?jǐn)?shù)據(jù)擴(kuò)充到第1部分?jǐn)?shù)據(jù)中進(jìn)行訓(xùn)練.實驗結(jié)果如表7所示.

表7 數(shù)據(jù)增強效果對比結(jié)果Table 7 Data enhancement effect comparison results

由表7可知,1)的CER值和FPR值均最高,其原因是由老撾文字圖片經(jīng)OCR得到的待糾錯文本數(shù)量有限,導(dǎo)致模型不足以學(xué)習(xí)足夠的文本特征,而錯誤多樣,針對每類錯誤的訓(xùn)練語料不足也導(dǎo)致模型效果不佳;2)直接采用對文本進(jìn)行替換得到的待糾錯文本作為訓(xùn)練集,其中文本替換所針對的錯誤類型得到了大量訓(xùn)練語料的增強,模型針對該類別的錯誤糾正效果得以提升;3)的CER值與FPR值最低,證明了以數(shù)據(jù)增強方式擴(kuò)充訓(xùn)練集的有效性.其原因在于通過OCR得到的待糾錯文本具有更真實的錯誤實例,且與測試集具有相同的錯誤分布,同時,擴(kuò)充大量經(jīng)數(shù)據(jù)增強的數(shù)據(jù)到訓(xùn)練集以增強模型訓(xùn)練效果,既使模型的泛化能力得到增強,又能有效針對特定類別的錯誤進(jìn)行糾正.

表8展示了采用數(shù)據(jù)增強方式擴(kuò)充訓(xùn)練集以及不采用數(shù)據(jù)增強方式的模型糾錯結(jié)果示例.其中,加粗的字符為錯誤字符,兩個糾錯示例分別為相似字符替換錯誤和字符粘連導(dǎo)致的非相似字符替換、刪除錯誤.由模型糾錯示例可知,采用數(shù)據(jù)增強方式訓(xùn)練模型確實更加適用于具有特定錯誤類型的老撾文本識別結(jié)果的糾錯,進(jìn)一步證明了該方法在本研究中的適用性.

表8 糾錯結(jié)果示例分析Table 8 Example analysis of error correction results

5.3.2 模型設(shè)置對比實驗

本文在Baseline的基礎(chǔ)上,以改變編碼器結(jié)構(gòu)、增加多任務(wù)學(xué)習(xí)和融入字形特征等不同設(shè)置對模型進(jìn)行訓(xùn)練.具體設(shè)定為:1)BiLSTM+At_LSTM(Baseline),采用雙向LSTM編碼和單向LSTM注意力解碼;2)將Baseline中編碼器替換成卷積核分別為2×E,3×E,4×E的多尺度CNN網(wǎng)絡(luò)(multi_CNN):3)將multi_CNN與Baseline聯(lián)合進(jìn)行編碼;4)在3)的基礎(chǔ)上融合老撾字形分類特征;5)在4)的解碼后增加語言模型處理層;6)使用多任務(wù)學(xué)習(xí)增加錯誤檢測輔任務(wù).實驗對比結(jié)果如表9所示.

表9 模型設(shè)置對比結(jié)果Table 9 Model settings comparison results

由表9可知,本文的模型設(shè)置使模型的CER值與FPR值均得到了降低.未經(jīng)過任何后處理操作的OCR結(jié)果的字錯率為 11.37%,Baseline在此基礎(chǔ)上具有小幅度的下降,證明Baseline選取的有效性,BiLSTM網(wǎng)絡(luò)的編碼能較好地提取老撾長文本序列的上下文語義信息.采用multi _CNN網(wǎng)絡(luò)編碼從模型字錯率來看,與采用BiLSTM網(wǎng)絡(luò)編碼差距不大,但略低于Baseline,其原因為multi _CNN以不同滑動窗口大小深入提取了老撾文本序列的局部信息,而誤糾率降低了2.21%,表明文本的局部信息對文本查錯起到關(guān)鍵作用.聯(lián)合BiLSTM與多尺度CNN編碼,使模型提取的老撾文本的上下文全局信息與局部信息較好地結(jié)合,有效提升了模型甄別錯誤與糾正錯誤的能力.融入字形特征的模型的CER值和FPR值比不加特征的模型分別降低了0.67%和 0.83%,證明對老撾語字形分類使模型更好地學(xué)習(xí)了老撾相似字符之間的形狀特征,提升了模型預(yù)測正確字符及發(fā)現(xiàn)錯誤字符的概率,對糾錯效果有一定的貢獻(xiàn)值.加入語言模型以選擇概率更大的老撾句子作為模型糾錯結(jié)果,模型誤糾率降低了2.28%表明該召回機制對模型誤糾現(xiàn)象的改善是有效的.多任務(wù)學(xué)習(xí)使模型的字符錯率和誤糾率分別低至7.94%和3.40%,是因為錯誤檢測輔任務(wù)能與主任務(wù)共享參數(shù),并通過預(yù)測可能錯誤的老撾字符進(jìn)一步減少模型的誤糾操作,同時也有效提升了主任務(wù)的糾錯效果.

5.3.3 文本拼寫糾錯模型對比實驗

為進(jìn)一步驗證本文模型的有效性,本文與4個其他文本拼寫糾錯模型進(jìn)行了比較:1)n-grams模型[10]:使用基于字符的n-grams語言模型并結(jié)合字符混淆集進(jìn)行糾錯(n=3);2)BiLSTM+At_LSTM模型[12]:基于LSTM的注意力解碼seq2seq模型;3)7CNN+7CNN[13]:具有7個編碼器和解碼器層,每個編碼層由卷積網(wǎng)絡(luò)及門控線性單元組成,解碼層在此基礎(chǔ)上引入注意力機制;4)3BiLSTM+3LSTM模型[14]:編碼器由3個雙向LSTM層組成,解碼器包括3個單向LSTM層組,將殘差連接添加到編碼器和解碼器的第3層,并引入四頭注意力機制;5)本文模型.對比實驗結(jié)果如表10所示.

表10 不同文本拼寫糾錯模型對比結(jié)果Table 10 Different text spelling error correction models comparison result

由表10可知,n-grams語言模型具有最低的誤糾率,原因是語言模型的計算具有較好的錯誤檢測效果,能更大程度地避免對正確字符的誤糾,但其對字符插入、刪除錯誤的糾正效果不佳,且由于老撾語存在大量的相似字符,大部分字符均存在大量相似字符混淆候選,且相似字符的出現(xiàn)頻率無較大差別,均較高,因此語言模型對老撾語相似字符替換錯誤的糾正存在一定的困難.BiLSTM+At_LSTM模型的CER值降低了0.33%,證明其對老撾語文字識別后糾錯任務(wù)是有效的.7CNN+7CNN模型CER值與FPR值分別比BiLSTM+At_LSTM模型降低了1.78%和6.19%,原因是多層卷積網(wǎng)絡(luò)有效捕獲了每個老撾字符的周圍上下文信息,但其在相似字符替換錯誤的糾正上效果一般,字符錯率比3BiLSTM+3LSTM略高,說明多層的LSTM網(wǎng)絡(luò)更適用于捕獲老撾長文本上下文的語義表示,且FPR值表明BiLSTM網(wǎng)絡(luò)對老撾文本具有更低的誤糾率,這是因為BiLSTM網(wǎng)絡(luò)更傾向于復(fù)制含有少量錯誤的老撾文本中正確的原始文本.3BiLSTM+3LSTM模型采用帶有多頭注意力機制的多層BiLSTM及LSTM網(wǎng)絡(luò)進(jìn)行編碼與解碼,字符錯率比BiLSTM+At_LSTM模型降低了2.49%,原因是深層的LSTM網(wǎng)絡(luò)對老撾長文本序列的上下文語義學(xué)習(xí)效果是顯著的,且多頭注意力機制使模型通過不同的空間表示進(jìn)而得到包含多方面信息的全局信息,也進(jìn)一步降低了誤糾率.而本文模型效果略好于3BiLSTM+3LSTM模型的原因是,本文模型聯(lián)合多尺度CNN網(wǎng)絡(luò)獲取老撾文本的局部特征,對字符插入、刪除錯誤有著更好的糾正效果,且本文還加入了語言模型及多任務(wù)學(xué)習(xí)策略,使模型具有更低的誤糾率.

5.3.4 OCR后處理結(jié)果分析

為進(jìn)一步分析不同編碼方式使模型針對老撾OCR結(jié)果中哪一類錯誤的糾正效果得到了更大的提升,本文基于Baseline,對僅通過BiLSTM編碼和僅通過multi_CNN編碼的模型糾錯結(jié)果進(jìn)行分析,分析結(jié)果如圖5所示.

圖5 錯誤類別占比統(tǒng)計Fig.5 Statistics on the proportion of error categories

由圖5可知,與無后處理的錯誤占比相比較,BiLSTM網(wǎng)絡(luò)編碼對字符替換錯誤的糾正有較高的貢獻(xiàn)度,糾正了大部分的字符替換錯誤,其中相似字符替換錯誤和非相似字符替換錯誤占比均有所減小,而multi_CNN網(wǎng)絡(luò)編碼則使字符插入、刪除錯誤占比大幅減小,有效糾正了大部分字符插入刪除錯誤.由此可見,BiLSTM網(wǎng)絡(luò)編碼和multi_CNN網(wǎng)絡(luò)編碼分別針對老撾OCR后文本錯誤中的主要錯誤進(jìn)行了有效糾正,進(jìn)一步表明了本文模型的有效性.

6 結(jié) 論

本文針對老撾語文字識別后糾錯展開研究,基于seq2seq模型架構(gòu),融入老撾語的字形特征,并將多尺度CNN網(wǎng)絡(luò)與BiLSTM網(wǎng)絡(luò)聯(lián)合編碼,以提升模型對老撾語OCR結(jié)果中的相似字符替換錯誤及字符斷裂、粘連所導(dǎo)致的字符插入、刪除錯誤的糾正能力,同時,利用語言模型及多任務(wù)學(xué)習(xí)策略大大降低了本文模型的誤糾率.實驗表明,本文模型在老撾語文字識別后糾錯任務(wù)中取得了不錯的效果,字錯率和誤糾率分別低至7.94%和3.40%,使得老撾圖片資源在文字識別后具有更高的準(zhǔn)確率,一定程度上擴(kuò)充了老撾語用于下游NLP任務(wù)的語料規(guī)模.在未來的工作中,將進(jìn)一步研究OCR后較長的及文本中存在較多錯誤(3個錯誤以上)的老撾文本的糾正,并對老撾文本進(jìn)行句法、語義搭配等分析,結(jié)合語法、語義等知識進(jìn)一步提升老撾語文字識別后文本的準(zhǔn)確率.

猜你喜歡
老撾字符解碼
《解碼萬噸站》
尋找更強的字符映射管理器
老撾肉牛輸華實現(xiàn)突破
朝發(fā)夕至 乘著火車去老撾
云南畫報(2021年12期)2021-03-08 00:50:24
字符代表幾
解碼eUCP2.0
中國外匯(2019年19期)2019-11-26 00:57:32
一種USB接口字符液晶控制器設(shè)計
電子制作(2019年19期)2019-11-23 08:41:50
NAD C368解碼/放大器一體機
Quad(國都)Vena解碼/放大器一體機
消失的殖民村莊和神秘字符
阜阳市| 鄂尔多斯市| 突泉县| 定陶县| 台中市| 南漳县| 奉化市| 兴隆县| 彭泽县| 民和| 大竹县| 巧家县| 讷河市| 饶平县| 稻城县| 工布江达县| 南通市| 怀宁县| 常熟市| 永泰县| 内丘县| 略阳县| 茶陵县| 海伦市| 扬中市| 娱乐| 彭州市| 镇沅| 湖南省| 长阳| 博兴县| 彰化市| 鹤岗市| 定陶县| 马尔康县| 含山县| 惠水县| 柞水县| 广河县| 丰宁| 西峡县|