賀 佳 杜建強 聶 斌 熊旺平 雷銀香 羅計根 曾青霞
1(江西中醫藥大學計算機學院 江西 南昌 330004)2(江西中醫藥大學岐黃國醫書院 江西 南昌 330004)
一詞多義或多詞同義是自然語言中普遍存在的現象。詞義消歧的目的是使系統根據某個歧義詞所處的上下文語境識別出該歧義詞的正確義項[1]。詞義消歧不僅在機器翻譯中有重要應用,也在信息檢索、語義分析和話題關聯檢測[2]中有重要意義。詞義消歧方法一般包括基于知識庫的方法和基于統計機器學習的方法[3]。
基于知識庫的方法通常借助WordNet[4]、Hownet[5]、《同義詞詞林》、機讀詞典等輔助目標歧義詞的消歧特征。張春祥等[6]借助《同義詞詞林》,將窗口大小內的左右詞單元對應的語義代碼作為消歧特征,采用貝葉斯模型完成詞義消歧。此方法雖能提升消歧效果,但知識資源包含的知識比較受限,僅能完成知識資源中出現歧義詞的消歧任務。
基于統計機器學習的方法一般包括抽取特征和建立消歧模型兩個流程[7]。通常采用有監督或無監督的方法建立消歧模型。張春祥等[8]將歧義詞左右鄰接詞單元的多種語言學知識作為消歧特征,并使用Co-Training算法優化貝葉斯和最大熵模型,實現詞義消歧。有監督的消歧模型在詞義消歧性能上表現突出,但由于缺乏大規模標注語料,此類方法受到了很大限制[9]。無監督的消歧模型不需要大規模標注語料,具有較強的可移植性[10]。
為提高消歧質量,許多學者開始用更多更全面的語言學知識進行特征抽取。史兆鵬等[11]通過依存句法分析提取依存詞、依存結構和歧義詞的詞性等作為消歧特征,細化特征粒度進行消歧。張春祥等[12]通過句法知識建立對應的句法樹,抽取目標歧義詞的父節點、左右兄弟節點的句法知識以及詞性知識作為消歧特征,該方法不考慮詞形信息。Han等[13]利用依存句法樹中路徑信息,抽取距離目標歧義詞一定路徑長度的詞作為消歧特征。這種方法雖提高了消歧效果,但路徑之外距離目標歧義詞較近的單元詞沒有被考慮。王少楠等[14]抽取專有名詞、量詞等具有詞性標簽的詞,以及與歧義詞具有并列關系的詞、緊鄰歧義詞的動詞、非歧義單詞的語義類別等作為LDA主題模型的輸入,實現詞義消歧。可以看出,非常豐富的語言學知識能夠提取出更多更有效的消歧特征,對提高消歧質量有很大幫助,但一定程度上會增加特征維度,提高計算復雜度。
基于上述問題和已有方法的不足,本文依據依存語法理論,建立依存結構樹,選擇目標歧義詞的祖父+父親+孩子節點組合作為消歧特征,采用TF-IDF計算特征權重,形成特征向量矩陣,利用模糊C均值(fuzzy C-means,FCM)聚類算法的軟劃分優勢[15],將特征向量矩陣作為FCM聚類算法的輸入,實現詞義消歧。通過分析與目標歧義詞相關程度較大的所有節點的不同組合方式,驗證了祖父+父親+孩子節點組合的有效性。與現有的詞義消歧工作相比,本文方法主要有三種優勢:(1) 特征抽取時不需要借助知識庫;(2) 充分利用了依存語法理論,采用三個節點組合作為消歧特征,特征維度相對較少;(3) 采用無監督的、基于軟劃分的FCM聚類算法,可將樣本劃分到多個類別,更加符合客觀世界的數據分析。
基于多節點組合特征的詞義消歧方法可分為兩個部分,如圖1所示。第一部分為特征抽取:采用依存句法分析得到每個預處理語料的依存結構樹,在依存結構樹中選取多個節點進行組合形成消歧特征;第二部分為消歧模型的建立:采用經典的TF-IDF計算特征權重,將文字形式的消歧特征轉為數值化的特征權重向量,采用FCM聚類算法計算目標歧義詞的義項類別。

