呂國英,武宇娟,李 茹,1b,2,張月平,關 勇,郭少茹
(1.山西大學 a.計算機與信息技術學院; b.計算智能與中文信息處理教育部重點實驗室,太原 030006;2.山西省大數據挖掘與智能技術協同創新中心,太原 030006)
語義理解是完成語篇理解、機器翻譯以及問答系統等語言處理任務的前提,基于框架語義的推理是實現語義理解的有效手段。基于漢語框架語義的推理是指通過框架語義推理解決問題,框架元素之間的語義相關性可以建立篇章句子之間的聯系,這種聯系正是實現框架語義推理的一種路徑。框架元素內部表述的共指阻礙了框架元素之間聯系的建立,因此,研究框架元素中的表述共指至關重要。
本文提出一種基于漢語框架語義的共指消解方案。對在CFN資源下標注的篇章進行數據預處理,采用基于規則的方法識別框架元素中的表述,利用分類模型進行表述消解,借助漢語框架語義信息提升消解效果。
早期的共指消解研究方法主要是基于規則的方法。文獻[1]提出2種基于句法分析樹的算法,一種只考慮句法知識,另一種同時考慮句法和語義知識。文獻[2]提出一種基于中心理論[3]的BFP算法,其通過設置詞匯句法、約束以及類型標準等篩選條件為代詞尋找合適的先行語。文獻[4]簡化了文獻[5]提出的RAP算法,其通過分析得到文本的句法功能和詞性,根據這些信息為特征賦予不同的重要性(突顯性),然后根據突顯性得分來確定先行詞。
在基于機器學習的共指消解研究方法中,實例構建和特征選擇是重要步驟,其中主要的學習模型為表述對模型、實體-表述模型和表述排序模型。文獻[6]使用表述對模型提出一種實例構建的規則以降低正負例的不平衡性,為文本中的每個表述mi選取其前面最近的共指表述mj(j
近年來,深度學習成為共指消解的主流方法,其依賴大規模的語料集。文獻[10]采用Esay-first原則,即先進行簡單決策,當學習到更多的特征和更精確的權重時再進行復雜決策,這種方法使用神經網絡自動學習可用信息。文獻[11]結合表述對模型和表述排序模型的優點,其整合得分以定義有用的實體級特征,并利用表述對模型得分刪減搜索空間,從而學習有效的共指策略。文獻[12]將強化學習直接應用于神經網絡排序模型,使用強化策略梯度算法和最大間隔損失函數進行實驗,在CoNLL 2012 Shared Task數據集的中英文部分都取得了很好的結果。
與英文共指消解研究相比,中文共指消解研究起步較晚。研究人員結合中文文本的特點,將類似英文的消解方法用于中文消解的研究中,取得了一定的成果。文獻[13]基于樹核函數從使用中心理論、集成競爭者信息和融入語義角色相關信息等方面動態擴展結構句法樹,從而提升代詞消解的性能。文獻[14]提出一種表述識別的改進方法,針對代詞和專有名詞進行分類過濾,保留所有的名詞短語,其有效提升了全自動的漢語指代消解性能。文獻[15]提出一種DBN模型的Deeping Learning學習機制,使用多層無監督的RBM網絡和一層有監督的BP網絡,獲取文本語義特征并進行指代消解,ACE04英文和ACE中文上的實驗結果表明,該方法通過增加訓練層數提高了系統性能。
基于漢語框架語義的共指消解是指從篇章句子中找到框架元素中的實體表述,并對這些表述進行共指消解,其任務示例如例1所示。
例1對荷蘭而言,
問題為什么
例1為在漢語框架網(Chinese FrameNet,CFN)體系下標注過的語篇片段,包括3個句子。對于句子S1和S2,目標詞“是”激起框架“狀態”,其框架元素集合為{Entity(實體),State(狀態)}。其中,“實體”分別為“中國”和“荷蘭”,“狀態”分別為“非常重要的貿易伙伴”和“中國在歐盟的第二大貿易伙伴”。對于句子S3,目標詞“有”激起框架“擁有”,其框架元素集合為{Owner(物主),Possession(擁有物)},其中,“物主”為“兩國”,“擁有物”為“巨大的合作潛力”。在回答問題“為什么兩國擁有巨大的合作潛力”時,首先需要確定“兩國”的指代對象。雖然人們可以很容易判斷“兩國”代表的是“荷蘭與中國”,但是對于計算機而言,這是一個難度較高的問題。在CFN下回答這類推理問題時,僅通過框架標注不能直接確定“兩國”為“荷蘭與中國”,但如果加入“荷中”與“兩國”、“荷”與“荷蘭”以及“中”與“中國”的共指關系,就很容易確定“兩國”的貿易關系,得到“合作潛力”體現為“貿易伙伴關系”。需要從框架元素中抽取并判斷為共指關系的表述為[荷中,兩國]、[荷,荷蘭,第二大貿易伙伴]、[中,中國,貿易伙伴,我國]。
CFN[16]以框架語義學[17]為理論基礎構建,其為一個大規模的詞匯語義知識庫,應用于語言學、計算語言學和自然語言處理等領域的研究。通過框架語義可以挖掘詞語潛在的概念結構和語義場景[18]。框架是指由詞元以及與其相聯系的框架元素構成的表達特定場景的句子語義結構形式。本文研究基于標注的CFN資源。在CFN中,對于每個框架按照“框架”“框架元素”“詞元”和“框架關系”4個方面進行描述。為了便于理解本文任務,介紹框架語義標注中的一些重要概念,具體如下:
1)詞元(框架承擔詞)包括動詞、形容詞和名詞,目標詞是指在句子中能激起框架的詞元。
2)框架中涉及的各種參與者、外部條件等稱為框架元素。框架元素分為核心框架元素與非核心框架元素,核心框架是一個框架在概念理解上的必要成分[19],在不同框架中它們的數量和類型不同,顯示出框架的個性。非核心框架元素則表達時間、地點等通用語義成分。
3)對每一個承擔語義角色的框架元素進行3層標注,包括語義角色標注(語義信息)、短語類型標注(詞性)和句法結構標注(句法信息)。比如,例1中框架元素
4)框架關系是指語義場景之間的關系,CFN詳細定義了8種框架關系[19],分別為繼承、使用、總分、透視、先后、因果、起始和參照,框架通過這些關系形成了網狀結構。
共指主要指2個表述(一般是名詞,包括專有名詞、名詞短語和代名詞)指向真實網絡世界中的同一實體[14],其為一種等價關系。共指消解主要研究的是在一篇文本中如何找到指向同一實體的名詞,形成若干共指鏈。回指是指當前的照應語與前文出現的詞、短語或句子存在指代關聯,不一定滿足等價性。共指與回指構成了指代的全部內容,早期研究沒有明確區分共指與指代,因此,一些針對指代消解的研究方法同樣適用于共指消解。
基于框架語義的共指消解問題可以形式化描述為:給定已標注框架語義的篇章[19]D={s1,s2,…,sn},其中,sk(k∈[1,n])為篇章D的第k句。sk中能激起框架的目標詞的集合為Tk={Tk1,Tk2,…,Tkp},目標詞對應的框架集合Fk={Fk1,Fk2,…,Fkp}。對于某個框架Fki,其框架元素集合為FEki={Feki,1,Feki,2,…,Feki,q}。對于某個框架元素Feki,x,其中包含了若干個表述Feki,x={menki,x,1,menki,x,2,…,menki,x,m}。基于框架語義的共指消解就是找到篇章中指向同一實體的表述menki,x,l,形成若干條共指鏈。因此,本文的研究步驟為:首先識別出框架元素中的表述,然后判段表述是否指向同一實體從而生成共指鏈。基于框架語義的共指消解系統結構如圖1所示。

