陳 雪,古麗拉·阿東別克
(新疆大學 信息科學與工程學院,新疆 烏魯木齊 830046)
在自然語言處理技術中,句法分析處于十分關鍵的位置。句法分析是根據給定的語法體系,自動推導出句子的語法結構,分析句子所包含的語法單元和這些語法單元之間的關系,將句子轉化為一棵結構化的語法樹[1]。在哈薩克語中,位于句法分析底層的詞法分析技術已經基本成熟,之后的語義分析技術又是建立在句法分析的基礎之上。所以,哈薩克語句法分析技術是當前哈薩克語信息處理的一個關鍵點[2]。
句法分析方法可以簡單地分為基于規則的方法和基于統計的方法兩大類。基于規則的方法在處理大規模文本時,因為規則的限制往往不能有效地分析出句法樹。隨著大規模樹庫語料的建立,基于統計學習模型的句法分析方法開始興起,句法分析器的性能不斷提高。文獻[3]采用PCFG方法,結合自底向上的Viterbi算法實現一種有自學習能力的哈薩克語句法分析器。文獻[4]根據概率上下文無關文法模型和Chart算法特點,將概率引入Chart算法,提出一種PChart算法,實現一種基于PChart算法的哈薩克語句法分析器。近年來,基于統計學習模型的句法分析方法受到了研究者們的廣泛關注并迅速成為研究熱點,多種模型與算法先后被提出[5]。
本文用基于移進—歸約[6-8]的句法分析方法對哈薩克語句子進行句法分析。用平均感知器[8]訓練哈薩克語語料庫,用柱搜索算法[10]解碼,在句子解析過程中,用LSTM提取句子的輔助特征,預測句子中單詞在句法樹中的層次結構[11],用于幫助句法樹的有效生成。


表1 哈薩克語標注集
在哈薩克語句法分析過程中,本文使用感知器算法來訓練語料庫并獲得參數,然后對短語或單詞進行分類以實現解析的效果。解碼過程中,搜索空間巨大一直是需要解決的難題之一,使用柱搜索進行解碼可有效減小搜索空間。
特征選擇是選擇來自全部特征的部分特征子集,利用部分特征子集建立統計模型,使統計模型的效果達到最優。
本文的特征模板如表2所示,其中si代表棧頂的第i項,qi表示緩沖區頂部的第i項。符號w表示節點的詞匯信息;符號c表示詞的組成標簽;符號t是一個單詞的詞性標記標簽;sil、sir分別表示si經過樹二叉化后的左孩子和右孩子,siu代表si的單個孩子。

表2 特征模板
在哈薩克語句子解析過程中,針對哈薩克語主賓謂的句子結構,即包含謂語的短語結構總在句末,本文使用LSTM神經網絡捕捉句子的完整信息,提取句子中的輔助結構特征,為句子中的每個單詞生成結構層次[11]。

[type:c1→c2→...→cz]

圖1 前瞻特征的生成
其中c是組成標簽(例如NP),“→”表示自頂向下的層次結構, 類型可以是s或e, 表示當前單詞生成或結束組成層次。
本文將句子解析中提取的輔助特征命名為前瞻特征,前瞻特征模板在表3中定義。前瞻特征在棧頂部(即s0和s1)和緩沖區(即q0)被實例化。

表3 前瞻特征模板
對于每個單詞,前瞻特征代表句子層次結構中的下一級組成部分,這可以指導自底向上的句法分析。例如,圖1顯示了棧元素和緩沖區元素在句法分析期間的狀態。在圖1中,s0的s型和e型前瞻特征是從組織層次結構NP和φ中提取出來的,分別為s0cgs和s0cge=null。s1的s型和e型前瞻特征是從組織層次結構NP和φ中提取出來的,分別為s1cgs和s1cge=null。結尾詞q0從組織結構層次φ和VP中提取了特征,它的s型和e型前瞻特征分別為q0cgs=null和q0cge。棧和緩沖區以同樣的方式提取前瞻特征。
本文用LSTM提取的特征模板如表2所示,其中符號cgs和cge分別表示s型層次結構和e型層次結構中的下一級組成部分。
文獻[11]使用一種新型神經網絡模型預測句子的句法組成結構。受文獻[12]編碼器-解碼器神經網絡框架的啟發,本文使用一個LSTM捕獲句子的完整特征,用另一個LSTM為每個單詞生成句子組成結構。此模型有三個優點。第一,全局特征可以被自動地表示;第二,因為組成層次可被視為獨特的標簽,所以它可以避免數量龐大的標簽;第三,模型尺寸相對較小。
如圖2所示,神經網絡模型主要由三層組成,即輸入層、編碼層和解碼層。輸入層使用字符代表每個單詞信息;編碼層采用雙向循環神經網絡學習句子的前瞻特征;解碼層根據編碼層的特征來預測句子的組成結構。
輸入層將每個輸入單詞用向量表示。本文使用字符嵌入法[12]來將詞的特征表示與其嵌入詞連接起來。詞wi的輸入表示xi計算如式(1)、式(2)所示。
其中,xwi是詞wi的嵌入向量,ci_att是單詞wi的字符嵌入形式,cij是wi中的第j個字符,而?ij是從cij經attention pooling轉換后的字符,由式(3)計算:
f是tanh非線性變換函數。

