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

?

一種面向中文拼寫糾錯(cuò)的自監(jiān)督預(yù)訓(xùn)練方法

2023-11-24 01:40:12蘇錦鈿余珊珊洪曉斌
關(guān)鍵詞:拼寫錯(cuò)誤掩碼字形

蘇錦鈿 余珊珊 洪曉斌

(1.華南理工大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,廣東 廣州 510006;2.廣東藥科大學(xué) 醫(yī)藥信息工程學(xué)院,廣東 廣州 510006;3.華南理工大學(xué) 機(jī)械與汽車工程學(xué)院,廣東 廣州 510640)

中文拼寫糾錯(cuò)(CSC)也稱中文拼寫檢測,是自然語言處理(NLP)及中文文本分析中的一個(gè)重要子任務(wù)和研究方向,其主要目的是利用計(jì)算機(jī)技術(shù)識別中文文本中包含的拼寫錯(cuò)誤并進(jìn)行糾正[1-3]。早期的研究主要以基于規(guī)則、N-元語法、統(tǒng)計(jì)機(jī)器翻譯和神經(jīng)網(wǎng)絡(luò)的方法為主,如NMT[4]和CPN[2]等。近幾年,隨著Transformer 結(jié)構(gòu)[5]及以BERT[6]為代表的預(yù)訓(xùn)練語言模型在多個(gè)NLP任務(wù)中取得了突出的效果,一些學(xué)者陸續(xù)將預(yù)訓(xùn)練語言模型引入到CSC任務(wù)中,并提出一系列新的拼寫糾錯(cuò)模型,如FASPell[1]、SM-BERT[3]、SpellGCN[7]、DCN[8]、DCSpell[9]、PLOME[10]、PHMOSpell[11]、ReaLiSe[12]等。

相對于早期其他的CSC 工作,BERT 和RoBERTa[13]等預(yù)訓(xùn)練語言模型可以通過海量文本預(yù)訓(xùn)練和下游任務(wù)微調(diào)的方式更好地學(xué)習(xí)字詞及句子的語義和上下文信息,從而進(jìn)一步提升模型在CSC任務(wù)中的效果。但BERT 等在預(yù)訓(xùn)練過程中主要利用掩碼語言模型(MLM)隨機(jī)屏蔽句子中的字,然后結(jié)合上下文預(yù)測其正確值。這一方面假定文本序列中各個(gè)字相互獨(dú)立,即忽略詞組中各個(gè)字之間的依賴關(guān)系;另一方面影響了模型對拼寫錯(cuò)誤的識別和糾正能力,且沒有考慮錯(cuò)誤字詞在發(fā)音和字形上的相似性,從而導(dǎo)致預(yù)訓(xùn)練和微調(diào)目標(biāo)不一致。針對BERT 的字獨(dú)立性假設(shè)及預(yù)訓(xùn)練與微調(diào)階段不一致問題,文獻(xiàn)[14]在英文BERT 的全詞掩碼(WWM)模型基礎(chǔ)上,結(jié)合中文的特點(diǎn)提出一個(gè)基于全詞和連續(xù)詞組掩蔽策略的MacBERT 模型。但MacBERT在CSC任務(wù)中同樣面臨預(yù)訓(xùn)練與微調(diào)目標(biāo)不一致問題,特別是CSC中的大部分錯(cuò)誤主要是因?yàn)榘l(fā)音或字形相近引起的,而不是同義詞誤用,并且很少出現(xiàn)連續(xù)多個(gè)詞拼寫錯(cuò)誤的情況。

本文針對BERT 的中文拼寫錯(cuò)誤識別及糾正能力不足問題,提出一種面向中文拼寫糾錯(cuò)的自監(jiān)督預(yù)訓(xùn)練方法MASC,將BERT中的MLM和MacBERT中的Mac任務(wù)轉(zhuǎn)換成基于混淆集的拼寫錯(cuò)誤識別及糾正任務(wù);在全詞掩碼的基礎(chǔ)上利用混淆集從音調(diào)相同、音調(diào)相近和字形相近等多個(gè)方面構(gòu)造拼寫錯(cuò)誤候選字,給出相應(yīng)的掩碼策略、替換策略和預(yù)訓(xùn)練任務(wù),從而進(jìn)一步增強(qiáng)BERT 的拼寫錯(cuò)誤識別及糾正能力;還通過sighan13、sighan14 和sighan15等公開CSC 語料集上的實(shí)驗(yàn)證明MASC 能夠在不改變BERT/RoBERTa/MacBERT 等模型現(xiàn)有結(jié)構(gòu)的前提下,進(jìn)一步提升它們在下游CSC任務(wù)中的效果。