圖1 基于框架語義的共指消解系統結構Fig.1 Coreference resolution system structure based on framework semantics
由共指消解實體表述的類型可知,能夠成為表述的主要有專有名詞、名詞性詞和代名詞(名詞性代詞,指向的實體類型為實體名詞)三類。實體表述識別的主要工作是確定篇章中哪些名詞短語需要進行共指消解。對于該任務,本文根據框架多樣性的特點設置了以下識別方法,其中,例2為文本在篇章庫中的存儲格式。
1)抽取文本中的表述
應用CFN的資源標注規則,將標注框架中類型為“np”“tp”和“sp”的短語直接用作表述。比如,例2中的“大陸人”“它”,其標注格式為
應用相關文法信息對框架元素內部的短語進行抽取。比如,例2中框架元素“其植株”中的“其”和“植株”,標注格式為
例2
2)選擇相關規則過濾表述
本文使用的規則集是文獻[20]提出的中文平臺特有的規則集。先去除停用詞,所有出現在停用詞表中的名詞短語均被認為是非表述,然后按照排除規則集,將符合特定模式的某些名詞短語標注成非表述,最后按照保留規則集,將符合特定模式的某些名詞短語標注成表述。
實體表述的消解旨在對識別出的表述進行消解,形成若干條包含實體表述的共指鏈,其基本思路是采用分類思想判斷2個表述是否指向相同的實體,并利用傳遞關系將指向同一實體的表述鏈接成一條共指鏈。
3.2.1 表述對構建
共指消解是一個分類類別(共指和不共指)已經確定的分類問題,本文將共指問題轉換成二元分類問題。將抽取出的篇章框架元素中的所有表述兩兩配對形成不重復的二元組,如下:
上述二元組可以包括重復的文本,但其在語料中的標識是唯一的,這樣共指問題就轉換為每一對實體表述是否指向同一實體的二元分類問題。
3.2.2 特征選擇
本文使用共指消解的基礎特征和框架特征進行實驗,選取的基礎特征參考文獻[21],它們是共指研究中的常用特征。表1所示為共指消解的基礎特征集。

