伍瑤瑤 黃瑞章 白瑞娜 曹軍航 趙建輝
隨著社會發(fā)展,涌現(xiàn)出許多與中文文本編輯相關(guān)的工作,如企業(yè)的合同擬定、公務(wù)員的公文撰寫及公關(guān)聲明撰寫等.如果在這類文本中出現(xiàn)錯別字,會造成不可估量的損失和影響.與自然語言處理(Natural Language Processing, NLP)相關(guān)的研究所需的語義信息,依賴于BERT(Bidirectional Encoder Representations from Transformers)[1]、GPT(Genera-tive Pretrained Transformer)[2]和XLNet[3]等對正確文本的語義理解.如果僅通過人工校對不同場景下文本中出現(xiàn)的拼寫錯誤,會降低工作效率,而文本糾錯任務(wù)在當(dāng)前工作和科研中顯得尤為重要.當(dāng)前文本生成方式主要有拼音輸入、語音輸入和掃描輸入(Optical Character Recognition, OCR)三種,由這些方式生成的文本容易出現(xiàn)與拼音或字形相關(guān)的拼寫錯誤.
目前,中文拼寫糾錯(Chinese Spelling Error Co-rrection, CSC)是一項具有挑戰(zhàn)性的任務(wù).由于對糾錯任務(wù)的迫切需要,中文拼寫糾錯的研究經(jīng)過從基于規(guī)則和統(tǒng)計的方法到基于機(jī)器學(xué)習(xí)和深度學(xué)習(xí)方法的不斷發(fā)展.Chang等[4]和Chu等[5]針對中文文本中的不同錯誤設(shè)計不同的糾錯規(guī)則,但是基于規(guī)則或統(tǒng)計的方法缺乏對句子上下文的語義理解.Wang等[6]引入的條件隨機(jī)場(Conditional Random Field, CRF)和Zhang等[7]引入的隱馬爾可夫模型則與機(jī)器學(xué)習(xí)相關(guān).Wang等[8]將中文拼寫糾錯任務(wù)看作一個序列標(biāo)注問題,并使用Bi-LSTM(Bidi-rectional Long Short-Term Memory)預(yù)測句子中的正確字符,由此說明深度學(xué)習(xí)算法在中文拼寫糾錯領(lǐng)域的有效性.
隨著大型預(yù)訓(xùn)練語言模型取得成功,各種相關(guān)的拼寫糾錯方法相繼出現(xiàn).Zhang等[9]提出Soft-Masked BERT,利用錯誤檢測和錯誤糾錯兩階段式的級聯(lián)架構(gòu)進(jìn)行中文拼寫糾錯.Wang等[10]提出自回歸指針網(wǎng)絡(luò),可從混淆集而不是整個詞匯表中生成一個漢字.針對混淆集中候選字符的選擇方式,Cheng等[11]提出SpellGCN(Spelling Check Convo-lutional Graph Network),將圖卷積網(wǎng)絡(luò)在音近和形近混淆集上對字符相似度進(jìn)行建模.但是,因為混淆集不能涵蓋所有的相似關(guān)系,所以文字特征嵌入也成為一種提高CSC性能的方式.Huang等[12]提出PHMOSpell(Phonological and Morphological Knowle-dge Guided Chinese Spelling Check),可分別從發(fā)音和視覺兩個模態(tài)獲得漢字的拼音和字形表示,以此提升CSC在多模態(tài)下的性能.Wang等[13]提出DCN(Dynamic Connected Networks),先通過拼音增強候選漢字生成器生成候選漢字,再基于注意力網(wǎng)絡(luò)對兩個相鄰漢字之間的依賴關(guān)系進(jìn)行建模.Xu等[14]直接利用漢字的多模態(tài)信息,提出REALISE(Read, Listen, and See),捕獲漢字的語義、語音和圖形信息以及有選擇地融合這些信息,用于預(yù)測句子.Li等[15]提出LEAD(CSC Models to Learn Heterogeneous Knowledge from the Dictionary),除了引入語音和視覺方面的特征以外,還將文字的字典解釋含義融入CSC任務(wù)的參考信息中.根據(jù)字典中字符語音、字形和定義的知識構(gòu)建正樣本和負(fù)樣本,再采用統(tǒng)一的基于對比學(xué)習(xí)的訓(xùn)練方案對CSC的表示進(jìn)行細(xì)化.
隨著中文拼寫糾錯模型性能的不斷突破以及對中文文本特征嵌入的不斷鉆研,為了進(jìn)一步提升模型性能,模型優(yōu)化成為一種常見的方式.Li等[16]提出能不斷識別模型的弱點并產(chǎn)生更有價值訓(xùn)練實例的方法,不斷生成對抗性示例添加到訓(xùn)練集中.Li等[17]提出ECOPO(Error-Driven Contrastive Probabi-lity Optimization),改進(jìn)預(yù)訓(xùn)練語言模型的知識表示,并引導(dǎo)模型通過錯誤驅(qū)動的方式預(yù)測候選字的特征.
綜上所述,現(xiàn)有的中文拼寫糾錯模型大多是單輸入模型,獲得的語義信息僅來自單個句子.由于中文文本構(gòu)成的復(fù)雜性(通常由字組詞到造句成段),在實際糾錯任務(wù)中,單輸入模型在學(xué)習(xí)句子語義時容易被句子中的錯誤字符誤導(dǎo).學(xué)到的語義信息具有局限性并缺乏可靠性,最終導(dǎo)致其不能完全糾正句子中的錯誤或過度糾正句子,即將錯誤句子預(yù)測成一個其認(rèn)為更正確但是與目標(biāo)不符的句子.此外,序列到序列的糾錯模型相當(dāng)于執(zhí)行從錯誤句子到正確句子的翻譯任務(wù).在此過程中模型平等關(guān)注句子中的每個字符,當(dāng)句子中存在多個錯誤字符時,由于輸入句子的語義信息缺乏可靠性,僅依靠模型進(jìn)行一次糾錯,難以將句子中的錯誤字符完全糾正,糾錯結(jié)果缺乏完整性.因此,在模型執(zhí)行糾錯任務(wù)時,為模型提供更充分、可靠的語義信息,使模型能進(jìn)行完善的語義理解并避免過度糾正句子,提升糾錯結(jié)果的完整性是當(dāng)前亟待解決的問題.
本文提出基于對比優(yōu)化的多輸入融合拼寫糾錯模型(Multi-input Fusion Spelling Error Correction Mo-del Based on Contrast Optimization, MIF-SECCO),包含多輸入語義學(xué)習(xí)階段和對比學(xué)習(xí)驅(qū)動的語義融合糾錯階段.在多輸入語義學(xué)習(xí)階段,首先集成多個現(xiàn)有的單輸入模型,有效利用不同模型的糾錯特性,獲得多個語義之間互補的初步糾錯結(jié)果,初步降低錯誤字符對句子語義的誤導(dǎo).然后使用Transformer[18]對多個糾錯結(jié)果進(jìn)行語義學(xué)習(xí),為MIF-SECCO執(zhí)行多語義融合糾錯任務(wù)提供多個可靠的互補語義信息.在對比學(xué)習(xí)驅(qū)動的語義融合糾錯階段,首先基于對比學(xué)習(xí)的方法,將語義學(xué)習(xí)后的句子語義表示與其對應(yīng)的正確句子語義表示進(jìn)行對比學(xué)習(xí)優(yōu)化,最大化它們語義之間的相似性,在克服錯誤字符語義誤導(dǎo)的同時緩解MIF-SECCO對錯誤句子的過度糾正.最后融合前序多個優(yōu)化后的互補語義,對錯誤句子進(jìn)行再糾錯,進(jìn)一步保證糾錯的完整性.此外,多語義融合改善單輸入模型語義局限性和缺乏可靠性的問題,進(jìn)一步提升糾錯性能.在公開的錯別字?jǐn)?shù)據(jù)集SIGHAN13、SIGHAN14、SIGHAN15上的實驗表明,MIF-SECCO可有效提升糾錯性能.
本文提出基于對比優(yōu)化的多輸入融合拼寫糾錯模型(MIF-SECCO),模型架構(gòu)如圖1所示.
圖1 MIF-SECCO架構(gòu)圖
為了降低錯誤字符對句子語義的誤導(dǎo)并為MIF-SECCO執(zhí)行語義融合糾錯任務(wù)提供多個可靠的互補語義信息,多輸入語義學(xué)習(xí)階段主要起到兩個作用:1)集成多個現(xiàn)有單輸入模型的語義之間互補的初步糾錯結(jié)果;2)利用Transformer對前序的多個糾錯結(jié)果進(jìn)行充分的語義學(xué)習(xí),為語義融合糾錯任務(wù)提供更充分、可靠的互補語義信息.
本文以集成3個單輸入模型為例對多輸入語義學(xué)習(xí)階段的工作原理進(jìn)行詳細(xì)闡述.具體地,在多輸入語義學(xué)習(xí)階段,給定一個包含n個字符的、有拼寫錯誤的句子
X={x1,x2,…,xn},
首先分別集成3個單輸入模型對句子X進(jìn)行初步糾錯,獲得3個初步糾錯結(jié)果:
A={a1,a2,…,an},B={b1,b2,…,bn},
C={c1,c2,…,cn}.
初步糾錯過程可形式化為
A=Model1(X)={a1,a2,…,an},
B=Model2(X)={b1,b2,…,bn},
C=Model3(X)={c1,c2,…,cn}.
作為同個輸入句子X的初步糾錯結(jié)果,A、B、C包含互補的語義信息,為MIF-SECCO進(jìn)行后序語義融合糾錯提供更充分、可靠的語義信息.
中文拼寫錯誤包含形近和音近混淆、多音字和字詞誤用等多種錯誤類型.由于現(xiàn)有模型的結(jié)構(gòu)以及嵌入特征的不同,各模型對不同錯誤類型的糾錯效果存在差異.集成單輸入模型初步糾錯結(jié)果能有效整合各模型的糾錯優(yōu)勢.本文在多輸入語義學(xué)習(xí)階段,集成DCN[13]、REALISE[14]和LEAD[15]這3個現(xiàn)有的單輸入模型,并且,此階段可根據(jù)單輸入模型的糾錯特性集成不同的單輸入模型,以此提升MIF-SECCO的糾錯性能.
為了實現(xiàn)對多輸入互補語義信息的捕獲,該階段還引入Transformer,對前序糾錯結(jié)果進(jìn)行雙向語義建模.在單輸入模型分別對句子進(jìn)行初步糾錯后,將獲得的初步糾錯結(jié)果A、B、C作為中間輸入句子,使用針對中文文本進(jìn)行預(yù)訓(xùn)練的語言模型“BERT-Base-Chinese”初始化嵌入層和Transformer層堆棧進(jìn)行語義建模,對初步糾錯結(jié)果進(jìn)行語義學(xué)習(xí),有效降低錯誤字符對句子語義的誤導(dǎo).具體地,對于前序3個預(yù)測結(jié)果中的句子
A={a1,a2,…,an},
首先,通過嵌入層獲得具體的句子向量:
其中L表示Transformer的層數(shù).最后一層的輸出
作為輸入句子A的上下文語義表示.同理,句子B和句子C的語義表示Hb、Hc也可通過Transformer進(jìn)行語義學(xué)習(xí)得到:
前序語義表示Ha、Hb、Hc分別表示3個句子A、B、C的語義表示.集成3個單輸入模型對錯誤句子進(jìn)行初步糾錯,降低句子中錯誤字符對句子語義的誤導(dǎo),并利用Transformer對初步糾錯結(jié)果進(jìn)行語義學(xué)習(xí),獲得3個語義之間互補的語義信息,為MIF-SECCO進(jìn)行多語義融合糾錯提供更充分、可靠的互補語義信息.
現(xiàn)有的糾錯模型大多使用BERT進(jìn)行句子語義學(xué)習(xí),BERT在學(xué)習(xí)句子語義時,句子語義容易受到錯誤字符的誤導(dǎo),糾錯結(jié)果也存在局限性.因此,為了改善現(xiàn)有單輸入模型語義信息局限性和缺乏可靠性問題,MIF-SECCO在對比學(xué)習(xí)驅(qū)動的語義融合糾錯階段主要起到兩個作用:1)利用對比學(xué)習(xí)優(yōu)化的方法優(yōu)化句子語義信息,最大化前序句子語義表示與其對應(yīng)的正確句子語義表示之間的相似性;2)融合多個優(yōu)化后的句子語義信息對錯誤句子進(jìn)行再糾錯,提升模型糾錯結(jié)果的完整性,實現(xiàn)糾錯性能的提升.
具體地,在訓(xùn)練過程中,同時基于Transformer對正確句子R進(jìn)行語義編碼表示,即
在每個訓(xùn)練步驟中,隨機(jī)抽取N條數(shù)據(jù)構(gòu)成一個批次,針對句子A,這N條數(shù)據(jù)與其對應(yīng)正確句子可構(gòu)成2N個數(shù)據(jù)樣本,對應(yīng)的語義表示為
其中,k1=a,r,k2=a,r,i=1,2,…,n,j=1,2,…,n.為了在不損失一般性的情況下,針對句子A,給定第i個樣本的損失:
基于對比學(xué)習(xí)優(yōu)化的方法優(yōu)化句子A、B、C的語義信息,將它們的語義表示與對應(yīng)的正確句子的語義表示進(jìn)行對比學(xué)習(xí),拉近與正確句子語義相似的語義表示,推遠(yuǎn)與正確句子不相似的語義表示,最大化多個句子語義表示與其對應(yīng)的正確句子語義表示之間的相似性.
前序三個語義互補的初步糾錯結(jié)果A、B、C為MIF-SECCO進(jìn)行語義融合糾錯提供更充分、可靠的語義信息.因此,為了改善單輸入模型語義信息僅來自單個句子的局限性,在分別對3個句子的語義信息進(jìn)行優(yōu)化后,MIF-SECCO對多個互補語義進(jìn)行融合:
Hf=Fusion(Ha,Hb,Hc)=
(Add(Ha,Hb,Hc)Wf)+bf,
其中,Add(·)表示3個互補語義信息的融合,Wf表示可學(xué)習(xí)的權(quán)重,bf表示偏置參數(shù).多個互補語義融合可為MIF-SECCO進(jìn)行拼寫糾錯提供更充分的語義信息.進(jìn)行語義融合之后獲得的語義表示向量Hf可直接通過softmax(·)計算第i個字符的概率分布:
P(yi)=softmax(Wohi+bo),hi∈Hf,
其中,Wo和bo為可學(xué)習(xí)網(wǎng)絡(luò)參數(shù),
yi=arg max(P(yi)),
為基于字符的概率分布直接推斷的字符.MIF-SECCO最終的預(yù)測結(jié)果為:
Y={y1,y2,…,yn}.
此過程中本文采用極大似然估計進(jìn)行參數(shù)學(xué)習(xí),并將負(fù)對數(shù)似然函數(shù)作為損失函數(shù).考慮到輸入句子中包含的錯誤字符占少數(shù),引入焦點損失懲罰,解決句子中字符不平衡問題,最終的優(yōu)化目標(biāo)為:
其中,γ1=0.5,表示控制懲罰權(quán)重的超參數(shù).
本文在解碼過程中引入Sun等[19]基于CRF的結(jié)構(gòu)化解碼模塊,綜合考慮句子相鄰字符之間的關(guān)系,預(yù)測一個最優(yōu)結(jié)果.對于給定的句子X,在CRF框架下,長度為n的目標(biāo)序列Y的似然函數(shù)為:
Pcrf(Y|X)=
其中,Z(X)表示歸一化因子,s(yi,x,i)表示yi在位置i處的標(biāo)簽得分,t(yi-1,yi,x,i)表示yi-1到y(tǒng)i的過渡得分.此模塊使用負(fù)對數(shù)似然損失與神經(jīng)網(wǎng)絡(luò)進(jìn)行端到端的聯(lián)合訓(xùn)練,同時也引入焦點損失懲罰,解決句子中字符不平衡問題,最終的優(yōu)化目標(biāo)為:
lcrf=-(1-Pcrf(Y|X))γ2lnPcrf(Y|X),
其中,γ2=0.5,表示控制懲罰權(quán)重的超參數(shù).
MIF-SECCO在多輸入語義學(xué)習(xí)階段,集成多個單輸入模型,對句子進(jìn)行初步糾錯,并利用Transfor-mer對多個語義之間互補的糾錯結(jié)果進(jìn)行語義學(xué)習(xí),為MIF-SECCO進(jìn)行多語義融合糾錯提供更充分、可靠的互補語義信息.在對比學(xué)習(xí)驅(qū)動的語義融合糾錯階段,利用對比學(xué)習(xí)優(yōu)化的方法,最大化前序多個句子語義表示與其對應(yīng)的正確句子語義表示之間的相似性,并融合多個互補的句子語義信息,綜合推理一個更具可靠性的結(jié)果.總之,MIF-SECCO的總體優(yōu)化目標(biāo):
l=(lpredict+lcrf)+λlcontrastive.
其中:lpredict+lcrf表示一個整體,共同實現(xiàn)糾錯模型訓(xùn)練過程中的參數(shù)優(yōu)化目標(biāo);λ表示對比學(xué)習(xí)語義優(yōu)化目標(biāo)lcontrastive的權(quán)重,主要發(fā)揮兩個優(yōu)化目標(biāo)之間平衡因子的作用.
本文在訓(xùn)練時使用SIGHAN13[20]、SIGHAN14[21]、SIGHAN15[22]數(shù)據(jù)集的訓(xùn)練集以及271 329個由Wang等[8]自動生成的樣本(簡記為Wang271K)作為訓(xùn)練集.在測試時,使用SIGHAN13、SIGHAN14、SIGHAN15數(shù)據(jù)集的測試集.數(shù)據(jù)集的統(tǒng)計信息如表1和表2所示.
表2 測試集統(tǒng)計信息
本文使用針對句子級別的準(zhǔn)確性(Accuracy)、精確性(Precision)、召回率(Recall)和F1值評估模型在句子錯誤檢測和錯誤糾錯兩個級別的性能.4個指標(biāo)的計算公式如下:
其中,tp表示正樣本被預(yù)測為正類的數(shù)量,tn表示負(fù)樣本被預(yù)測為負(fù)類的數(shù)量,fp表示負(fù)樣本被預(yù)測為正類的數(shù)量,fn表示正樣本被預(yù)測為負(fù)類的數(shù)量.
實驗中各單輸入模型的訓(xùn)練參數(shù)設(shè)置與原文獻(xiàn)的參數(shù)設(shè)置保持一致.MIF-SECCO參數(shù)設(shè)置與BERT-Base-Chinese相同,最后根據(jù)實驗環(huán)境和調(diào)優(yōu)過程調(diào)整訓(xùn)練批次大小和迭代次數(shù),最終確定的模型具體訓(xùn)練參數(shù)設(shè)置如表3所示.
表3 模型訓(xùn)練參數(shù)
實驗過程使用的CPU為Intel(R) Xeon(R) Platinum 8370C,內(nèi)存為48 GB,GPU為A6000.代碼開發(fā)環(huán)境為PyCharm(2021.3.2),使用的深度學(xué)習(xí)框架為PyTorch(1.9.0+cu111).
為了驗證MIF-SECCO在中文拼寫糾錯任務(wù)中的有效性,分別選擇2020年至2022年的6個基線模型與MIF-SECCO進(jìn)行性能對比.
1)Soft-Masked BERT[9].提出一種神經(jīng)體系結(jié)構(gòu),解決BERT錯誤檢測能力較弱的問題.由一個基于Bi-GRU(Bidirectional Gate Recurrent Unit)的錯誤檢測網(wǎng)絡(luò)和一個基于BERT的錯誤校正網(wǎng)絡(luò)組成,前者通過Soft-Masking技術(shù)與后者進(jìn)行連接.
2)SpellGCN[11].通過專門的圖卷積網(wǎng)絡(luò),將字符的語音和視覺相似性知識納入中文拼寫糾錯模型中,利用音近和形近混淆集對字符之間的關(guān)系進(jìn)行建模,合并到BERT的糾錯模塊中開展糾錯任務(wù).
3)DCN[13].通過拼音增強候選漢字生成器生成候選漢字,再利用基于注意力的網(wǎng)絡(luò)對相鄰漢字之間的依賴關(guān)系進(jìn)行建模.
4)REALISE[14].基于漢字多模態(tài)信息融合的中文拼寫糾錯模型,通過語義、語音和圖形3個編碼器捕獲輸入字符的對應(yīng)信息.使用的多模態(tài)信息融合機(jī)制可控制3種模態(tài)特征中參與融合的信息量.
5)LEAD[15].中文拼寫糾錯框架,使中文拼寫糾錯模型從語音、字形和定義3個維度學(xué)習(xí)字典中的異構(gòu)知識,并基于這些知識構(gòu)建正負(fù)樣本,采用統(tǒng)一的基于對比學(xué)習(xí)的訓(xùn)練方案對模型的表示進(jìn)行細(xì)化.
6)SCOPE(Spelling Check by Pronunciation Pre-
diction)[23].基于共享編碼器的中文拼寫糾錯模型,建立兩個編碼器,一個用于主CSC任務(wù),另一個用于細(xì)粒度輔助CPP(Character Pronunciation Prediction)任務(wù),并采用一種自適應(yīng)加權(quán)方案平衡兩個任務(wù).
6個基線模型和MIF-SECCO在錯別字?jǐn)?shù)據(jù)集SIGHAN13、SIGHAN14、SIGHAN15上測試對比結(jié)果如表4~表6所示,表中黑體數(shù)字表示最優(yōu)值.由表可知,在錯誤檢測和錯誤糾正兩個級別,對于6個基線模型,SCOPE在SIGHAN13、SIGHAN14數(shù)據(jù)集上表現(xiàn)最優(yōu),LEAD在SIGHAN15數(shù)據(jù)集上表現(xiàn)最優(yōu).MIF-SECCO在SIGHAN13、SIGHAN14、SIGHAN15數(shù)據(jù)集上的F1值分別比次優(yōu)方法提升0.9%、1.9%和2.9%,由此表明MIF-SECCO的有效性.
但是,MIF-SECCO仍然存在不足,由表4~表6可知,為了實現(xiàn)多個互補語義的融合糾錯,同一錯誤句子經(jīng)過多個單輸入模型初步糾錯階段和互補語義融合糾錯階段,存在句子在經(jīng)過單輸入模型初步糾錯后,在互補語義融合糾錯階段,多個句子語義融合后可能將該句子推測成原句的情況,導(dǎo)致MIF-SEC-CO的召回率低于單輸入模型的召回率.同時MIF-SECCO在SIGHAN13、SIGHAN14數(shù)據(jù)集上的準(zhǔn)確性低于REALISE.但綜合來看,相比6個基線模型,MIF-SECCO依然實現(xiàn)糾錯性能的提升.
表4 各模型在SIGHAN15數(shù)據(jù)集上的指標(biāo)值對比
表5 各模型在SIGHAN14數(shù)據(jù)集上的指標(biāo)值對比
表6 各模型在SIGHAN13數(shù)據(jù)集上的指標(biāo)值對比
為了驗證MIF-SECCO的有效性以及各模塊存在的合理性,在MIF-SECCO的多輸入語義學(xué)習(xí)階段和對比學(xué)習(xí)驅(qū)動的語義融合糾錯階段進(jìn)行消融實驗.
在多輸入語義學(xué)習(xí)階段,分別給出3個單輸入模型DCN、REALISE和LEAD在語義之間互補的初步糾錯結(jié)果.再給出僅使用兩個單輸入模型進(jìn)行初步糾錯的結(jié)果.在對比學(xué)習(xí)驅(qū)動的語義融合糾錯階段,給出直接集成的結(jié)果.上述消融實驗只要預(yù)測結(jié)果與正確句子相同則認(rèn)為預(yù)測結(jié)果正確.
各方法在SIGHAN15數(shù)據(jù)集上的F1值對比如表7所示.
表7 各模型在SIGHAN15數(shù)據(jù)集上的F1值對比
由表7可見,僅融合兩個糾錯結(jié)果的互補語義時的糾錯F1值低于MIF-SECCO的F1值.同時,當(dāng)融合兩個糾錯結(jié)果的互補語義時,相比單輸入模型,F1值提升3.0%.如果僅是對三個糾錯結(jié)果進(jìn)行直接投票集成,集成結(jié)果降低0.5%.如果未使用對比學(xué)習(xí)對多個句子語義進(jìn)行優(yōu)化,F1值達(dá)到83.2%,當(dāng)使用對比學(xué)習(xí)優(yōu)化并融合三個初步糾錯結(jié)果的互補語義信息進(jìn)行糾錯時,F1值可達(dá)到83.6%.結(jié)合上述分析可見,MIF-SECCO綜合提升糾錯性能.
總體優(yōu)化目標(biāo)中設(shè)置的對比損失權(quán)重參數(shù)λ可作為總體優(yōu)化目標(biāo)中對比學(xué)習(xí)語義優(yōu)化目標(biāo)lcontrastive和模型的糾錯任務(wù)參數(shù)優(yōu)化目標(biāo)lpredict+lcrf之間的平衡因子.本文定義λ=0.1,1.0,10,100,驗證其在總體優(yōu)化目標(biāo)中發(fā)揮的作用,具體F1值對比如圖2所示.
從平衡因子發(fā)揮作用的維度分析,當(dāng)λ=1.0,100時,糾錯F1值相近.主要原因在于當(dāng)λ=1.0時,MIF-SECCO參數(shù)優(yōu)化目標(biāo)lpredict+lcrf的優(yōu)化作用大于對比學(xué)習(xí)語義優(yōu)化目標(biāo)lcontrastive的優(yōu)化作用.而當(dāng)λ=100時,對比學(xué)習(xí)語義優(yōu)化目標(biāo)lcontrastive的優(yōu)化作用大于糾錯模型參數(shù)優(yōu)化目標(biāo)lpredict+lcrf的優(yōu)化作用.當(dāng)λ=10時,兩個優(yōu)化目標(biāo)相對平衡并且都發(fā)揮較好的優(yōu)化作用,因此在3個公開的數(shù)據(jù)集上,當(dāng)λ=10時,MIF-SECCO的糾錯F1值最高.
圖2 不同λ對MIF-SECCO性能的影響
從語義優(yōu)化的維度分析,本文使用對比學(xué)習(xí)作為模型語義優(yōu)化的方法,但是關(guān)于正負(fù)對的構(gòu)造過程依然采用在批量數(shù)據(jù)中依次構(gòu)造正負(fù)對的簡單方式,未對負(fù)例進(jìn)行進(jìn)一步語義級別的篩選,可能存在一定的噪音.因此當(dāng)對比優(yōu)化目標(biāo)的權(quán)重λ取值發(fā)生變化時,MIF-SECCO在SIGHAN13、SIGHAN14、SIGHAN15數(shù)據(jù)集上的糾錯F1值的變化趨勢相對平緩.但是根據(jù)消融實驗可知,對比學(xué)習(xí)在語義優(yōu)化的過程中依然發(fā)揮一定作用.
在拼寫糾錯任務(wù)中,模型獲取有用句子語義信息越充分,越有助于模型進(jìn)行錯誤糾正.因此,本文分別兩兩組合集成不同的單輸入模型和同時集成3個單輸入模型,對句子進(jìn)行初步糾錯,并融合初步糾錯結(jié)果的多個互補的句子語義對錯誤句子進(jìn)行再糾錯,根據(jù)模型糾錯性能驗證語義融合策略的有效性,具體F1值如圖3所示.
由圖3可見,分別融合兩個不同的糾錯結(jié)果的句子語義和MIF-SECCO的糾錯性能存在差異.顯然,當(dāng)融合的語義個數(shù)相同時,MIF-SECCO的糾錯F1值因為各單輸入模型的性能不同而存在差異,主要原因在于不同單輸入模型糾錯結(jié)果的錯誤分布存在區(qū)別,糾錯結(jié)果語義信息的質(zhì)量存在差異.當(dāng)融合三個句子的語義信息時,MIF-SECCO的糾錯F1值不僅高于融合兩個語義時的糾錯F1值,同時高于各單輸入模型的糾錯F1值.由此說明,進(jìn)行多語義融合糾錯時,融合語義的質(zhì)量以及語義的數(shù)量都會對MIF-SECCO的糾錯性能產(chǎn)生影響,這也說明多語義融合糾錯的有效性.
圖3 語義融合策略對性能的影響
由于中文文本錯誤的復(fù)雜性,通用的拼寫糾錯模型應(yīng)具備優(yōu)異的泛化性能.為了驗證MIF-SECCO的泛化性能,構(gòu)造不同的訓(xùn)練集訓(xùn)練模型.通過去除SIGHAN15數(shù)據(jù)集的訓(xùn)練集以構(gòu)造MIF-SECCO和3個單輸入模型的訓(xùn)練集,并利用訓(xùn)練的模型在SIGHAN15數(shù)據(jù)集的測試集上進(jìn)行測試.當(dāng)訓(xùn)練集上不包含SIGHAN15數(shù)據(jù)集時,MIF-SECCO的檢測F1值和糾錯F1值分別為84.1%和82.9%,訓(xùn)練集上包含SIGHAN15數(shù)據(jù)集時,MIF-SECCO的檢測F1值和糾錯F1值分別為84.7%和83.6%,相比不包含SIGHAN15訓(xùn)練集時F1值,僅降低0.6%和0.7%.并且,相比6個基線模型,當(dāng)訓(xùn)練集上不包含SIGHAN15訓(xùn)練集時,MIF-SECCO在SIGHAN15測試集上的糾錯F1值依然實現(xiàn)2.2%的提升.由于SIGHAN15數(shù)據(jù)集的訓(xùn)練集上包含2 338個句子,訓(xùn)練集的數(shù)量也是影響方法性能的因素,因此驗證MIF-SECCO具備較優(yōu)的泛化性能.這得益于MIF-SECCO包含單輸入模型初步糾錯階段和多語義融合糾錯階段,這兩個糾錯階段在句子糾錯過程中相互補充,不僅彌補單輸入模型初步糾錯的不足,還進(jìn)一步保證整個句子糾錯的完整性.
MIF-SECCO包含多輸入語義學(xué)習(xí)階段和對比學(xué)習(xí)驅(qū)動的語義融合糾錯階段,分別涵蓋單輸入模型的初步糾錯和多語義融合糾錯兩個糾錯過程.
如表8所示,利用單輸入模型對“原句”進(jìn)行直接投票集成的糾錯結(jié)果缺乏完整性.同時,如果利用MIF-SECCO,在多輸入語義學(xué)習(xí)階段,對3個語義互補的初步糾錯結(jié)果進(jìn)行語義學(xué)習(xí),并在對比學(xué)習(xí)驅(qū)動的語義融合糾錯階段對語義進(jìn)行對比學(xué)習(xí)優(yōu)化后執(zhí)行互補語義融合糾錯,最終實現(xiàn)“原句”的完全糾正.由此表明互補語義融合糾錯可保證糾錯的完整性,提升糾錯性能.
表8 互補語義融合糾錯示例
針對文本編輯過程中出現(xiàn)的拼寫錯誤,現(xiàn)有的中文拼寫糾錯模型大多為單輸入模型,由于單輸入模型僅有一個輸入句子,只能獲取單個句子的語義信息,糾錯結(jié)果存在局限性.此外,當(dāng)句子中存在多個錯誤字詞時,糾錯結(jié)果缺乏完整性.本文提出基于對比優(yōu)化的多輸入融合拼寫糾錯模型(MIF-SEC-CO),包含多輸入語義學(xué)習(xí)階段和對比學(xué)習(xí)驅(qū)動的語義融合糾錯階段.在中文拼寫糾錯公開的數(shù)據(jù)集SIGHAN13、SIGHAN14、SIGHAN15上的實驗表明,MIF-SECCO可有效提升糾錯性能.今后可考慮引入更多語義理解的神經(jīng)網(wǎng)絡(luò)進(jìn)行充分語義學(xué)習(xí),并開展對比學(xué)習(xí)中的負(fù)例篩選工作,進(jìn)一步提升模型錯誤句子的召回率,同時在多輸入語義學(xué)習(xí)階段進(jìn)行參數(shù)共享等,進(jìn)一步提升糾錯性能.