1 相關(guān)工作

與英文拼寫糾錯(cuò)相比,中文拼寫糾錯(cuò)面臨更多的困難和挑戰(zhàn),特別是中文字詞之間沒有定界符、缺乏形態(tài)上的變化和嚴(yán)重依賴于上下文語義等特點(diǎn),使得對中文拼寫錯(cuò)誤字符的識別及糾正高度依賴上下文語境。近幾年,隨著各種預(yù)訓(xùn)練語言模型在許多NLP任務(wù)上取得一系列突出的成果,部分學(xué)者開始將它們引入到CSC中。文獻(xiàn)[1]提出一種基于去噪自動編碼器(DAE)和解碼器的中文拼寫檢查器——FASPell,其中DAE 采用BERT 中的掩碼語言模型,而解碼器采用把握度-字符相似度解碼器;文獻(xiàn)[2]提出一個(gè)雙向GRU 和BERT 的SM-BERT 模型,其主要思路是通過一個(gè)基于雙向GRU 的錯(cuò)誤檢測網(wǎng)絡(luò)識別句子中可能出錯(cuò)的字的位置,并利用這些位置信息對糾錯(cuò)網(wǎng)絡(luò)中的輸入句子進(jìn)行軟掩碼,從而讓模型學(xué)習(xí)只針對可能出錯(cuò)的字進(jìn)行糾正,而非句子中所有的字;文獻(xiàn)[8]提出一種基于動態(tài)連接網(wǎng)絡(luò)的DCN 模型,其主要思路是在RoBERTa[13]的基礎(chǔ)上利用拼音增強(qiáng)候選生成器生成候選的中文字,并通過注意力網(wǎng)絡(luò)對相鄰中文字間的依賴關(guān)系進(jìn)行建模;文獻(xiàn)[7]提出一種拼寫檢查卷積圖網(wǎng)絡(luò)Spell-GCN,通過結(jié)合BERT 和卷積圖網(wǎng)絡(luò)刻畫字符的發(fā)音/形狀相似性知識以及字之間的先驗(yàn)依賴關(guān)系,并生成正確的拼寫校正;文獻(xiàn)[15]在Transformer注意力機(jī)制的基礎(chǔ)上添加高斯分布的偏置矩陣,用于提高模型對局部文本的關(guān)注程度,同時(shí)使用ON_STM 模型對錯(cuò)誤文本表現(xiàn)出的特殊語法結(jié)構(gòu)特征進(jìn)行語法信息提??;文獻(xiàn)[16]則提出一種融合漢字多特征嵌入的端到端中文拼寫檢查算法模型BFMBERT,主要利用結(jié)合混淆集的預(yù)訓(xùn)練任務(wù)讓BERT 學(xué)習(xí)中文拼寫錯(cuò)誤知識。總的來說,這些工作均證明了BERT和RoBERTa等預(yù)訓(xùn)練語言模型能夠進(jìn)一步改善字詞及句子的語義表征,從而提升模型在下游CSC 任務(wù)中的效果。但由于BERT 和RoBERTa等模型在預(yù)訓(xùn)練過程中是通過上下文信息學(xué)習(xí)字詞的語義,而CSC任務(wù)中拼寫錯(cuò)誤的字詞通常是離散出現(xiàn)的,因此導(dǎo)致預(yù)訓(xùn)練語言模型一方面在拼寫錯(cuò)誤識別方面存在一定的不足,另一方面在糾正時(shí)往往需通過額外的神經(jīng)網(wǎng)絡(luò)層引入錯(cuò)誤字詞和正確字詞在音調(diào)或字形等方面的相似性知識。

文獻(xiàn)[14]在英文BERT 的全詞掩碼WWM 基礎(chǔ)上,結(jié)合中文的特點(diǎn)提出一個(gè)基于全詞和詞組掩蔽策略的模型MacBERT。MacBERT 將BERT 中的MLM 任務(wù)轉(zhuǎn)換為面向同義詞替換的文本校正任務(wù),即讓模型學(xué)習(xí)如何將替換后的同義詞識別為原來的字詞,目的是縮小預(yù)訓(xùn)練和微調(diào)階段之間的差距。但MacBERT 在CSC 中同樣面臨預(yù)訓(xùn)練與微調(diào)不一致的問題。一方面,CSC中的大部分拼寫錯(cuò)誤并不是由同義詞誤用引起的,而是由音調(diào)相同、音調(diào)相近或字形相似等因素導(dǎo)致的;另一方面,CSC中一般以單個(gè)的字或單詞拼寫錯(cuò)誤為主,很少出現(xiàn)連續(xù)多個(gè)詞組的拼寫錯(cuò)誤。