表1 共指消解的基礎特征描述Table 1 Basic features description of coreference resolution
本文表述的單復數屬性值主要分為單數、復數和無單復數3類,根據一些明顯的特征詞來構建單復數字典,通過字符匹配判定其單復數,特征不明顯的表述賦值為無單復數。比較2個表述的單復數屬性值,一致則返回1,不一致則返回0。長字符Dice系數如式(1)所示:
(1)
其中,comm(s1,s2)是表述對相同字符的個數,leng(s1)和leng(s2)分別是表述對的字符串長度。
考慮到在每個表述對中,不同的字符串長度對公共字符串的敏感程度不同,本文對傳統Dice系數進行變形,得到短字符Dice系數,如式(2)所示:
(2)
本文分析框架標注信息及框架之間的關系,得到表2所示的框架特征集。

表2 共指消解的框架特征描述Table 2 Framework features description of coreference resolution
本文使用余弦相似度來計算2個目標詞的相似度。具體地,使用Word2Vec工具訓練詞向量,通過式(3)計算2個框架的目標詞相似度:
(3)
其中,CosDis(t1,t2)用來計算2個目標詞對應詞向量t1和t2的余弦相似度,n為詞向量的維度。需要說明的是,對于同一表述分屬于不同框架的框架元素,本文采用的方法是分別計算每一對目標詞相似度然后取均值,這是因為目標詞激活了不同框架,需要綜合多個框架信息。
如圖2所示,2個表述激起的框架名為“命名”和“陳述”,通過一個框架“信息交流”建立聯系,則框架關系路徑返回值為1。各個框架通過這些關系形成了框架的網狀結構,有時2個框架間的關系路徑不止一條,則選擇最近的一條。

圖2 框架關系路徑示意圖
Fig.2 Schematic diagram of framework relationship path
句法功能和短語類型返回實數類型值。以短語類型為例,假設當前表述對為(表述1,表述2),從表述列表中分別檢索出表述1和表述2,得到其短語類型type1和type2,如果type1與type2相同則返回1,否則返回0。比如,“太原”和“首都”都被標注為“sp(處所短語)”,而“2019年1月”被標注為“tp(時間詞性短語)”,則“北京”和“首都”更容易存在共指關系。句法功能特征與短語類型具有相似的處理方法。一般而言,具有共指關系的表述的短語類型往往相同,且句法結構也存在一定關聯。
本文使用核心框架元素來表示框架特有的語義信息。在數據預處理階段,抽取出每個框架下的核心框架元素,使用Glove模型分別訓練詞向量,某個框架的向量表示為該框架下的所有核心框架元素的向量均值。對于某個框架Fk,其核心框架元素集合為FEk={Fek,1,Fek,2,…,Fek,q},計算公式如下:
(4)
比如在“比賽結果”框架下,其核心框架元素有“賽事名稱”“參賽者”“參賽雙方”和“對手”,則將4個詞向量的向量均值作為框架“比賽結果”的框架向量,然后計算2個表述的框架向量相似度作為返回值。
3.2.3 成對分類模型
成對分類模型即表述對的二元分類模型。本文使用的語料選自漢語框架標注的資源,由于標注平臺還不夠完善,標注的語篇語料較少,受限于語料規模,適合使用傳統的機器學習算法。
以支持向量機(SVM)為例構建分類模型。給定訓練數據集D={m1,m2,…,mt},其中,特征向量m={f1,f2,…,fn},n為特征個數。SVM算法根據給定的D尋找最佳決策邊界劃分數據的共指類別和不共指類別。定義模型的決策邊界函數h(x)為:
h(x)=wTx+b
“你有沒有想過,萬一我,或者夏冰被警方抓了,我們拒不承認開車撞了人,警方說不定會懷疑那個拍照的人?尤其是夏冰,他可能供出你。”
(5)
其中,w為特征權重向量,b為偏移向量,用于訓練各特征的權重。共指分類問題可以寫成如下形式的優化問題:
(6)
s.t.yi[wTΦ(xi)+b]≥1-ζi,ζi≥0
(7)
在訓練時可以選擇調節參數C和ζ,本文使用sklearn的SVM工具包,通過不同的參數設置進行實驗。在分類問題中,特征選擇的優劣直接影響模型的性能,本文將表1、表2所示特征經過處理后作為分類器的輸入從而訓練模型。
常用的共指消解語料有MUC語料、ACE語料和OntoNotes語料3種。其中,OntoNotes語料中包含英文、中文以及阿拉伯文3種語言,為共指消解研究人員提供了標注的訓練語料以及測試語料,是當前比較流行的共指數據集。
在漢語框架標注的資源中,沒有專門針對共指消解研究的語料,而在大數據集上構建CFN標注資源需要耗費大量的人力和時間。因此,本文在CFN資源的基礎上增加共指標注,仿照ACE語料共指的標注,通過共指鏈描述篇章中的共指關系。增加的標注內容如表3所示。