圖1 多節點組合特征的消歧方法流程
依存語法通過分析單元詞間的依存關系揭示句子中的句法結構。直觀而言,句子的“主謂賓、定狀補”等語法成分由依存句法分析識別并對各成分間的關系進行分析[16]。依存結構樹基于依存句法分析,形象化地展示了詞之間的關系。
本文采用哈工大信息檢索研究中心語言技術平臺中的依存句法分析工具[17]。為了使本文思路簡潔清晰,提出定義如下:
定義1依存結構樹中節點命名:根據樹的特點,將每個節點以目標歧義詞為核心,命名為目標歧義詞的祖父節點、父節點、孩子節點、兄弟節點和孫子節點等。
定義2家族結構樹:指在依存結構樹中,只包含目標歧義詞的祖父節點、父節點、孩子節點、兄弟節點、孫子節點的樹。
以包含目標歧義詞“提高”的句子為例,具體特征抽取過程如下:
1) 例句:“這/r/Ed61 幾/m/Dn05 年/q/Ca18,/wp/-1 隨著/p/Kb07 我國/n/Di02 農村/n/Cb25 居民/n/Ad01 生活/n/Hj01 水平/n/Dd12 不斷/d/Ka11 提高/v/Ie12,/wp/-1 消費/n/He03 需求/n/Df07 的/u/Kd01 結構/n/Dd06 變化/n/Ih01 明顯/a/Ed46 。/wp/-1”該例句來自哈工大信息檢索研究中心語言技術平臺中的詞義標注語料[17]。每個詞后面分別用斜線隔開了兩個標記,第一個是詞性標記,第二個是詞義標記。
2) 采用正則表達式去除句中的語義代碼、斜線等,轉成依存句法分析需要的格式。
3) 對句子進行依存句法分析,建立依存結構樹,如圖2所示。

圖2 例句的依存結構樹
4) 從依存結構樹中抽取消歧特征。依存結構樹很清晰地展示了句子中詞語間的關系,也非常直觀地展示了每個單元詞與目標歧義詞關系遠近的程度。一般認為與目標歧義詞關系較近的單元詞對歧義詞的詞義有較大影響。從依存結構樹中抽取目標歧義詞的特征,能夠避免抽取特征的任意性。以左右窗口大小為2抽取特征(不包含標點符號),則歧義詞“提高”的消歧特征為“水平”“不斷”“消費”和“需求”,對照依存結構樹,明顯可見“需求”屬于歧義詞“提高”的兄弟節點,“消費”為“需求”的孩子節點。兄弟節點以及兄弟的孩子節點距離歧義詞“提高”的關系都比較遠,對歧義詞的詞義支持度相對較低。
本文充分考慮依存結構樹中詞語間關系以及關系遠近問題,衡量家族結構樹中所有節點的不同組合作為消歧特征對歧義詞詞義的影響,從依存結構樹中抽取目標歧義詞“提高”的祖父、父親、孩子節點組合,將其作為消歧特征。則目標歧義詞的消歧特征為“變化”“隨著”“水平”和“不斷”。
TF-IDF、詞嵌入可以完成消歧特征向量化。TF-IDF是比較經典的計算特征權值的方法。核心思想:若某個詞或短語在一篇文檔中出現頻率較高,且在其他文檔中很少出現,則認為這個詞或短語具有很好的類別區分能力[18]。詞嵌入可以將詞語映射成低維稠密的向量,在大量自然語言處理中,具有較好的效果[19]。但詞嵌入技術需要海量語料庫進行預訓練才能較準確地識別詞之間相似度。FCM聚類算法屬于一種軟劃分的聚類算法,它是對硬聚類算法的改進。硬聚類算法對每個樣本只能劃分到一個類別中,而FCM聚類算法可以將每個樣本按照一定的隸屬度從屬于多個類別[20],相對于硬聚類算法,FCM聚類算法更符合實際的無監督聚類應用。FCM聚類算法思想:使得被劃分到同一個簇中的樣本之間相似度最大,不同簇之間的相似度最小。
由于本文采用的語料庫規模相對較小,且通過1.1節選取的消歧特征,維數較少。因此選用TF-IDF將1.1節的消歧特征轉為特征向量矩陣,并作為FCM聚類算法的輸入,實現詞義消歧。其消歧模型建立流程如下:
1) TF-IDF形成特征向量矩陣。消歧特征i在樣本j中的TF-IDF值wi,j為:
(1)
式中:TF表示詞頻,指消歧特征i在樣本j中出現的頻率;IDF為逆文檔頻率,是對某個特征普遍重要性的度量;|D|為樣本總數;|Di|為包含特征i的樣本數。
2) FCM聚類算法實現。將TF-IDF得到的特征向量矩陣X=[x1,x2,…,xN]T(xj代表第j個樣本的特征向量,j=1,2,…,N;矩陣中的每一個值為TF-IDF值wi,j)作為FCM聚類算法的輸入,通過調整最大迭代次數[21]等相關參數,在滿足式(2)的條件下,求式(3)取最小值時的聚類結果:
(2)
(3)