文獻(xiàn)[17]指出約83%的中文拼寫錯(cuò)誤與音調(diào)相似性相關(guān),48%與字形相似性相關(guān)。表1 給出了CSC中一些常見的拼寫錯(cuò)誤及原因,其中粗斜體部分表示錯(cuò)誤的字詞,括號中的粗體為正確字詞,方括號中為錯(cuò)誤字詞與正確字詞的拼音。

表1 常見中文拼寫錯(cuò)誤例子Table 1 Examples of common CSC errors

CSC中大部分的拼寫錯(cuò)誤主要是因?yàn)橐粽{(diào)相同、音調(diào)相近或字形相近等引起的,但BERT/RoBERTa/MacBERT等預(yù)訓(xùn)練語言模型在預(yù)訓(xùn)練過程中均沒有考慮這些相似性知識。文獻(xiàn)[18]嘗試在預(yù)訓(xùn)練階段引入拼音相似性知識,并提出了混淆漢字和噪聲拼音的替換策略;文獻(xiàn)[19]也在BERT的基礎(chǔ)上提出一個(gè)預(yù)訓(xùn)練模型SpellBERT,并利用圖神經(jīng)網(wǎng)絡(luò)將字的偏旁部首和拼音信息引入到預(yù)訓(xùn)練任務(wù)中。但這些工作均沒有進(jìn)一步探討如何利用現(xiàn)有的混淆集更好地融合發(fā)音和字形等相似性知識。文獻(xiàn)[10]提出的PLOME在訓(xùn)練預(yù)訓(xùn)練語言模型時(shí)引入基于語義混淆集的MASK 策略,并將拼音和筆畫作為預(yù)訓(xùn)練語言模型以及模型微調(diào)的輸入,但需依賴于額外的筆畫知識;文獻(xiàn)[11]則結(jié)合光學(xué)字形識別(OCR)及自動語音識別(ASR),從多模態(tài)的角度對拼音特征、字形特征、語音特征進(jìn)行信息融合和錯(cuò)誤字預(yù)測;文獻(xiàn)[12]同樣也利用了中文字符上的語義、聲音和字形等多模態(tài)信息。但這些工作均需要在下游任務(wù)中對不同模態(tài)信息進(jìn)行融合。因此本文的主要目的是在上述工作的基礎(chǔ)上,通過預(yù)訓(xùn)練任務(wù)和混淆集將中文拼寫糾錯(cuò)中錯(cuò)誤字詞與正確字詞間的音調(diào)及字形相似性知識引入到預(yù)訓(xùn)練語言模型中,從而提升模型在下游CSC任務(wù)中的拼寫錯(cuò)誤識別及糾正能力。

2 面向中文拼寫糾錯(cuò)的自監(jiān)督預(yù)訓(xùn)練MASC

下面提出一種中文拼寫糾錯(cuò)掩碼語言模型的自監(jiān)督預(yù)訓(xùn)練方法MASC。

2.1 MASC預(yù)訓(xùn)練

BERT中的MLM在預(yù)訓(xùn)練過程中對每一個(gè)句子隨機(jī)選擇其中15%的字,然后用[MASK]標(biāo)記進(jìn)行掩碼后,通過預(yù)訓(xùn)練讓模型學(xué)習(xí)如何根據(jù)上下文信息預(yù)測被掩碼字的真實(shí)值。每一個(gè)字被選中并進(jìn)行掩碼的概率為15%,被選中的字當(dāng)中有80%的概率被[MASK]標(biāo)記替換、10%的概率保持不變、10%的概率隨機(jī)用詞匯表中的字進(jìn)行替換。

MASC采用類似于MLM的選擇策略,但是對每一個(gè)被選中進(jìn)行掩碼的字,利用混淆集得到相應(yīng)的候選字后進(jìn)行替換,最后通過訓(xùn)練讓模型學(xué)習(xí)根據(jù)上下文信息預(yù)測被替換字的真實(shí)值以及是否存在拼寫出錯(cuò)。具體來說,MASC的流程如圖1所示。

圖1 MASC的流程Fig.1 Process of MASC

具體來說,MASC主要采用以下策略。

(1)基于全詞掩碼和N-grams語法的掩碼策略

MASC 在BERT 的全詞掩碼WWM 基礎(chǔ)上,結(jié)合MacBERT的N-grams掩碼策略,采用一元和二元詞的字掩碼方式。由于一般文本中的大部分錯(cuò)誤為單字或某個(gè)單詞,很少連續(xù)多個(gè)單詞出現(xiàn)錯(cuò)誤,因此MASC 中只考慮一元詞(字)和二元詞(連續(xù)兩個(gè)字或完整的單詞)的掩碼策略。具體來說,選擇輸入句子中15%的字進(jìn)行替換,被選中的字有90%的概率為一元詞組、10%的概率為二元詞。若被選中的字為某個(gè)詞組的字,則有15%的概率同時(shí)選擇該詞組中的其他字。掩碼選擇算法selectMasked-Char的核心偽代碼表示如下:

(2)基于混淆集的替換策略

MASC在文獻(xiàn)[2]中的混淆集基礎(chǔ)上結(jié)合PinYin工具進(jìn)行擴(kuò)充,并劃分為同音同調(diào)、同音異調(diào)、近音同調(diào)、近音異調(diào)和字形相近5種不同類型。

對于每一個(gè)待掩碼的字或詞,采用以下替換策略:40%的概率采用同音同調(diào)字典,15%的概率采用同音異調(diào)字典,15%的概率采用近音同調(diào)字典,10%的概率采用近音異調(diào)字典,10%的概率采用字形相近字典,10%的概率保持不變。表2給出了不同掩碼方法的示例,其中每一個(gè)“+”表示在前一個(gè)“+”基礎(chǔ)上繼續(xù)增加新的掩碼方法,例如“++WWM”表示在上一行“+MLM”的基礎(chǔ)上增加WWM。

替換策略算法charMaskWithConfuseSet 的部分核心偽代碼表示如下:

2.2 基于MASC的預(yù)訓(xùn)練模型

為了最大程度地利用BERT/RoBERTa/MacBERT 等預(yù)訓(xùn)練模型中已學(xué)習(xí)到的大量知識,MASC 采用原有的預(yù)訓(xùn)練模型結(jié)構(gòu),如圖2 所示。其中,ai(1≤i≤n)和bj(1≤j≤m)分別表示輸入長度為n和m的句子A和B中的各個(gè)字符。

圖2 基于MASC的預(yù)訓(xùn)練模型結(jié)構(gòu)Fig.2 Pre-training model structure of MASC

為了區(qū)別一般的BERT/RoBERTa/MacBERT,將基于MASC 的BERT/RoBERTa/MacBERT 的模型分別記為MascBERT/MascRoBERTa/MascMacBERT。

以MascBERT 為例,預(yù)訓(xùn)練任務(wù)可形式化地定義為:給定任意一對中文文本序列A={a1,a2,…,an}和B={b1,b2,…,bm},根據(jù)BERT 的輸入要求將A和B進(jìn)行串聯(lián)并構(gòu)造成輸入序列X={x0,x1,…,xt},其中t=n+m+2:

MascBERT 通過詞向量嵌入層Embedding 和多層連續(xù)Transformer隱層將輸入X轉(zhuǎn)換為上下文表示H(L)∈RN×d,其中L為隱層數(shù)量,N為輸入的字符最大長度(通常最大為512),d為隱層的詞向量維度(通常為768或1 024):

在H(L)的基礎(chǔ)上,MascBERT 的主要目標(biāo)是預(yù)測替換后的文本序列中拼寫錯(cuò)誤字的正確值以及是否存在拼寫錯(cuò)誤。對于替換后的錯(cuò)誤字的隱層向量用子集Hm∈Rk×d表示,其中k為被替換字的總數(shù)。默認(rèn)情況下與BERT 一樣采用輸入序列長度的15%作為k的值,即k=int(t×15%)。

對于訓(xùn)練集中的第i個(gè)句子,利用待訓(xùn)練參數(shù)矩陣W1∈R|V|×d和偏置向量b1∈ RM將Hm投影到詞匯表V上并預(yù)測相應(yīng)的概率分布pi:

利用標(biāo)準(zhǔn)交叉熵函數(shù)Losscor計(jì)算相應(yīng)的糾正損失值:

式中,M為每一批數(shù)據(jù)的數(shù)量,yij為M中第i個(gè)句子的第j個(gè)字的正確值;pij為M中第i個(gè)句子的第j個(gè)被替換字在詞匯表V中的概率分布。

為了進(jìn)一步提高模型對拼寫錯(cuò)誤的識別能力,MascBERT 同時(shí)還對句子中各個(gè)位置上是否存在拼寫錯(cuò)誤進(jìn)行判斷。利用待訓(xùn)練參數(shù)矩陣W2∈R1×d和偏置向量b2∈RM對H(L)進(jìn)行轉(zhuǎn)換,并利用sigmoid 函數(shù)計(jì)算相應(yīng)的錯(cuò)誤概率值qi:

qi中每一個(gè)位置的值越接近1,則表示該位置出現(xiàn)拼寫錯(cuò)誤的概率越大。利用二元交叉熵函數(shù)Lossdet計(jì)算相應(yīng)的錯(cuò)誤識別損失值,其中l(wèi)ij(1≤j≤t)為第i個(gè)句子中第j個(gè)位置是否出現(xiàn)拼寫錯(cuò)誤的正確值,“1”表示存在拼寫錯(cuò)誤,“0”表示不存在拼寫錯(cuò)誤:

BERT的預(yù)訓(xùn)練任務(wù)除MLM外,還包括句子相鄰關(guān)系預(yù)測任務(wù)NSP。ALBERT[20]和MacBERT[14]針對NSP的效果不佳問題,進(jìn)一步提出句子順序關(guān)系預(yù)測SOP。對于MASC,可根據(jù)需要結(jié)合NSP 或SOP等其他預(yù)訓(xùn)練任務(wù),相應(yīng)的損失函數(shù)分別為

式中,LossNSP、LossSOP分別為針對NSP和SOP任務(wù)的損失函數(shù)。

3 實(shí)驗(yàn)與分析

3.1 實(shí)驗(yàn)準(zhǔn)備

為了利用MASC 進(jìn)行預(yù)訓(xùn)練,實(shí)驗(yàn)從文獻(xiàn)[21]的生成語料集ACG中隨機(jī)選擇3萬個(gè)目標(biāo)正確句子作為預(yù)訓(xùn)練語料集,記為ACG3W;同時(shí),還采用漢語水平考試(HSK)語料集中的部分句子作為預(yù)訓(xùn)練數(shù)據(jù)。HSK 語料集共包含156 820 個(gè)句子,最大長度為417 個(gè)字,平均長度為27.35 個(gè)字??紤]到訓(xùn)練效率和句子表達(dá)完整性等因素,只從HSK語料集中選擇3萬個(gè)句子作為預(yù)訓(xùn)練數(shù)據(jù),每條數(shù)據(jù)的長度在12到120個(gè)字之間,并以句號、問號和感嘆號等結(jié)尾,記為HSK3W。