其次,編碼器掃描輸入的句子,使用遞歸神經網絡(RNN)為每個輸入詞生成隱藏單位,代表單詞的特征。為詞w1,w2,...,wn給定窗口輸入節點x01,x02,...,x0n,然后RNN層計算隱藏節點序列h1,h2,...,hn。
此外,為了給xi從x01,…,x0i -1和x0i + 1,…x0n中收集特征,本文使用雙向循環神經網絡。如圖2所示,通過連接隱藏層從左到右的LSTM和從右到左的LSTM來生成隱藏單元。
解碼層使用兩個不同的LSTM分別從每個編碼層的輸出中生成組成標簽的s型和e型序列。如圖1所示,句子的每個層次結構是自底向上生成的。每個生成狀態向量的序列都會產生一個輸出成分標簽。該過程以0狀態向量開始并在生成NULL成分時結束。因此LSTM模型與編碼層的隱藏向量實現了基于轉移的變換過程,可用于上下文特征。
對于詞wi,si的第j個狀態的值計算,如式(4)所示。
cij計算如式(5)所示。

圖2 神經網絡結構圖
這里hk是wk的編碼隱藏向量。βijk的權重在注意力機制[13]下計算。初始狀態si-1=0。組成標簽是從每個狀態單位ij中生成,其中每個組成標簽yij是softmax的輸出。
如圖2所示,softmax功能被應用到解碼器的狀態單元,自底向上生成層次標簽,直到默認標簽NULL被預測。
本文使用兩個單獨的模型來訓練s型和e型標簽。 為了訓練每個組成層次結構預測因子,本文將最小化下列訓練目標,如式(6)所示。
其中T是句子的大小,Zi是詞wi的組成層次的深度,pijo代表p(yij=o),由softmax功能給出。
在句法分析過程中,本文選取了在《新疆日報》(哈薩克語版)中使用經CRF詞性標注后,又經人工校對的句子作為訓練語料,將其中300個哈薩克句子作為測試語料。
在本實驗中,主要通過計算準確率(precision),召回率(recall),F-值(F-Measure)來衡量句法分析結果的好壞。評價函數的定義如下:
a= 識別正確的短語個數;
b=未識別短語的個數;
c=識別錯誤短語的個數;



本文將用平均感知器算法訓練哈薩克語句法分析模型,以柱搜索進行解碼哈薩克語句子結構的移進-歸約方法作為基線模型,并與使用LSTM提取前瞻特征后進行句法解析的方法做了對比實驗,用評價函數比較兩種方法的效果,結果如表4所示。

表4 實驗結果
本文將平均感知器算法訓練之后的模型大小與LSTM提取特征后訓練得到的模型大小進行對比。對于300個測試句子,基線模型解析句子花費6.3s,LSTM模型解析句子花費5.9s,所以本文還將兩種方法解析同樣數量的句子結構時所用的時間進行對比,比較兩種方法的速度。實驗結果如表5所示。

表5 實驗模型大小與時間比較表
本文還將此方法與引言中提到的基于PCFG的哈薩克語句法分析方法和基于PChart算法的哈薩克語句法分析方法進行對比,在使用相同的測試句子時,各方法句法分析結果如表6所示。

表6 各方法句法分析結果比較
經實驗測試,使用LSTM提取特征輔助解碼后,比使用基線模型進行哈薩克語句法分析的準確率高出了3.57%,召回率提高了3.53%,F-值提高了3.55%。所以使用神經網絡模型提取前瞻特征對于基于移進—歸約的哈薩克語短語結構句法分析過程確實很有幫助。而且經神經網絡提取特征后訓練的模型小,節省了存儲空間。相比兩種方法解析句子的速度,使用神經網絡的方法用了更少的時間解析出了句子結構,有效提高了句子解析的效率。在使用PCFG和PChart方法分析哈薩克語句子時,沒有完全脫離句法規則,依賴一定的規則庫,使用本文方法后通過對哈薩克語句子的訓練,使得句法分析結果更具有科學性和可信性。
總之,對于句法分析過程中使用神經網絡提取一些前瞻特征來輔助解碼后,在解析速度和準確性上都有所提高。因此,神經網絡可用于提取特征來更高效準確地解析哈薩克語句子的結構。
本文在解析過程中針對哈薩克語特殊的句法結構用神經網絡提取句子的結構特征,所提取的輔助特征作為前瞻特征被饋送到句法解析過程中,輔助解碼,更高效、快速地解析出句子的句法結構。當然,哈薩克語句法分析結果的好壞不只與神經網絡提取的前瞻特征輔助解碼有關,還與平均感知器算法訓練時的迭代次數、柱搜索解碼過程中B值的選取等一系列因素有關。今后,我們將致力于研究B值選取對哈薩克語句子解析的影響。