王連喜 ,鐘 準(zhǔn),丁曾強,鄧致妍 ,李 霞
(1.廣東外語外貿(mào)大學(xué) 廣州市非通用語種智能處理重點實驗室,廣東 廣州 510006;2.廣東外語外貿(mào)大學(xué) 信息科學(xué)與技術(shù)學(xué)院,廣東 廣州 510006;3.廣東外語外貿(mào)大學(xué) 日語語言文化學(xué)院,廣東 廣州 510006)
詞性標(biāo)注(part-of-speech tagging),又稱詞類標(biāo)注,是指以上下文關(guān)系為前提,給句子中的每個詞標(biāo)注出合理詞性的過程[1]。詞性標(biāo)注是自然語言處理任務(wù)的重要預(yù)處理工作之一,也是信息抽取、詞法分析、語法分析、語義分析等研究的基礎(chǔ)。詞性標(biāo)注的準(zhǔn)確率將直接影響文本檢索、文本分類、機器翻譯等研究的效果。詞性標(biāo)注本身是一個難度比較大的問題,因為很多詞語通常有多種詞性,但是在考慮詞語所處上下文語境的情況下,這些詞語的詞性是唯一的,可以明確附以名詞、動詞、形容詞等具體詞性標(biāo)簽。
印地語是印歐語系-印度語族下的一種語言,是南亞次大陸上使用人口最多的語言,也是印度的官方語言之一。以使用人口數(shù)量和使用國家數(shù)量來計算,印地語是世界排名第8的語言,但由于印度曾被殖民的緣故,印地語的使用地位比英語要低得多,并未成為眾多使用人口的第一語言。因此,印地語與其他低資源語言一樣,存在標(biāo)注語料稀缺、標(biāo)注難度及代價較高、規(guī)范性較差等問題,導(dǎo)致大規(guī)模的標(biāo)注資源不易獲取。
許多研究表明[1-2],目前對于通用語種的詞性標(biāo)注方法已較為成熟,但由于資源稀缺問題和語言的特殊性,無法直接應(yīng)用于印地語詞性標(biāo)注上。印地語詞性標(biāo)注目前面臨如下挑戰(zhàn):一是印地語中有大量借詞(其來源包括梵語、英語、烏爾都語、阿拉伯語、波斯語、土耳其語、葡萄牙語及普什圖語),導(dǎo)致語料中有大量外來詞;二是印地語承襲了古代梵文多變性特點,詞語的格和詞性比較復(fù)雜,變化靈活。
針對印地語詞性標(biāo)注問題,近年來科研工作者們已提出了多種相關(guān)的詞性標(biāo)注方法,如基于規(guī)則的方法、基于HMM(hidden markov model)的詞性標(biāo)注方法等[3-7]。如H.Agarwal等[8]利用條件隨機場對印地語詞性進行標(biāo)注訓(xùn)練,并對語料庫中每個單詞的詞根和可能的詞性進行了標(biāo)記。A.Dalal等[9]以最大熵馬爾可夫模型同時使用多個特征來捕獲與序列標(biāo)記任務(wù)相關(guān)的詞語詞性,并提出了一個基于語言標(biāo)簽和組塊分析統(tǒng)計的印地語詞性標(biāo)注方法。隱馬爾可夫模型、最大熵模型和條件隨機場等統(tǒng)計模型的依賴關(guān)系學(xué)習(xí)能力強,但是需要定義大量特征模板,否則容易陷入局部最優(yōu)解。N.Garg等[10]提出了基于規(guī)則的印地語詞性標(biāo)注方法,并對包含了30個印地語標(biāo)準(zhǔn)詞性標(biāo)簽的語料進行了實驗,結(jié)果顯示,其精度達了87.55%。S.Asopa等[11]利用規(guī)則與組塊相結(jié)合的方法進行詞性標(biāo)注,在有限語料的情況下提高了標(biāo)注效果。D.Modi等[12]結(jié)合29個詞性標(biāo)簽和多個詞法特征規(guī)則,提出了基于規(guī)則的印地語詞性標(biāo)注方法,該方法也取得了一定的效果?;谝?guī)則的方法針對特定領(lǐng)域的準(zhǔn)確率往往較高,但是規(guī)則制定較難且不能窮盡,所以其泛化效果通常會受到限制。
自深度神經(jīng)網(wǎng)絡(luò)模型流行以來,一些學(xué)者也在嘗試?yán)蒙疃葘W(xué)習(xí)來學(xué)習(xí)長距離信息之間的上下文信息,并以此解決詞性標(biāo)注、命名實體識別等序列標(biāo)注問題。如J.Yousif等[13]提出了基于多層感知器神經(jīng)網(wǎng)絡(luò)的印地語詞性標(biāo)注,并利用反向傳播學(xué)習(xí)算法對標(biāo)注結(jié)果進行糾錯。R.Narayan等[14]采用人工神經(jīng)網(wǎng)絡(luò)對印地語詞性標(biāo)注進行了研究,實驗準(zhǔn)確率高達91.30%,效果明顯比其他印地語詞性標(biāo)注方法好。此外,N.Mishra等[15]提出了一種混合的印地語詞性標(biāo)注方法,該方法首先借助WordNet 字典標(biāo)記印地語單詞,然后采用基于規(guī)則的方法為未標(biāo)記的單詞分配標(biāo)簽標(biāo)記,最后利用HMM模型來消除歧義。D.Modi等[16]融合基于統(tǒng)計和基于規(guī)則的方法,在一個小規(guī)模的標(biāo)注語料上取得了88.15%的平均準(zhǔn)確率。
總體上看,印地語自然語言處理技術(shù)還不夠成熟,國內(nèi)外開展印地語詞性標(biāo)注方法研究的工作相對較少,并且目前基于統(tǒng)計的詞性標(biāo)注方法對于缺乏大規(guī)模人工標(biāo)注語料的印地語詞性標(biāo)注而言,還不能取得明顯的效果。基于此,本課題組考慮將統(tǒng)計學(xué)習(xí)模型和深度神經(jīng)網(wǎng)絡(luò)模型進行結(jié)合,通過深度學(xué)習(xí)模型對待標(biāo)注序列的上下文信息進行捕獲,然后采用條件隨機場(conditional random field,CRF)對整個待標(biāo)注序列的局部特征進行信息線性加權(quán),從而更好地識別序列信息前后的依賴關(guān)系。為能更好地捕獲上下文信息,并使得輸出序列符合一些基本依賴關(guān)系的約束,本文研究一種融合深度神經(jīng)網(wǎng)絡(luò)和統(tǒng)計學(xué)習(xí)的印地語詞性標(biāo)注模型。
詞性標(biāo)注是自然語言處理領(lǐng)域的一種典型序列標(biāo)注任務(wù),其本質(zhì)就是對線性序列中每個元素根據(jù)上下文內(nèi)容進行分類的問題。詞性標(biāo)注的過程,就是給定一個一維線性輸入序列X={x1,x2,x3, …,xn},通過利用規(guī)則、統(tǒng)計模型或深度學(xué)習(xí)模型,對該序列中的每個元素xi打上給定標(biāo)簽集合中的某個標(biāo)簽yi,從而得到輸入序列的相應(yīng)標(biāo)簽序列Y={y1,y2,y3, …,yn}。例如,給出一個印地語句子:通過詞性標(biāo)注方法進行標(biāo)注后,可以得到如下的相應(yīng)標(biāo)注結(jié)果:
在處理序列標(biāo)注任務(wù)時,目前學(xué)術(shù)界較為流行的做法,是將統(tǒng)計模型與深度學(xué)習(xí)模型相結(jié)合[17-18],這樣,一方面可以學(xué)習(xí)待標(biāo)注序列中的依賴約束關(guān)系,另一方面也可以考慮到長距離的上下文關(guān)系,從而很好地結(jié)合兩種模型的優(yōu)點。
雖然循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)常被用于解決序列標(biāo)注問題,但是該模型存在“長距離依賴”問題,且容易在網(wǎng)絡(luò)訓(xùn)練過程中出現(xiàn)梯度消失和梯度爆炸問題。為了解決長序列信息依賴問題,S.Hochreiter等[19]提出了長短期記憶網(wǎng)絡(luò)(long short-term memory,LSTM)。LSTM 通過輸入門、遺忘門和輸出門3種類型的門結(jié)構(gòu)來控制不同時刻的狀態(tài)和輸出,通過門控控制單元的狀態(tài)信息控制之前信息和當(dāng)前信息的記憶和遺忘程度,所以該模型可以選擇性地保存序列信息。但是單向的LSTM模型(如圖1)只能獲取序列的上文信息,無法獲取序列的下文信息,且往往會更偏向于最近的輸入表示信息。
圖1 LSTM模型的結(jié)構(gòu)Fig.1 Structure of LSTM model
為解決LSTM 無法同時從正向和反向獲取序列信息的問題,C.Dyer等[20]提出了雙向長短期記憶模型BiLSTM,其網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。BiLSTM模型可以從正向和反向兩個方向同時對序列進行建模,不僅可以保存上文信息,還可以考慮到下文信息。
圖2 BiLSTM模型的結(jié)構(gòu)Fig.2 Structure of BiLSTM model
條件隨機場[21](CRF)是一種經(jīng)典的基于無向圖的條件概率模型,也常被用于序列標(biāo)注問題。CRF模型既具有判別式模型的優(yōu)點,又具有生成式模型考慮到的上下文標(biāo)注間的轉(zhuǎn)移概率,以序列化形式進行全局參數(shù)優(yōu)化和解碼的特點,其結(jié)合了隱馬爾可夫模型的優(yōu)點和最大熵模型的優(yōu)點,解決了其他判別式模型難以避免的標(biāo)注偏置問題,是傳統(tǒng)統(tǒng)計序列標(biāo)注的強力模型。
表1 印地語詞性標(biāo)注體系Table1 Part-of-speech tagging system of Hindi
假設(shè)隨機變量序列X={x1,x2,x3,…,xn}和Y={y1,y2,y3,…,yn}均為線性鏈表示的隨機變量序列,在給定X的情況下,Y的條件概率分布P(Y|X)構(gòu)成條件隨機場,即滿足馬爾可夫性:
在詞性標(biāo)注問題中,X表示觀測序列,Y表示相應(yīng)的標(biāo)注序列或狀態(tài)序列。
對于線性鏈CRF,給定一個輸入序列(觀測序列)X,通過一組特征函數(shù)集合來對序列X每個元素的可能標(biāo)簽序列組合Y的得分進行計算,計算公式為
式(1)中:xi為序列X中的第i個元素;
yi為第i個元素的標(biāo)簽;
yi-1為第i-1個元素的標(biāo)簽;
fj為特征函數(shù);
λj為特征權(quán)重。
在得到每個可能的標(biāo)簽序列的分?jǐn)?shù)之后,可以通過冪運算和softmax 對序列組合得分進行指數(shù)和歸一化處理,從而獲得標(biāo)注序列的概率值。歸一化方法如式(2)所示。
由前面的描述可知,深度神經(jīng)網(wǎng)絡(luò)模型和CRF在序列標(biāo)注任務(wù)中各有優(yōu)缺點:深度神經(jīng)網(wǎng)絡(luò)模型能夠捕獲待標(biāo)注序列的上下文信息,但不能有效識別信息之間的依賴關(guān)系;CRF 不考慮長遠(yuǎn)的上下文信息,但更多考慮整個序列局部特征的線性加權(quán)信息,對具有依賴關(guān)系的信息識別效果較好。
為了能更好地捕獲待標(biāo)注序列的上下文信息和輸出序列的依賴關(guān)系約束,本文提出基于深度學(xué)習(xí)和CRF的印地語詞性標(biāo)注方法,首先通過深度神經(jīng)網(wǎng)絡(luò)模型(如CNN、LSTM、BiLSTM等)訓(xùn)練得到輸入序列的信息特征,然后利用CRF 對上一步的輸出信息添加一些約束來保證詞性標(biāo)簽預(yù)測的合理性。
假設(shè)X={x1,x2,x3,…,xn}表示一個印地語句子,其中xi為句子X的第i個詞,Y={y1,y2,y3,…,yn}為句子X的詞性標(biāo)注序列。基于深度學(xué)習(xí)和CRF的印地語詞性標(biāo)注模型主要包括詞表示層、序列表示層和CRF 推理層。
1)詞表示層。根據(jù)輸入數(shù)據(jù)X進行數(shù)據(jù)預(yù)處理,并利用word2vec 方法對大規(guī)模語料進行訓(xùn)練生成具有語義信息的低維度稠密實數(shù)詞向量。
2)序列表示層。將詞向量傳入到深度神經(jīng)網(wǎng)絡(luò)模型中進行訓(xùn)練,得到輸入序列的信息特征。
3)CRF 推理層。利用深度神經(jīng)網(wǎng)絡(luò)模型的輸出狀態(tài)和當(dāng)前的轉(zhuǎn)移概率矩陣作為CRF模型的參數(shù),最終獲得標(biāo)簽序列Y的概率。
詞性標(biāo)注方法的效果通常受如下因素影響:一是受語料規(guī)模和語料所屬領(lǐng)域范圍的影響,語料規(guī)模越大,領(lǐng)域范圍越集中,詞性標(biāo)注效果越好;二是受詞性標(biāo)記集合大小的影響,詞性標(biāo)記集合的粒度越小,標(biāo)注效果隨之降低;三是受訓(xùn)練語料規(guī)模的影響,標(biāo)注的訓(xùn)練語料規(guī)模越大,學(xué)習(xí)算法的學(xué)習(xí)效果越好,越能得到好的結(jié)果。由于目前印地語缺乏公開的詞性標(biāo)注語料,且相同模型對于不同詞性標(biāo)記集合的標(biāo)注效果也會出現(xiàn)較大差異,因此結(jié)合印地語語法特點及后續(xù)印地語自然語言處理任務(wù)要求,項目組邀請印地語專家設(shè)計了表1所示印地語詞性標(biāo)注體系。
由表1可知,該體系包含21種詞性類別構(gòu)成的詞性標(biāo)記集合,且具有相同詞性的細(xì)粒度標(biāo)記類別,如名詞包含了一般名詞、時間名詞、地點名詞、人名4種,動詞包含了主動詞、助動詞、系動詞3種。
同時,邀請了7名印地語專業(yè)人員組成詞匯標(biāo)注小組,對來自印地語的新聞文本進行人工標(biāo)注。在人工標(biāo)注時,每個句子均是由多個印地語專業(yè)人員達成標(biāo)注一致性的結(jié)果,最終形成5 950條標(biāo)注句子集,合計114 127個單詞。
本實驗中,將詞性標(biāo)注集的90%作為訓(xùn)練集(共5 355個句子,108 756個單詞),10%作為測試集(共595個句子,5 371個單詞)。訓(xùn)練集不僅用于訓(xùn)練詞性標(biāo)注模型,還用于訓(xùn)練詞向量矩陣和字符向量矩陣。
為了評估詞性標(biāo)注方法的性能,使用準(zhǔn)確率Accuracy作為本實驗的效果評估指標(biāo),計算公式為
模型實現(xiàn)使用Python 語言及TensorFlow 框架。詞性標(biāo)注模型經(jīng)過多次實驗調(diào)整后,選擇最佳結(jié)果設(shè)置了如表2所示的超參數(shù)。在實驗的正則化方法中,Dropout 通常會隨機刪除一些神經(jīng)元,以防止模型出現(xiàn)過度擬合的情況。
表2 模型超參數(shù)Table2 Hyperparameters of the model
為了對比不同方法在印地語詞性標(biāo)注任務(wù)中的效果,本文采用相同的標(biāo)注語料在TnT[22]、HMM[5]、CRF、BiLSTM、BiLSTM+LAN[23]和CNN+LSTM+CRF等模型上進行實驗。其中,TnT、HMM、CRF為基于統(tǒng)計學(xué)習(xí)的方法,BiLSTM和BiLSTM+LAN為基于深度學(xué)習(xí)的方法,但是BiLSTM+LAN是一種融合標(biāo)簽信息的(label attention network)深度學(xué)習(xí)方法,主要是將標(biāo)簽進行詞嵌入表示,然后將其傳入BiLSTM 進行訓(xùn)練,這樣就能夠捕捉到更長的標(biāo)簽依賴關(guān)系。后面幾種為深度神經(jīng)網(wǎng)絡(luò)與統(tǒng)計學(xué)習(xí)模型相結(jié)合的方法。
由圖3所示的多個模型的詞性標(biāo)注結(jié)果可以看出,CRF是基于統(tǒng)計學(xué)習(xí)模型中效果最好的,與HMM 方法相比,其性能約提高了22%。BiLSTM模型的效果較CRF和BiLSTM+LAN 方法的差,而CNN+LSTM+CRF 能夠得到更好的效果。
圖3 不同模型的詞性標(biāo)注結(jié)果Fig.3 Tagging result comparation of different models
整體上看,在深度學(xué)習(xí)模型基礎(chǔ)上加上CRF,其效果并未比深度學(xué)習(xí)模型有很大的提升,一個可能的原因是神經(jīng)網(wǎng)絡(luò)編碼器已有很強序列信息編碼能力,在此基礎(chǔ)上加上CRF 并未引入更多有效信息。
雖然提出的方法能夠取得較好的效果,但相較于其他語種的詞性標(biāo)注結(jié)果尚有一定的提升空間。其原因在于,當(dāng)前實驗的標(biāo)注語料規(guī)模還不夠大,沒有充分發(fā)揮出深度神經(jīng)網(wǎng)絡(luò)在大規(guī)模語料中的學(xué)習(xí)優(yōu)勢。
本文提出了一種融合深度神經(jīng)網(wǎng)絡(luò)和統(tǒng)計學(xué)習(xí)的印地語詞性標(biāo)注方法。首先,通過詞嵌入方法對印地語單詞進行詞向量表示;然后,將詞向量作為深度神經(jīng)網(wǎng)絡(luò)模型的輸入進行訓(xùn)練,進而獲取單詞的上下文信息;最后,通過CRF模型解碼深度神經(jīng)網(wǎng)絡(luò)模型的輸出,獲取最優(yōu)標(biāo)注序列。實驗結(jié)果表明,提出的方法較傳統(tǒng)統(tǒng)計方法能得到更好的效果。
在未來研究工作中,將嘗試端到端的訓(xùn)練模型,并進一步從詞法分析角度挖掘印地語本身的語言特征,進而輔助深度學(xué)習(xí)模型的學(xué)習(xí)效果,從而提高印地語詞性標(biāo)注的準(zhǔn)確性。