專利名稱:一種基于標(biāo)點(diǎn)處理的層次化漢語長句句法分析方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及自然語言處理技術(shù)領(lǐng)域,特別是一種基于標(biāo)點(diǎn)處理的層次化漢語長句句法分析方法及裝置。
背景技術(shù):
句法分析(Syntactic Parsing)是自然語言處理研究中的關(guān)鍵技術(shù)之一,句法分析結(jié)果的好壞直接影響到對自然語言句子的理解。而自然語言理解又是機(jī)器翻譯、信息抽取、信息檢索以及語料自動處理等眾多語言處理技術(shù)的基礎(chǔ)。在當(dāng)前條件下,句法分析在語言信息處理系統(tǒng)中仍然具有舉足輕重的作用。同時,句法分析中所使用的技術(shù)還可以用于解決生物信息識別領(lǐng)域諸如RNA分子結(jié)構(gòu)探測等與句法分析相似的問題。因此,自然語言句法分析技術(shù)的研究具有重要的理論意義和實(shí)用價值。
句法分析算法的時間復(fù)雜度和句子長度密切相關(guān),在不采用啟發(fā)式策略處理的前提下,典型句法分析算法的時間復(fù)雜度都近似于句子長度的三次方。因此,當(dāng)句子達(dá)到一定長度時,句法分析的效率問題就凸顯出來。我們進(jìn)一步分析發(fā)現(xiàn),長句帶來的問題不僅僅是時間效率上的,子句邊界界定的困難和錯誤使得某些子句的句法關(guān)系常常被割裂,并且一個局部子句分析的失敗也會導(dǎo)致整個長句得不到正確的句法分析樹。這種情況使得現(xiàn)有的句法分析算法,對超過一定長度的句子句法分析的正確率和召回率呈現(xiàn)急劇下降的趨勢。然而,目前對于長句的結(jié)構(gòu)模式,以及句型與表意模式之間關(guān)聯(lián)方式的研究,還處在剛剛起步的階段,并且句法分析之前,句型通常是未知的,這使得我們需要考慮從其它方面入手,嘗試解決這個問題。漢語中逗號、冒號和分號是三個最常用的連接簡單句和短語使其成為長句的標(biāo)點(diǎn)符號。在Chinese LDC發(fā)布的TCT 973樹庫(關(guān)于973樹庫的詳細(xì)信息參見http://www.chineseldc.org/index.htm.)上的實(shí)驗(yàn)數(shù)據(jù)表明,在隨機(jī)抽取的4431個20個詞長以上的長句中,至少含有上述三種標(biāo)點(diǎn)符號之一的長句總共有4075句,約占92%。因此,標(biāo)點(diǎn)符號應(yīng)用的普遍性使得我們研究標(biāo)點(diǎn)符號作為連接長句中子句的唯一顯式標(biāo)記的用法和規(guī)律,并利用標(biāo)點(diǎn)的作用幫助長句句法分析。
根據(jù)上述思路,本文從研究漢語標(biāo)點(diǎn)符號在句子中的作用和規(guī)律入手,設(shè)計了一種適用于漢語長句句法分析的分層句法分析方法,并通過實(shí)驗(yàn)證明該方法在處理復(fù)雜長句的效率和正確率兩方面,與現(xiàn)有的一遍分析方法相比較具有較大的優(yōu)勢。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種新的面向漢語長句的層次化句法分析方法及裝置。
本發(fā)明的基本思想相當(dāng)于找到一種合適大小的語言單元,這些語言單元是相對獨(dú)立的,其內(nèi)部的結(jié)構(gòu)關(guān)系不受或者很少受周圍的語言單元的影響。描述這種語言單元內(nèi)部語法關(guān)系的語法“l(fā)exical grammar”和語言單元之間關(guān)系的“text grammar”就可以結(jié)合起來,完成整個句子的句法分析。
本發(fā)明采用上述“分解”的思想來進(jìn)行漢語長句的分析,與基于語塊的層次分析技術(shù)不同。在我們的技術(shù)中,利用部分標(biāo)點(diǎn)為分界點(diǎn)把長句分割成句子單元的序列,在完成各個句子單元的結(jié)構(gòu)分析之后,再合并起來分析得到完整的句子結(jié)果。而作為句子單元分界點(diǎn)的標(biāo)點(diǎn)符號被定義為“分割”標(biāo)點(diǎn),其余標(biāo)點(diǎn)被定義為“普通”標(biāo)點(diǎn)。
這種方法分割得到的句子單元通常是子句或者短語,因此,我們可以在第一級分析中完成對子句或短語內(nèi)部的結(jié)構(gòu)分析,而子句邊界的獲取,以及對子句或短語等彼此之間的句法關(guān)系的獲取則在第二級分析完成。采用這種技術(shù)設(shè)計的方法減少了“流水復(fù)句”以及其它類型復(fù)句句法分析的困難,這也是我們提出的層次化分析(HP)技術(shù)的中心思想所在。
技術(shù)方案基于標(biāo)點(diǎn)處理的層次化句法分析方法可以分為訓(xùn)練和分析兩部分,具體過程如下訓(xùn)練過程包括a)研究漢語標(biāo)點(diǎn)符號的用法和句法功能,并將其分類;b)從大規(guī)模樹庫中提取包含標(biāo)點(diǎn)的概率上下文無關(guān)文法規(guī)則,并統(tǒng)計得到其概率信息;分析過程包括aa)將包含分割標(biāo)點(diǎn)的復(fù)雜長句分割;bb)對各個子句單元獨(dú)立進(jìn)行第一級句法分析;cc)探測并且合并并列關(guān)系的短語;dd)在第一級分析結(jié)果的基礎(chǔ)上進(jìn)行第二級分析,最終得到整個句子的完整句法分析樹。
訓(xùn)練過程中步驟a)中從句法的角度研究了漢語標(biāo)點(diǎn)符號的用法和功能。
訓(xùn)練過程中步驟b)中提取了包含有漢語標(biāo)點(diǎn)符號的語法規(guī)則。
分析過程中步驟aa)將漢語長句進(jìn)行了分割處理。
分析過程中步驟cc)用規(guī)則方法進(jìn)行了并列關(guān)系短語的探測和合并。
分析過程中,步驟bb)和dd)將傳統(tǒng)的句法分析進(jìn)行了任務(wù)分解,依次通過這兩個步驟完成整句的句法分析。
一種基于標(biāo)點(diǎn)處理的層次化漢語長句句法分析裝置,由長句分割裝置、第一級分析裝置、探測及合并并列短語裝置以及第二級分析裝置組成,上述裝置依次順序連接。
下面詳細(xì)說明本發(fā)明技術(shù)方案中所涉及的各個細(xì)節(jié)問題。
1.標(biāo)點(diǎn)符號的用法和分類裝置我們認(rèn)為,可以用作“分割”作用的標(biāo)點(diǎn)符號必須滿足如下條件如果某個標(biāo)點(diǎn)符號分隔開的子句單元,相互之間的句法關(guān)系是整體的而非局部的,換言之,也就是它們整體發(fā)生關(guān)系而非某個子句單元內(nèi)部的某一成分和其它子句片斷發(fā)生關(guān)系,那么,這種標(biāo)點(diǎn)就屬于“text grammar”層面,我們把這類標(biāo)點(diǎn)定義為“分割”標(biāo)點(diǎn)。
根據(jù)1995年12月13日發(fā)布的《標(biāo)點(diǎn)符號的用法國家標(biāo)準(zhǔn)》,分號的作用是用來表示復(fù)句內(nèi)部各個分句之間的停頓,根據(jù)分類定義,顯然分號可以作為“分割”標(biāo)點(diǎn)。
冒號的作用主要包括兩種一種是放在解釋性成分的前面,表示冒號后的成分是對冒號前的詞語或句子的解釋說明。另外一種常見用法是跟在“說、想、是、指出、例如、如下”等詞語后面,表示提起下文。這種類型的句子可以被定義為解注復(fù)句,冒號前的部分可以看作是主句、而冒號后的解釋成分看作是前面主句的補(bǔ)句,是對前面部分的補(bǔ)充解釋。所以,根據(jù)分類定義,顯然可以作為“分割”標(biāo)點(diǎn)。
逗號的用法比較復(fù)雜,根據(jù)上面“國標(biāo)”的定義,逗號在句子中的位置主要包括如下幾種1)句子內(nèi)部主語與謂語之間;2)句子內(nèi)部動詞與賓語之間;3)狀語和其修飾的句子之間;4)復(fù)句內(nèi)各分句之間。對第四種作用,逗號充當(dāng)?shù)慕巧头痔柕淖饔妙愃?,因此可以作為“分割”?biāo)點(diǎn)。而對前三種情況,這些逗號分隔開的充當(dāng)不同成分的短語結(jié)構(gòu)可以看作是相對獨(dú)立的,可以先分析各個成分內(nèi)部的結(jié)構(gòu)關(guān)系,在此基礎(chǔ)上分析各個成分之間的組合結(jié)構(gòu)關(guān)系。那么逗號也可以當(dāng)作“分割”標(biāo)點(diǎn)。這種處理技術(shù)可能會造成第一級分析時局部子句分析失敗的問題,然而這種問題可以通過合并子句和其前后成分,進(jìn)行第二級分析得到解決。
另外,由于在漢語中逗號可以取代頓號的作用充當(dāng)較長的并列短語之間的間隔符號,我們給出一種簡單的基于規(guī)則的并列成分短語的探測和合并裝置,該裝置在本文解析過程的第三部分詳細(xì)介紹。
2.語法規(guī)則的提取裝置由于逗號的復(fù)雜性,提取包含逗號的規(guī)則不僅包括描述子句內(nèi)部的結(jié)構(gòu)關(guān)系的,還包括子句之間的組合結(jié)構(gòu)關(guān)系的,因此,兩級語法實(shí)際上是重疊的。在HP技術(shù)中,我們把兩級語法規(guī)則合成一個語法規(guī)則體系,由句法分析算法來自動選擇所用的規(guī)則。
本文所用的語法規(guī)則是從經(jīng)過句法分析的樹庫中自動提取的,因此,就要求樹庫具備一定的規(guī)模,包含豐富的語法現(xiàn)象,并且標(biāo)點(diǎn)符號用法規(guī)范。TCT 973樹庫就是滿足上述要求的大規(guī)模樹庫資源。該樹庫的規(guī)模約為100萬字,其中語料文本都選自90年代的現(xiàn)代漢語語料,主要分為文學(xué)、新聞、學(xué)術(shù)和應(yīng)用等四類,平均句長為23.3詞/句,句長在20個詞長以上的句子約占一半。
首先,從樹庫中提取包含標(biāo)點(diǎn)的PCFG語法規(guī)則,對包含各類標(biāo)點(diǎn)的語法規(guī)則進(jìn)行合并、概括等處理。然后,將其和由語言學(xué)分析得到的標(biāo)點(diǎn)用法規(guī)律結(jié)合,對提取的規(guī)則進(jìn)行調(diào)整。例如,仍以書名號為例,中文左右書名號之間的部分必然是一本書的名字,無論其句法類是什么,因此,可以用一條概括的語法規(guī)則描述如下NP→《X》 X{NP,VP,S,PP......} (1)在公式(1)中,X可以是所有可能的詞性或者短語的類別標(biāo)記。由于樹庫規(guī)模的限制,在樹庫中未出現(xiàn)的,而由上面分析可以得到的規(guī)則被加入到已提取的規(guī)則系統(tǒng)當(dāng)中,并且所有此類規(guī)則的概率均為1。
單書名號、方括號等類似的情況,其余的語法規(guī)則的概率均采用最大似然估計的技術(shù)求得。最終,所有的文法規(guī)則構(gòu)成一個完整的語法規(guī)則系統(tǒng)。
3.長句分割裝置根據(jù)前面對標(biāo)點(diǎn)符號的分類,我們用逗號、分號和冒號把長句分割為一系列子句片斷。需要注意的是,引號和破折號只具有語義上的作用,因此從句法分析上可以看作透明的。
4.第一級句法分析裝置本文采用chart算法來作為分析算法,在第一級分析當(dāng)中,對經(jīng)過分割得到的各個子句單元進(jìn)行分析,分析的原始輸入為詞性串序列,用上述算法進(jìn)行分析,經(jīng)過韋特比(Viterbi)搜索和剪枝,對每個子句片斷得到一棵最大概率的分析子樹。
5.子樹合并裝置根據(jù)前面的討論,由于逗號的特殊性,將其統(tǒng)一定義為“分割”標(biāo)點(diǎn)可能會造成不適當(dāng)?shù)木渥臃指?。造成這類情形主要是由于在漢語中,當(dāng)并列成分的短語較長時,一些句子使用逗號來替代頓號作為分隔標(biāo)記,而這些并列短語充當(dāng)同一句子中的一個成分。例如,對句子“我喜歡在春天去觀賞桃花,在夏天去欣賞荷花,在秋天去觀賞紅葉,但更喜歡在冬天去欣賞雪景?!保叭齻€動詞短語在句子中作為并列的謂詞短語,即第一個句子單元“我喜歡在春天去觀賞桃花”中的動詞短語和逗號后的動詞短語是并列關(guān)系的謂語,用逗號進(jìn)行分割,則會割裂這種關(guān)系,因此,可以對這種情況進(jìn)行探測并且處理。
由于在第一級的句法分析中,對逗號左右的句子成分已經(jīng)進(jìn)行了分析,獲得了逗號附近的句法結(jié)構(gòu)信息,而這一步需要做的僅僅是判斷逗號左右的成分是否是滿足并列關(guān)系的結(jié)構(gòu)完全相同的短語。
根據(jù)上面的例句,我們給出一個簡要的并列成分短語判斷過程的描述。如后面圖3所示,第一個逗號后的成分分析后得到動詞短語(VP),用B來標(biāo)記。顯然,B是由一個介詞短語(PP)和一個動詞短語構(gòu)成的。如果第一個逗號之前存在一個最小長度的短語,并且它和B具有完全相同的句法結(jié)構(gòu),那么它和B為并列短語。顯然,圖中A2就是這樣的一個短語。其它逗號相鄰成分的分析與此相似。最終得到A2,B和C為并列短語。顯然,第三個逗號后的短語D具有和A2、B、C不同的結(jié)構(gòu),所以與它們不是并列關(guān)系。
對這種類型的問題,我們采用了一種子樹粘接操作的裝置來處理,從而將并列的成分合并。如后面圖4所示,首先把子樹A2和B、C合并,然后用合并后的子樹A2’來替換原來的A2但不改變樹A的結(jié)構(gòu)。圖4顯示了這種子樹粘接的操作過程。
以下,我們給出子樹粘接操作的執(zhí)行條件和規(guī)則[X,]+Z[X Y...Y]Z[X[[X,]+X] Y...Y]X={np,vp,ap,dp},Z表示短語或者子句標(biāo)記,Y=*(表示任何結(jié)構(gòu)標(biāo)記) (2)Z[Y...Y X][,X]+Z[Y...Y X[X[,X]+]]X={np,vp,ap,dp},Z表示短語或者子句標(biāo)記,Y=*(表示任何結(jié)構(gòu)標(biāo)記) (3)其中,規(guī)則(2)和(3)中的X表示的短語必須是經(jīng)過我們前面判定為并列關(guān)系的短語。例如,對后面圖3所示例句,判定A2,B和C為并列的VP短語,則對子句1(Sub-Sentence 1),合并前的結(jié)構(gòu)為S[A1VP][, VP][, VP],其中A1的部分表示對“我喜歡”分析得到的結(jié)構(gòu)標(biāo)記,則采用規(guī)則(3),合并后的結(jié)構(gòu)為S[A1VP[VP,VP,VP]]6.第二級分析裝置第二級分析所用的算法和第一級分析所用的算法是相同的,不同點(diǎn)在于所用的文法規(guī)則和輸入串。但由于兩部分文法規(guī)則有部分重疊,依靠算法自動選擇即可。
輸入詞性串在第一級分析是各個句子單元的輸入詞性串序列,而第二級分析的輸入則分為兩種情況第一種,對第一級分析的各個子樹單元都能夠獲得最大的概率分析樹,此時第二級分析的輸入則為各個分析樹根結(jié)點(diǎn)的結(jié)構(gòu)標(biāo)記和分隔他們的標(biāo)點(diǎn)符號。第二種情況是當(dāng)?shù)谝患壏治龅哪承┳泳浞治鍪r,我們?nèi)匀∈∽泳涞脑荚~性序列和其前后分析成功的子樹一起進(jìn)行第二級的分析。
第二級分析最終輸出結(jié)果是整個句子的最大概率句法分析樹。
7.實(shí)驗(yàn)結(jié)果為了將本文的HP技術(shù)和傳統(tǒng)的一遍掃描的方法(TP)相比較,使用相同的測試數(shù)據(jù)集,并且采用相同的語法規(guī)則集。
在一臺PC機(jī)上(奔騰4處理器,1.20GHz,256M內(nèi)存)分別運(yùn)行兩種技術(shù)構(gòu)建的系統(tǒng),時間消耗如后面圖5所示。
在本文的實(shí)驗(yàn)系統(tǒng)當(dāng)中,設(shè)定一個句子分析時間上限值為120秒,一旦運(yùn)算時間超時則退出算法循環(huán),從而得不到最終的分析結(jié)果。傳統(tǒng)的一遍分析的技術(shù)(TP)時間復(fù)雜度為句子長度的三次方。因此,如圖5所示,當(dāng)句子長度超過40個詞時,絕大部分句子無法在給定時間內(nèi)獲得分析結(jié)果。而本文的分層技術(shù)(HP)由于“分解”的處理策略,句子長度增加給HP技術(shù)帶來的難度增加遠(yuǎn)不明顯,絕大部分句子可以在20秒時間內(nèi)得到分析結(jié)果。因此,我們的HP技術(shù)在時間性能上顯然大大優(yōu)于傳統(tǒng)的TP方法。
我們采用國際上廣泛采用的PARSEVAL評測標(biāo)準(zhǔn)對我們的技術(shù)性能進(jìn)行綜合的評估,測試結(jié)果如下
表1采用PARSEVAL評估的實(shí)驗(yàn)結(jié)果
從上表所示的對比數(shù)據(jù),可以看到,我們的HP技術(shù)的正確率和召回率都高于傳統(tǒng)方法(TP)將近7%,而且平均交叉括號數(shù)減少了一半,0交叉括號的百分比提高了大約一倍多,2交叉括號百分比(≤2CB)也提高了將近一倍。說明我們提出的技術(shù)和裝置是有效的。
圖1是本發(fā)明的層次化句法分析裝置結(jié)構(gòu)圖。
圖2是“分割”標(biāo)點(diǎn)和“普通”標(biāo)點(diǎn)圖。
圖3是例句并列結(jié)構(gòu)示例圖。
圖4是子樹粘接操作裝置圖。
圖5是時間性能對比圖。
具體實(shí)施例方式
基于標(biāo)點(diǎn)處理的層次化漢語長句句法分析技術(shù)的具體步驟入下步驟1將包含分割標(biāo)點(diǎn)的復(fù)雜長句分割;步驟2對各個子句單元獨(dú)立進(jìn)行第一級句法分析;
步驟3探測并且合并并列關(guān)系的短語;步驟4在第一級分析結(jié)果的基礎(chǔ)上進(jìn)行第二級分析,最終得到整個句子的完整句法分析樹。
圖1整個系統(tǒng)裝置的總體結(jié)構(gòu)圖,由四部分裝置構(gòu)成長句分割裝置、第一級分析裝置、探測及合并并列短語裝置、第二級分析裝置,上述裝置依次順序連接。
圖2表示“分割”標(biāo)點(diǎn)定義滿足的條件。其中,子圖a所示的虛線框中的標(biāo)點(diǎn)“P”就是“分割”標(biāo)點(diǎn)的例子,而子圖b所示的虛線框中的標(biāo)點(diǎn)“P”為“普通”標(biāo)點(diǎn)。
圖3并列成分短語判斷過程的圖示。第一個逗號后的成分分析后得到動詞短語(VP),用B來標(biāo)記。顯然,B是由一個介詞短語(PP)和一個動詞短語構(gòu)成的。如果第一個逗號之前存在一個最小長度的短語,并且它和B具有完全相同的句法結(jié)構(gòu),那么它和B為并列短語。顯然,圖中A2就是這樣的一個短語。其它逗號相鄰成分的分析與此相似。最終得到A2,B和C為并列短語。顯然,第三個逗號后的短語D具有和A2、B、C不同的結(jié)構(gòu),所以與它們不是并列關(guān)系。
圖4表示子樹粘接的操作過程。首先把子樹A2和B、C合并,然后用合并后的子樹A2’來替換原來的A2但不改變樹A的結(jié)構(gòu)。
圖5表示我們的HP技術(shù)和常用的TP技術(shù)的時間性能對比,顯然我們的HP技術(shù)在時間性能上顯然大大優(yōu)于傳統(tǒng)的TP方法,大大縮短了句法分析所用的時間。
權(quán)利要求
1.一種基于標(biāo)點(diǎn)處理的層次化漢語長句句法分析方法,包括訓(xùn)練過程和分析過程,訓(xùn)練過程包括a)研究漢語標(biāo)點(diǎn)符號的用法和句法功能,并將其分類;b)從大規(guī)模樹庫中提取包含標(biāo)點(diǎn)的概率上下文無關(guān)文法規(guī)則,并統(tǒng)計得到其概率信息;分析過程包括aa)將包含分割標(biāo)點(diǎn)的復(fù)雜長句分割;bb)對各個子句單元獨(dú)立進(jìn)行第一級句法分析;cc)探測并且合并并列關(guān)系的短語;dd)在第一級分析結(jié)果的基礎(chǔ)上進(jìn)行第二級分析,最終得到整個句子的完整句法分析樹。
2.根據(jù)權(quán)利要求1的方法,其特征在于,訓(xùn)練過程中步驟a)中從句法的角度研究了漢語標(biāo)點(diǎn)符號的用法和功能。
3.根據(jù)權(quán)利要求1的方法,其特征在于,訓(xùn)練過程中步驟b)中提取了包含有漢語標(biāo)點(diǎn)符號的語法規(guī)則。
4.根據(jù)權(quán)利要求1的方法,其特征在于,分析過程中步驟aa)將漢語長句進(jìn)行了分割處理。
5.根據(jù)權(quán)利要求1的方法,其特征在于,分析過程中步驟cc)用規(guī)則方法進(jìn)行了并列關(guān)系短語的探測和合并。
6.根據(jù)權(quán)利要求1的方法,其特征在于,分析過程中,步驟bb)和dd)將傳統(tǒng)的句法分析進(jìn)行了任務(wù)分解,依次通過這兩個步驟完成整句的句法分析。
7.一種基于標(biāo)點(diǎn)處理的層次化漢語長句句法分析裝置,其特征在于,由長句分割裝置、第一級分析裝置、探測及合并并列短語裝置以及第二級分析裝置組成,上述裝置依次順序連接。
全文摘要
本發(fā)明涉及自然語言處理領(lǐng)域,特別是一種新的面向漢語長句的層次化句法分析方法及裝置。該方法和傳統(tǒng)的不考慮標(biāo)點(diǎn)符號的一遍分析方法的主要區(qū)別在于兩個方面第一,利用部分標(biāo)點(diǎn)符號的特殊功能將復(fù)雜長句分割成子句序列,從而把整句的句法分析分成兩級進(jìn)行。這種“分而治之”的策略大大降低了在傳統(tǒng)的一遍分析方法中同時識別子句和短語之間的句法關(guān)系以及子句和短語內(nèi)部的句法關(guān)系的困難。第二,從大規(guī)模樹庫中提取包含所有標(biāo)點(diǎn)符號的語法規(guī)則和相應(yīng)概率分布信息,有利于句法分析和歧義消解。實(shí)驗(yàn)證明我們的方法與傳統(tǒng)的常用一遍句法分析相比,能夠大大減少時間消耗和歧義邊的個數(shù),并且提高了復(fù)雜長句分析的正確率和召回率約7%。
文檔編號G06F17/27GK1928854SQ200510086370
公開日2007年3月14日 申請日期2005年9月8日 優(yōu)先權(quán)日2005年9月8日
發(fā)明者宗成慶, 李幸 申請人:中國科學(xué)院自動化研究所