摘要:采用支持向量機的機器學習方法,以中文賓州樹庫為基礎,對中文文本進行了部分語義角色標注實驗。選取了主語、賓語、間接賓語、時間和地點這五種主要的語義角色,以中文PropBank 5.0中的前1 652個句子作為實驗的訓練集和測試集,選擇路徑、短語類型、謂詞、頭詞、頭詞詞性等八個屬性作為分類特征,采用兩階段分類方法,在測試集上得到的總體語義角色標注的準確率和召回率分別為89.73%和91.26%。實驗結果表明該方法對中文淺層語義分析工作是有效的。
關鍵詞:支持向量機;語義角色標注;中文賓州樹庫;中文PropBank
中圖分類號:TP391文獻標志碼:A
文章編號:1001-3695(2008)03-0674-03
自然語言文本的語義分析技術在問答系統、信息抽取、機器翻譯等領域有著廣泛的應用。語義分析的主要任務是根據輸入句子的句法結構和句中每個實詞的詞義進行語義角色標注,標志出一個句子中描述的事件以及與事件相關的各個角色,從而推導出能夠反映這個句子意義(即句義)的某種形式化表示。淺層語義分析并不對整個句子進行詳細的語義分析,而只是標注句子中的一些成分為給定動詞的語義角色,這些成分作為此動詞框架的一部分被賦予一定的語義含義[1]。
語義分析方法分為基于規則和基于統計兩大類。基于規則的方法將語言本身看做是一種語法,認為人類語言是根據某種規則產生的,并且統計帶有不確定性;基于統計的方法則認為語言學知識的真正源泉是大規模語料,因此其主要任務是使計算機能自動或半自動地從大規模語料庫中獲取理解語言所需的各種知識,客觀而不是主觀地對語料庫中存在的語言事實進行描述。由于規則的總結不可能是完備的,而且語言規則的總結主觀性、專業性較強,需要有大量的人力。本文的工作采用基于統計的自動語義分析方法。
現有的自動語義角色標注算法大多是基于統計且面向英文文本的,如文獻[2,3]等。然而,漢語與英語本質上有很大差別。例如:英文單詞的詞性通常可以通過單詞的前綴或者后綴變化來獲知,而中文的動詞名詞化和名詞動詞化情況十分普遍;在英文文本中,修飾性角色相對于謂詞短語的位置可以十分靈活,而漢語中各種語義角色成分相對于謂詞的位置則比較固定。這些都影響著詞性標注和句法樹生成的結果,而它們正是語義分析的前驅工作。因此英文語義分析時采用的特征對于中文并不都適用。另外,目前中文方面的標注語料資源還很不充分,在基于賓州樹庫的中文語義角色標注方面的工作開展得也不多。比較有代表性的工作有:Sun等人[4]以中文賓州樹庫[5]2.0為基礎,選取了Chinese Penn Treebank 2.0中的十個動詞進行語義角色標注;Xue Nianwen等人[6]在中文賓州樹庫的基礎上進行語義角色標注,考慮到標注過程的可裂參數和動詞名詞化等問題,提出了構建帶有語義角色的中文PropBank[7]的方法;Xue Nianwen等人[8]將那些支配角色相似的動詞聚集在一起,構成一些動詞集合(verb classes),然后利用動詞集合以及其他一些諸如路徑、短語類型等十個分類特征,對標注了語義角色的中文PropBank 5.0中的所有動詞進行語義角色標注實驗,實驗獲得了91.4%的準確率和91.1%的召回率。
1實現總體思路
目前,已經標注的可用于淺層語義分析的語料資源不多,中文方面的語料主要是中文PropBank。中文賓州樹庫是以新聞報刊報道作為初始語料,經過分詞、詞性標注生成的句法樹語料;中文PropBank以中文賓州樹庫為基礎,對所有的句法樹標注基本的語義,在句法樹上加入謂詞參數關系,形成經過淺層語義分析的文本語料。例如,對于句子“最近美國在紐約州共賠償三家中國企業一百萬美元”在PropBank中的標注形式如圖1所示。句法樹上每個節點的標注信息包含了短語類型和相應的角色標簽,如“最近”的標注信息為NPTMP,表明“最近”是一個名詞性短語(NP),在句中是謂詞“賠償”的時間(TMP)角色。
中文PropBank 5.0包含891個文件,共計18 700多個句子。由于基于手工標注,語料標注的準確率很高;其覆蓋范圍較廣,可學習性強。本文選擇它作為實驗用語料。
淺層語義分析方法中,統計學習方法是主流。近年來用于淺層語義分析的統計學習算法主要有:
a)決策樹學習算法。它的一個最大的優點就是在學習過程中不需要使用者了解很多背景知識,只要訓練例子能夠用屬性—結論式的方式表達出來,就能使用該算法來學習。決策樹學習方法對于處理高維問題效果并不理想,當類別太多時,錯誤可能會增加得較快。
b)最大熵模型。它是一種用來直接計算條件概率的方法,其基本思想是為所有已知的因素建立模型,而把所有未知的因素排除在外。最大熵的優點在于建模時實驗者只需集中精力選擇特征,而不需要花費精力考慮如何使用這些特征;特征選擇靈活,且不需要額外的獨立假定或內在約束;模型應用在不同領域時的可移植性強;可結合更豐富的信息,因而被廣泛應用于淺層語義分析領域。但是,最大熵方法也存在缺點:時空開銷大;數據稀疏問題比較嚴重;對語料庫依賴性較強。
c)支持向量機。它最早由Vapnik[9]提出,是建立在統計學習理論的VC維理論和結構風險最小原理基礎上,根據有限的樣本信息在模型的復雜性和學習能力之間尋求最佳折中,以期獲得最好的泛化能力。SVM的優勢在于可以解決小樣本情況下的機器學習問題,提高泛化性能;也可以解決高維和非線性問題,避免神經網絡結構選擇和局部極小點問題。為了簡化SVM,降低其計算復雜度,Platt[10]提出了序列最小優化(sequential minimal optimization,SMO)方法。其主要思想是把一個大的優化問題分解成一系列只有兩個變量的優化問題。SVM在文本分類等自然語言處理領域以及淺層語義分析系統有著成功的應用[3],獲得了較好的分析結果。因此,本文采用了Weka 3.4SMO[11]對中文PropBank進行淺層語義分析。
2語義角色標注算法
鑒于語料中角色節點和非角色節點數量極其不平衡的情況,本文的工作采用兩階段分類法:首先進行有無角色節點判斷,然后再對有角色節點進一步細分;在特征選取方面參照了文獻[2],采用支持向量機的機器學習方法進行自動語義角色標注。
2.1兩階段分類策略
中文PropBank語料中大多數(約80%)節點沒有標注任何角色,如果把這種情況和另外五種角色一起分成六類,那么由于訓練這六類樣本中的無角色數量過多,會導致數據的不平衡,結果可能會把大多數角色節點標注成無角色。為此,本文采用兩階段訓練分類方法[12]:把五種角色合成有角色節點一大類,與無角色節點構成兩大類,并構造一個oneversusall分類模型,用來識別語法樹上每一個節點是否具有角色特征;然后對有角色的節點進一步分類,標注為具體的五種角色之一。
2.2分類特征選取
語義角色分類依賴很多特征,比較顯著的特征有:
a)節點到謂詞的路徑(path)。經過句法分析生成的句法樹上每一個角色節點都受句法樹上不同層次的謂語支配。每個節點的path特征就是該節點到支配它的謂詞的路徑。本文用“^”表示路徑方向向上,“!”表示路徑方向向下。在圖1中,對于具有SBJ角色的“美國”節點的路徑為NP^IP!VP!VP!VV。對路徑上連續重復的短語類型進行規約合并,如路徑NP^IP!VP!VP!VV經過規約后表示成NP^IP!VP!VV。規約路徑后實驗結果沒有變化,但是取值規模大約縮小了一半,訓練時間縮短了大約1/3。
b)節點的短語類型(pt)。它是指對于每個句法樹上的節點的短語分類,如NP(名詞短語)、PP(介詞短語)等。如果某個節點的短語類型是PP,它很可能是地點或時間角色而不大可能是間接賓語等角色;如果某個節點的短語類型是NP,那么它很可能具有主語或者賓語角色。
c)父節點的短語類型(govpt)。除了語法樹的根節點,其余節點都有父節點。僅僅知道節點的短語類型對于確定角色往往是不夠的。對于一個短語類型為NP的節點,很難通過NP來確定它是主語角色還是賓語角色。當考察其父節點的短語類型時,如果其父節點短語類型為IP,那么它很可能是主語角色;如果其父節點短語類型為VP,則它具有的角色可能是賓語。
d)謂詞本身(predicate)。在此把動詞本身也作為一個分類特征,尤其是對于那些支配雙賓語的動詞,如“給”“賣給”這類帶有間接賓語的動詞,在角色標注的時候間接賓語容易被錯誤地標注成賓語。因此,將謂詞本身也作為一個特征,它能夠在一定程度上提高賓語與間接賓語的區分度。
e)節點相對于動詞的位置(position)。語法樹上每個角色節點均位于謂詞短語節點的兩側,該特征的取值只有beforeVP和afterVP兩個。一般情況下,主語位于謂詞節點前面,而賓語大多位于謂詞節點的后面。
f)謂詞子節點序列(subcat)。支配角色的謂詞節點的所有子節點展開序列。假設某個短語類型是VP的謂詞節點,其子節點從左至右依次為P1,P2,P3,那么它的子節點序列為VP→P1—P2—P3。例如,在圖1中,節點“三家中國企業”的subcat特征為VP→VV—NP—NP。這條特征能夠刻畫出position特征值為AfterVP節點的角色特征。在本文實驗的訓練集中,間接賓語共有12條記錄,其中第7條的subcat特征是VP→VV—NP—NP。
g)頭詞(head)。它是生成句法樹時短語下層節點序列中的語法頭短語。頭詞的獲得是依賴于創建語法樹時所用到的頭規則[13,14]。這些短語在其子樹序列中,對該節點短語類型起決定性作用。本文實驗中,所有節點的頭詞中出現較多的有“的”2 250次、“中國”423次、“企業”414次、“在”334次、“對”232次等。對于有角色的節點,頭詞出現較多的是“在”271次、“中國”105次、“企業”98次等。這些頭詞對于角色的判斷有很大幫助,如某節點的頭詞是“在”,那么該節點很有可能會是時間或地點角色;如果某節點的頭詞是“中國”,那么其角色很可能是主語,而不可能是時間。
h)頭詞詞性(headpos)。它根據頭規則得到的頭詞短語的詞性。畢竟像“在”“于”這樣能夠明顯判斷節點角色的頭詞是少數,如果采用頭詞作為分類特征,難免會遇到數據稀疏的問題。例如下面兩個句子:“七月二日朝鮮特使抵達北京”;“十月一日全國人民歡度國慶”。盡管“七月二日”與“十月一日”兩個頭詞不相同,但實際上這兩個頭詞都是屬于時間短語NT,因此在判斷諸如“一月一日”這樣的頭詞時,headpos可以在很大程度上彌補數據稀疏的問題。
本文在實驗過程中逐步添加各個特征,分析每個特征對于語義角色標注的貢獻,最終選取了其中五個特征作為最終標注所采用的特征組合。
3實驗結果及分析
實驗選取了中文PropBank 5.0中的CTB_001.fid~CTB_100.fid共100個文件1 345個句子作為訓練集;CTB_101.fid~CTB_121.fid共21個文件307個句子作為測試集。本文選取主語(SBJ)、賓語(OBJ)、間接賓語(IO)、時間(TMP)和地點(LOC)這五個重要的角色成分進行實驗。這五個主要的語義角色集合在訓練集中共出現7 690次,在測試集中共出現1 648次。具體角色頻率情況如表1所示。
本文的實驗采用兩階段分類法,其中第一階段分類目標是判斷節點有無角色。在第一階段的實驗中,采用依次組合添加特征的實驗方法。結果發現,每加入一個屬性,其分類效果都有不同程度的提高。最終選取了所有特征進行訓練,訓練集中共有39 261個候選節點。其中有角色(role)節點7 690個,無角色(1)節點31 571個。對得到的訓練模型進行封閉測試,結果有562個角色節點被識別成了無角色節點,而有680個無角色節點被識別成了角色節點。同時用測試集進行了開放測試,測試集中共有8 817個節點。其中角色節點1 648個,無角色節點7 169個。分類結果是有126個角色節點沒有被標志出來,154個無角色節點被錯分成角色節點。封閉測試和開放測試實驗數據如表2所示。
分類的第二步是將第一階段得到的所有角色節點進一步進行角色分類,標注出具體的角色。在這一階段實驗中,對訓練集中7 690個角色節點進行訓練,得到角色分類模型,用該模型進行角色分類封閉測試。在第一階段開放測試的分類結果中,共有1 676個節點被標上了角色節點的標簽,其中包括154個無角色節點被標注成了角色節點。本文把第一階段開放測試的分類結果作為輸入,依次添加不同的特征作為訓練屬性,對角色分類訓練模型進行開放測試。其封閉測試和開放測試結果如表3所示。
從表3可以看到,在添加某些特征時,實驗效果并沒有出現明顯提高,甚至有原地踏步的現象。通過觀察實驗的具體分類結果發現,語料中主語和賓語所占的比例很大(表1),path特征能夠區分絕大部分主語和賓語角色,因而分類準確率很高,開放測試準確率達到了85.5%。當path特征添加除headpos以外的其他特征時,實驗效果并沒有得到明顯的改善。經過分析得知,headpos特征在一定程度上能夠根據短語塊的短語類型區分出LOC和TMP;而其他特征則對TMP和LOC兩個角色基本沒有區分度,有20%~50%被標注錯誤,因而會出現上述實驗結果。最后,把對結果影響較大的幾個屬性:govpt、position、predicate、headpos與path屬性組合,結果開放測試的實驗精確度提高了0.5%。這說明對于目前的語料,如何選擇屬性組合對最終標注結果有一定影響。
兩階段分類過程中,第一階段分類結果是整個標注工作的基礎,第二步的分類數據來源于第一步分類的結果。在第一步分類結果中,被標注為有角色的節點是1 676個,其中只有1 522個是真正有角色的,整個測試集中的角色節點是1 648個。因此,即使第二步分類標注都正確,但由于受到第一步分類錯誤結果的影響,實驗總的準確率、召回率也分別只有1 522/1 676=90.81%和1 522/1 648=92.35%,而本文的綜合實驗實際結果已達到準確率89.73%、召回率91.26%。可見第二步分類中可提高的空間并不大,只能從第一階段分類入手,在提高第一步分類準確率和
召回率的基礎上,進一步提高整個角色標注的準確率和召回率。
4結束語
本文采用了有指導的SVM機器學習方法,對中文的語義角色標注進行了嘗試,采用了較小的訓練集(1 345個句子),取得了比較滿意的結果。本文實驗用語料是中文PropBank中的句法樹,因此句法解析準確率有很好的保證。從實驗結果來看,在句法解析精度得到保證的前提下,本文的語義角色分析結果是比較理想的。
從實驗結果(表3)中可以看到,對于開放測試,pt、subcat、head這三個特征并不是很重要,而且它們在一定程度上會干擾并降低其他特征對角色的區分程度。因此path、govpt、predicate、position、headpos這五個屬性特征組合是基于中文賓州樹庫的語義角色分類較好的選擇。
本文用所提到的特征對其他角色也進行了試驗,發現有一些角色的標注結果很差,如ADV和TPC,它們的召回率分別為51.4%和7.1%,F值分別只有64.6%和13.1%,效果很不理想。區分這些角色還需要從漢語語言層面進一步發掘出更多的特征。中文賓州樹庫的標注體系目前看來離實用還有一段距離。另外,值得一提的是知網[15]的事件框架和義原之間的關系可以為角色框架提供很多有用的信息,而同義詞詞林能夠很好地解決數據稀疏問題,如何結合它們來改進本文的實驗是下一步的主要工作。
參考文獻:
[1]車萬翔,劉挺,李生.淺層語義分析.自然語言理解與大規模內容計算[M].北京:清華大學出版社,2005.
[2]GILDEA D,JURAFASKY D.Automatic labeling of semantic roles[J].Computational Linguistics,2002,28(3):245-288.
[3]PRADHAN S,WARD W,HACIOGLU K,et al.Shallow semantic parsing using support vector machines[C]//Proc of the Human Lanuage Technology Conference/North American Chapte of the Association of Comutional Linguistics.Boston:[s.n.],2004.
[4]SUN Honglin,JURAFSKY D.Shallow semantic parsing of Chinese[C]//Proc of the Human Lanuage Technology Conference.Boston:[s.n.],2004.
[5]賓州樹庫[EB/OL].http://www.cis.upenn.edu/-chinese/ctb.html.
[6]XUE Nianwen,PALMER M.Annotating the propositions in the Penn Chinese Treebank[C]//Proc of the 2nd Sighan Workshop.Sapporo:[s.n.],2003.
[7]中文PropBank[EB/OL].http://www.cis.upenn.edu/-chinese/cpb/index.html.
[8]XUE Nianwen,PAMLER M.Automatic semantic role labeling for Chinese verbs[C]//Proc of the 19th International Joint Conference on Artificial Intelligence. Edinburgh:[s.n.],2005.
[9]VAPNIK V N.The nature of statistical learning theory[M]. New York: SpringerVerlag,1995.
[10]PLATT J C. Fast training of support vector machines using sequential minimal optimization[M]//SCHOLKOPF B,BURGES C,SMOLA A.Advances in Kernel Methods: Support Vector Machines. Cambridge: MIT Press, 1998:185-208.
[11]Weka 3.4[EB/OL].http://www.cs.waikato.ac.nz/~ml/weka/.
[12]HACIOGLU K,PRADHAN S,WARD W,et al.Shallow semantic parsing using support vector machines,CSLR20031[R].Boulder:Center for Spoken Language Research at the University of Colorado, 2003.
[13]COLLINS M J.Headdriven statistical models for natural language parsing[D]. Philadelphia:University of Pennsylvania,1999.
[14]BIKEL D M,CHIANG D.Two statistical parsing models applied to the Chinese Treebank[C]//Proc of the 2nd Chinese Language Processing Workshop.Hong Kong:Association for Computional Linguistics,2000:1-6.
[15]董振東,董強.知網[EB/OL].(2005).http://www.keenage.com.
“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文”