華果才讓,班瑪寶,桑杰端珠,才讓加*
(1.青海師范大學(xué)計(jì)算機(jī)學(xué)院,青海 西寧810016;2.青海省藏文信息處理與機(jī)器翻譯重點(diǎn)實(shí)驗(yàn)室,青海 西寧810008;3.青海省藏文信息處理工程技術(shù)研究中心,青海 西寧810008;4.藏語智能信息處理及應(yīng)用國家重點(diǎn)實(shí)驗(yàn)室,青海 西寧810008)
隨著信息技術(shù)的發(fā)展和時(shí)代的需求,語法自動(dòng)糾錯(cuò)(GEC)研究取得了一定的進(jìn)展,英漢文語法自動(dòng)糾錯(cuò)方法有規(guī)則法、統(tǒng)計(jì)法及神經(jīng)網(wǎng)絡(luò)法等,研究技術(shù)趨于成熟,基本滿足用戶的實(shí)用需求。目前藏文語法自動(dòng)糾錯(cuò)方法主要以傳統(tǒng)的機(jī)器學(xué)習(xí)方法為主,需要大量的人工特征工程和先驗(yàn)語法知識(shí),費(fèi)時(shí)費(fèi)力且效果欠佳。有關(guān)藏文語法糾錯(cuò)方面的研究只有一些零散的文獻(xiàn)報(bào)道,研究技術(shù)尚不成熟,有待進(jìn)一步通過借鑒英漢文自動(dòng)糾錯(cuò)的技術(shù)及理論,結(jié)合藏文自身的語法結(jié)構(gòu)和特點(diǎn),研究基于神經(jīng)網(wǎng)路方法的藏文語法自動(dòng)糾錯(cuò)技術(shù)迫在眉睫。
機(jī)器翻譯是一種旨在提高文章翻譯速度,降低各種成本的工具。目前,隨著自然語言處理的發(fā)展及社會(huì)需求,機(jī)器翻譯技術(shù)得到了快速的發(fā)展。英漢文等語言的機(jī)器翻譯技術(shù)達(dá)到了可實(shí)用水平。藏文機(jī)器翻譯通過借鑒英漢文等比較成熟的機(jī)器翻譯理論和技術(shù),雖然取得了一定的研究成果,但未達(dá)到實(shí)用需求,所以,通過分析機(jī)器翻譯結(jié)果(即譯文),研究提高機(jī)器翻譯效果的方法非常重要。在漢藏機(jī)器翻譯研究和應(yīng)用中,因藏文虛詞在漢文中沒有與之對應(yīng)的語義單元,導(dǎo)致利用機(jī)器翻譯將漢文翻譯成藏文時(shí),大量譯文中出現(xiàn)了虛詞位置錯(cuò)誤、虛詞替用錯(cuò)誤和虛詞誤用等現(xiàn)象,進(jìn)而破壞了譯文的語法結(jié)構(gòu),影響了譯文質(zhì)量。虛詞又是藏文語義表達(dá)的重要語法單元,在藏文句子中出現(xiàn)的頻率較高,使得漢藏機(jī)器翻譯在處理藏文虛詞錯(cuò)誤方面遇到了挑戰(zhàn)。因此,通過詳細(xì)分析機(jī)器翻譯結(jié)果中的藏文虛詞錯(cuò)誤,研究其自動(dòng)糾錯(cuò)技術(shù)是一種提高漢藏機(jī)器翻譯性能的有效策略。
早期的語法糾錯(cuò)方法旨在針對特定的錯(cuò)誤類型構(gòu)建分類器或基于規(guī)則的系統(tǒng)。統(tǒng)計(jì)機(jī)器翻譯(SMT)方法在自動(dòng)語法糾錯(cuò)領(lǐng)域中已經(jīng)有了很好的運(yùn)用。從CoNLL-2013語法錯(cuò)誤共享任務(wù)開始[1],英語GEC研究已經(jīng)非常熱潮,CoNLL-2013,2014共同任務(wù)的目標(biāo)是評估自動(dòng)糾正英語文章中語法錯(cuò)誤的計(jì)算方法。Felice等人[2]將基于規(guī)則的方法、統(tǒng)計(jì)機(jī)器翻譯模型和語言模型三者相結(jié)合,進(jìn)一步提高了系統(tǒng)的糾錯(cuò)效果。為提高英漢機(jī)器翻譯質(zhì)量和效率提供了語言分析基礎(chǔ)。包凱[3]研究了谷歌翻譯錯(cuò)誤類型及糾錯(cuò)方法等。CCF國際自然語言處理與中文計(jì)算會(huì)議 (NLPCC) 在2018年的競賽項(xiàng)目中,首次增加了中文語法錯(cuò)誤修正任務(wù)[4],因此給研究中文自動(dòng)糾錯(cuò)的人員們搭建了一個(gè)很好的平臺(tái)。阿里巴巴團(tuán)隊(duì)[5]提出了一種將統(tǒng)計(jì)模型和神經(jīng)模型結(jié)合起來用于中文語法糾錯(cuò)(CGED)任務(wù)的方法,該模型有校正模塊和組合模塊。在校正模塊中,兩個(gè)統(tǒng)計(jì)模型和一個(gè)神經(jīng)模型為每個(gè)輸入生成校正候選句子。在組合模塊中,以分層的方式實(shí)現(xiàn),首先在較低的層次上組合模型,這意味著訓(xùn)練了幾個(gè)具有不同配置的模型并將它們組合起來,然后把這兩個(gè)統(tǒng)計(jì)模型和一個(gè)更高層次的神經(jīng)模型結(jié)合起來產(chǎn)生最后輸出。2018年中文語法糾錯(cuò)大賽中此成果獲得了冠軍。因此近期CGED任務(wù)取得了一些列的進(jìn)展。
目前,隨著藏文自然語言處理技術(shù)的發(fā)展,很多學(xué)者對藏文拼寫檢查方法進(jìn)行了研究,并取得了較好的拼寫檢查效果。常見的藏文拼寫檢查方法有基于規(guī)則、統(tǒng)計(jì)及神經(jīng)網(wǎng)絡(luò)等。扎西次仁[6]等在介紹藏文及其組成構(gòu)件之的基礎(chǔ)上,歸納了藏文的拼寫規(guī)則和虛詞使用法則,同時(shí)創(chuàng)建了一個(gè)藏文音節(jié)庫和一個(gè)藏文詞表。根據(jù)藏文的拼寫規(guī)則及虛詞使用法則等,設(shè)計(jì)并開發(fā)了一個(gè)基于DOS的藏文拼寫檢查系統(tǒng)。珠杰[7]等借助藏文文法規(guī)則和藏漢大詞典,建立了現(xiàn)代藏文音節(jié)規(guī)則庫,并分析了可能的應(yīng)用領(lǐng)域。尼瑪扎西[8]提出了藏文拼寫形式語言與自動(dòng)機(jī)理論和方法,該理論和方法通過構(gòu)建藏文拼寫結(jié)構(gòu)的形式文法及其自動(dòng)機(jī),實(shí)現(xiàn)了對藏文拼寫的高效檢查。才智杰[9]等通過分析藏文文法中的構(gòu)字規(guī)則,利用藏文字向量模型將藏文字用計(jì)算機(jī)易于操作的數(shù)字 (向量) 表示,建立了基于規(guī)則約束的藏文字向量模型,進(jìn)而設(shè)計(jì)了該模型下的藏文字拼寫檢查模型及算法,經(jīng)測試算法拼寫檢查的平均準(zhǔn)確率達(dá)到了9.995%。 色差甲[10]等針對藏文音節(jié)的結(jié)構(gòu)提出了音節(jié)向量化的方法,構(gòu)建了適合于藏文音節(jié)拼寫檢查的CNN模型,經(jīng)實(shí)驗(yàn),模型的拼寫檢查正確率、召回率以及F值分別達(dá)到了99.52%、99.30%和99.41%。
以上研究都是針對藏文拼寫檢查展開的,為藏文語法糾錯(cuò)等下游任務(wù)的研究奠定了基礎(chǔ),提供了參考依據(jù),但藏文語法糾錯(cuò)研究才剛剛起步,只有一些零散的文獻(xiàn)報(bào)道,尤其是針對藏文虛詞糾錯(cuò)的研究未見文獻(xiàn)報(bào)道。在漢藏機(jī)器翻譯研究和應(yīng)用中,由于在多數(shù)情形下目標(biāo)語言藏文中的虛詞在源語言漢文中沒有與之對應(yīng)的語義單元,造成漢藏機(jī)器翻譯建模中的諸多困難,即便在當(dāng)前主流的神經(jīng)網(wǎng)絡(luò)機(jī)器翻譯構(gòu)架下,漢藏機(jī)器翻譯模型仍然在正確處理藏文虛詞方面遇到了挑戰(zhàn)。因此本文在分析和歸納漢藏機(jī)器翻中的藏文虛詞錯(cuò)誤類型基礎(chǔ)上,預(yù)訓(xùn)練了Bert藏文語言模型,然后針對性的對其進(jìn)行了微調(diào),構(gòu)建了一種面向漢藏機(jī)器翻譯后處理的Bert藏文虛詞糾錯(cuò)模型。論文組織結(jié)構(gòu)如下:第1節(jié)是引言及介紹了語法糾錯(cuò)的相關(guān)研究;第2節(jié)分析并歸納了漢藏機(jī)器翻譯中的藏文虛詞錯(cuò)誤及類型;第3節(jié)介紹了基于Bert的藏文虛詞糾錯(cuò)模型;第4節(jié)是實(shí)驗(yàn)及結(jié)果分析;第5節(jié)是結(jié)束語。
虛詞是藏文語義表達(dá)的重要語法單元。藏文虛詞包括格助詞和接續(xù)詞等,當(dāng)單獨(dú)使用時(shí),沒有具體的意義,當(dāng)與實(shí)詞搭配使用時(shí)才有意義。虛詞在藏文中占具一定的比例,經(jīng)統(tǒng)計(jì),本文實(shí)驗(yàn)使用的96.7762萬條句子中有17376655個(gè)音節(jié),其中含2481894個(gè)格助詞和1656570個(gè)接續(xù)詞,分別占總文本的14.28%和9.53%,可見虛詞在藏文文本中的使用率很高。
根據(jù)虛詞的添加規(guī)則是否受限于前一個(gè)音節(jié)的后加字,亦可分為規(guī)則虛詞和不規(guī)則虛詞兩類。藏文虛詞的構(gòu)成可以分為輔音與元音的組合、輔音與后加字的組合和單獨(dú)的輔音等三類,詳見表1。
表1 藏文虛詞構(gòu)成類型
本文以漢文版人民網(wǎng)新聞作為翻譯樣本,使用目前國內(nèi)較常用的兩款漢藏機(jī)器翻譯軟件將漢文翻譯成了藏文,然后以對應(yīng)的藏文版人民網(wǎng)新聞為參照樣本,分析和歸納了翻譯結(jié)果中的藏文虛詞錯(cuò)誤類型,錯(cuò)誤的類型有:虛詞位置錯(cuò)誤、虛詞替用錯(cuò)誤和虛詞誤用等錯(cuò)誤類型。機(jī)器譯文質(zhì)量評估的方法可分為人工評估法和自動(dòng)評估法[11],本文采取人工評估法,依據(jù)藏文虛詞的使用規(guī)則,對譯文進(jìn)行了詳細(xì)的分析,歸納了漢藏機(jī)器翻譯結(jié)果中的虛詞錯(cuò)誤類型。漢藏機(jī)器翻譯的藏文虛詞錯(cuò)誤實(shí)例見表2。
表2 漢藏機(jī)器翻譯中藏文虛詞錯(cuò)誤實(shí)例
Google于2018 年發(fā)布的Bert[12]模型,是一種基于自編碼器構(gòu)架利用雙向Transformer[13i]學(xué)習(xí)能力的一種強(qiáng)大的語言模型,含兩個(gè)預(yù)訓(xùn)練任務(wù),分別是遮蔽語言模型(Masked LM)和下一句預(yù)測(Next Sentence Prediction)。文中以獲得能夠刻畫語言本質(zhì)的文本語義表示后針對具體的NLP任務(wù)作微調(diào)為目的,使用大規(guī)模的音節(jié)及無標(biāo)記藏文文本語料對遮蔽語言模型進(jìn)行了預(yù)訓(xùn)練,即Bert藏文預(yù)訓(xùn)練模型。
本文在預(yù)訓(xùn)練Bert藏文模型時(shí),將語料中15%的藏文音節(jié)替換成了[MASK](占位符),模型需要學(xué)會(huì)根據(jù)[MASK]的上下文預(yù)測被替換的音節(jié)。其中,將10%的[MASK]隨機(jī)替換成了另一個(gè)標(biāo)記,還有10%的[MASK]進(jìn)行了還原處理,其余80%的[MASK]保留了此占位符。本文中MASK的任務(wù)可描述為:給定一句話,隨機(jī)抹去這句話中的一個(gè)或幾個(gè)音節(jié),要求根據(jù)剩余音節(jié)預(yù)測被抹去的幾個(gè)音節(jié)分別是什么,其具體過程如下:
通過上述過程,可以完成Bert藏文語言模型的預(yù)訓(xùn)練,Bert藏文預(yù)訓(xùn)練模型見圖1。
圖1 Bert藏文預(yù)訓(xùn)練模型
從圖1中可以看出,Bert藏文預(yù)訓(xùn)練模型的核心模塊是Transformer編碼器。其輸入包括詞嵌入、位置信息和句子前后關(guān)系等,而且多頭自注意力機(jī)制(Multi-head self-attention)又是Transformer的關(guān)鍵部分,所以能夠更直接地捕捉上下文之間的語法結(jié)構(gòu)關(guān)系以及位置信息等,從而使模型更具完整性和代表性。其中,多頭自注意力機(jī)制是自注意力機(jī)制的一個(gè)衍生機(jī)制。指首先對Query,Key,Value進(jìn)行不同的線性變換,再計(jì)算相似度,這個(gè)過程重復(fù)做h次,稱為多頭,每次線性變換所使用的參數(shù)矩陣W都不相同,然后將h次的結(jié)果拼接起來再進(jìn)行線性變換作為多頭自注意力機(jī)制的結(jié)果。多頭自注意力機(jī)制進(jìn)行了h次線性映射和相似度計(jì)算,這樣可以允許模型在不同的表示子空間里學(xué)習(xí)到相關(guān)的信息。這一過程可以用以下公式進(jìn)行描述:
(1)
MultiHead(Q,K,V)=Conat(head1,…,headh)W0
(2)
該機(jī)制的目的是學(xué)習(xí)序列內(nèi)部元素之間的依賴關(guān)系,抽取序列的內(nèi)部結(jié)構(gòu)特征。因?yàn)樗苯觾蓛杀容^序列中的元素,所以能夠一次性地捕捉到全局的聯(lián)系,解決了長距離依賴問題。此外這種機(jī)制由于沒有卷積和遞歸的約束,非常適合于進(jìn)行并行計(jì)算,相比之下,RNN需要一步步遞推才能捕捉到,并且對于長距離依賴很難捕捉。而CNN則需要通過堆疊卷積層來擴(kuò)大感受野。
Bert本身就具備一定的糾錯(cuò)能力,所以本文在大規(guī)模無標(biāo)記數(shù)據(jù)集上對Bert藏文語言模型進(jìn)行預(yù)訓(xùn)練的基礎(chǔ)上,針對藏文虛詞糾錯(cuò)問題,通過構(gòu)建藏文虛詞混淆集,生成了有標(biāo)簽的藏文虛詞錯(cuò)誤數(shù)據(jù)集,然后通過利用[MASK]占位符遮蔽這個(gè)數(shù)據(jù)集中帶標(biāo)簽的藏文錯(cuò)誤虛詞,對Bert進(jìn)行了針對性的微調(diào),得到了基于Bert的藏文虛詞糾錯(cuò)網(wǎng)絡(luò),即Bert藏文虛詞糾錯(cuò)模型。在這種端到端的連接訓(xùn)練中,利用[MASK]占位符遮蔽藏文虛詞的方法,能夠迫使模型為了糾正藏文虛詞錯(cuò)誤而學(xué)習(xí)到更多、更正確的上下文信息,從而使微調(diào)更具針對性。最后用此模型糾正了漢藏機(jī)器翻譯譯文中的藏文虛詞翻譯錯(cuò)誤,提高了譯文的質(zhì)量。Bert藏文虛詞糾錯(cuò)模型見圖2。
圖2 Bert藏文虛詞糾錯(cuò)模型
圖2中,輸入部分MASK對應(yīng)的是藏文虛詞,既包括正確虛詞的遮蔽,也包括虛詞位置錯(cuò)誤、虛詞替用錯(cuò)誤及虛詞誤用的遮蔽。輸出為MASK對應(yīng)的糾錯(cuò)結(jié)果。
實(shí)驗(yàn)時(shí),對本課題組從人民網(wǎng)(http://tibet.people.com.cn)、中國藏族網(wǎng)通(https://www.tibet3.com)、瓊邁藏族文學(xué)網(wǎng)(http://www.Tibetcm.com)、云藏(https://www.yongzin.com)和藏文古典文獻(xiàn)等通過網(wǎng)絡(luò)爬蟲、文字識(shí)別和人工錄入等方式采集的規(guī)模為3.3G純藏文數(shù)據(jù)進(jìn)行了預(yù)處理。預(yù)處理包括句子切分、句子篩選和音節(jié)切分等三個(gè)步驟。第一步:以動(dòng)詞、形容詞和終結(jié)詞等謂語加單垂符或雙垂直符為切分點(diǎn),對文本進(jìn)行了粗略的切分,即句子切分。第二部:只保留了音節(jié)長度為10到50的句子,即句子篩選。第三部:按音節(jié)對收集的句子進(jìn)行了切分,即音節(jié)切分。經(jīng)預(yù)處理后,目前共整理了206萬條藏文句子。預(yù)訓(xùn)練時(shí),將206萬條藏文句子按8:1:1的比例分成了訓(xùn)練集、驗(yàn)證集和測試集,對Bert藏文語言模型進(jìn)行了預(yù)訓(xùn)練。微調(diào)時(shí),首先以藏文虛詞詞典匹配的方式從206萬條藏文句子中抽取了含藏文虛詞的96.7762萬條句子。然后使用本文構(gòu)建的藏文虛詞混淆集隨機(jī)替換了96.7762萬條句子中30%的藏文虛詞,并將其統(tǒng)一標(biāo)記成了[MASK],80%的藏文虛詞不做任何處理。最后以此為訓(xùn)練數(shù)據(jù)對Bert藏文虛詞糾錯(cuò)模型進(jìn)行了微調(diào)。測試時(shí),為了考查本文模型的效果。使用國內(nèi)兩款常用的漢藏機(jī)器翻譯系統(tǒng),將包含新聞、法律和文學(xué)等題材的3.0502萬條漢文句子翻譯成了藏文。其中,錯(cuò)誤類型有虛詞位置錯(cuò)誤、虛詞替用錯(cuò)誤和虛詞誤用等,以此作為測試集驗(yàn)證了本文模型的性能。詳細(xì)統(tǒng)計(jì)見表3。
表3 實(shí)驗(yàn)數(shù)據(jù)
Bert模型的預(yù)訓(xùn)練和微調(diào)參數(shù)應(yīng)保持一致,本文設(shè)置的網(wǎng)絡(luò)層數(shù)為6,多頭自注意力層數(shù)為4,隱藏層的單元維度為256,預(yù)訓(xùn)練的詞向量維度為256,最大序列長度為150,學(xué)習(xí)率為0.00006,優(yōu)化算法是Adam,激活函數(shù)為sigmoid。Bert藏文虛詞糾錯(cuò)模型參數(shù)的具體設(shè)置見表4。
表4 Bert藏文虛詞糾錯(cuò)模型參數(shù)
本文評價(jià)指標(biāo)采用了自然與語言處理領(lǐng)域常用的準(zhǔn)確率(Precision,P)、召回率(Recall,R)和調(diào)和平均數(shù)F1值(F1-score)。其計(jì)算和方式如下:
(3)
(4)
(5)
為了考查一種面向漢藏機(jī)器翻譯后處理的Bert藏文虛詞糾錯(cuò)模型性能,通過設(shè)計(jì)兩組對比實(shí)驗(yàn),驗(yàn)證了本文方法的優(yōu)越性和有效性。經(jīng)查閱文獻(xiàn)和資料,未見有關(guān)藏文虛詞糾錯(cuò)方面的文獻(xiàn)報(bào)道,沒有相關(guān)的基線可作為參照,因此為了驗(yàn)證本文方法的有效性,設(shè)定了兩組基線方法,分別為LSTM和Bi-LSTM。另外以驗(yàn)證本文方法的優(yōu)越性為目的,分別考查了未進(jìn)行Bert預(yù)訓(xùn)練時(shí)和進(jìn)行Bert預(yù)訓(xùn)練時(shí)的藏文虛詞糾錯(cuò)性能?;€模型及本文方法的糾錯(cuò)實(shí)驗(yàn)結(jié)果見表5。
表5 實(shí)驗(yàn)結(jié)果對比
根據(jù)表5列出的實(shí)驗(yàn)結(jié)果可知,本文方法的藏文虛詞糾錯(cuò)效果明顯優(yōu)于基線模型,F(xiàn)1值比LSTM和Bi-LSTM分別高了2.99個(gè)百分點(diǎn)和2.53個(gè)百分點(diǎn),驗(yàn)證了本文方法的有效性。另外還可以看出,進(jìn)行預(yù)訓(xùn)練時(shí)的藏文虛詞糾錯(cuò)準(zhǔn)確率、召回率和F1值分別達(dá)到了95.64%,93.27%,94.44%,相較沒有預(yù)訓(xùn)練的Bert模型,藏文虛詞糾錯(cuò)效果也有一定的提高,F(xiàn)1值提高了1.3個(gè)百分點(diǎn),表明采用預(yù)訓(xùn)練的方式對Bert進(jìn)行微調(diào),Bert藏文虛詞糾錯(cuò)的性能更佳。
實(shí)驗(yàn)結(jié)果可以觀察到一個(gè)現(xiàn)象,Bert藏文虛詞糾錯(cuò)模型的糾錯(cuò)能力不是足夠高,其主要原因有二。一是因?yàn)樵陬A(yù)訓(xùn)練Bert藏文語言模型時(shí)只遮蔽了15%的藏文音節(jié),且遮蔽掉的不一定是藏文虛詞,因此它只學(xué)習(xí)到遮蔽音節(jié)的分布,而且會(huì)盡量選擇不做任何糾正。所以在一定程度上影響了藏文虛詞糾錯(cuò)效果。二是因?yàn)樵撃P碗m然善于處理等長的序列任務(wù),但不等長的序列任務(wù)處理效率不是很理想,如藏文虛詞的冗余、虛詞缺失等錯(cuò)誤無法糾正。
另外,為了觀察預(yù)訓(xùn)練模型對藏文虛詞糾錯(cuò)性能的影響變化趨勢,以藏文虛詞糾錯(cuò)任務(wù)為示例繪制了開發(fā)集在未進(jìn)行預(yù)訓(xùn)練和進(jìn)行預(yù)訓(xùn)練時(shí)的準(zhǔn)確率變化曲線。準(zhǔn)確率變化曲線見圖3。
圖3 準(zhǔn)確率變化曲線圖
從圖3中可以看出,預(yù)訓(xùn)練模型更容易收斂,藏文虛詞糾錯(cuò)準(zhǔn)確率明顯高于未進(jìn)行預(yù)訓(xùn)練的模型,而且在比較短的時(shí)間內(nèi)能夠達(dá)到?jīng)]有預(yù)訓(xùn)練模型的結(jié)果。
藏文虛詞錯(cuò)誤的糾正是漢藏機(jī)器翻譯中的一項(xiàng)關(guān)鍵任務(wù),本文在分析和歸納漢藏機(jī)器翻中藏文虛詞錯(cuò)誤類型的基礎(chǔ)上,通過預(yù)訓(xùn)練Bert藏文語言模型,并進(jìn)行針對性的微調(diào),構(gòu)建了一種面向漢藏機(jī)器翻譯后處理的Bert藏文虛詞糾錯(cuò)模型。經(jīng)實(shí)驗(yàn),該模型的藏文虛詞糾錯(cuò)準(zhǔn)確率、召回率和F1值分別達(dá)到了95.64%,93.27%,94.44%,表明此模型取得了較好的效果。為了進(jìn)一步提高藏文虛詞的糾錯(cuò)性能,將嘗試首先利用某種檢錯(cuò)網(wǎng)絡(luò)檢測出藏文虛詞錯(cuò)誤,然后遮蔽掉這些檢測出來的錯(cuò)誤虛詞,對Bert進(jìn)行預(yù)訓(xùn)練和微調(diào),使得訓(xùn)練的模型更具針對性,從而達(dá)到進(jìn)一步提高藏文虛詞糾錯(cuò)性能的目標(biāo)。