趙國紅
(青海師范大學(xué)計算機(jī)學(xué)院,西寧 810000)
近年來,全球掀起了漢語學(xué)習(xí)的熱潮,然而,由于不同國家的語言環(huán)境和語言結(jié)構(gòu)的差異,漢語學(xué)習(xí)者更容易出現(xiàn)語法錯誤。相較于英文,中文的語法更加復(fù)雜和靈活。因?yàn)橹形牟淮嬖谠~語的單復(fù)數(shù)和時態(tài)等明確的語法規(guī)則,其語法錯誤經(jīng)常涉及隱晦的語義解析而不能基于字詞形態(tài)來判斷[5]。所以,漢語學(xué)習(xí)者在漢語學(xué)習(xí)的過程中最常見的錯誤是語法錯誤。
國外英語語法糾錯的研究起步比較早,在20世紀(jì)80年代的時候與GEC(grammatical error correction)相關(guān)的研究就已經(jīng)出現(xiàn)。如今,針對英語語法糾錯的方法特別多。相較于英語語法糾錯,國內(nèi)對中文語法糾錯的研究起步比較晚,中文語法現(xiàn)象復(fù)雜多變,這也決定了中文語法糾錯的復(fù)雜度要高于英文糾錯的復(fù)雜度??傊?,關(guān)于如何使用人工智能來糾正中文語法錯誤面臨著機(jī)遇和挑戰(zhàn)。由于平行語料的缺乏,早期的CGEC(chinese grammatical error correction)大多采用基于規(guī)則和統(tǒng)計的方法,如:Wu[16]提出使用相對位置語言模型(relative position language model)和解析模板語言模型(parse template language model)的方法檢測美國學(xué)習(xí)者所寫的文章中的語法錯誤。Yu和Chen[19]提出從HSK動態(tài)作文語料庫中檢測漢語句子語序錯誤的分類器的方法。Lee等人(2013)[9]使用一系列手工語言規(guī)則來檢測中文學(xué)習(xí)者寫作中的語法錯誤。Lee等人(2014)[2]進(jìn)一步提出了一個結(jié)合手工語言規(guī)則和N-gram模型的系統(tǒng)來檢測句子中的漢語語法錯誤。Fu等人[4]采用簡單到復(fù)雜的分階段糾錯方法,使用語言模型糾正簡單的錯誤,字、詞級的Transformer模型糾正復(fù)雜的錯誤。以上提到的方法采用手工提取特征的方法,可能會造成提取的特征不完整或者重要信息丟失,并且漢語語法的靈活性使得傳統(tǒng)規(guī)則的模型取得的效果不是很理想。近年來,隨著大規(guī)模平行語料的開發(fā),深度學(xué)習(xí)技術(shù)被廣泛應(yīng)用到漢語GEC任務(wù)。相比傳統(tǒng)方法,神經(jīng)網(wǎng)絡(luò)方法具有很強(qiáng)的自動學(xué)習(xí)特征能力和完全數(shù)據(jù)驅(qū)動的能力。為了讓更多的語言信息集成到神經(jīng)網(wǎng)絡(luò),Zheng團(tuán)隊[22]使用詞性(POS)標(biāo)簽方法與阿里巴巴團(tuán)隊[18]使用雙向LSTM-CRF的方法進(jìn)一步集成詞性標(biāo)注的分?jǐn)?shù)(POS分?jǐn)?shù)),逐點(diǎn)互信息(PMI)和依賴詞搭配等深層學(xué)習(xí)網(wǎng)絡(luò),使得兩個團(tuán)隊分別在2016年和2017年CGED任務(wù)中取得了較好的成績。Zhou等人[23]使用多個模型糾錯,分別是基于規(guī)則、統(tǒng)計和神經(jīng)網(wǎng)絡(luò),通過模型組合的方式得到最終的糾錯結(jié)果。Ren等人[11]使用基于卷積神經(jīng)網(wǎng)絡(luò)的seq2seq模型糾錯,還采用了subword[12]算法來縮小詞表和緩解未登錄詞的問題。王辰成等人[25]提出了基于Transformer增強(qiáng)架構(gòu)的中文語法糾錯模型,該模型使用動態(tài)殘差結(jié)構(gòu)結(jié)合不同神經(jīng)模塊的輸出來增強(qiáng)模型捕獲語義信息的能力。張生盛等人[21]首次提出了個性化的語法糾錯。使用基于Transformer增強(qiáng)的漢語語法糾錯模型對錯誤進(jìn)行糾正。
本文首先介紹二語學(xué)習(xí)者語料庫規(guī)模與CGEC研究的關(guān)系,接著分析基于統(tǒng)計與規(guī)則的研究方法,以及CGEC系統(tǒng)的評測標(biāo)準(zhǔn),最后闡述學(xué)習(xí)者語法錯誤研究的發(fā)展趨勢,并提出下一步提高系統(tǒng)準(zhǔn)確率的建議。
中文語法糾錯任務(wù)主要是針對外國人在學(xué)習(xí)中文時出現(xiàn)的語法錯誤,本文主要介紹的數(shù)據(jù)為兩種。一種為華語能力測試(test of chinese as a foreign language,TOCFL),中文繁體語料庫。另一種是漢語水平考試(hanyu shuiping kaoshi,hsk),中文簡體語料庫。兩個數(shù)據(jù)集都是用來檢測母語非漢語者(包括外國人、華僑和中國少數(shù)民族考生)的漢語水平而設(shè)立的一項(xiàng)國際漢語能力標(biāo)準(zhǔn)考試。其中中文的語法錯誤類型主要包括:①冗余錯誤(redundant words);②選詞錯誤(word selection errors);③漏詞錯誤(missing words);④語序不當(dāng)錯誤(word ordering errors)四種類型錯誤。具體的錯誤樣本數(shù)據(jù)如表1所示。
表1 HSK語法錯誤類型
漢語學(xué)習(xí)者數(shù)據(jù)對漢語語法研究至關(guān)重要。研究者可借助人工標(biāo)注的語料歸納語法錯誤類型;還可將其作為訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù),構(gòu)建中文語法錯誤檢測和糾錯神經(jīng)網(wǎng)絡(luò)模型,并且提高評測系統(tǒng)的性能。
隨著二語學(xué)習(xí)者和語料庫的數(shù)量和規(guī)模的不斷擴(kuò)充,GEC研究領(lǐng)域出現(xiàn)了一些新的研究方法,具體可分為3類:①N-Gram語言模型;②自動分類模型;③神經(jīng)機(jī)器翻譯模型。在實(shí)際應(yīng)用中,統(tǒng)計方法常與傳統(tǒng)的基于規(guī)則的方法相結(jié)合,以充分發(fā)揮兩者的優(yōu)點(diǎn),開發(fā)規(guī)則與統(tǒng)計的GEC系統(tǒng)。
N-Gram是一種基于統(tǒng)計語言模型(language model,LM)的算法。語言模型其實(shí)是一個基于概率的判別模型,它的輸入是一句話,輸出是這句話的概率,即這些單詞的聯(lián)合概率(joint probability)。N-gram的概率計算,假設(shè)一個句子由N個詞組成表示為:S=(w1,w2,…,w n)
那么:
從以上的概率計算可以看出,N-gram語言模型存在參數(shù)空間過大和數(shù)據(jù)稀疏的問題,為解決這個問題引入馬爾科夫假設(shè),即一個詞的出現(xiàn)僅與它之前的若干次有關(guān)。N-Gram語言模型是語法糾正領(lǐng)域中最常用的方法,能夠測量單詞序列出現(xiàn)的概率。在語言模型中語法正確的句子出現(xiàn)的概率過高,判斷為語法正確的句子,而語法不正確句子出現(xiàn)的概率過低,則判斷為語法不正確。
近年來,隨著中文語法研究的深入,許多機(jī)構(gòu)和組織公開發(fā)布了中文語法錯誤的數(shù)據(jù)集,基于改進(jìn)N-Gram語言模型開發(fā)CGEC系統(tǒng)也逐漸增多,很大程度上也提升了N-Gram語言模型糾正語法錯誤。
分類是給一個樣本(一個數(shù)據(jù)實(shí)例)分配標(biāo)簽(類的)過程。在GEC研究中,如何根據(jù)輸入句子中是否含有語法錯誤、錯誤類型分析和錯誤定位等維度進(jìn)行綜合評價。其樣例如表1所示,判斷正確性標(biāo)準(zhǔn)可以分為以下3個層次:①檢測級別。自動分類模型把文本語法檢測任務(wù)視為二分類的問題,判斷輸入的句子中是否包含語法錯誤,如果包含語法錯誤,那么就輸出不正確,否則輸出正確;②識別級別。自動分類模型把文本語法識別任務(wù)視為多分類的問題,根據(jù)黃金標(biāo)準(zhǔn),識別所有的錯誤類型;③位置級別。此外,識別出所有錯誤類型之后,需要判斷出語法錯誤發(fā)生的范圍。
YouDao[4]在NLPCC 2018年加入語法糾錯任務(wù),將CGEC任務(wù)視為翻譯問題,讓神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)錯誤句子(source sentence)與正確句子(target sentence)之間的關(guān)系,并將錯誤的句子翻譯翻譯為正確的句子。一般來說,大多數(shù)神經(jīng)機(jī)器翻譯模型是基于編碼器-解碼器,其中編碼器將輸入序列編碼成一個隱藏狀態(tài)序列,譯碼器根據(jù)隱藏狀態(tài)生成輸出序列。相比傳統(tǒng)方法,神經(jīng)機(jī)器翻譯模型的明顯優(yōu)勢是可以自動提取語言學(xué)特征和糾正具有長期依賴性的錯誤的能力。神經(jīng)機(jī)器翻譯模型Recurrent Neural Network(RNN)的變體如:Long Short Term Memory(LSTM)、Gated-Recurrent Unit(GRU)[1,12]和Convolutional Neural Network(CNN)[6-7]。此外,Transformer模型被用于CGEC生成流暢文本的能力關(guān)注,Transformer是一種強(qiáng)大的神經(jīng)機(jī)器翻譯模型。近年來,許多漢語語法糾錯在Transformer模型基礎(chǔ)上進(jìn)行了廣泛地研究,如Wang等人[15]、Devlin[3]和Liu[10]分別取得了不錯效果。
通過研究前人的工作[8,14,20],從中得到句子級別上使用準(zhǔn)確率(Accuracy)、精準(zhǔn)率(Pr eci sion)、召回率(Recall)和F1-measure作為自動度量來評估系統(tǒng)糾正的性能。漢語語法糾錯系統(tǒng)使用人工注釋語法錯誤的二語學(xué)習(xí)者的語料庫作為評測標(biāo)準(zhǔn),通過系統(tǒng)的改正錯誤與人工標(biāo)準(zhǔn)答案對比異同來衡量系統(tǒng)的效果。由于語法錯誤的標(biāo)注和修改需要耗費(fèi)大量的人力、物力和財力,為了提高語料標(biāo)注效率,漢語語法糾錯研究的測試語料中的語法錯誤一般是單人標(biāo)注,但近期研究發(fā)現(xiàn),由于母語者對漢語學(xué)習(xí)者語法錯誤的標(biāo)注和修改存在異同,為了能夠更準(zhǔn)確地測試漢語語法糾錯系統(tǒng)的性能,應(yīng)該盡可能地使用多人標(biāo)注測試語料。
由于GEC需要糾正多種語法錯誤,目前GEC的準(zhǔn)確率和召回率仍然較低。漢語GEC系統(tǒng)的性能仍有提升空間。為進(jìn)一步提高自動語法錯誤檢測系統(tǒng)的性能,需要解決以下幾個問題。
(1)加強(qiáng)統(tǒng)計模型以大規(guī)模真實(shí)語料為知識來源,避免了人工編寫規(guī)則的繁瑣。
謝海華等[17]使用大量無標(biāo)簽的正確中文語料,通過詞性規(guī)則、句法規(guī)則以及語言模型概率統(tǒng)計等方法來生成接近真實(shí)語法錯誤用例的樣本,以擴(kuò)充訓(xùn)練語料。由于中文語法的復(fù)雜性,在下一步的計劃中將進(jìn)一步提高數(shù)據(jù)構(gòu)造的合理性,使構(gòu)造的錯誤樣本更符合人們實(shí)際所犯的語法錯誤。
(2)重視母語遷移造成二語學(xué)習(xí)者語法錯誤。語言遷移理論認(rèn)為二語學(xué)習(xí)者的書面語法錯誤類型受其母語影響?;趯W(xué)習(xí)者語料庫的研究也發(fā)現(xiàn),不同母語背景學(xué)習(xí)者的錯誤類型和分布概率存在差異。如周小兵等人[24]在對漢語作為第二語言的學(xué)習(xí)者的教學(xué)研究中發(fā)現(xiàn),母語遷移是造成二語學(xué)習(xí)者語法錯誤的一項(xiàng)重要原因。如部分漢語學(xué)習(xí)者可能會寫“我見面我的老師”這樣的錯句。此外,Swan and Smith[13]在對二語學(xué)習(xí)者的教學(xué)研究發(fā)現(xiàn)不同母語寫作者會犯不同類型的錯誤。他們將其中的某些錯誤歸因于語言之間的“轉(zhuǎn)移”或“干擾”,即母語的“負(fù)遷移”。張生盛等人[21]針對漢語作為第二語言的學(xué)習(xí)者提出了個性化語法糾錯,發(fā)現(xiàn)將語法糾錯模型適應(yīng)到學(xué)習(xí)者的不同特征時表現(xiàn)會更好。
(3)改善語言學(xué)特征的多任務(wù)學(xué)習(xí)。謝海華提到[17]因?yàn)檎Z言學(xué)特征和語法的使用是十分相關(guān)的,所以使用語言學(xué)特征對語言模型進(jìn)行優(yōu)化能夠使它學(xué)習(xí)到顯式的語言學(xué)特征以及隱藏的語義信息,對語法錯誤檢測的效果起到明顯的改善作用。