王匆匆 張仰森 黃改娟
(北京信息科技大學(xué)智能信息處理研究所 北京 100101) (網(wǎng)絡(luò)文化與數(shù)字傳播北京市重點(diǎn)實(shí)驗(yàn)室 北京 100101)
中文語句的自動糾錯任務(wù)目前主要圍繞著字詞錯誤、搭配錯誤、語法及語義錯誤方面展開研究[1]。雖然語義錯誤的糾錯普遍需要語義搭配知識庫,但是語義搭配知識的提取方法普遍從語法搭配的角度或語句的表面層次提取搭配知識,進(jìn)而不能從表述形式較為復(fù)雜的中文句子中提取出準(zhǔn)確的語義搭配知識,這種現(xiàn)象造成了知識庫在全面性、準(zhǔn)確性和靈活性沒有達(dá)到文本糾錯的目的[2]。如果從語義搭配知識庫角度解決中文文本語義糾錯問題,那么文本錯誤檢測就相當(dāng)于基于知識庫對文本內(nèi)容的合理性進(jìn)行打分,文本糾錯相當(dāng)于基于知識庫和待檢測語句的上下文對錯誤的文本內(nèi)容進(jìn)行推理所產(chǎn)生可接受糾錯結(jié)果。基于知識庫和推理的方法看似完美,可是這種方法對于機(jī)器處理文本糾錯問題而言可行性較低。原因在于如果將具有語義推理能力的知識圖譜所存儲的語義知識庫應(yīng)用到中文語句的推理中,正確的文本會滿足推理過程,而對錯誤文本的糾錯建議生成會受到知識容量和質(zhì)量的限制,尤其是面對中文文本的數(shù)據(jù)量大的現(xiàn)象,這將會存在糾錯模型缺乏大量訓(xùn)練數(shù)據(jù)的問題。鑒于上述分析,本文認(rèn)為文本糾錯任務(wù)需要從大規(guī)模的中文語料中學(xué)習(xí)出一套糾錯機(jī)制,于是提出了一種基于注意力機(jī)制與端到端的中文文本糾錯方法。
在文本糾錯模型的選取層面,基于深度學(xué)習(xí)的自然語言處理模型目前主要從循環(huán)神經(jīng)網(wǎng)絡(luò)向詞語位置編碼加語句內(nèi)容的方向轉(zhuǎn)變[4],端到端學(xué)習(xí)的思想已經(jīng)被廣泛利用到機(jī)器翻譯、智能問答等領(lǐng)域[5]。本文將端到端的思想和方法應(yīng)用到中文文本的自動糾錯工作中,使用基于詞語位置編碼向量加語句內(nèi)容向量的模型生成中間語句的語義向量,然后對語義向量進(jìn)行解碼生成糾錯后的句子。在語義向量的編碼與解碼過程中,本文使用了注意力機(jī)制發(fā)現(xiàn)文本詞語的潛在依賴關(guān)系及語義特征,避免了循環(huán)神經(jīng)網(wǎng)絡(luò)及其變體只將兩個單向的隱藏節(jié)點(diǎn)合并輸出所引起的語義關(guān)系弱及單項(xiàng)語義編碼的問題。如表1所示,文本糾錯任務(wù)的特點(diǎn)是訓(xùn)練語料中原語句與目標(biāo)語句之間的詞語重復(fù)率達(dá)到80%之上,即糾錯后的句子復(fù)制了許多原句子中正確的部分。鑒于此,本文通過增加一個句子成分不改變的機(jī)制使端到端的糾錯模型更加貼近糾錯任務(wù)的場景。另外,本文基于大規(guī)模無標(biāo)注的中文語料提出一種平行糾錯語料的構(gòu)建方法,為解決缺乏糾錯語料的問題提供了一種思路。
表1 訓(xùn)練語料中原語句與目標(biāo)語句包含字的重復(fù)率
本文的主要貢獻(xiàn)有以下三方面:① 提出了一個用于文本糾錯神經(jīng)網(wǎng)絡(luò)架構(gòu),該架構(gòu)能夠直接從待校對語句中復(fù)制原本正確的詞語和超出詞典范圍的詞語;② 使用大規(guī)模非標(biāo)注數(shù)據(jù)預(yù)訓(xùn)練了基于復(fù)制機(jī)制的糾錯模型,緩解了文本糾錯工作缺乏語料的問題;③ 在NLPCC2018的中文糾錯測試集上取得最好的結(jié)果。
文獻(xiàn)[6]結(jié)合HowNet義原知識庫與中文語料庫,使用雙層LSTM網(wǎng)絡(luò)構(gòu)建語義搭配關(guān)系錯誤預(yù)測模型,然后基于詞語之間的互信息、詞語義原之間的聚合度提供糾錯建議?;贚STM網(wǎng)絡(luò)的語義糾錯模型會將錯誤信息與前面信息參與語義計(jì)算,這影響語義錯誤檢測模型學(xué)習(xí)待檢測句子全局信息的能力。文獻(xiàn)[6]的糾錯模型僅僅從詞語義原和語句層面上獲取的糾錯建議,沒有完全符合待檢測句子的語境。文獻(xiàn)[7]提出了基于易混淆詞語集與序列標(biāo)注任務(wù)的中文文本糾錯算法,通過引入待校對詞語上下文和基于易混淆詞集的糾錯詞集的方法對語義錯誤進(jìn)行自動糾錯。由于該方法受限于訓(xùn)練語料數(shù)量較少,不能對語句進(jìn)行語義表征層面上的糾錯。文獻(xiàn)[8]使用基于RNN和端到端模型的機(jī)器翻譯模型對中文語句中的錯別字進(jìn)行糾錯,實(shí)驗(yàn)表明基于單純基于RNN的神經(jīng)機(jī)器翻譯模型處理文本糾錯的效果較差,仍需要結(jié)合N-gram模型,主要原因在于基于RNN的自然語言處理模型的梯度消失和詞語依賴強(qiáng)度弱的問題,本質(zhì)上該模型仍是一個馬爾可夫決策模型。目前的注意力機(jī)制能夠發(fā)現(xiàn)中文詞語之間的依存關(guān)系,改善自動糾錯效果。
文獻(xiàn)[9]主要通過5-gram評分選取五個小模型所產(chǎn)生文本糾錯的最優(yōu)結(jié)果作為糾錯建議。文獻(xiàn)[10]使用了基于規(guī)則的統(tǒng)計(jì)模型、基于統(tǒng)計(jì)機(jī)器翻譯糾錯模型和基于LSTM的翻譯模型,將兩個基于字與詞的統(tǒng)計(jì)機(jī)器翻譯糾錯結(jié)果和四個神經(jīng)機(jī)器翻譯的結(jié)果分別進(jìn)行低級合并,最后將基于規(guī)則、統(tǒng)計(jì)和神經(jīng)網(wǎng)絡(luò)的結(jié)果通過沖突算法對多個糾錯結(jié)果進(jìn)行高級結(jié)合得到糾錯結(jié)果。文獻(xiàn)[11]使用的是基于卷積神經(jīng)網(wǎng)絡(luò)的端到端糾錯模型,通過卷積神經(jīng)網(wǎng)絡(luò)計(jì)算循環(huán)神經(jīng)網(wǎng)絡(luò)產(chǎn)生的語義編碼向量的注意力然后解碼出糾錯結(jié)果。這三種糾錯模型都通過使用一個更大的中文語言模型取得了較好的結(jié)果
早期的英文文本糾錯建立了具體的錯誤類型分類,然后將錯誤類型的分類進(jìn)行融合,并建立了相應(yīng)的語法糾正方法,之后文本的語法錯誤糾正利用了統(tǒng)計(jì)機(jī)器翻譯模型與大規(guī)模的糾錯語料取得良好效果。文獻(xiàn)[12-13]指出了錯誤分類與機(jī)器翻譯方法的弊端,統(tǒng)計(jì)機(jī)器翻譯(SMT)模型雖然能夠記住一些短語所在的糾錯語句,但是不能生成一些從未被訓(xùn)練的文本內(nèi)容。目前基于神經(jīng)機(jī)器翻譯的校對方法在英文語法錯誤校對任務(wù)中展現(xiàn)出強(qiáng)大的語法錯誤校對能力。文獻(xiàn)[14]針對語法錯誤檢測建立了一個基于神經(jīng)網(wǎng)絡(luò)的序列標(biāo)注模型,該模型對詞語的正誤進(jìn)行標(biāo)注,然后使用標(biāo)注結(jié)果的特征,重新排列Nbest假設(shè)。文獻(xiàn)[15]提出了一個協(xié)調(diào)詞語與字母級別信息的混合神經(jīng)網(wǎng)絡(luò)模型。文獻(xiàn)[16]使用了一個多層卷積的端到端模型,該糾錯模型超越了所有之前基于神經(jīng)網(wǎng)絡(luò)與統(tǒng)計(jì)方法的糾錯系統(tǒng)。而文獻(xiàn)[17]則是基于序列到序列的架構(gòu)和推理機(jī)制糾錯語法錯誤。文獻(xiàn)[18]嘗試使用RNN與Transformer端到端模型并取得了更好的糾錯結(jié)果。
基于神經(jīng)網(wǎng)絡(luò)的機(jī)器翻譯模型在文本糾錯任務(wù)上已經(jīng)取得了實(shí)質(zhì)上的提升[18]。翻譯模型通過將待檢測句子作為源句子并將文本糾錯后的語句作為目標(biāo)句子,學(xué)習(xí)了源句子到目標(biāo)句子之間的對應(yīng)關(guān)系。本文將中文文本糾錯任務(wù)當(dāng)作是一個翻譯工作。具體而言,本文研究的目標(biāo)是讓神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)平行糾錯語料的正誤語義對應(yīng)關(guān)系,并將錯誤語句翻譯成正確語句。但是不同于傳統(tǒng)的機(jī)器翻譯任務(wù),中文糾錯任務(wù)不但包含了多種錯誤類型,而且使用的糾錯平行語料中會存在語料稀疏的問題。傳統(tǒng)的中文糾錯任務(wù)主要處理冗余、缺字、用字不當(dāng)和位置錯誤四種錯誤類型,本文沒有具體區(qū)分各種錯誤類型,而是使用了兩種注意力機(jī)制,即編碼解碼注意力機(jī)制和復(fù)制注意力機(jī)制學(xué)習(xí)糾錯任務(wù)。糾錯模型的基礎(chǔ)架構(gòu)使用了基于注意力機(jī)制的Transformer[4]架構(gòu),它包含了多個對輸入的源句子進(jìn)行編碼的模塊。其中每個模塊都是用了多頭自注意力機(jī)制從原句子中獲取帶有詞語位置信息的語義向量,然后通過前向傳播層輸出語義向量的隱藏狀態(tài)?;A(chǔ)模型的解碼器也是使用了多模塊、多頭注意力機(jī)制,使用前向傳播網(wǎng)絡(luò)對隱藏狀態(tài)進(jìn)行解碼。
基礎(chǔ)架構(gòu)的目標(biāo)是預(yù)測在一個序列y1,y2,…,yT在t位置的字,在給定源句子x1,x2,…,xN的前提下:
(1)
(2)
pt(w)=softmax(Ltrght)
(3)
(4)
文獻(xiàn)[19]在文本摘要任務(wù)上和文獻(xiàn)[20]在語義解析任務(wù)上證明了復(fù)制機(jī)制是有效的,因此本文添加了在文本糾錯上的復(fù)制機(jī)制,增強(qiáng)了糾錯模型從源句子復(fù)制正確詞語的能力。
(5)
圖1 復(fù)制機(jī)制架構(gòu)
該架構(gòu)通過目標(biāo)隱藏狀態(tài)的概率分布作為一個基礎(chǔ)模型。在源句子上的復(fù)制因子是通過計(jì)算一個新的注意力分布,該注意力分布是基于編碼的隱藏狀態(tài)與當(dāng)前解碼的隱藏狀態(tài)計(jì)算得出的,復(fù)制的注意力也是用相應(yīng)的編碼與解碼機(jī)制。
(6)
(7)
(8)
(9)
當(dāng)缺乏大量訓(xùn)練數(shù)據(jù)時,預(yù)訓(xùn)練在很多任務(wù)中被證明是非常有用的。因此,本文使用了部分預(yù)訓(xùn)練的方法在參數(shù)初始化的時候從輸入中抽取特征[21]??紤]到BERT模型使用了一個預(yù)訓(xùn)練雙向Transformer模型在當(dāng)前許多NLP任務(wù)中取得了最優(yōu)表現(xiàn),它預(yù)測了15%被遮住的單字,而不是重建整個輸入句子,并降噪了隨機(jī)抽取的15%的字符,在隨機(jī)抽取的15%詞語中,其中80%被替換為MASK,10%被替換為隨機(jī)的詞,10%沒有被改變。受BERT的和自動降噪編碼方法的啟發(fā),本文在降噪非標(biāo)注的大規(guī)模中文語料的基礎(chǔ)上預(yù)訓(xùn)練基于復(fù)制機(jī)制的糾錯模型。實(shí)驗(yàn)對含有錯誤的句子的數(shù)據(jù)生成步驟如下:(1) 刪除一個字符的概率為10%;(2) 增加一個字符的概率為10%;(3) 使用字典中任意一個字符替換字概率為10%;(4) 重新排列字的順序,通過對每個原始字的位置編碼增加一個標(biāo)準(zhǔn)差為0.5的正態(tài)分布權(quán)重,然后將新的位置編碼從小到大排序,提取出原始位置編碼列表的索引位置作亂序后的字排列。
使用上述的文本錯誤生成方法所產(chǎn)生的錯誤句子與原句子配對,這在某種程度上可以算作一條糾錯語料,因?yàn)樵撳e誤語句與人為錯誤語句都是由字的增、刪、替換和重新排列操作所造成的。
在NLP任務(wù)中,預(yù)訓(xùn)練模型能夠提升下游任務(wù)的表現(xiàn),如Word2Vec[22]、GloVe[23]和ELMo[24]等。借鑒文獻(xiàn)[25]的方法,本文預(yù)訓(xùn)練了基于復(fù)制機(jī)制的端到端糾錯模型的解碼器。首先,使用預(yù)訓(xùn)練參數(shù)初始化糾錯模型的解碼器,然后隨機(jī)初始化其他參數(shù)。因?yàn)樵诰幋a器與解碼器之間使用了連續(xù)的字嵌入,除了編碼器、編碼與解碼間的注意力和復(fù)制注意力之間的參數(shù),其余的參數(shù)都能被預(yù)訓(xùn)練。
本文使用了2016年—2018年的CGED中文語法錯誤診斷數(shù)據(jù)集、SIGHAN2014、SIGHAN2015、NLPCC2018語法糾錯數(shù)據(jù)集、LANG-8和中文維基百科作為并行訓(xùn)練語料,將NLPCC2018的中文語法錯誤糾錯任務(wù)測試集作為測試語料。表2和表3列出了本文使用的數(shù)據(jù)集信息。
表2 訓(xùn)練語料
表3 測試語料
本文在公共的端到端工具Fairseq上使用了已經(jīng)實(shí)現(xiàn)的Transformer模型,并將字嵌入和隱藏層維度設(shè)為512,編碼器與解碼器層數(shù)為6,注意力模塊為8。在內(nèi)部的層次前向傳播網(wǎng)絡(luò)使用了4 096維度。設(shè)置Dropout為0.2,這個模型總共有97 MB的參數(shù)。
在優(yōu)化神經(jīng)網(wǎng)絡(luò)方面,使用Nesterovs[26]加速梯度下降法,學(xué)習(xí)率為0.002,衰減率為0.5,動量為0.99,最小學(xué)習(xí)率為0.000 4。
本文也使用了加權(quán)極大似然估計(jì)方法縮放平衡因子Λ以改變詞的損失[18]。訓(xùn)練文本糾錯模型和預(yù)訓(xùn)練模型的區(qū)別在于,當(dāng)預(yù)訓(xùn)練降噪自編碼模型時設(shè)置Λ=3,糾錯時Λ∈[1,1.8],在解碼時,設(shè)置beamsize為12。
文本糾錯任務(wù)的目標(biāo)是改正句子中的錯誤字,模型將錯誤語句的編輯與標(biāo)準(zhǔn)編輯集合的匹配程度作為評價依據(jù)。評價指標(biāo)包括準(zhǔn)確率(Precision)、召回率(Recall)及F0.5。假設(shè)e是模型對錯誤文本糾錯建議的集合,ge是該錯誤文本的標(biāo)準(zhǔn)的糾錯建議集合,具體的計(jì)算方式如下:
(10)
(11)
(12)
式中:|ei∩gei|表示模型針對句子糾錯建議集合與標(biāo)準(zhǔn)糾錯建議集合的匹配數(shù)量。gi表示句子i中的全部錯誤組成的集合,具體計(jì)算式為:
|ei∩gei|={e∈ei|?g∈gi,match(e,g)}
(13)
語法糾錯任務(wù)選擇F0.5作為評價指標(biāo)而非F1值的原因在于,對于模型糾正的錯誤中,糾錯的準(zhǔn)確性大于糾錯建議數(shù)量,所以將準(zhǔn)確率的權(quán)重定為召回率的兩倍大小,以期得到一個更加優(yōu)質(zhì)的糾錯模型。
多任務(wù)學(xué)習(xí)主要通過聯(lián)合訓(xùn)練多種相關(guān)的任務(wù)解決問題,實(shí)驗(yàn)證明多任務(wù)學(xué)習(xí)在許多任務(wù)中都有優(yōu)勢,如計(jì)算機(jī)視覺[27-28]與NLP[29-30]任務(wù)。本文探索了兩種不同的任務(wù)對于語法糾錯模型以提高其表現(xiàn)。
3.4.1字級別的標(biāo)注任務(wù)
(14)
通過字級別的標(biāo)注任務(wù)明顯地增強(qiáng)了編碼器關(guān)于輸入字的正確性,也有助于解碼器的識別。
3.4.2句子級別復(fù)制工作
句子級別的復(fù)制工作的動機(jī)是使模型在輸入句子是正確的情況下加強(qiáng)糾錯建議從輸入句子復(fù)制字詞的比例。訓(xùn)練時將同樣數(shù)量的正確句子對與修改過的句子對送入模型。當(dāng)輸入正確句子時,移除了解碼器對編碼器的注意力向量。沒有了編碼解碼之間的注意力,原本正確句子生成工作會變得很困難,但是經(jīng)過模型的復(fù)制部分將會被正確的句子加強(qiáng)。
表4對比了基于神經(jīng)網(wǎng)絡(luò)機(jī)器翻譯的糾錯模型、基于統(tǒng)計(jì)和神經(jīng)機(jī)器翻譯的糾錯模型、序列到序列糾錯模型及本文的模型用于中文語義糾錯得到準(zhǔn)確率、召回率與F0.5值。
表4 糾錯模型對比實(shí)驗(yàn)結(jié)果(%)
本文的復(fù)制增強(qiáng)型架構(gòu)在使用與訓(xùn)練參數(shù)的情況下相較神經(jīng)機(jī)器翻譯模型[9]準(zhǔn)確率提升了7.24百分點(diǎn),并超過了文獻(xiàn)[10]方法1.48百分點(diǎn),說明了本文復(fù)制增強(qiáng)性架構(gòu)對比傳統(tǒng)的Transformer在糾錯任務(wù)上使用的復(fù)制注意力機(jī)制學(xué)習(xí)了文本的正確部分與錯誤部分的區(qū)分特征,并且本文模型在召回率比傳統(tǒng)的LSTM的糾錯模型提高了11.35百分點(diǎn),表明了糾錯模型中注意力機(jī)制的重要性,避免了LSTM的語義長期依賴較弱的弊端。文獻(xiàn)[11]所提出的模型雖然架構(gòu)較為原始,但是它們集成了四個糾錯模型的結(jié)果并使用了字節(jié)對編碼算法降低生詞的困擾,在準(zhǔn)確率上超過了本文復(fù)制增強(qiáng)型模型4.15百分點(diǎn),表明了未登錄詞和適量的增加模型參數(shù)量對糾錯任務(wù)的提升較明顯。但是當(dāng)使用降噪自動編碼的方法后,模型學(xué)習(xí)了更多中文語料中的錯誤詞語特征和糾錯建議生成特征,在NLPCC2018數(shù)據(jù)集上的F0.5為42.64%,在召回率和準(zhǔn)確率上都超過了文獻(xiàn)[9]所提供的方法。綜上,無論是傳統(tǒng)的Transformer還是本文模型,都能在召回率上超過RNN及一系列變體網(wǎng)絡(luò),可見注意力機(jī)制和基于詞語位置編碼的語義編碼模型是目前糾錯任務(wù)不可缺少的一部分。
表5對比了基于復(fù)制機(jī)制和降噪自動編碼Tansformer模型處理冗余、缺字、用字不當(dāng)和位置錯誤四種錯誤類型的表現(xiàn)。實(shí)驗(yàn)數(shù)據(jù)集采用了具有錯誤類型標(biāo)注的2016年—2018年的CGED中文語法錯誤診斷測試集。
表5 四種錯誤類型實(shí)驗(yàn)結(jié)果(%)
從表5可知,本文模型處理用字不當(dāng)和位置錯誤的準(zhǔn)確率比另兩種錯誤更高,但提升量均在2百分點(diǎn)以內(nèi)。用字不當(dāng)錯誤的準(zhǔn)確率較高,可能是因?yàn)橄噍^其他錯誤類型,該錯誤提供了較多的可被模型利用的錯誤信息。而冗余字的錯誤準(zhǔn)確率最低,則可能是由于冗余字所提供的錯誤信息相較其他錯誤類型更加繁雜,干擾了模型的糾錯準(zhǔn)確率。此外,在召回率和F0.5值上,本文模型表現(xiàn)出較為平穩(wěn)的實(shí)驗(yàn)數(shù)據(jù)。
3.6.1復(fù)制機(jī)制消融實(shí)驗(yàn)結(jié)果
下面通過實(shí)驗(yàn)比較在文本糾錯任務(wù)上本文的復(fù)制機(jī)制與自注意力機(jī)制對Transformer結(jié)構(gòu)糾錯結(jié)果的影響。如表6所示,復(fù)制增強(qiáng)型的模型將F0.5分?jǐn)?shù)從29.91%提高到37.31%,增加了8.3百分點(diǎn)。提升的原因在于基礎(chǔ)模型把超出字典的字預(yù)測成一個未登錄標(biāo)記UNK,但是在復(fù)制增強(qiáng)型模型上將未識別的字直接復(fù)制到所生成的句子中。
表6 消融實(shí)驗(yàn)結(jié)果(%)
復(fù)制機(jī)制被廣泛用于處理未登錄字,實(shí)驗(yàn)通過忽略所有的未登錄字來驗(yàn)證復(fù)制是否真正地復(fù)制了那些不知道的字。從表6可知,即使忽略未登錄字帶來了提升,復(fù)制模型仍然相較于基礎(chǔ)模型在F0.5分?jǐn)?shù)上提升了7.54百分點(diǎn),并且大多數(shù)是通過增加精確率提升的。
3.6.2預(yù)訓(xùn)練消融實(shí)驗(yàn)結(jié)果
從表6可知,通過預(yù)訓(xùn)練部分解碼器,F(xiàn)0.5分?jǐn)?shù)從40.70%提升到41.84%,相較于未預(yù)訓(xùn)練的方式提高了1.14百分點(diǎn),當(dāng)降噪自動編碼器全部預(yù)訓(xùn)練參數(shù)時,模型F0.5分?jǐn)?shù)從40.70%提升到49.56%。
為了進(jìn)一步調(diào)查預(yù)訓(xùn)練參數(shù)的優(yōu)勢,本文展示了早期是否含有降噪解碼預(yù)訓(xùn)練參數(shù)的性能改善情況在表7。結(jié)果顯示,如果使用標(biāo)注訓(xùn)練數(shù)據(jù)一輪后的參數(shù)微調(diào)模型,預(yù)訓(xùn)練模型F0.5分?jǐn)?shù)比未預(yù)訓(xùn)練模型從25.32%提升到35.06%。即使沒有微調(diào),預(yù)訓(xùn)練模型可以得到F0.5分?jǐn)?shù)為25.32%。這證明了預(yù)訓(xùn)練帶給模型比隨機(jī)參數(shù)更好的初始參數(shù)。
表7 NLPCC2018測試集預(yù)訓(xùn)練測試結(jié)果(%)
3.6.3句子級別的復(fù)制任務(wù)消融結(jié)果
為了證實(shí)增加句子級別的復(fù)制任務(wù)對正句子與錯誤句子的識別情況,本文創(chuàng)建了一個正確句子集通過挑選維基百科中的500個句子,挑選NLPCC2018測試集中的數(shù)據(jù)生成一個錯誤句子集。之后計(jì)算了兩個測試集的平衡因子的平均值。在增加句子級別的復(fù)制工作中,復(fù)制因子對于正確句子集和錯誤句子集分別是0.44和0.45。通過增加句子級別的復(fù)制任務(wù),平衡因子的值分別為0.81和0.57。這意味著81%的最終分?jǐn)?shù)來自于正確的復(fù)制句子集,但在錯誤句子集上僅有57%的分?jǐn)?shù)。因此,通過增加句子級別的復(fù)制工作,模型學(xué)習(xí)了如何區(qū)分正確句子與錯誤句子。
為了分析復(fù)制注意力與編碼解碼注意力的差異,圖2和圖3可視化了復(fù)制注意力分布和編碼解碼注意力分布。復(fù)制注意力的權(quán)重更加偏向于下一個字,使語句順序變得準(zhǔn)確。而編碼解碼注意力更加偏向于其他字,例如,相近的字或者句子的尾部。正如文獻(xiàn)[30]所解釋的,這意味著生成部分試圖去發(fā)現(xiàn)更長距離的依賴關(guān)系并且更加關(guān)注于全局信息。通過從自動生成工作中分離復(fù)制工作,模型的生成部分能夠聚焦于創(chuàng)造性的工作。
圖2 復(fù)制注意力分布
圖3 編碼解碼注意力分布
本文對于中文文本糾錯任務(wù)提出了一種基于復(fù)制機(jī)制的糾錯架構(gòu),通過直接復(fù)制未改變的詞語和超出所輸入原句子的詞典的詞語提升了端到端模型的能力,并使用大規(guī)模非標(biāo)注的數(shù)據(jù)和降噪自動編碼器完全預(yù)訓(xùn)練了復(fù)制機(jī)制的架構(gòu)。此外,在多任務(wù)學(xué)習(xí)方面引入了兩個額外的任務(wù)。實(shí)驗(yàn)結(jié)果表明,本文方法超過了其他中文文本糾錯方法。