因?qū)嶒?yàn)條件和篇幅限制,實(shí)驗(yàn)中只選擇3個(gè)最常用的BERT 中文預(yù)訓(xùn)練語言模型作為基礎(chǔ)模型進(jìn)行新的MASC 預(yù)訓(xùn)練,包括:bert-base-chinese、chinese-bert-wwm和chinese-macbert-base,分別簡單記為base、wwm 和macbert。3 個(gè)模型均包含12 個(gè)隱層、12個(gè)多頭自注意力,輸出張量為768維,參數(shù)量約為1.1 億,詞匯量約為2.1 萬。第1 個(gè)模型的原始預(yù)訓(xùn)練采用MLM和NSP,第2個(gè)模型采用全詞掩碼的MLM和NSP,第3個(gè)模型采用N-grams(包括一元、二元和三元詞組),并利用近義詞代替[MASK]進(jìn)行預(yù)測。

預(yù)訓(xùn)練過程采用批量訓(xùn)練的方式,每一批數(shù)據(jù)的數(shù)量為32,學(xué)習(xí)率為5×10-5,共訓(xùn)練5 輪,并采用Adam優(yōu)化器。由于原始HSK和ACG中的數(shù)據(jù)大部分為單個(gè)句子,因此預(yù)訓(xùn)練過程中只考慮MASC及相應(yīng)的Lossdet和Losscor,而忽略NSP或SOP任務(wù)。