求解最小化目標函數時,可得出聚類中心和隸屬度:
(4)
(5)
FCM聚類算法實現詞義消歧的步驟如下:
輸入:模糊參數m,聚類數目k,最大迭代次數MAX_ITER,特征向量矩陣X=[x1,x2,…,xN]T
輸出:聚類結果
(1) 滿足式(2)的條件下,采用[0,1]區間的隨機數值初始化隸屬度矩陣U。
(2) 用式(4)計算聚類中心ci,i=1,2,…,k。
(3) 通過式(5)更新隸屬度矩陣。
(4) 重復步驟(2)和步驟(3)。當達到最大迭代次數時,循環停止,返回聚類結果;否則,返回步驟(2)。
本文選用哈工大信息檢索研究中心語言技術平臺中的詞義標注語料[17],該語料來源于《人民日報》1998年上半年的電子版。從該語料中選取“材料”“代表”“地方”“隊伍”“發表”“根本”“領導”“提高”“突出”“中心”“組織”和“左右”共12個歧義詞進行實驗,包含381個實例。選取的歧義詞體現三個特點:(1) 歧義詞義項與詞性無直接關系,即一個義項可能對應多個不同詞性,多個義項可能對應相同詞性;(2) 歧義詞義項數分布隨機,為2~5個不等;(3) 每個歧義詞義項對應的實例數隨機分布,未刻意保持平衡。部分語料展示如表1所示。每個歧義詞的義項由《同義詞詞林》的語義類別表示。

表1 部分語料展示

續表1
實驗采用CIPS-SIGHAN-2010提供的B-Cubed評價指標,其計算公式如下:
(6)
(7)
(8)
式中:S={S1,S2,…}是聚類算法聚類的結果;R={R1,R2,…}是人工標注的結果。
為了驗證本文方法的整體性能,基于上述計算公式,取12個歧義詞的平均值作為詞義消歧評價指標:
(9)
(10)
(11)
本文從三方面進行了實驗:1) 分析依存結構樹中與目標歧義詞相關程度較大的所有節點,探尋具有普遍適用性的節點組合;2) 為了驗證本文方法的消歧性能,基于FCM聚類算法,分別用文獻[11]和文獻[13]的特征抽取方法進行對比;3) 選用凝聚層次聚類、K-means聚類兩個經典的聚類算法做對比,驗證FCM聚類算法的性能。
2.2.1多節點組合提取消歧特征
假設在依存結構樹中:(1) 距離目標歧義詞越近的節點對判斷歧義詞語義的貢獻越大;(2) 并非將距離較近的所有節點作為消歧特征,消歧效果就最好;(3) 不同的節點組合方式對消歧結果有不同影響。本節基于這三種假設進行實驗。表2為8種節點組合方式及所得實驗結果。

