周惠巍, 黃德根, 錢志強(qiáng), 楊元生
(大連理工大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,遼寧大連 116024)
漢語句法分析一直被認(rèn)為是中文信息處理的一個(gè)重要技術(shù).其可以分為兩種方法:一種是短語結(jié)構(gòu)解析,即將句子劃分成短語,解析句子短語間的層次結(jié)構(gòu)關(guān)系[1];另一種是依存結(jié)構(gòu)解析,即解析句子詞語間的依存關(guān)系[2、3].依存關(guān)系可以明確地表明詞語間的支配關(guān)系,并能方便地發(fā)展為語義依存描述,近年來越來越受到研究人員的重視.
計(jì)算語言學(xué)的發(fā)展使得人們可以使用機(jī)器學(xué)習(xí)的方法基于大規(guī)模的語料庫構(gòu)建漢語句法解析器.國內(nèi)外研究人員已經(jīng)構(gòu)建完成了各種語言的樹庫,樹庫標(biāo)注方式各不相同,其結(jié)構(gòu)大體分為兩類:短語結(jié)構(gòu)樹庫和依存結(jié)構(gòu)樹庫.常用的漢語樹庫有短語結(jié)構(gòu)的賓州中文樹庫(Penn Chinese T reebank,CTB)[4]和依存結(jié)構(gòu)的哈爾濱工業(yè)大學(xué)信息檢索研究室的依存結(jié)構(gòu)樹庫(HIT Chinese Dependency Treebank,H IT-IR-CDT).CTB的創(chuàng)建為漢語句法分析提供了一個(gè)平臺,基于CTB的短語結(jié)構(gòu)解析[5]和依存結(jié)構(gòu)解析[6]成為當(dāng)前研究的熱點(diǎn).但是CTB是短語結(jié)構(gòu)樹庫,而且沒有標(biāo)明每個(gè)短語的中心子節(jié)點(diǎn),所以必須首先將CTB轉(zhuǎn)換為依存結(jié)構(gòu)樹庫,然后基于轉(zhuǎn)換后的CTB才能進(jìn)行中文依存關(guān)系解析.
目前,漢語樹庫資源仍然存在不足,而手工標(biāo)注樹庫需要大量的時(shí)間和人力.短語結(jié)構(gòu)樹庫和依存結(jié)構(gòu)樹庫雖然標(biāo)注方法不同,但描述的都是句法結(jié)構(gòu),在深層次上具有一致性,所以人們嘗試在兩種不同類型的樹庫之間進(jìn)行相互轉(zhuǎn)換[7~9].Lin提出基于中心子節(jié)點(diǎn)表(tree head table)將短語結(jié)構(gòu)樹轉(zhuǎn)換為依存結(jié)構(gòu)樹的算法[7].轉(zhuǎn)換采用遞歸算法,將短語結(jié)構(gòu)樹中各短語的非中心子節(jié)點(diǎn)依存到該短語的中心子節(jié)點(diǎn)上.Xia提出基于中心子節(jié)點(diǎn)過濾表(head percolation table)將賓州英文樹庫(English Penn Treebank,PTB)和CTB從短語結(jié)構(gòu)樹轉(zhuǎn)換為依存結(jié)構(gòu)樹的算法[8].中心子節(jié)點(diǎn)過濾表與中心子節(jié)點(diǎn)表的概念基本相同,均由短語類型、搜索短語中心子節(jié)點(diǎn)的方向以及短語中各類標(biāo)注的子節(jié)點(diǎn)作為中心子節(jié)點(diǎn)的優(yōu)先次序三部分組成.但是Xia構(gòu)造的漢語中心子節(jié)點(diǎn)過濾表非常簡單,表中每種短語包含的子節(jié)點(diǎn)類型比實(shí)際CTB語料中出現(xiàn)的子節(jié)點(diǎn)類型少許多.比如名詞短語(noun phrase,NP)的子節(jié)點(diǎn)類型為43種,而Xia構(gòu)造的中心子節(jié)點(diǎn)過濾表的NP子節(jié)點(diǎn)類型僅為5種.如果在短語中沒有搜索到中心子節(jié)點(diǎn)過濾表中的節(jié)點(diǎn)類型,Xia即將搜索起始節(jié)點(diǎn)默認(rèn)為該短語的中心子節(jié)點(diǎn).這種處理方法簡單可行,但是需要完整的中心子節(jié)點(diǎn)過濾表,否則會影響轉(zhuǎn)換效果.黨政法等提出了一種將清華漢語樹庫(TsinghuaChinese Treebank,簡稱TCT)從短語結(jié)構(gòu)轉(zhuǎn)換成依存結(jié)構(gòu)的算法[9].該算法充分利用了TCT具有的功能、結(jié)構(gòu)雙重標(biāo)記,轉(zhuǎn)換得到的依存樹包含了節(jié)點(diǎn)間的依存關(guān)系以及具體的依存關(guān)系類型.CTB是國內(nèi)外研究人員常用的一個(gè)大規(guī)模漢語樹庫,將其從短語結(jié)構(gòu)轉(zhuǎn)換為依存結(jié)構(gòu)有利于人們進(jìn)行漢語依存關(guān)系解析的研究.本文在總結(jié)以往研究成果的基礎(chǔ)上,結(jié)合CTB標(biāo)注體系的特點(diǎn),構(gòu)造完整的漢語中心子節(jié)點(diǎn)過濾表,并基于中心子節(jié)點(diǎn)過濾表將CTB從短語結(jié)構(gòu)轉(zhuǎn)換為依存結(jié)構(gòu).
中心子節(jié)點(diǎn)在短語結(jié)構(gòu)和依存結(jié)構(gòu)中起著非常重要的作用.X-bar理論[10]和管轄約束(GB)理論[11]等語言理論認(rèn)為,每個(gè)短語結(jié)構(gòu)中都有一個(gè)中心子節(jié)點(diǎn)決定著這個(gè)短語的主要性質(zhì),短語中的其他節(jié)點(diǎn)都是該中心子節(jié)點(diǎn)的修飾子節(jié)點(diǎn).而在依存結(jié)構(gòu)中非中心子節(jié)點(diǎn)以某種依存關(guān)系依存于中心子節(jié)點(diǎn).
依存結(jié)構(gòu)樹庫H IT-IR-CDT標(biāo)注體系如圖1所示,其標(biāo)注了句子中詞語之間的依存關(guān)系及依存類型.短語結(jié)構(gòu)樹庫CTB中句子的標(biāo)注如圖2所示,其僅標(biāo)出每個(gè)句子的短語層次結(jié)構(gòu)及短語類型,沒有標(biāo)明每個(gè)短語的中心子節(jié)點(diǎn).確定短語中心子節(jié)點(diǎn)最常用的方法是使用中心子節(jié)點(diǎn)過濾表.
圖1 H IT-IR-CDT依存結(jié)構(gòu)樹示例Fig.1 A dependency structure in the H IT Chinese Dependency Treebank
圖2 CTB短語結(jié)構(gòu)樹示例Fig.2 A phrase structure in the Penn Chinese Treebank
表1為部分中心子節(jié)點(diǎn)過濾表,其每一行都由〈短語類型,搜索方向,優(yōu)先級〉三項(xiàng)組成.其中,短語類型是非終端節(jié)點(diǎn)的短語符號;搜索方向?yàn)樵诜墙K端節(jié)點(diǎn)內(nèi)部搜索中心子節(jié)點(diǎn)的方向,取值為L時(shí)從短語左側(cè)開始向右搜索,取值為R時(shí)從短語右側(cè)開始向左搜索;優(yōu)先級為決定短語內(nèi)部各類標(biāo)注子節(jié)點(diǎn)作為中心節(jié)點(diǎn)的優(yōu)先次序.例如,根據(jù)過濾表中的一個(gè)條目〈IP:R,IP/VP/CP/VCD/VRD/VV/VA〉,可以這樣確定IP短語的中心子節(jié)點(diǎn):從右向左觀察IP的每一個(gè)子節(jié)點(diǎn),最先找到的標(biāo)注為IP的子節(jié)點(diǎn)即為IP的中心子節(jié)點(diǎn);如果沒有找到IP節(jié)點(diǎn),重新從右向左觀察IP的每一個(gè)子節(jié)點(diǎn),最先找到的符號為VP的子節(jié)點(diǎn)即為IP的中心子節(jié)點(diǎn);以此類推,如果這個(gè)IP內(nèi)部沒有任何標(biāo)注為 IP 、VP 、CP 、VCD、VRD、VV 、VA 的子節(jié)點(diǎn),就默認(rèn)最右側(cè)的子節(jié)點(diǎn)為中心子節(jié)點(diǎn).
表1 中心子節(jié)點(diǎn)過濾表(示例)Tab.1 Head percolation table(examples)
依據(jù)中文依存句法制定中心子節(jié)點(diǎn)過濾表.本文采用了簡單的依存關(guān)系描述體系,其中包含10種依存關(guān)系類型,如表2所示.非中心子節(jié)點(diǎn)以表中所示依存關(guān)系類型依存于中心子節(jié)點(diǎn).
表2舉例說明了各類依存關(guān)系的定義.其中“舉例”一列中,標(biāo)注為[1]的為例句1“城鄉(xiāng)游/首迎式/在/北京/舉行/,市/領(lǐng)導(dǎo)/及/一千多/名/游客/出席/歡慶/活動?!敝邪囊来骊P(guān)系.標(biāo)注為[2]的為例句2“他/背起/沉重/的/行李/,匆匆/地/走出/家門?!敝邪囊来骊P(guān)系.句中分詞依照CTB的標(biāo)注體系.箭頭“※”左側(cè)的詞依存于其右側(cè)的詞.
列出CTB中每種短語包含的全部節(jié)點(diǎn)類型,依據(jù)上述依存關(guān)系的定義,對各類節(jié)點(diǎn)作為中心子節(jié)點(diǎn)的優(yōu)先級進(jìn)行排序,制定中心子節(jié)點(diǎn)過濾表,如表1所示.
表2 依存關(guān)系類型Tab.2 The types of dependency relations
制定了中心子節(jié)點(diǎn)過濾表,短語結(jié)構(gòu)樹到依存結(jié)構(gòu)樹的轉(zhuǎn)換就相當(dāng)直接.轉(zhuǎn)換采用遞歸算法,將短語結(jié)構(gòu)樹Tree root轉(zhuǎn)換為依存結(jié)構(gòu)樹Tree deprel的轉(zhuǎn)換算法Convert(Tree root,Tree deprel)為
(1)若根節(jié)點(diǎn)root為葉子節(jié)點(diǎn),返回根節(jié)點(diǎn)root并完成轉(zhuǎn)換;
(2)查找根節(jié)點(diǎn)root的中心子節(jié)點(diǎn);
(3)轉(zhuǎn)換以中心子節(jié)點(diǎn)為根的子樹,并返回該子樹的中心子節(jié)點(diǎn)headChild;
(4)對于其他非中心子節(jié)點(diǎn)
①轉(zhuǎn)換以非中心子節(jié)點(diǎn)為根的子樹,并返回該子樹的中心子節(jié)點(diǎn)non-headChild;
②將non-headChild依存于headChild,并填入依存結(jié)構(gòu)樹Tree deprel.
圖3顯示了圖2所示例句從短語結(jié)構(gòu)樹到依存結(jié)構(gòu)樹的轉(zhuǎn)換.首先轉(zhuǎn)換以IP為根節(jié)點(diǎn)的短語結(jié)構(gòu)樹Tree IP.IP不是葉子節(jié)點(diǎn),查找IP短語的中心子節(jié)點(diǎn).參照表1中心子節(jié)點(diǎn)過濾表,從右向左觀察`IP'的每一個(gè)子節(jié)點(diǎn),最先找到的標(biāo)注為`IP'的子節(jié)點(diǎn)即為`IP'的中心子節(jié)點(diǎn).因?yàn)闆]有找到`IP'子節(jié)點(diǎn),重新從右向左查找標(biāo)注為`VP'的子節(jié)點(diǎn)為`IP'的中心子節(jié)點(diǎn)(圖中實(shí)線所示).然后轉(zhuǎn)換中心子樹Tree VP,`VP'的中心子節(jié)點(diǎn)`VV(成為)'為葉子節(jié)點(diǎn),將其返回.繼續(xù)轉(zhuǎn)換`VP'的非中心子樹Tree NP…依次確定句子每個(gè)短語的中心子節(jié)點(diǎn),將短語的非中心子節(jié)點(diǎn)依存到其中心子節(jié)點(diǎn)上.如短語`NP(NP(NR(中國))NP(NN(外貿(mào))))'的中心子節(jié)點(diǎn)為`NN(外貿(mào))',則節(jié)點(diǎn)`NN(外貿(mào))'決定了短語`NP(NP(NR(中國))NP(NN(外貿(mào))))'的主要性質(zhì),非中心子節(jié)點(diǎn)`NR(中國)'依存于中心子節(jié)點(diǎn)`NN(外貿(mào))'.其上一層的短語`NP(NP(NR(中國))NP(NN(外貿(mào))))ADJP(JJ(重要))NP(NN(增長點(diǎn)))'的中心子節(jié)點(diǎn)為最右側(cè)的短語`NP(NN(增長點(diǎn)))',非中心子節(jié)點(diǎn)`JJ(重要)'依存于中心子節(jié)點(diǎn)`NN(增長點(diǎn))';同理,另外一個(gè)非中心子節(jié)點(diǎn)`NP(NR(中國)NN(外貿(mào)))'的中心子節(jié)點(diǎn)`NN(外貿(mào))'也依存于`NN(增長點(diǎn))'.最后得到整句的依存關(guān)系:“NN(外商)※NN(企業(yè));NN(投資)※NN(企業(yè));NR(中國)※NN(外貿(mào));NN(外貿(mào))※NN(增長點(diǎn));JJ(重要)※NN(增長點(diǎn));NN(增長點(diǎn))※VP(成為);NN(企業(yè))※VV(成為)”.節(jié)點(diǎn)`VV(成為)'為整句的中心子節(jié)點(diǎn).
圖3 短語結(jié)構(gòu)樹到依存結(jié)構(gòu)樹的轉(zhuǎn)換例句Fig.3 An examp le o f converting phrase structure tree to dependency structure tree
本文對賓州中文樹庫(CTB5.0)進(jìn)行了轉(zhuǎn)換.CTB5.0是在美國國防部資助下,由語言數(shù)據(jù)聯(lián)盟(Linguistic Data Consortium,LDC)發(fā)布的一個(gè)語料庫.其由890個(gè)文件組成,包含18782個(gè)句子,507222個(gè)詞,824983個(gè)漢字.句子平均長度是27個(gè)詞.句子如圖2所示,標(biāo)注了分詞、詞性和短語結(jié)構(gòu).文章大部分來自《新華日報(bào)》,還有少部分來自香港地區(qū)政府和臺灣地區(qū)媒體.文章覆蓋政治、經(jīng)濟(jì)和文化等領(lǐng)域.本文將CTB中的短語按類型進(jìn)行統(tǒng)計(jì),統(tǒng)計(jì)結(jié)果見表3.因?yàn)槎陶ZWHNP和WHPP沒有子節(jié)點(diǎn),所以不包含在表1中.
表3 CTB短語類型及數(shù)量統(tǒng)計(jì)Tab.3 Details of the phrases in the Penn Chinese Treebank
為檢驗(yàn)轉(zhuǎn)換效果,隨機(jī)地從CTB5.0中取出200句語料進(jìn)行測試,句子的平均句長同樣是27個(gè)詞.對測試語料中出現(xiàn)的短語的轉(zhuǎn)換結(jié)果進(jìn)行了人工校驗(yàn),轉(zhuǎn)換正確率如表4所示.部分短語類型在測試語料中沒有出現(xiàn).
由表4可見,大部分短語的轉(zhuǎn)換正確率接近或達(dá)到了100%,測試語料中所有短語的轉(zhuǎn)換正確率達(dá)到99.50%.CP、IP、NP節(jié)點(diǎn)轉(zhuǎn)換依然存在錯誤,其他節(jié)點(diǎn)包括大量的VP節(jié)點(diǎn),正確率均為100%.
表4 轉(zhuǎn)換正確率Tab.4 Conversion p recision
通過對轉(zhuǎn)換錯誤的短語結(jié)構(gòu)進(jìn)行觀察發(fā)現(xiàn),大部分是處于外層的具有復(fù)雜結(jié)構(gòu)的短語.如圖4所示IP短語包含兩個(gè)IP子節(jié)點(diǎn).依據(jù)中心子節(jié)點(diǎn)過濾表,右側(cè)`IP'子節(jié)點(diǎn)為外層IP短語的中心子節(jié)點(diǎn),左側(cè)`IP'子節(jié)點(diǎn)的中心節(jié)點(diǎn)`VV(達(dá))'依存于右側(cè)`IP'子節(jié)點(diǎn)的中心節(jié)點(diǎn)`M(美元)'.但是這種依存關(guān)系違背了依存文法.造成這種錯誤的原因是右側(cè)`IP'短語沒有動詞,所以`M(美元)'成為其中心節(jié)點(diǎn),使得`VV(達(dá))'錯誤地依存于`M(美元)'.如果右側(cè)`IP'子節(jié)點(diǎn)添加了動詞,改為“投資額/約/達(dá)/一千萬/美元”,則其中的`VV(達(dá))'將成為其中心節(jié)點(diǎn).最終,左側(cè)`IP'的中心節(jié)點(diǎn)`VV(達(dá))'依存于右側(cè)`IP'的中心節(jié)點(diǎn)`VV(達(dá))',這種依存關(guān)系符合依存文法.
圖4 轉(zhuǎn)換錯誤例句Fig.4 An exam pleof the conversion error
Xia基于中心子節(jié)點(diǎn)過濾表將PTB和CTB從短語結(jié)構(gòu)樹轉(zhuǎn)換為依存結(jié)構(gòu)樹[8].其指出除了具有同位語的名詞短語(NP)外,PTB中其他短語都取得了較好的轉(zhuǎn)換效果,但是沒有給出具體的轉(zhuǎn)換正確率.Xia沒有提及CTB的轉(zhuǎn)換效果.
本文介紹了將CTB從短語結(jié)構(gòu)轉(zhuǎn)換為依存結(jié)構(gòu)的方法.基于現(xiàn)代中文依存關(guān)系文法制定了完整的中心子節(jié)點(diǎn)過濾表,依據(jù)該表可以確定CTB中所有短語的中心子節(jié)點(diǎn),并將短語結(jié)構(gòu)的CTB轉(zhuǎn)換為依存結(jié)構(gòu).抽樣測試結(jié)果表明轉(zhuǎn)換正確率達(dá)到了99.50%.本文的工作,使得短語結(jié)構(gòu)的CTB可以用于中文依存關(guān)系解析的研究,對于研究句法解析具有一定的參考價(jià)值.下一步,將利用轉(zhuǎn)換得到的依存結(jié)構(gòu)樹庫,進(jìn)行中文依存關(guān)系解析的研究.
[1]周 強(qiáng),趙穎澤.漢語功能塊自動分析[J].中文信息學(xué)報(bào),2007,21(5):18-24
[2]CHENG Yu-chang,ASAHARA M,MATSUMOTO Y.Machine learning-based dependency analyzer for Chinese[C]//M INGHUI D,HA IZHOU L,M IN Z,eds.Proceedings of the International Conferenceon Chinese Computing 2005.Singapore:COLIPS Pub lication,2005:66-73
[3]周惠巍,楊 洋,黃德根.基于遠(yuǎn)距離依存關(guān)系的中文依存關(guān)系解析[J].計(jì)算機(jī)工程,2007,33(24):212-214
[4]XUE Nian-w en,XIA Fei,CH IOU Fu-dong,etal.The Penn Chinese Treebank:phrase structure annotation of a large corpus[J].Natura l Language Engineering,2005,11(2):207-238
[5]曹海龍,趙鐵軍,李 生.基于中心驅(qū)動模型的賓州中文樹庫(CTB)句法分析[J].高技術(shù)通訊,2007,17(1):15-20
[6]CHENG Yu-chang,ASAHARA M,MATSUMOTO Y.Chinese determ inistic dependency analyzer:examining effects of global features and root node finder[C]//Proceedings of the Fourth SIGHAN Workshop on Chinese Language Processing.Korea:SIGHAN,2005:17-24
[7]LIN De-kang.A dependency-based method for evaluating broad-coverage parsers [J].Natural Language Engineering,1998,4(2):97-114
[8]XIA Fei.Automatic grammar generation from two different perspectives[D].Philadelphia:University of Pennsylvania,1999
[9]黨政法,周 強(qiáng).短語樹到依存樹的自動轉(zhuǎn)換研究[J].中文信息學(xué)報(bào),2005,19(3):21-27
[10]CHOMSKY N.Remarks on nominalization[C]//JACOBS R,ROSENBAUM P,eds.Reading in English Transformational Grammar.Waltham(MA):Ginn and Co.,1970:184-221
[11]CHOMSKY N.Lectures on Governmentand Binding[M].Dord recht:Foris Publications,1981