為驗(yàn)證MASC 的有效性,實(shí)驗(yàn)用3 個(gè)經(jīng)典的公開CSC語料集sighan13[22]、sighan14[23]和sighan15[24],并參照文獻(xiàn)[2]的做法,利用OpenCC工具將各語料集中的繁體中文句子轉(zhuǎn)換成簡體中文,同時(shí)利用PinYin工具獲取混淆集中各個(gè)單詞的拼音信息。3個(gè)語料集的相關(guān)統(tǒng)計(jì)信息如表3所示。

表3 3個(gè)CSC語料集的統(tǒng)計(jì)信息1)Table 3 Statistical information about three corpora

由于各語料集中句子的最大長度均明顯小于512 個(gè)字,因此在微調(diào)和測試過程中均取其最大長度值作為閾值。

與文獻(xiàn)[1,3,7]等其他工作類似,實(shí)驗(yàn)中均采用CSC任務(wù)中常用的句子級別精確率P(Precision)、召回率R(Recall)和F1 值等作為評價(jià)指標(biāo),并區(qū)分錯(cuò)誤識別網(wǎng)絡(luò)D(Detection Network)和糾正網(wǎng)絡(luò)C(Correction Network)。例如,PD和PC分別表示識別網(wǎng)絡(luò)和糾正網(wǎng)絡(luò)的精確率,RD和RC分別表示識別網(wǎng)絡(luò)和糾正網(wǎng)絡(luò)的召回率,F(xiàn)1D和F1C分別表示識別網(wǎng)絡(luò)和糾正網(wǎng)絡(luò)的F1 值。同時(shí),為了減少參數(shù)初始化及訓(xùn)練過程中產(chǎn)生的偏差,在下游任務(wù)中取3次獨(dú)立微調(diào)和測試的結(jié)果平均值作為最終實(shí)驗(yàn)結(jié)果。

