徐久珺,黃國棟,馬傳香,2
(1.湖北大學(xué)計(jì)算機(jī)與信息工程學(xué)院,湖北 武漢 430062;2.湖北省高校人文社科重點(diǎn)研究基地(績效評(píng)價(jià)信息管理研究中心),湖北 武漢 430062)
中文文本自動(dòng)校對(duì)技術(shù)是自然語言處理領(lǐng)域的主要任務(wù)之一,隨著互聯(lián)網(wǎng)技術(shù)的高速發(fā)展和普及,各種文本信息的存儲(chǔ)、傳輸以及檢索發(fā)生了翻天覆地的變化,海量的文本校對(duì)任務(wù)與有限的人力和物力之間的矛盾日益加深[1],研究高效準(zhǔn)確的文本校對(duì)方法已經(jīng)十分迫切.
國外文本校對(duì)研究起步較早,從20世紀(jì)60年代到如今發(fā)展出了以下幾類方法:基于機(jī)器學(xué)習(xí)[2]的方法、基于語義[3]的方法和基于概率統(tǒng)計(jì)[4]的方法.其中基于機(jī)器學(xué)習(xí)的方法主要有決策列表法[5]和貝葉斯分類法[6],這兩種方法需要依靠預(yù)先定義的混淆集,該集合是由容易發(fā)生拼寫錯(cuò)誤的單詞組成,通過學(xué)習(xí)獲得混淆集中每個(gè)詞語上下文特征,然后再判定在特定上下文位置中混淆集中哪個(gè)詞語更為適合.這類方法最大的弊端就是只依賴于混淆集,對(duì)于混淆集中未出現(xiàn)的單詞無法進(jìn)行替換校對(duì).基于語義的方法主要有語義分析方法[7]以及WordNet方法[8],這兩種方法的特點(diǎn)是都不需混淆集,只基于正確的詞語與其周圍詞語滿足一定的聯(lián)系,而錯(cuò)誤的詞語不滿足該聯(lián)系.WordNet方法在該基礎(chǔ)上引入詞與詞之間語義距離的聯(lián)系,如果詞與上下文詞語語義距離過遠(yuǎn),則該詞語是錯(cuò)誤的,但是這類方法的準(zhǔn)確率只有15%~25%.基于概率統(tǒng)計(jì)的方法主要是N-gram統(tǒng)計(jì)語言模型法[9-11],該方法是基于使用大規(guī)模的語料來統(tǒng)計(jì)詞的N-gram序列,通過N-gram概率找到真詞錯(cuò)誤.這類方法的優(yōu)點(diǎn)是不需要依靠預(yù)先定義的混淆集,但是缺點(diǎn)在于需要大規(guī)模的語料來訓(xùn)練N-gram模型,而且無法獲得長距離的詞語之間的語義聯(lián)系.而中文文本校對(duì)沒有像英文文本校對(duì)那樣嚴(yán)格劃分“非詞錯(cuò)誤”與“真詞錯(cuò)誤”,中文文本校對(duì)在進(jìn)行糾錯(cuò)分析時(shí),必須依賴于中文語言理解的相關(guān)技術(shù),通過對(duì)上下文分析進(jìn)行校對(duì),上述一些英文校對(duì)方法對(duì)于中文文本不太適用.
目前,中文文本校對(duì)方面主要分為3種方法,分別是基于上下文語言特征的校對(duì)方法[12]、基于規(guī)則的校對(duì)方法[13],以及基于統(tǒng)計(jì)的校對(duì)方法[14].微軟中國研發(fā)出一種基于多特征的中文文本校對(duì)方法[15],該方法利用上下文特征對(duì)詞語對(duì)應(yīng)混淆集中的詞語進(jìn)行選擇,該方法的困難點(diǎn)在于將中文文本轉(zhuǎn)化為多元特征序列和選擇有效的混淆集.北京師范大學(xué)易蓉湘采用了一種校正文法規(guī)則[13]對(duì)中文文本進(jìn)行校對(duì),該方法利用校正文法規(guī)則把相應(yīng)字詞標(biāo)記為錯(cuò)誤,但是基于有限的規(guī)則,很難預(yù)測(cè)大量的不同類型的錯(cuò)誤文本.張照煌提出一種統(tǒng)計(jì)語言模型評(píng)分的方法[16],該方法通過預(yù)先整理好近似字替換集合,然后替換待校對(duì)句子中的每個(gè)漢字,產(chǎn)生候選字符串,然后使用統(tǒng)計(jì)語言模型對(duì)候選字符串進(jìn)行評(píng)分,通過對(duì)比評(píng)分最高的字符串與代校對(duì)文本的句子,可以發(fā)現(xiàn)錯(cuò)誤之處并提出修改建議,但是這類方法無法對(duì)多字、漏字、易位等錯(cuò)誤進(jìn)行校對(duì).
以上中文文本自動(dòng)校對(duì)方法都是建立在自然語言理解技術(shù)之上的,如基于上下文語言特征、規(guī)則、概率統(tǒng)計(jì)的中文文本校對(duì)方法,這些方法的錯(cuò)誤召回率與準(zhǔn)確率都比較低,給出糾錯(cuò)建議的有效率也比較低,與用戶的使用需求還存在著較大差距.
針對(duì)中文文本中字粒度級(jí)別錯(cuò)誤,本研究提出了一種基于RoBERTa-wwm-ext[17]與混淆集的中文文本校對(duì)模型.該模型通過使用transformer 結(jié)構(gòu)中的encoder部分讀取待校對(duì)文本序列,利用全詞掩碼策略對(duì)文本序列進(jìn)行掩碼,然后通過softmax函數(shù)計(jì)算輸出文本中每個(gè)字的權(quán)重,通過比較該字的權(quán)重與詞匯表中權(quán)重最高值發(fā)現(xiàn)文本序列中的錯(cuò)別字,最后在糾錯(cuò)過程中引入混淆集來利用錯(cuò)誤字詞本身的信息,給出修改意見,完成糾錯(cuò)任務(wù).
1.1 全詞掩碼全詞掩碼[18](whole word masking, wwm),是谷歌在2019年5月發(fā)布的基于BERT的一個(gè)改進(jìn)版本,主要更改了原預(yù)訓(xùn)練階段的訓(xùn)練樣本的生成方式.最初基于WordPiece[19]的分詞方式是把一個(gè)完整詞語切分成若干個(gè)子字詞,在生成訓(xùn)練樣本時(shí),對(duì)這些子字詞進(jìn)行隨機(jī)掩碼.在全詞掩碼模型中,如果一個(gè)完整字詞的部分子字詞被掩碼,則同屬該字詞的其他部分也會(huì)被掩碼.掩碼樣例如表1所示.
表1 掩碼樣例
全詞掩碼(wwm)策略使得預(yù)訓(xùn)練模型在訓(xùn)練掩碼語言模型的過程中使用整個(gè)詞語作為訓(xùn)練目標(biāo),而非使用部分子字詞,從而解決了原生BERT模型掩碼部分子詞的缺點(diǎn),進(jìn)一步提升了BERT模型的中文文本的表示效果.
1.2 混淆集混淆集(confusion set)一般是由容易混淆的音似、形似和義似的漢字組成的集合,以鍵值對(duì)的形式保存,被查的字符為鍵,對(duì)應(yīng)的相似字符為值.近年來,隨著中文文本校對(duì)工作的發(fā)展需要,基于中文漢字的混淆集在中文文本校對(duì)模型中發(fā)揮著越來越重要的作用.
本模型使用的混淆集采取的是基于OCR和ASR方法[20]生成的混淆集.該混淆集的建立過程如下:首先將原始字符集中不常用字符過濾掉,再將需要生成混淆集的字符,轉(zhuǎn)換成100*100像素的圖片,然后使用模糊算法將圖片中的部分區(qū)域隨機(jī)模糊.最后識(shí)別被處理過的字符圖片,一旦識(shí)別結(jié)果與原字符不同,就會(huì)被加入到混淆集.針對(duì)同音字、近音字混淆集,該方法先將文本轉(zhuǎn)換成音頻,再將音頻轉(zhuǎn)換成文本,將轉(zhuǎn)換的文本與原文本進(jìn)行比對(duì),對(duì)生成的文本與原文本有長度、發(fā)音差別較大等情況的句子進(jìn)行丟棄,然后將滿足條件的字符加入混淆集.最后將形近字混淆集與同音字、近音字混淆集合并形成最后的混淆集.混淆集的存儲(chǔ)樣例如表2所示.
1.3 RoBERTa-wwm-ext模型RoBERTa-wwm-ext是一種改進(jìn)的預(yù)訓(xùn)練掩碼語言模型,該模型的結(jié)構(gòu)是根據(jù)BERT[21]模型演變而來.BERT 模型使用多層雙向transformer編碼器作為模型的主要框架,使用MLM(mask language model)和NSP(nextsentence prediction)作為預(yù)訓(xùn)練目標(biāo).transformer是一種注意力機(jī)制,負(fù)責(zé)學(xué)習(xí)文本中單詞之間的上下文聯(lián)系,其結(jié)構(gòu)包括兩個(gè)獨(dú)立的機(jī)制,一個(gè)是encoder負(fù)責(zé)接受文本作為輸入,另一個(gè)是decoder負(fù)責(zé)對(duì)任務(wù)結(jié)果進(jìn)行預(yù)測(cè).MLM模型通過對(duì)輸入語句中隨機(jī) 15%的token進(jìn)行選取,然后在訓(xùn)練中將所選取的token以80%的概率替換為[MASK],10%的概率替換為隨機(jī)的詞語,10%的概率保持原有詞語不變,從而可以提高M(jìn)LM模型對(duì)中文文本特征的泛化能力.NSP一般用于判斷句子 B是否為句子A的下文,從而對(duì)句子之間的上下文關(guān)系進(jìn)行建模.RoBERTa-wwm-ext模型結(jié)構(gòu)如圖1所示.
表2 混淆集存儲(chǔ)樣例
圖1 RoBERTa-wwm-ext模型結(jié)構(gòu)
RoBERTa-wwm-ext集成了RoBERTa與BERT-wwm的優(yōu)點(diǎn),對(duì)兩者進(jìn)行了自然的結(jié)合,該模型主要包含以下特點(diǎn):1)預(yù)訓(xùn)練階段把訓(xùn)練策略轉(zhuǎn)變?yōu)槿~掩碼(wwm)策略,而沒有使用動(dòng)態(tài)掩碼(dynamic masking)策略;2)取消Next Sentence Prediction(NSP)loss,提升了模型的建模效率;3)訓(xùn)練數(shù)據(jù)集的規(guī)模更大,增加更多的訓(xùn)練批次,直接使用max_len=512的訓(xùn)練模式.
針對(duì)現(xiàn)階段中文文本中字粒度級(jí)別的錯(cuò)誤對(duì)象,本研究提出一種基于RoBERTa-wwm-ext與混淆集的中文文本校對(duì)模型,既能發(fā)揮RoBERTa-wwm-ext提取待檢錯(cuò)文本局部特征的優(yōu)勢(shì)與學(xué)習(xí)待檢錯(cuò)文本上下文信息的特點(diǎn),又能利用混淆集提供候選字符給出糾錯(cuò)建議.
基于RoBERTa-wwm-ext與混淆集的中文文本校對(duì)模型的校對(duì)過程分為兩步:
圖2 文本檢錯(cuò)
1)文本檢錯(cuò).首先,對(duì)于中文文本的檢錯(cuò)部分,將輸入的文本進(jìn)行分詞,然后,將分詞后得到的散串依次進(jìn)行遮擋,最后,輸入到RoBERTa-wwm-ext掩碼語言模型中,得到該位置字符的權(quán)重分布.如果待檢查字的權(quán)重與掩碼語言模型詞表中權(quán)重最大值的差值要小于閾值L,則認(rèn)為該位置的字是正確的,否則就是錯(cuò)誤的.以錯(cuò)誤語句“萬市如意”為例,當(dāng)檢查到“市”這個(gè)字符時(shí),文本檢錯(cuò)示意圖如圖2所示.
2)文本糾錯(cuò).對(duì)于中文文本校對(duì)中的糾錯(cuò)部分,由于RoBERTa-wwm-ext模型只能根據(jù)被遮蓋字符的上下文對(duì)其進(jìn)行預(yù)測(cè),沒有考慮到錯(cuò)字本身的信息.因此本研究在RoBERTa-wwm-ext結(jié)構(gòu)的基礎(chǔ)上,引入混淆集,提高模型的校對(duì)效果.具體方法是使用掩碼語言模型計(jì)算“[MASK]”處對(duì)應(yīng)字典的權(quán)重分布,并查找出混淆集中權(quán)重符合條件的字符.如果在混淆集中找到合適的字符,則將該字符作為糾正建議.否則,將權(quán)重分布中的最高值對(duì)應(yīng)的字符作為修改建議.以錯(cuò)誤語句“萬市如意”為例,糾錯(cuò)流程如圖3所示.
圖3 文本糾錯(cuò)
完整的中文文本校對(duì)流程如下所示.
算法:基于RoBERTa-wwm-ext+confusion set的中文文本校對(duì)模型
輸入:中文文本S=W1W2…Wn
輸出:校對(duì)后的中文文本
1. Begin:
2.將輸入的中文文本進(jìn)行分詞,基于wwm策略進(jìn)行掩碼,生成待校對(duì)語句;
3.使用掩碼語言模型RoBERTa-wwm-ext計(jì)算被遮蓋字符Wi處的權(quán)重Uwi以及該位置字符在字典中對(duì)應(yīng)的權(quán)重Udist;
4.Uword=Utop-Uwi//Utop是Udist中權(quán)重最大值
5.if(Uword>L)//L是一個(gè)閾值
Wi是錯(cuò)誤的;
else
Wi是正確的,繼續(xù)檢查下一個(gè)字符;
6.根據(jù)混淆集找到Wi對(duì)應(yīng)的候選字符集dist[Wj]以及對(duì)應(yīng)的權(quán)重分布Uwj;
7.計(jì)算出Uwj中權(quán)重最大值Umax以及對(duì)應(yīng)的候選字符Mmax;
8.Ucor=Utop-Umax;
9. if(Ucor 10.將混淆集中的候選字符Mmax作為替換; 11.else 12.將字典中出現(xiàn)的最大權(quán)重值對(duì)應(yīng)字符Mwi作為糾錯(cuò)結(jié)果; 13.end 3.1 實(shí)驗(yàn)環(huán)境、數(shù)據(jù)集及評(píng)價(jià)指標(biāo)本研究的實(shí)驗(yàn)環(huán)境如下:實(shí)驗(yàn)運(yùn)行操作環(huán)境為windows11操作系統(tǒng),GPU為GeForce RTX 3060,內(nèi)存為DDR4 8GB,深度學(xué)習(xí)框架為pytorch1.4.實(shí)驗(yàn)在公共數(shù)據(jù)集SIGHAN2014[22]與SIGHAN2015[23]上進(jìn)行.使用SIGHAN2014與SIGHAN2015的測(cè)試集作為實(shí)驗(yàn)的測(cè)試語料.SIGHAN2014測(cè)試集中有1 062個(gè)段落,SIGHAN2015測(cè)試集中有1 100個(gè)段落. 本實(shí)驗(yàn)為了對(duì)中文文本校對(duì)模型的校對(duì)效果進(jìn)行評(píng)價(jià),采取召回率(Recall)、準(zhǔn)確率(Precision)和F1值作為平估指標(biāo)對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行評(píng)估.各指標(biāo)定義如下所示: (1) (2) (3) 其中,TP(true positive) 在本實(shí)驗(yàn)中指被模型標(biāo)記為錯(cuò)誤或被糾正正確的數(shù)量;FN(false negative)指實(shí)際存在的錯(cuò)誤被模型標(biāo)記為沒有錯(cuò)誤的數(shù)量;FP(false positive)指實(shí)際不是錯(cuò)誤被模型標(biāo)記為錯(cuò)誤的數(shù)量.Precision表示正確標(biāo)記的錯(cuò)誤量與檢測(cè)出的錯(cuò)誤總數(shù)之比;Recall表示正確標(biāo)記的錯(cuò)誤數(shù)量與實(shí)際錯(cuò)誤總數(shù)之比;F1值用來綜合考慮準(zhǔn)確度和召回率,作為評(píng)價(jià)該模型好壞的指標(biāo). 3.2 實(shí)驗(yàn)設(shè)計(jì)與結(jié)果分析為驗(yàn)證本文中提出的基于RoBERTa-wwm-ext與混淆集的中文文本校對(duì)模型有效性,在數(shù)據(jù)集SIGHAN2014與SIGHAN2015上,基于N-gram、Bert-wwm、Ernie、RoBERTa-wwm-ext+Confusion Set等4個(gè)文本校對(duì)模型進(jìn)行實(shí)驗(yàn).實(shí)驗(yàn)結(jié)果如表3所示. 表3 文本校對(duì)實(shí)驗(yàn)結(jié)果 實(shí)驗(yàn)結(jié)果表明,在SIGHAN2014數(shù)據(jù)集中,基于N-gram的中文文本校對(duì)模型的準(zhǔn)確度與召回率極為不平衡,可能是因?yàn)槭芟抻贜-gram模型自身的語言建模能力,導(dǎo)致對(duì)文本的泛化能力較弱.基于Bert-wwm與Ernie的中文文本校對(duì)模型的準(zhǔn)確度與召回率相近,均在0.6以上,而基于RoBERTa-wwm-ext與混淆集的文本校對(duì)模型的召回率與準(zhǔn)確度都達(dá)到了0.65以上,相較其余3個(gè)文本校對(duì)模型表現(xiàn)較好.同一個(gè)中文文本校對(duì)模型在不同的數(shù)據(jù)集下,有不同的表現(xiàn),在SIGHAN2015數(shù)據(jù)集中,基于Bert-wwm與Ernie的中文文本校對(duì)模型的F1值相接近,而基于RoBERTa-wwm-ext與混淆集的中文文本校對(duì)模型對(duì)比其他三者表現(xiàn)更好,F1值在SIGHAN2014與SIGHAN2015數(shù)據(jù)集上均達(dá)到了0.69以上. 由于目前公開的中文文本字詞錯(cuò)誤檢測(cè)的語料較少,本實(shí)驗(yàn)主要依賴于SIGHAN2014、SIGHAN2015中文拼寫檢查任務(wù)中的訓(xùn)練集,訓(xùn)練語料規(guī)模不大.但是,中文文本校對(duì)模型對(duì)訓(xùn)練語料的規(guī)模要求較高,從而限制了基于RoBERTa-wwm-ext與混淆集的中文文本校對(duì)模型在測(cè)試語料中準(zhǔn)確率、召回率的進(jìn)一步提升. 本研究針對(duì)中文文本字詞校對(duì)的特點(diǎn),提出一種基于RoBERTa-wwm-ext與混淆集的中文文本校對(duì)模型,該模型通過RoBERTa-wwm-ext模型深入學(xué)習(xí)文本的局部特征,然后基于transformer層獲取文本上下文信息,最后基于混淆集提供的候選字符信息給出修改建議完成文本校對(duì).在SIGHAN2014、SIGHAN2015中文拼寫檢查任務(wù)數(shù)據(jù)集上設(shè)計(jì)中文文本校對(duì)實(shí)驗(yàn),對(duì)比模型性能.實(shí)驗(yàn)結(jié)果表明本文提出的中文文本校對(duì)模型的文本校對(duì)效果相較其他傳統(tǒng)文本校對(duì)模型,在準(zhǔn)確率、召回率和F1值上有較大的提升,能有效解決字粒度級(jí)別的中文文本校對(duì)問題.下一步工作將結(jié)合以詞為單位的掩碼語言模型來做詞粒度的文本校對(duì),并在其他領(lǐng)域的大型語料中進(jìn)行繼續(xù)預(yù)訓(xùn)練來提高文本校對(duì)效果.3 實(shí)驗(yàn)分析
4 結(jié)束語