頭旦才讓,仁青東主,尼瑪扎西,完么扎西,才藏太
(1. 青海師范大學(xué) 省部共建藏語智能信息處理及應(yīng)用國家重點(diǎn)實(shí)驗(yàn)室,青海 西寧 810008;2. 青海師范大學(xué) 計(jì)算機(jī)學(xué)院,青海 西寧 810008;3. 青海師范大學(xué) 民族師范學(xué)院,青海 西寧 810008;4. 西藏大學(xué) 信息科學(xué)技術(shù)學(xué)院,西藏 拉薩 850000)
藏語句子分割技術(shù)是自然語言處理中的一項(xiàng)重要且基礎(chǔ)性的研究工作。在機(jī)器翻譯、文本分類、命名實(shí)體識別和自動問答等任務(wù)中,語料往往以句子為單位進(jìn)行分析和處理[1]。目前,在藏語語料構(gòu)建過程中,一般都采用監(jiān)督或者半監(jiān)督的方法進(jìn)行句子分割,這樣不僅耗費(fèi)了大量的人力、物力和財(cái)力,而且語料規(guī)模難以達(dá)到藏語自然語言處理的要求,所以必須解決藏語句子的自動分割問題。
在漢語句子分割方法方面,主要以規(guī)則[2]、統(tǒng)計(jì)[3]、機(jī)器學(xué)習(xí)[4]和深度學(xué)習(xí)方法[5]為主,這些方法給漢語句子分割技術(shù)提供了很好的理論依據(jù)和技術(shù)參考,并廣泛應(yīng)用于中文信息處理中。另外,漢語中表示句子間隔的標(biāo)點(diǎn)符號的功能比較單一,通常只要找出表示漢語句子間隔的標(biāo)點(diǎn)符號即可[6]。當(dāng)漢語句子末尾出現(xiàn)句號、問號和感嘆號時(shí),可以表示為一個獨(dú)立完整的句子,所以漢語句子分割問題已基本解決,而藏語句子邊界信息模糊,無法僅憑簡單的規(guī)則進(jìn)行識別。
目前藏語句子分割方面的研究只有一些零散的文獻(xiàn)報(bào)道,采用的方法主要以規(guī)則、統(tǒng)計(jì)以及兩者結(jié)合的方法為主。2011年,李響等人[7]采用一種基于規(guī)則和最大熵模型相結(jié)合的方法來識別藏語句子邊界。2012年,才藏太[8]根據(jù)藏語語法的邏輯規(guī)則以及構(gòu)建的辭典,對藏語句子進(jìn)行了分割,同時(shí)采用最大熵模型識別有邊界歧義的藏語句子。2013年,趙維納等人[9]通過分析藏文句子邊界符號的特征,提出了一種基于藏語助動詞的句子分割方法。2016年,萬瑪冷智[10]通過探索藏語句子的詞法和語法規(guī)則,提出了一種基于句尾詞性的藏語句子分割方法。2019年,卻措卓瑪?shù)热薣11]總結(jié)歸納藏語句子的類型以及句子邊界信息特征,提出了一種基于混合策略的藏語句子分割方法。2020年,柔特等人[12]提出了一種藏語句子語義切分方法。上述這些研究成果給藏語句子分割技術(shù)的研究提供了一定的理論和技術(shù)基礎(chǔ)。
本文根據(jù)藏語句子分割規(guī)則、特點(diǎn)以及難點(diǎn),借鑒漢英相關(guān)技術(shù)方法,提出一種融合藏語依存句法信息的藏語句子分割模型,下文將圍繞四個部分對藏語句子分割技術(shù)進(jìn)行研究。
藏語句子是按照其嚴(yán)格的語法規(guī)則,由實(shí)詞和虛詞組成的,具備完整的語義,具有很強(qiáng)的次序性和邏輯性的句子。漢語句子分割技術(shù)和藏語句子分割技術(shù)有一定的區(qū)別和差異,所以,藏語句子分割技術(shù)無法直接使用漢語句子的分割方法和理論。
在藏語中,如何判斷某一個句點(diǎn)到底是否為句尾,關(guān)系到詞法分析、句法分析和語義分析等不同層面。如果從藏語文本的表層詞匯信息角度考慮,表示句尾的句點(diǎn)前面一般都會出現(xiàn)動詞、形容詞、終結(jié)詞、助詞、離合詞等。本文通過對藏語語料進(jìn)行統(tǒng)計(jì),句尾出現(xiàn)各類詞的比例如表1所示。
表1 句尾出現(xiàn)各類詞的比例
根據(jù)藏語文法中的句子特征和語料統(tǒng)計(jì)結(jié)果,藏語句子分割有以下三個難點(diǎn)。
1.2.1 句點(diǎn)的歧義性
句點(diǎn)功能的多種歧義使藏語句子邊界識別較為困難,示例如圖1所示。
圖1 藏語句點(diǎn)的歧義示例
1.2.2 借用符號的識別
隨著各民族文化交流,現(xiàn)代藏語文本中出現(xiàn)了很多借用符號,如雙引號、破折號和省略號等外來符號經(jīng)常會出現(xiàn)在藏語句子中,增加了藏語句子分割的難度,示例如圖2所示。
圖2 藏語中出現(xiàn)的借用符號示例
1.2.3 長句的分割問題
長句由多個單句組成,很難在長句中找出句子內(nèi)部的分割點(diǎn),示例如圖3所示。
圖3 藏語長句子示例
雙向LSTM+CRF模型能夠解決文本序列標(biāo)注問題,我們可以將藏語句子切分任務(wù)作為一個序列標(biāo)注的問題進(jìn)行處理。傳統(tǒng)的雙向LSTM+CRF模型包括輸入層、詞嵌入層、特征提取層和分類層。模型架構(gòu)如圖4所示。
圖4 雙向LSTM+CRF模型架構(gòu)
由圖4可知,詞嵌入層將輸入的詞特征序列映射成低維實(shí)值向量。若輸入序列過長,則隨著模型訓(xùn)練,將會遺失長距離詞信息,致使模型不能很好的捕獲長距離句子的句法信息和語義特征。為提高模型學(xué)習(xí)時(shí)序特征能力,在特征提取層采用雙向LSTM,捕獲輸入句子中的上下文信息,獲得每個輸入序列的句法信息特征和隱藏層狀態(tài),隨后采用CRF進(jìn)行解碼。生成序列的概率P(y|X)如式(1)所示。
(1)
其中,
(2)
式中,s(X,y)是標(biāo)簽分配得分函數(shù),P是隱藏層序列映射到標(biāo)簽的得分矩陣,A是轉(zhuǎn)移概率矩陣,Ai,j表示標(biāo)簽i到j(luò)的轉(zhuǎn)移概率。
在漢語信息處理中使用的深度學(xué)習(xí)方法和理論一般都可以應(yīng)用在藏語自然語言處理中,但在實(shí)際應(yīng)用中,須針對藏語語法中的具體問題和藏語自身獨(dú)有的語法特征做適當(dāng)?shù)母膭雍驼{(diào)整。
藏語依存句法分析可以獲取句子,內(nèi)部的結(jié)構(gòu)信息,找出最佳句子邊界。因此,本文根據(jù)藏語句子結(jié)構(gòu)特征,采用多任務(wù)學(xué)習(xí)機(jī)制,在雙向LSTM+CRF模型中融入了藏語依存句法信息。模型融入藏語依存句法信息的原因有以下三個方面:
(1) 根據(jù)藏語句子分割規(guī)則,動詞一般出現(xiàn)在句尾,可以充當(dāng)句子邊界符號,而依存語法則是以動詞為核心,用于剖析句子成分內(nèi)部的依賴關(guān)系,所以通過藏語依存句法分析可以更好地獲取藏語句子邊界信息。
(2) 我們根據(jù)藏語傳統(tǒng)的句法結(jié)構(gòu)特征和語法理論規(guī)則,制定了符合藏語語法的依存句法標(biāo)注規(guī)范,把藏語依存句法關(guān)系分為5個大類和36個小類,并研發(fā)了藏語依存句法標(biāo)注系統(tǒng)[18],為融合藏語依存句法模型提供了可靠的數(shù)據(jù)和理論支持。
(3) 將藏語依存句法信息融入雙向LSTM+CRF模型中,避免對每個輸入序列都進(jìn)行句法剖析,顯著增加了模型的適用性。
深度學(xué)習(xí)融入外部信息有多種方式[19],本文使用雙向LSTM+CRF模型進(jìn)行藏語句子分割時(shí)融入了藏語依存句法信息,使模型可以學(xué)習(xí)到特征提取層和輸出層的信息,模型架構(gòu)如圖5所示。
圖5 融合藏語依存語法的句子分割模型
圖5中,{x1,x2,x3,…,xn}是輸入的詞序列,{y1,y2,y3,…,yn}是模型預(yù)測出的分割標(biāo)簽,{q1,q2,q3,…,qn}是模型預(yù)測出的藏語依存句法標(biāo)簽序列。以下重點(diǎn)對模型的詞嵌入層、融合藏語依存句法的雙向LSTM層和輸出層進(jìn)行介紹。
為融合藏語依存句法信息,模型的嵌入主要由詞嵌入和藏語依存句法信息嵌入兩部分組成。
模型的詞嵌入層將詞輸入序列映射為實(shí)值向量。輸入的藏語句子,都以詞作為最小單位嵌入神經(jīng)網(wǎng)絡(luò)中,即圖5中的{x1,x2,x3,…,x5}。在詞嵌入層,首先生成一個訓(xùn)練語料的詞表,需要將輸入序列中的詞都轉(zhuǎn)換為該詞在詞表中的位置,以此來確定詞的位置信息。然后構(gòu)建可訓(xùn)練張量,維度為[vocab_size,embedding_size],該張量中的參數(shù)可以隨著網(wǎng)絡(luò)訓(xùn)練進(jìn)行更新。其中vocab_size是詞表大小,embedding_size是詞嵌入的維度大小,最后在維度中找出對應(yīng)的向量,將詞輸入序列映射為實(shí)值向量表示。
圖6 藏語句子C的依存句法分析樹
圖6中,邊表示句子中支配詞與被支配詞之間的依存關(guān)系。邊上的標(biāo)簽表示詞與詞之間的依存關(guān)系類型[20]。
但是,雙向LSTM+CRF模型無法直接使用圖6所示的藏語依存句法結(jié)構(gòu),因此本文將使用如表2所示的藏語依存句法表示示例。
表2 藏語依存句法表示示例
從表2可以看到,通過句法解析后得到詞性信息和依賴關(guān)系等。對于句法信息來說,依賴關(guān)系很重要,所以本文在藏語句子分割時(shí)使用的句法信息是依賴關(guān)系。對于每個輸入語句,都將句法信息作為最小單元嵌入輸入層中,并通過序列化輸入標(biāo)簽求出最終的標(biāo)簽。
目前,未查閱到有關(guān)基于深度學(xué)習(xí)的藏語句子分割模型的文獻(xiàn)。為了解決藏語句點(diǎn)的歧義性、借用符號的識別問題和長句分割問題。同時(shí),為解決長距離數(shù)據(jù)輸入和訓(xùn)練過程中出現(xiàn)的長距離依賴問題[21],本文使用深度學(xué)習(xí)中的序列標(biāo)注框架,用雙向LSTM模型進(jìn)行藏語序列標(biāo)注。
本文模型在詞嵌入層后均使用雙向LSTM學(xué)習(xí)時(shí)序特征,同時(shí),拼接詞的時(shí)序特征和藏語依存句法信息的時(shí)序特征來表示最終的藏語句子分割結(jié)果。LSTM 按時(shí)序接收從嵌入層輸出的xn,雙向LSTM 層的輸出可以表示為ht,其計(jì)算過程如式(3)~式(8)所示。
X=[ht-1,xt]
(3)
it=σ[Wi·X+bi]
(4)
ft=σ[Wf·X+bf]
(5)
it=σ[Wo·X+bo]
(6)
Ct=it⊙tanh(Wc·X+bc)+ft⊙CT-1
(7)
ht=ot⊙tanh(Ct)
(8)
其中,X表示t-1時(shí)刻隱藏層的值,包含當(dāng)前詞的上下文信息,xt表示t時(shí)刻的輸入向量,it是輸入門特征值,ft是遺忘門特征值,ot是輸出門特征值。Ct表示LSTM的單元狀態(tài)。Wi、Wf、Wo、Wc、bi、bf、bo和bc分別為需要學(xué)習(xí)的參數(shù)[22]。
雙向LSTM的輸出為正反向LSTM輸出的拼接,表示為ht,如式(9)所示。
(10)
最后,雙向LSTM作為特征抽取器,取到整個輸入序列的上下文信息和每個位置的上下文內(nèi)容信息。在訓(xùn)練過程中,使用dropout有效遺忘一些事先得到的狀態(tài)信息。提高模型的泛化性能,緩解模型的過擬合現(xiàn)象。
得到雙向LSTM的最終輸出后,經(jīng)過CRF進(jìn)行解碼。由于本文不僅要預(yù)測藏語句子分割標(biāo)簽序列,而且還要預(yù)測藏語依存句法標(biāo)簽,所以在雙向LSTM+CRF模型上增加了一層CRF層,主要用于藏語依存句法標(biāo)簽的解碼。
由此,在訓(xùn)練過程中,對于表3中的藏語輸入序列{x1,x2,x3,…,xn},模型應(yīng)該識別的輸出序列是{y1,y2,y3,…,yn}和{q1,q2,q3,…,qn}。
表3 輸出樣例
表3中,{q1,q2,q3,…,qn}是預(yù)測藏語依存句法標(biāo)簽,即藏語依賴關(guān)系標(biāo)簽。{y1,y2,y3,…,yn}是預(yù)測的藏語句子分割標(biāo)簽序列。預(yù)測的藏語句子分割標(biāo)簽序列中的N代表不是句子邊界,S表示最佳句子分割點(diǎn)。
在本文模型的輸出層,若用yt和qt(t∈[1,5])分別表示t時(shí)刻預(yù)測到的藏語句子分割標(biāo)簽和藏語依存句法標(biāo)簽,則特征提取層提取到的特征ht經(jīng)過CRF進(jìn)行解碼后的輸出yt和qt如式(11)所示。
最終將預(yù)測分割標(biāo)簽序列和藏語依存句法標(biāo)簽序列和的損失相加,作為本模型的總損失。
由于目前沒有公開的藏語句子分割語料,本文將青海師范大學(xué)藏語智能信息處理及應(yīng)用國家重點(diǎn)實(shí)驗(yàn)室提供的數(shù)據(jù)作為訓(xùn)練集,西藏大學(xué)信息科學(xué)技術(shù)學(xué)院提供的語料作為驗(yàn)證集和測試集。通過對藏語生語料進(jìn)行拼寫檢查、自動校對、字詞切分和依存句法分析后,得到了符合規(guī)定數(shù)據(jù)格式并擁有較高質(zhì)量的11 600 條藏語數(shù)據(jù)。實(shí)驗(yàn)數(shù)據(jù)的內(nèi)容和類型主要以新聞和法律文本為主,實(shí)驗(yàn)數(shù)據(jù)劃分情況見表4。
表4 藏語句子分割數(shù)據(jù)集
由于藏語句子分割模型的輸入序列是以詞為單位的,所以分詞的好壞直接影響實(shí)驗(yàn)數(shù)據(jù)的性能。本文根據(jù)藏文的語法特點(diǎn),首先利用改進(jìn)的藏文字節(jié)對編碼進(jìn)行了藏語分詞[23],具體算法如下:
其中,分詞的F1值為93.7%,藏語命名實(shí)體識別的F1值為88.45%,然后對藏語分詞語料進(jìn)行了人工校對,以確保實(shí)驗(yàn)數(shù)據(jù)的準(zhǔn)確性。
本實(shí)驗(yàn)的操作系統(tǒng)為Ubuntu 18.04,CPU為Intel E5-2684 v4,GPU為NVIDIA GTX 1080Ti,深度學(xué)習(xí)框架為TensorFlow 1.12.0。訓(xùn)練中,最大句子長度為180個字符,預(yù)測標(biāo)簽數(shù)為2,詞表大小為43 064。當(dāng)本實(shí)驗(yàn)參數(shù)設(shè)置為如表5所示時(shí),實(shí)驗(yàn)效果最佳。
表5 藏語句子分割模型參數(shù)
本文采用準(zhǔn)確率(P)、召回率(R)、以及F1值作為藏語句子分割模型的評價(jià)指標(biāo),具體定義如式(12)~式(14)所示。
目前沒有公開的藏語句子分割語料,加上相關(guān)文獻(xiàn)的實(shí)驗(yàn)數(shù)據(jù)、實(shí)驗(yàn)環(huán)境和研究方法各不相同,實(shí)驗(yàn)結(jié)果的可比性較低。所以,為了驗(yàn)證本文模型的有效性,選用神經(jīng)網(wǎng)絡(luò)中常用于序列標(biāo)注的3個經(jīng)典模型作為基線模型實(shí)現(xiàn)了藏語句子分割任務(wù),分別為CRF、雙向LSTM、雙向LSTM+CRF以及本文提出的雙向LSTM+CRF+藏語依存句法等模型,對比實(shí)驗(yàn)結(jié)果如表6所示。
表6 不同模型的藏語句子分割結(jié)果
從表6中實(shí)驗(yàn)結(jié)果可以看出,第一組實(shí)驗(yàn)采用CRF實(shí)現(xiàn)了藏語句子分割,取得了較好的效果,但是CRF不能捕捉距離長的上下文特征信息,只考慮了句子的局部特征,所以該模型的F1值最低。
第二組實(shí)驗(yàn)采用雙向LSTM實(shí)現(xiàn)了藏語句子分割。因雙向LSTM的序列標(biāo)注能力優(yōu)于CRF,其既能捕獲長遠(yuǎn)的上下文信息特征,還可具備擬合非線性的能力,故F1值達(dá)到了90.2%。
第三組實(shí)驗(yàn)采用雙向LSTM+CRF實(shí)現(xiàn)了藏語句子分割。在特征提取層采用雙向LSTM模型,捕獲輸入句子的上下文信息,得到每個輸入的特征表示和隱藏層狀態(tài),之后利用CRF進(jìn)行解碼。F1值提高了4.1個百分點(diǎn),達(dá)到了94.3%。基本解決了藏語句點(diǎn)的歧義性和長句分割問題。
最后,為了通過融合藏語依存句法結(jié)構(gòu)信息,達(dá)到解決藏語句點(diǎn)歧義性和長句分割問題的目的,本文根據(jù)藏語句子結(jié)構(gòu)特征,第四組實(shí)驗(yàn)在原有模型雙向LSTM+CRF的基礎(chǔ)上拼接了用于表示藏語依存句法信息的雙向LSTM模型,這樣模型可以通過學(xué)習(xí)特征提取層和輸出層的信息,獲取句子內(nèi)部結(jié)構(gòu)信息。然后通過藏語依存序列化標(biāo)簽處理、藏語句子特征提取等方法,找到最佳的句子邊界。經(jīng)實(shí)驗(yàn),在測試集上F1值提高了5.1個百分點(diǎn),達(dá)到了99.4%。驗(yàn)證了本文所提模型和藏語依存樹庫在藏語句子分割任務(wù)上的有效性。
本文融入依存句法結(jié)構(gòu)信息后效果提升明顯,原因主要有兩點(diǎn): 一是我們首先使用文獻(xiàn)[18]提出的藏語依存標(biāo)注系統(tǒng)構(gòu)建了規(guī)模為6 000句的藏語依存樹,然后對所建樹庫進(jìn)行人工校對后將其分成了訓(xùn)練集和測試集,規(guī)模分別為5 000句和1 000句,最后選用依存句法分析任務(wù)中常用的USA和LAS作為評價(jià)指標(biāo)進(jìn)行實(shí)驗(yàn),測試準(zhǔn)確率為95.6%,確保了融入依存句法結(jié)構(gòu)信息的質(zhì)量。二是藏語依存句法分析可以獲取以謂詞為核心的句子內(nèi)部結(jié)構(gòu)信息,有助于找出最佳句子邊界和提高句子分割性能。
為了更加直觀地對比和描述四組實(shí)驗(yàn)效果,將實(shí)驗(yàn)結(jié)果用柱狀圖展示,其中橫坐標(biāo)表示四組實(shí)驗(yàn),如圖7所示。
圖7 藏語句子分割實(shí)驗(yàn)效果對比
實(shí)驗(yàn)表明,融合藏語依存句法的雙向LSTM+CRF模型在藏語句子分割任務(wù)中效果最佳,進(jìn)一步優(yōu)化了藏語句子分割模型,準(zhǔn)確率、召回率、F1值分別為99.5%、99.4%和99.4%。驗(yàn)證了雙向LSTM+CRF模型中融合藏語依存句法信息的有效性,模型能夠解決藏語句點(diǎn)的歧義性、借用符號的識別問題和長句分割問題。
表7 藏語句子分割的例句
本文根據(jù)藏語句子結(jié)構(gòu)特征,在分析藏語句子分割規(guī)則與難點(diǎn)的基礎(chǔ)上,提出一種融合依存句法的藏語句子分割模型。該模型首先通過詞嵌入和藏語依存句法信息嵌入將輸入序列映射成實(shí)值向量;然后構(gòu)建融合藏語依存句法的雙向LSTM,拼接詞語和句法信息特征, 提高上下文時(shí)序特征的學(xué)習(xí)能力;最后利用CRF預(yù)測出最佳句子分割點(diǎn)。通過對比實(shí)驗(yàn),驗(yàn)證了本模型對藏語句子分割的有效性。實(shí)驗(yàn)結(jié)果表明,該模型的F1值為99.4%。
未來工作中,我們將擴(kuò)充語料,采用聯(lián)合訓(xùn)練模型和預(yù)訓(xùn)練模型等先進(jìn)方法對藏語句子分割進(jìn)行改進(jìn),也相信相關(guān)研究人員將會提出更多有價(jià)值和實(shí)際應(yīng)用能力的藏語句子分割技術(shù)。
本文將開放藏語句子分割實(shí)驗(yàn)數(shù)據(jù)(1)獲取地址: https://github.com/toudancairang,希望更多的研究人員參與其中,共同推動藏語句子分割的研究,促進(jìn)藏語自然語言處理技術(shù)的發(fā)展。