3.2 預(yù)訓(xùn)練語言模型對比

為了分別對比原始base、wwm 和macbert 與采用MASC進(jìn)行再次預(yù)訓(xùn)練后的效果,本實(shí)驗(yàn)采用文獻(xiàn)[7]中BERT 的類似結(jié)構(gòu),在最后Transformer 隱層輸出序列的基礎(chǔ)上,分別利用sigmoid 和softmax層用于錯(cuò)誤識別和糾正判斷。表4給出了采用不同預(yù)訓(xùn)練語言模型后MASC 在3 個(gè)語料集上的效果,后綴agc、hsk和all分別表示采用ACG3W、HSK3W和同時(shí)采用ACG3W及HSK3W進(jìn)行MASC預(yù)訓(xùn)練的結(jié)果?;赽ase 的MASC 即相當(dāng)于文獻(xiàn)[21]中的BERT 模型,實(shí)驗(yàn)結(jié)果來自于相應(yīng)文獻(xiàn);其他實(shí)驗(yàn)結(jié)果均為本文的實(shí)驗(yàn)結(jié)果。粗體部分表示在該語料集上不同模型的最好效果。

表4 不同預(yù)訓(xùn)練語言模型的MASC在3個(gè)語料集上的效果Table 4 Performance on three corpora of MASC with different pre-trained language models %

由表4可知:

(1)當(dāng)采用3 種不同的預(yù)訓(xùn)練語言模型時(shí),MASC 在3 個(gè)語料集上的表現(xiàn)不同??傮w上來說,MASC在macbert上的效果最好,而在bert和wwm上則表現(xiàn)各不同。本文認(rèn)為主要的原因是macbert 在base基礎(chǔ)上結(jié)合文本校正預(yù)訓(xùn)練任務(wù),進(jìn)一步增強(qiáng)了模型識別詞組和同義詞的能力,而且通過大規(guī)模的再次預(yù)訓(xùn)練能更好地學(xué)習(xí)句子的上下文語義并提升模型在CSC中的效果。而wwm在3個(gè)語料集上的效果并沒有明顯優(yōu)于base,甚至部分效果更差,主要是因?yàn)椋? 個(gè)語料集中的大部分錯(cuò)誤以單字為主(具體統(tǒng)計(jì)信息可見表5),而很少整個(gè)詞出錯(cuò),這與wwm 在預(yù)訓(xùn)練時(shí)的全詞掩碼策略存在較大的差異;還與3個(gè)語料集本身存在一定的差異有關(guān)。

表5 3個(gè)語料集中字和詞錯(cuò)誤的統(tǒng)計(jì)信息Table 5 Statistic information about character and word errors in three corpora

wwm與base均沒有考慮錯(cuò)誤字詞與正確字詞間的發(fā)音或字形相似性知識,且面臨預(yù)訓(xùn)練和與微調(diào)不一致的問題。

