白雪麗,李建義,王洪俊,3,賈盼盼,王迦南
(1.北華航天工業(yè)學(xué)院計(jì)算機(jī)學(xué)院,河北廊坊 065000;2.中國電子信息產(chǎn)業(yè)集團(tuán)有限公司第六研究所,北京 100083;3.拓爾思信息技術(shù)股份有限公司,北京 100101)
文本校對在日常工作中較為常見,隨著計(jì)算機(jī)和互聯(lián)網(wǎng)飛速發(fā)展,文本電子化成為了不可逆轉(zhuǎn)的大趨勢,人工校對工作量急劇增加。在此背景下,中文文本自動(dòng)校對課題應(yīng)時(shí)而生。20 世紀(jì)60 年代,國外就開展有關(guān)英文文本自動(dòng)校對的相關(guān)研究[1],經(jīng)過不斷發(fā)展和創(chuàng)新,已廣泛應(yīng)用于實(shí)際工作當(dāng)中。
目前,中文文本自動(dòng)校對技術(shù)主要包含以下5 種方法:①基于字詞混淆集形成候選字符串方法;②基于概率統(tǒng)計(jì)分析上下文方法,例如N-gram 模型;③基于規(guī)則和詞語搭配關(guān)系方法,例如構(gòu)建語法規(guī)則、詞語搭配知識庫等;④基于改進(jìn)循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)方法,例如長短期記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)、Seq2Seq 等模型;⑤基于BERT(Bidirectional Encoder Representation from Transformers)方法,例如SpellGCN模型、Soft-Masked BERT 等。其中,前3 種為傳統(tǒng)中文文本校對方法,后兩種為基于深度學(xué)習(xí)的中文文本校對方法。
在中文文本校對領(lǐng)域,文本錯(cuò)誤通常包括詞法、句法、語義等形式。其中,詞法錯(cuò)誤是最常見的錯(cuò)誤形式之一,主要包括錯(cuò)別字、多字少字、易位等;句法錯(cuò)誤是違背語法約束和使用習(xí)慣的錯(cuò)誤;語義錯(cuò)誤是在詞法、句法上不存在問題,但不符合上下文的語義邏輯。具體示例如表1所示。
Table 1 Text error example表1 文本錯(cuò)誤示例
由于只能借助漢字編碼將中文字符輸入計(jì)算機(jī)中,無法產(chǎn)生如英文一樣因多或少字母而形成的非字錯(cuò)誤。因此,中文文本錯(cuò)誤大部分是在輸入時(shí)產(chǎn)生,而由于文本輸入的方式不同,可能會(huì)產(chǎn)生不同類型的錯(cuò)別字。例如,拼音和語音識別常見的錯(cuò)誤通常為音似錯(cuò)誤;五筆輸入和文字識別常見的錯(cuò)誤通常為形近錯(cuò)誤。
考慮到文本錯(cuò)誤形式各不相同,本文將中文文本校對分為中文拼寫糾錯(cuò)(Chinese Spelling Correction,CSC)、中文語法糾錯(cuò)(Chinese Grammatical Error Correction,CGEC)和中文語義糾錯(cuò)(Chinese Semantic Error Correction,CSEC)。
表2 為用于測評中文文本校對模型性能的混淆矩陣。
Table 2 Confusion matrix表2 混淆矩陣
其中,真正例TP(True Positive)為有錯(cuò)且糾正正確的樣本,假正例FP(False Positive)為有錯(cuò)但糾正錯(cuò)誤的樣本,真反例TN(True Negative)為無錯(cuò)且未被糾正的樣本,假反例FN(False Negative)為無錯(cuò)但已糾正的樣本。4 種類別樣本數(shù)量之和應(yīng)等于樣本總數(shù),并根據(jù)公式(1)-公式(4)計(jì)算模型的誤報(bào)率(False Positive Rate,F(xiàn)PR)、準(zhǔn)確率(Accuracy,A)、精確率(Precision,P)、召回率(Recall,R)和加權(quán)調(diào)和平均值(F-Score)。
由于P指標(biāo)僅針對預(yù)測結(jié)果,R指標(biāo)僅針對真實(shí)樣本,在一般情況下這兩個(gè)指標(biāo)會(huì)產(chǎn)生矛盾。因此,本文選擇P、R指標(biāo)的F值作為評判指標(biāo),具體計(jì)算公式如公式(5)所示:
其中,α為正數(shù),用來度量指標(biāo)P和R的相對重要性。當(dāng)α>1 時(shí),代表R指標(biāo)對F值影響更大;反之P指標(biāo)對F值影響更大。
雖然中文文本自動(dòng)校對領(lǐng)域有其特定評價(jià)指標(biāo),但由于文本校對具有很大的靈活性和領(lǐng)域針對性,通用的數(shù)據(jù)集較少,難以對不同模型進(jìn)行評估、比較。目前,常用的標(biāo)準(zhǔn)數(shù)據(jù)集主要為《人民日報(bào)》標(biāo)注數(shù)據(jù)集、2018 年NLPCC比賽中CGEC 任務(wù)提供的數(shù)據(jù)集及SIGHAN Bake-off 2013至2015年比賽提供的數(shù)據(jù)集。
《人民日報(bào)》數(shù)據(jù)集收集了官方網(wǎng)站上的文章,這些文章都已經(jīng)過了嚴(yán)格的審查,用詞嚴(yán)謹(jǐn)、準(zhǔn)確;SIGHAN 比賽的CSC 任務(wù)旨在為開發(fā)和實(shí)施自動(dòng)中文拼寫檢查提供評估平臺,其中2013 年的數(shù)據(jù)集是以漢語為母語的人所寫的文章,2014-2015 年的數(shù)據(jù)集是漢語學(xué)習(xí)者所寫的文章;2018 年NLPCC 會(huì)議的CGEC 數(shù)據(jù)集來自于漢語學(xué)習(xí)者所寫的作文,數(shù)據(jù)集標(biāo)注靈活。雖然這些通用數(shù)據(jù)集泛化能力較低,但對中文文本校對領(lǐng)域仍具有重大的意義。
Chang[2]提出基于近似字集替換的中文拼寫自動(dòng)糾錯(cuò)方法,該方法將句子中的字利用混淆字符集中對應(yīng)的字進(jìn)行替換,生成大量的句子假設(shè),然后使用語言模型對句子假設(shè)進(jìn)行評分,最后將得分最高的句子假設(shè)與原始句子進(jìn)行比較,確定校正結(jié)果。實(shí)驗(yàn)表明,該方法將中文拼寫檢查的準(zhǔn)確率從2.5%提高到了51.72%,且可同步改正檢測到的拼寫錯(cuò)誤,有效解決了當(dāng)前校對系統(tǒng)所面臨的正確率低及糾錯(cuò)能力差的問題。但由于混淆集整理難度較大,無法覆蓋所有錯(cuò)誤,導(dǎo)致該方法的糾錯(cuò)能力受到一定的限制。
傳統(tǒng)糾錯(cuò)方法是先檢測利用中文分詞器切分錯(cuò)誤的字詞,形成疑似錯(cuò)誤位置候選集,然后遍歷所有疑似錯(cuò)誤,若錯(cuò)誤存在于混淆集中則直接替換,若不存在則使用音似、形似詞典替換錯(cuò)誤位置的詞,最后通過語言模型計(jì)算句子困惑度,得到最優(yōu)糾正詞。該方法減少了模型的計(jì)算量,給中文文本自動(dòng)校對領(lǐng)域提供了參考。李建華等[3]認(rèn)為漢語是由語言規(guī)則組合而成,因此抽象出字詞間的語言規(guī)則,并以此為思想設(shè)計(jì)了一個(gè)基于多特征的中文拼寫校對系統(tǒng)。實(shí)驗(yàn)表明,該系統(tǒng)的錯(cuò)誤召回率為87.20%,拼寫檢查準(zhǔn)確率為75.00%,改正正確率為59.92%,但由于漢語結(jié)構(gòu)復(fù)雜、應(yīng)用靈活,人工總結(jié)的規(guī)則十分有限,且無法校對多字詞替換錯(cuò)誤,因此系統(tǒng)仍存在一定的局限性。由于漢語理論的研究尚不成熟,吳巖等[4]將規(guī)則與統(tǒng)計(jì)方法相結(jié)合,設(shè)計(jì)了一個(gè)基于詞匹配和語法分析相結(jié)合的中文文本自動(dòng)校對系統(tǒng),該系統(tǒng)首先通過逆向最大匹配和局部語料統(tǒng)計(jì)分詞方法,將文本劃分為詞和散串,然后利用語法規(guī)則重定位錯(cuò)誤散串,接下來基于模糊查找可能代替錯(cuò)誤散串的候選串,最后以人機(jī)交互方式進(jìn)行錯(cuò)誤校正。實(shí)驗(yàn)結(jié)果表明,該系統(tǒng)不受領(lǐng)域限制,可有效結(jié)合規(guī)則與統(tǒng)計(jì)方法,應(yīng)用性廣泛,查錯(cuò)正確率達(dá)到80.1%,糾錯(cuò)率正確率達(dá)到了75.5%。張仰森等[5]將文本錯(cuò)誤視為詞、短語等語言表層結(jié)構(gòu)的破壞,利用字詞間接續(xù)關(guān)系和局部分析技術(shù)提出了一種基于二元接續(xù)關(guān)系查錯(cuò)的方法,該方法首先檢查字級別的接續(xù)關(guān)系定位疑似錯(cuò)誤,再通過檢查詞性接續(xù)和義類接續(xù)確定錯(cuò)誤,雖然實(shí)驗(yàn)結(jié)果表明該方法效果較好,但存在運(yùn)算速度緩慢、無法發(fā)現(xiàn)成詞多字替換錯(cuò)誤等問題。
為了解決上述問題,張仰森等[6]又提出了規(guī)則與統(tǒng)計(jì)相結(jié)合的中文文本自動(dòng)查錯(cuò)算法,該算法提出“真多字詞錯(cuò)誤”和“非多字詞錯(cuò)誤”的概念,并根據(jù)“文本分詞后單字詞出現(xiàn)的次數(shù)有限”這一規(guī)律,結(jié)合單字散串建立了字二元、三元統(tǒng)計(jì)模型和詞性二元、三元統(tǒng)計(jì)模型。實(shí)驗(yàn)結(jié)果表明,該方法相較于文獻(xiàn)[5]的方法,查錯(cuò)召回率由71.2%提高到86.85%,查準(zhǔn)率由35.1%提高到69.43%。由于條件隨機(jī)場(Conditional Random Fields,CRF)和N-Gram 概率統(tǒng)計(jì)模型相結(jié)合可達(dá)到優(yōu)勢互補(bǔ),卓利艷[7]將它們相融合提出查錯(cuò)模型,使用融合結(jié)果定位文本錯(cuò)誤,并將定位錯(cuò)誤分為缺失、冗余和誤代三種類型,采用不同糾正方法進(jìn)行糾正。其中,缺失錯(cuò)誤使用語言模型進(jìn)行糾正;冗余錯(cuò)誤采用直接刪除法;誤代錯(cuò)誤采用同音詞典進(jìn)行糾正。實(shí)驗(yàn)結(jié)果表明,該模型可較為準(zhǔn)確地識別錯(cuò)誤文本,但由于缺乏語法和語義方面的校對,因此存在一定的局限性。
陶永才等[8]考慮到中文語句成分信息受詞義、詞性、詞語搭配、詞語間關(guān)聯(lián)程度等因素的影響,通過抽取中文語法規(guī)則構(gòu)建了一個(gè)語法—詞語搭配的雙層知識庫,并結(jié)合N 元馬爾科夫鏈語言模型設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)基于詞語搭配關(guān)系的中文文本校對系統(tǒng)。該系統(tǒng)首次提出對待校對文本進(jìn)行成分分析,抽取文本的語法結(jié)構(gòu)規(guī)則并與詞語搭配關(guān)系相結(jié)合。實(shí)驗(yàn)結(jié)果表明,文本校對正確率為73.2%,但系統(tǒng)難以校對長距離的詞語搭配關(guān)系,并缺少對句子成分的有效分析。賈繼康[9]將句法層次化分析和二、三元語句的規(guī)則集相結(jié)合,設(shè)計(jì)了基于句法分析和規(guī)則聯(lián)合的中文文本校對方法。實(shí)驗(yàn)結(jié)果表明,該方法的測評表現(xiàn)良好,但由于中文應(yīng)用靈活、句法結(jié)構(gòu)復(fù)雜、規(guī)則繁多等因素,導(dǎo)致容易發(fā)生誤檢。
為了更好利用語言學(xué)知識,駱衛(wèi)華等[10-11]結(jié)合文本的字詞、句法和語義多層面提出了一種中文文本自動(dòng)校對技術(shù)。該方法先使用分詞和詞性標(biāo)注技術(shù)對句子進(jìn)行成分分析,以檢查文本句法層面的錯(cuò)誤,然后基于實(shí)例、統(tǒng)計(jì)和規(guī)則三種搭配關(guān)系檢查文本語義級別的錯(cuò)誤。其中,語義級別的查錯(cuò)包括語義相似度約束檢測和統(tǒng)計(jì)結(jié)合規(guī)則檢測。但由于當(dāng)時(shí)缺乏標(biāo)注語料,語義相似度約束檢測方法效果較差,隨后仿效詞級校對方法提出了基于統(tǒng)計(jì)的語義搭配關(guān)系檢查方法。實(shí)驗(yàn)結(jié)果表明,在添加語義校對后,算法檢測的精確度由63%降至62.3%,但召回率由87.2%提升至91.1%。程顯毅等[12]結(jié)合文本查錯(cuò)系統(tǒng)和概念層次網(wǎng)絡(luò)(Hierarchical Network of Concepts,HNC)構(gòu)建了一個(gè)中文文本校對系統(tǒng)模型,該模型首先利用知識庫對文本錯(cuò)誤進(jìn)行初步檢測,然后利用詞語知識庫對文本語義塊進(jìn)行切分組合,并做句類假設(shè)以檢測語法錯(cuò)誤,最后利用句類知識庫檢驗(yàn)句類的合理性,使用語義概念關(guān)聯(lián)知識和語義構(gòu)成知識對句類語義知識進(jìn)行分析以檢測語義錯(cuò)誤。
針對文本中的搭配錯(cuò)誤,張仰森等[13]提出了一種基于語義搭配知識庫的語義錯(cuò)誤偵測方法,該方法通過語義搭配知識庫搜索文本中可能存在的錯(cuò)誤,然后采用統(tǒng)計(jì)和推理的方法獲取語義搭配關(guān)聯(lián)度,以此判定文本是否存在語義錯(cuò)誤。該方法構(gòu)建的語義搭配知識庫相較于文獻(xiàn)[11]更完善,因此準(zhǔn)確率存在明顯提升。
表3 為上述方法的測評結(jié)果,但由于每種方法所使用的測評集不一致,因此無法進(jìn)行對比。此外,由于早期句法、語義錯(cuò)誤的校對依賴于自身知識庫,知識庫的準(zhǔn)確性和完備性可直接影響方法校對的準(zhǔn)確性。
Table 3 Comparison of traditional syntactic and semantic proofreading methods表3 句法、語義級傳統(tǒng)校對方法測評對比 (%)
隨著深度學(xué)習(xí)等技術(shù)發(fā)展,為校對領(lǐng)域提供了新的研究思路,相較于傳統(tǒng)方法,深度學(xué)習(xí)的黑盒特性決定了其具有較差的可解釋性,但具備了長距離依賴、強(qiáng)約束性和泛化能力等優(yōu)點(diǎn)。
任柏青[14]使用新華社新聞?wù)Z料數(shù)據(jù)集訓(xùn)練了一個(gè)基于深度學(xué)習(xí)的文本自動(dòng)校對模型,通過多層非線性操作組合不斷提取文本特征,輸出文本的抽象表示,并抽象表示數(shù)據(jù)的一些高階語義信息。該模型是深度學(xué)習(xí)在中文文本自動(dòng)校對領(lǐng)域的一次嘗試,為后續(xù)研究奠定了基礎(chǔ)。陶永才等[15]設(shè)計(jì)了一種基于集成算法和長短期記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)的文本校對模型,該模型先將文本通過訓(xùn)練好的全連接神經(jīng)網(wǎng)絡(luò)轉(zhuǎn)化為對應(yīng)的義原序列,再通過LSTM 組成的集成模型獲取上下文語義信息并預(yù)測義原序列,接下來采用K 鄰近算法對預(yù)測義原進(jìn)行模糊匹配,最后基于聚合度的評價(jià)排序截取靠前的義原序列所對應(yīng)的詞語作為校對建議。實(shí)驗(yàn)結(jié)果表明,該模型相較于傳統(tǒng)校對方法,精確率提升至85.1%,召回率提升至87.4%。通過上述實(shí)例證明,深度學(xué)習(xí)方法在校對領(lǐng)域存在較大的潛力,但模型在訓(xùn)練過程中存在過擬合、訓(xùn)練耗時(shí)長、參數(shù)過多等問題。郝亞男等[16]提出了一種基于雙向門控循環(huán)單元(Bidirectional Gated Recurrent Unit,BiGRU)與注意力(Attention)機(jī)制相結(jié)合的文本校對模型,該模型首先向量化待校對的文本,再通過BiGRU 提取文本特征,接下來使用Attention 機(jī)制突出文本的關(guān)鍵信息,最后采用集束搜索求解校對位置的最優(yōu)結(jié)果。實(shí)驗(yàn)在同一數(shù)據(jù)集上進(jìn)行訓(xùn)練和測試,并與BiGRU-GRU、BiGRU-A、BiLSTM-A-BiLSTM 和BiGRU-A-GRU 模型進(jìn)行了比較分析,實(shí)驗(yàn)結(jié)果表明,由于Attention 機(jī)制增強(qiáng)了模型對詞間語義關(guān)系的捕捉能力,使BiGRU-A-GRU 的檢測性能優(yōu)于其它模型。Tencent Cloud AI 提出一個(gè)適用于CSC 任務(wù)的混淆集指針網(wǎng)絡(luò)模型[17]。通過在混淆集中加入指針網(wǎng)絡(luò),提升了生成正確字符的概率,并減少搜索空間。實(shí)驗(yàn)結(jié)果表明,加入混淆集引導(dǎo)的Seq2Seq 校對模型在精確率和召回率上提升較大。
傳統(tǒng)深度學(xué)習(xí)模型主要為卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)和循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)。其中,LSTM、GRU、Seq2Seq 等都屬于RNN 的變體模型,都是通過聯(lián)系上文字符串預(yù)測當(dāng)前的字或詞。因此,難以進(jìn)一步學(xué)習(xí)復(fù)雜的上下文關(guān)系,存在一定局限性。直到2018 年谷歌研究人員發(fā)布BERT 模型[18],推進(jìn)了NLP 和文本校對領(lǐng)域的發(fā)展,該模型與傳統(tǒng)深度學(xué)習(xí)語言模型的主要區(qū)別在于:①使用大規(guī)模的語料庫進(jìn)行預(yù)訓(xùn)練;②預(yù)訓(xùn)練階段使用掩碼語言模型(Masked Language Model,MLM);③使用12 層雙向Transformer 模型特征抽取任務(wù)。其中,MLM 可同時(shí)利用前、后兩個(gè)方向的信息,解決了單向信息流問題;Transformer 模型的Attention機(jī)制綜合了CNN 和RNN 的優(yōu)點(diǎn),可更好地獲取上下文的語義信息。
愛奇藝提出基于去噪自動(dòng)編碼器和解碼器的中文拼寫檢查器FASPell[19],該模型基于MLM 實(shí)現(xiàn)了去噪自動(dòng)編碼,可為待校文本的每個(gè)字生成一組候選字集及在語境上的合適度,解碼器使用了自主設(shè)計(jì)的高精確、保召回的過濾裝置,可利用候選字的語境合適度和原始字的相似度,從候選字集中過濾正確字符。實(shí)驗(yàn)結(jié)果表明,該模型具有快速、適應(yīng)性強(qiáng)、簡單等特性。螞蟻金服在BERT 模型的基礎(chǔ)上以圖卷積(Graph Convolutional Network,GCN)形式聚合相似字符之間的信息修正文本,設(shè)計(jì)并實(shí)現(xiàn)了SpellGCN中文文本校對模型[20]。復(fù)旦大學(xué)的研究人員為了解決MLM 檢錯(cuò)能力不足的問題,提出了一種適用于文本校對的Soft-Masked BERT 模型[21],該模型先將文本向量傳入BiGRU 構(gòu)建的檢錯(cuò)網(wǎng)絡(luò)中檢測每個(gè)位置出錯(cuò)的概率,再傳入Soft Masking 網(wǎng)絡(luò)中計(jì)算輸入向量和Mask 向量的誤差概率,接下來將概率輸入到BERT 的糾正網(wǎng)絡(luò)中,選擇概率最大的字符映射到候選詞表中,即為該位置的正確字符??紤]到字的校對模型缺乏詞信息,而詞的校對模型過于復(fù)雜,阿里巴巴團(tuán)隊(duì)提出了基于塊的全局優(yōu)化策略以實(shí)現(xiàn)拼寫修正[22],該模型基于塊的解碼思想,先將待校對文本分為單字詞、多字詞、短語、成語等候選組塊,然后采用音似、形似和義似混淆集縮小搜索空間,其中音似混淆集是該塊拼音相似的集合,形似混淆集是該塊距離為1 的集合,語義混淆集是利用MLM 根據(jù)上下文信息檢索該塊語義合理的候選集,最后使用最小誤差率訓(xùn)練(Minimum Classification Error Training,MERT)算法結(jié)合不同特征實(shí)現(xiàn)全局優(yōu)化。Tencent AI Platform 提出一個(gè)帶有拼寫錯(cuò)誤知識的預(yù)訓(xùn)練模型PLOME[23],該模型與文獻(xiàn)[20]實(shí)驗(yàn)采用的數(shù)據(jù)相同,但訓(xùn)練策略不同,PLOME 利用GRU 網(wǎng)絡(luò)將字的拼音和筆畫進(jìn)行建模。Tencent Cloud 提出了一種Realize 模型[24],通過不同的編碼器捕獲漢字的音似、形似和語義信息,然后基于門控方式選擇性進(jìn)行模態(tài)融合。實(shí)驗(yàn)結(jié)果表明,上述改進(jìn)BERT 模型運(yùn)用于文本校對中均取得了較好的效果。表4 為以上方法在SIGHAN2015 測試集上的測評結(jié)果。
Table 4 Comparison of lexical level proofreading methods based on deep learning表4 詞法級基于深度學(xué)習(xí)校對方法測評比較 (%)
中文文本自動(dòng)校對技術(shù)發(fā)展至今,大部分都是針對字詞級,句法級校對較少。英文語法糾錯(cuò)方法經(jīng)歷了由規(guī)則到分類器再到機(jī)器翻譯的演變[25],早期主要是應(yīng)用規(guī)則和機(jī)器學(xué)習(xí)方法進(jìn)行語法糾錯(cuò),雖然對特定類別的錯(cuò)誤十分有效,但由于語言的復(fù)雜性,該方法無法作為GEC 領(lǐng)域的通用方法。直至2006 年Chris 等[26]提出將語法翻譯看作“壞”句子翻譯成“好”句子的思想,于是基于機(jī)器翻譯方法逐漸成為了GEC 的主流方法,而CGEC 的研究則起源于2018 年召開的中文語法錯(cuò)誤診斷大賽,該比賽的數(shù)據(jù)集來自漢語水平考試中的寫作部分,參賽團(tuán)隊(duì)需要利用AI 算法對文章中的語法語義錯(cuò)誤進(jìn)行識別修正,比賽將多樣性的錯(cuò)誤歸并為字符串冗余、字符串缺失、字符串錯(cuò)誤及語序錯(cuò)誤4 類,并利用偵測層、識別層、定位層及修正層4 個(gè)級別對提交的系統(tǒng)進(jìn)行性能評估[27]。其中,偵測層判斷識別文本中是否包含錯(cuò)誤;識別層識別錯(cuò)誤文本的類型;定位層判斷錯(cuò)誤文本的位置和覆蓋范圍;修正層輸出字符串缺失和字符串錯(cuò)誤兩種錯(cuò)誤類型的糾正結(jié)果。
NLP-TEA2018 會(huì)議Correction 任務(wù)的優(yōu)勝團(tuán)隊(duì)以BiLSTM+CRF 為模型本體,通過引入大量語言知識特征,制定數(shù)百條規(guī)則用于檢測錯(cuò)誤,并結(jié)合點(diǎn)互信息和Attention 機(jī)制的Seq2Seq 模型對檢錯(cuò)結(jié)果進(jìn)行修改。雖然無法達(dá)到商用級別準(zhǔn)確度,但為后續(xù)研究提供了思路[28]。
2018 年NLPCC 比賽第一次組織了CGEC 任務(wù),旨在檢測并修正非漢語母語學(xué)者寫的文章中的語法錯(cuò)誤。根據(jù)參賽隊(duì)伍提供的作品可知,大部分參賽隊(duì)伍將GEC 問題視為翻譯問題,并集成多種模型進(jìn)行語法糾錯(cuò)。其中,評分最高的有道團(tuán)隊(duì)先使用5-gram 模型和音形混淆集對文本進(jìn)行拼寫糾正,然后應(yīng)用Seq2Seq 模型將語法糾錯(cuò)轉(zhuǎn)化為機(jī)器翻譯任務(wù),最后選擇困惑度最低的句子作為正確輸出[29]。成績第二的阿里團(tuán)隊(duì)結(jié)合基于規(guī)則、統(tǒng)計(jì)和神經(jīng)網(wǎng)絡(luò)模型的方法,先在類別內(nèi)進(jìn)行低級組合得到類別候選,再對類別間候選進(jìn)行高級組合得到最終的正確輸出[30]。兩個(gè)團(tuán)隊(duì)方案的效果相差不大,思路相近卻不盡相同,為之后的模型構(gòu)造方面提供了多種思路。王辰成等[31]同樣將CGEC 問題視為翻譯問題,采用基于多頭Attention 機(jī)制的Transformer 模型作為糾錯(cuò)模型,提出了一種動(dòng)態(tài)殘差結(jié)構(gòu),通過動(dòng)態(tài)結(jié)合不同神經(jīng)模塊的輸出以增強(qiáng)模型捕獲語義信息的能力,提高模型性能。
在NLP-TEA2020 會(huì)議的Correction 任務(wù)中可知,BERT的使用非常廣泛[32]。其中,外研在線團(tuán)隊(duì)使用了基于BERT 的序列標(biāo)注模型奪冠。第二名的哈工大訊飛聯(lián)合實(shí)驗(yàn)室通過在BERT 模型的基礎(chǔ)上融入殘差網(wǎng)絡(luò),根據(jù)Res-BERT 模型的輸出的結(jié)果,分別進(jìn)行用詞不當(dāng)錯(cuò)誤和內(nèi)容缺失錯(cuò)誤糾正[33]。
通過以上分析可知,雖然BERT 模型的應(yīng)用給CGEC提供了解決思路,但該模型的測評指標(biāo)仍然較低,遠(yuǎn)達(dá)不到商用標(biāo)準(zhǔn)。表5為上述方法的測評結(jié)果。
語義級校對從最初使用規(guī)則和統(tǒng)計(jì)模型獲取語義搭配知識庫,轉(zhuǎn)變?yōu)槭褂靡来婢浞鋵ξ谋菊Z義進(jìn)行分析,最后使用Attention 機(jī)制捕獲詞間語義關(guān)系。在引入深度學(xué)習(xí)方法后,由于模型能自主學(xué)習(xí)待校文本中的深層語義信息,無需單獨(dú)考慮語義信息,因此導(dǎo)致目前針對語義校對的研究較少。
Table 5 CGEC assessment result based on deep learning表5 基于深度學(xué)習(xí)的CGEC測評結(jié)果 (%)
湯柳君[34]利用實(shí)體抽取技術(shù)與知識圖譜相結(jié)合的方法對中文文本進(jìn)行句法語義校對,該方法集成了拼寫錯(cuò)誤、成分缺失、定義矛盾、內(nèi)容遺漏等校對功能,在限定的文本校對領(lǐng)域中具有較高的查全率,但缺乏對于語義關(guān)系校對的研究。
目前,中文文本校對系統(tǒng)大多基于語言模型結(jié)合規(guī)則、語料庫等語言特征進(jìn)行檢測糾正。其中,傳統(tǒng)模型發(fā)展較為完善,雖然具備易訓(xùn)練、可解釋性強(qiáng)等特點(diǎn),但存在缺乏長距離依賴、數(shù)據(jù)稀疏、容易出現(xiàn)未知詞、泛化能力差等問題,尤其是在語法和語義層面存在較大的局限性。而基于深度學(xué)習(xí)的語言模型可自主學(xué)習(xí)文本中的深層語義信息,具有長距離依賴等特性。
根據(jù)對中文文本自動(dòng)校對領(lǐng)域的應(yīng)用進(jìn)行分析、總結(jié)可知,文獻(xiàn)[1]分別評述了中、英文校對的技術(shù)難點(diǎn)和解決方法,但當(dāng)時(shí)的校對技術(shù)還不夠成熟,而目前結(jié)合語言規(guī)則和特征的傳統(tǒng)語言模型已經(jīng)發(fā)展的較為完善,且引入深度學(xué)習(xí)技術(shù)使得該領(lǐng)域迎來里程碑式的發(fā)展。本文旨在分析、對比前人的研究方法和當(dāng)前的研究水平,總結(jié)目前中文文本校對方法存在的不足之處。
通過過現(xiàn)有方法的研究發(fā)現(xiàn),今后可按照以下6 個(gè)方向?qū)δP瓦M(jìn)行改進(jìn):①嘗試加入知識圖譜等技術(shù),在模型中融入文本中的實(shí)體及實(shí)體關(guān)系,增加模型對復(fù)雜關(guān)系推理的能力,進(jìn)一步理解上下文關(guān)系;②解決跨領(lǐng)域的遷移學(xué)習(xí)問題;③擴(kuò)充中文文本校對標(biāo)注訓(xùn)練集資源,已有研究人員嘗試在文本中增加噪音以增強(qiáng)相關(guān)數(shù)據(jù),例如Tencent AI Lab 提出的基于數(shù)據(jù)驅(qū)動(dòng)方式自動(dòng)生成拼寫錯(cuò)誤的CSC 語料庫構(gòu)造方法[35]、Zhao 等[36]提出的通過動(dòng)態(tài)掩碼改善語法糾錯(cuò)方法等;④提出新的解決句法語義錯(cuò)誤方法;⑤進(jìn)行更精確的數(shù)據(jù)預(yù)處理,對語料進(jìn)行更加精確的標(biāo)注[37]等數(shù)據(jù)預(yù)處理環(huán)節(jié)也十分重要,通常會(huì)直接影響模型校對的正確率;⑥模型壓縮,目前文本校對領(lǐng)域常用的模型較為復(fù)雜、參數(shù)量較多,導(dǎo)致預(yù)測速度較慢,且對硬件要求較高[38-39]。