表2 八種節點組合方式及實驗結果 %
可以看出,不同的節點組合對中文詞義消歧有著重要的影響。下面將對實驗結果重點分析:
(1) 不同節點組合對消歧效果有不同影響,使用依存結構樹抽取特征時,要考慮選用的節點以及節點組合方式。
(2) 總體來看,在依存詞(父子節點組合)基礎上添加其他節點,比單純地將依存詞作為消歧特征效果好。其中,“祖父+父親+孩子”節點組合作為消歧特征,雖平均準確率比“兄弟+父親+孩子”節點組合少1.02個百分點,但平均召回率提高了6.11個百分點,平均F1值也提高了 1.41個百分點。實驗表明,“祖父+父親+孩子”節點組合,效果最好。
(3) 從依存結構樹中,分析各個節點與目標歧義詞的距離,發現祖父節點、孫子節點分別與目標歧義詞路徑一致,但祖父節點與依存詞組合的消歧特征平均召回率與平均F1值均比孫子節點與依存詞組合的消歧特征效果好,說明除路徑長度外,單個節點對歧義詞的消歧貢獻也很重要。
(4) 由于實驗采用多個不同歧義詞,且每個歧義詞的樣本個數、義項分布均有不同。采用“祖父+父親+孩子”節點組合抽取特征,具有一定的普遍適用價值。
2.2.2詞義消歧性能比較
為了驗證本文方法的消歧性能,分別用文獻[11]和文獻[13]的特征抽取方法進行對比。文獻[11]選用歧義詞的依存詞、依存結構、歧義詞詞性作為消歧特征;借鑒文獻[13]的思想,取依存結構樹中路徑長度為4的詞作為消歧特征。FCM聚類算法需要設置兩個參數,分別為模糊參數m和最大迭代次數。文獻[22]認為1.5≤m≤3.0時效果較好[22]。本文選取模糊參數為1.5,最大迭代次數為100。
本文從特征向量矩陣的維度(簡稱特征維度)和平均F1值兩方面分析三種方法的詞義消歧性能。平均F1值的實驗結果見表3和圖3,其中每個歧義詞的F1值通過運行10次求和平均得到。特征維度的實驗結果見圖4和圖5,特征維度的平均值指12個歧義詞特征維度之和的平均值。

表3 三種方法F1值對比 %

圖3 三種方法的平均F1值

圖4 三種方法的特征向量矩陣維度

圖5 三種方法的特征維度平均值
特征抽取不僅需要考慮消歧特征的區分性,還要考慮特征維度。較低的特征維度有利于降低計算復雜度[23]。圖4中,本文采用的特征抽取方法所得特征維度總體上比其他兩種方法的特征維度少,尤其當特征維度超過80時,本文方法在特征維度上相比于其他兩種方法,相差幅度較大,優勢顯著。圖5中,本文方法的特征維度平均值比文獻[11]方法降低了5維,比文獻[13]方法降低了25維。
表3和圖3反映了三種詞義消歧方法所得平均F1值。整體來看,本文方法優于其他兩種方法。文獻[11]采用依存詞、依存結構和歧義詞詞性作為消歧特征。由于本文中歧義詞的每個義項會包含不止一個詞性,如歧義詞“突出”的一個義項代碼為Ed04,但會有三種不同的詞性a、v、d,這些詞性會影響對該義項的區分。因此這可能是影響該特征抽取方法效果的一個原因。
綜上所述,本文方法不僅降低了特征維度,在平均F1值上也突顯一定優勢,對中文詞義消歧具有一定的價值。
2.2.3實例聚類效果比較
為驗證FCM聚類算法的可行性,選用凝聚層次聚類和K-means聚類兩個經典算法作為對比實驗。三個聚類算法的輸入均以實驗1中的“祖父+父親+孩子”節點組合作為消歧特征。FCM聚類算法的相關參數與2.2.2節中參數相同。實驗結果如圖6所示。

圖6 實例聚類效果圖
可以看出,對平均F1值分析,FCM聚類算法比其他兩種算法提高了近8個百分點,這說明FCM聚類算法的消歧性能最佳。FCM聚類算法相比其他兩種算法,雖準確率稍有降低,但召回率提高幅度很大,表明采用FCM聚類算法,能夠更全面地找到消歧信息。整體來看,FCM聚類算法優勢突出。另外,FCM聚類算法憑借其軟劃分優勢,使得每個樣本不受限于一個類別中。軟劃分的聚類算法比硬劃分的聚類算法更加符合客觀世界的數據分析。
為了提高中文詞義消歧質量,本文提出了一種基于多節點組合特征和FCM聚類算法的詞義消歧方法。在特征提取部分,基于依存語法理論,分析不同節點組合方式,實驗表明將“祖父”“兄弟”和“孫子”三個節點組合作為消歧特征具有普遍適用性,且降低了特征維度,對歧義詞的識別有較大的區分度。采用TF-IDF構造特征向量,最終利用FCM聚類算法得到歧義詞詞義類別。大量的對比實驗表明本文提出的方法在F1值上相較于其他算法提高顯著,從而驗證了該模型具有一定的優勢。由于FCM聚類方法需要提前設定聚類的類別數目,未來工作將研究在保證消歧效果的條件下自動生成聚類數目。