表3 標注的共指語料Table 3 Annotated coreference corpus
其中,p27表示裸文本的內容,p27_coref表示增加的共指標注內容。實體鏈之間用“;”分隔,一個“[ ]”表示一個實體,表述文本包含在共指標簽內,“”表示表述的開始位置和結束位置,“start=”和“end=”表示表述在文檔中的位置,其作為表述的唯一標識。
本文使用的語料涉及地理、歷史和科技等15個領域,共216篇。通過山西大學人機協同標注平臺進行句子集語義角色標注,共指標注由專業人員進行手工標注和檢驗。實驗數據統計如表4所示。

表4 實驗數據統計結果Table 4 Statistical results of experimental data
本文采用MUC評價標準,有準確率P、召回率R和F值3個重要指標,其中,準確率反映消解結果的準確性,召回率反映消解結果的完備性。兩者分別定義如下:
其中,TP表示表述對之間的關系為“共指”且預測為“共指”,FP表示表述對之間的關系為“不共指”而預測為“共指”,FN表示表述對之間的關系為“共指”而預測為“不共指”。使用F值評價系統的總性能,F值是召回率和準確率的綜合體現,定義如下:
其中,β為召回率和準確率的相對權重,一般取1,因此,F值可以表示為:
利用本文方法對語料進行實驗,結果如表5所示。從表5可以看出,相比單獨使用普通特征或單獨使用框架特征,同時使用這2類特征在不同分類器上的F值均有所提高,原因是框架特征是一種句子級的語義特征,其有效刻畫了表述的局部特征。分析分別使用SVM[22]、樸素貝葉斯(NB)[23]、最近鄰(KNN)和決策樹(DT)[24-25]的實驗結果可以看出,SVM分類效果優于其他分類器,表明在漢語框架標注的資源中,SVM更適合解決共指消解問題。SVM算法在結合框架特征以后,其準確率得到明顯的提高,但是召回率提升不明顯,原因是語料規模小,使得框架的所有語境并不能被完全覆蓋,某些具有關系的框架由于框架缺失而不能建立聯系。加入框架特征后F值雖有提升但仍然不佳,究其原因,一是在表述識別任務中無法檢驗識別表述的有效性,二是同一目標詞會激起語義的不同框架(框架排歧),而不同目標詞也會激起相同框架(同一框架下的不同詞元),使得框架語義存在偏差。

表5 不同特征類型在4種分類器中的實驗結果Table 5 Experimental results of different feature types in four classifiers %
為了選出有效的特征組合,本文進行大量的對照實驗。以SVM為例,分別從特征組合中去掉每個框架特征,得到表6所示的實驗結果。

表6 單個框架語義特征消融實驗結果Table 6 Experimental results of single frame semantic feature ablation %
從表6可以看出,雖然每個特征對共指結果的影響不盡相同,但是3項指標的結果非常接近,說明框架特征刻畫的是語義的不同方面,且相互之間具有促進作用。其中,對準確率影響較大的特征為框架元素距離(F3)、句法功能(F4)和短語類型(F5)。
分別去掉組合中的一些框架特征,得到表7所示的實驗結果。

表7 多個框架語義特征消融實驗結果Table 7 Experimental results of multiple frame semantic features ablation %
從表7可以看出,在2個特征組合中,框架關系路徑(F2)和框架元素之間的距離(F3)對準確率的影響較大,可見框架之間的關系能夠提升實驗效果。而對F值影響較大的是核心框架元素(F6)和目標詞激起的框架元素相似度(F8),這2個特征是從語義方面對表述對進行描述。
本文通過研究框架元素中表述之間的共指關系,確定框架元素以及句子之間的聯系,從而實現框架語義推理。對于表述識別任務,使用漢語框架標注資源結合基于規則的方法進行表述抽取和過濾。通過結合框架特征與基礎特征實現表述消解。實驗結果驗證了本文方法的可行性。表述識別是解決共指消解問題的基礎,下一步將在擴大語料的同時結合框架語義類型,設計一種有效的表述識別方法以提升消解效果。