(2)對于hsk、acg 和all 3 種不同的預(yù)訓(xùn)練語料集,MASC 采用all 數(shù)據(jù)后在3 個(gè)CSC 語料集上總體表現(xiàn)最好,采用hsk 的次之,而采用acg 的最差。這說明預(yù)訓(xùn)練數(shù)據(jù)的內(nèi)容對于模型在下游任務(wù)中的效果有著較大的影響。3 個(gè)CSC 語料中的句子主要來自國外的中文初學(xué)者所寫的散文。HSK中的句子來自于漢語水平考試(HSK)語料集,而ACG的句子則主要來自于人民日報(bào)的報(bào)道。因此,總體上各個(gè)CSC 語料集與ACG 句子內(nèi)容和語法結(jié)構(gòu)上相差較大,而與HSK 非常接近。實(shí)驗(yàn)結(jié)果也證明了hsk在CSC 語料集上的表現(xiàn)確實(shí)優(yōu)于acg。采用all 訓(xùn)練數(shù)據(jù)后,模型效果大部分情況下表現(xiàn)較好,特別是在錯(cuò)誤識別效果方面均有一定的提升,但在糾正方面因與acg 訓(xùn)練數(shù)據(jù)的內(nèi)容存在一定差異及總體訓(xùn)練不充分等因素,導(dǎo)致糾正的效果有時(shí)候略下降。

(3)采用不同訓(xùn)練數(shù)據(jù)后,MASC在3個(gè)語料集上的錯(cuò)誤識別效果均得到了一定的提升,這說明MASC確實(shí)能有效地提升模型的中文拼寫錯(cuò)誤識別能力。但在文本糾正方面,采用wwm后模型的效果并沒有提升,反而下降了。本文認(rèn)為主要是因?yàn)閣wm中對詞組的掩碼與CSC中以單字拼寫錯(cuò)誤為主的情況存在很大差異,因此預(yù)訓(xùn)練后反而容易引入一些噪聲數(shù)據(jù),從而導(dǎo)致模型的糾正效果受到一定的影響。

3.3 消融實(shí)驗(yàn)

本實(shí)驗(yàn)以sighan15 語料集為例對MASC 中的各組成部分進(jìn)行消融分析。結(jié)合表4所示的結(jié)果,以MascBERT+base+all 作為基線模型進(jìn)行分析,實(shí)驗(yàn)結(jié)果如表6所示。其中“-”表示在原來模型基礎(chǔ)上去除相應(yīng)的組成部分,例如,-N-grams表示不考慮詞掩碼,即只采用字掩碼,-tone表示不考慮拼音的音調(diào),-visual 表示不考慮字形相近信息,-lossdet表示不考慮錯(cuò)誤識別層和相應(yīng)的損失函數(shù)。

表6 MascBERT的消融實(shí)驗(yàn)結(jié)果Table 6 Ablation experiment result for MascBERT %

從表6中的實(shí)驗(yàn)結(jié)果可知:去除N-grams之后,MascBERT 在錯(cuò)誤識別效果方面稍有下降,而在糾正方面不僅沒有下降,反而有一定的提升。本文認(rèn)為這主要是因?yàn)閟ighan的訓(xùn)練集和測試集都是以單個(gè)字的錯(cuò)誤為主,因此去除N-grams雖然降低了錯(cuò)誤識別效果,但在糾正時(shí)減少了詞組所帶來的一些干擾信息,因此更符合下游任務(wù)的特點(diǎn),從而使糾正效果有一定的提升。這也與表5的結(jié)果相符,同時(shí)也說明雖然MascBERT 中采用全詞及多元詞組掩碼能夠提升模型在許多下游任務(wù)中的表現(xiàn),但對于CSC任務(wù)卻不一定有效。對于聲調(diào)和字形相近信息來說,總體上聲調(diào)對模型的效果影響更大,這主要是因?yàn)榇蟛糠制磳戝e(cuò)誤的正確字與錯(cuò)誤字之間存在發(fā)音相同的情況,而字形相近的錯(cuò)誤相對較少。去除錯(cuò)誤識別層及相應(yīng)的損失函數(shù)后,模型的效果明顯有一定的下降,這主要是因?yàn)樵璏LM中只考慮對被掩碼字正確值的判斷,而忽略了對該字是否存在拼寫錯(cuò)誤進(jìn)行識別。因此增加錯(cuò)誤識別和損失函數(shù)后,能夠引導(dǎo)模型進(jìn)一步根據(jù)上下文判斷相應(yīng)的字是否存在拼寫錯(cuò)誤,而不只是單獨(dú)考慮是否語義正確。當(dāng)同時(shí)去除聲調(diào)和錯(cuò)誤識別判斷后,模型的效果下降明顯,甚至比不采用MASC的效果更差。這主要是因?yàn)閟ighan15語料集中的拼寫錯(cuò)誤大多是因?yàn)橥艋蚪舳鸬?,因此單純只考慮N-grams和字形相近信息反而容易在預(yù)訓(xùn)練時(shí)引入噪聲數(shù)據(jù),特別是在預(yù)訓(xùn)練數(shù)據(jù)量比較有限以及訓(xùn)練不充分的情況下。

3.4 實(shí)例分析

下面繼續(xù)以sighan15 語料集中的部分句子為例,分別對BERT 和MascBERT 的判斷結(jié)果進(jìn)行對比分析。測試集中的3個(gè)句子如下。

句子1:這兩問題真的嚴(yán)重,我么(們)受不了。

句子2:可是你現(xiàn)在不在宿舍,所以我留了一枝(紙)條。

句子3:我以前想要高(告)訴你,可是我忘了。我真戶禿(糊涂)。

分別采用預(yù)訓(xùn)練及微調(diào)后的BERT和MascBERT進(jìn)行判斷,結(jié)果如表7所示,其中粗體字表示對應(yīng)錯(cuò)誤的預(yù)測結(jié)果。

表7 常見中文拼寫錯(cuò)誤例子Table 7 Examples of common CSC errors

從表7 可以看出,BERT 的輸出結(jié)果句子在語義上是合理通順的,但不是正確的目標(biāo)句子,特別是預(yù)測的字詞與錯(cuò)誤字詞之間沒有發(fā)音或字形上的相似性信息;而MascBERT 的輸出結(jié)果不僅在句子語義上是合理的,而且能夠更好地學(xué)習(xí)到字之間在發(fā)音上的相似性知識。

4 結(jié)語

針對現(xiàn)有BERT/RoBERTa/MacBERT 等預(yù)訓(xùn)練語言模型的MLM在CSC任務(wù)中面臨預(yù)訓(xùn)練與微調(diào)任務(wù)不一致的問題,提出一種面向中文拼寫糾錯(cuò)的自監(jiān)督預(yù)訓(xùn)練方法MASC,將MLM 中對被掩碼字的正確值預(yù)測轉(zhuǎn)換成對拼寫錯(cuò)誤字的識別和糾正,同時(shí)結(jié)合混淆集引入音調(diào)相同、音調(diào)相近和字形相近等相似性知識。實(shí)驗(yàn)結(jié)果表明,所提出的MASC可在不改變BERT/RoBERTa/MacBERT 等模型結(jié)構(gòu)的前提下,有效地提升預(yù)訓(xùn)練語言模型在下游CSC任務(wù)中的效果。下一步將繼續(xù)研究如何改進(jìn)預(yù)訓(xùn)練任務(wù)中的掩碼策略和候選字生成策略,以提升模型的錯(cuò)誤識別及糾正能力;還將探討如何在下游任務(wù)中進(jìn)一步引入其他相似性知識,以避免依賴于特定的混淆集。

猜你喜歡
拼寫錯(cuò)誤掩碼字形
低面積復(fù)雜度AES低熵掩碼方案的研究
甲骨文“黍”字形義考
甲骨文中的字形直立化二則
復(fù)習(xí)生字字形的方法
初中生英語詞匯學(xué)習(xí)策略探究
贏未來(2018年1期)2018-04-20 07:11:36
基于布爾異或掩碼轉(zhuǎn)算術(shù)加法掩碼的安全設(shè)計(jì)*
從2017年6月四級翻譯閱卷看段落翻譯中的詞匯錯(cuò)誤類型
考試周刊(2017年92期)2018-02-03 01:00:32
添一筆變個(gè)字
由wrong錯(cuò)拼成worry引發(fā)的行動研究
基于掩碼的區(qū)域增長相位解纏方法
景宁| 东港市| 宜丰县| 当涂县| 中宁县| 灌阳县| 霍林郭勒市| 平山县| 定陶县| 广南县| 望都县| 漠河县| 诸城市| 东兰县| 苍梧县| 自治县| 蕉岭县| 彭阳县| 临泽县| 巴塘县| 绵阳市| 潜山县| 舟曲县| 龙海市| 河曲县| 饶平县| 房山区| 岑溪市| 巴林右旗| 灵台县| 徐汇区| 阿克陶县| 磐石市| 寿宁县| 于田县| 双城市| 平遥县| 鄂伦春自治旗| 宁阳县| 涞水县| 岑溪市|