專利名稱:一種漢語句子中事件句式的抽取方法
技術(shù)領(lǐng)域:
本發(fā)明涉及自然語言處理應(yīng)用領(lǐng)域,特別涉及一種漢語句子中事件句式的抽取方 法。
背景技術(shù):
語義角色標(biāo)注(Semantic Role Labeling),又被稱作淺層語義分析(Shallow Semantic Parsing),它是對自然語言句子語義理解的一種探索,主要標(biāo)注與句子中目標(biāo)謂 詞相關(guān)成分的語義角色。語義角色標(biāo)注過程通常有四個階段1)過濾,通常使用一些簡單的啟發(fā)式規(guī)則, 將句法分析結(jié)果中那些不可能成為語義角色的標(biāo)注單元(句法成分、短語等)過濾掉;2) 語義角色識別,識別出哪些標(biāo)注單元是某一目標(biāo)動詞的論元;3)語義角色分類,對確定為 目標(biāo)動詞論元的標(biāo)注單元標(biāo)注語義角色;4)后處理,使用一些啟發(fā)式規(guī)則,對標(biāo)注結(jié)果做 進(jìn)一步調(diào)整,還有一些系統(tǒng)將某些階段進(jìn)行合并。在現(xiàn)有的標(biāo)注系統(tǒng)中,語義角色標(biāo)注大多采用的是統(tǒng)計學(xué)習(xí)的方法。基本思想是 根據(jù)一定的語言學(xué)知識列出標(biāo)注基本單元的各種特征,并與該單元的語義角色類型組成學(xué) 習(xí)的實例,最后使用某種學(xué)習(xí)算法對這些實例進(jìn)行自動學(xué)習(xí),以便對新的實例進(jìn)行預(yù)測。 Pradhan等人總結(jié)了目前常用的基本特征,包括謂詞信息、路徑信息、中心詞信息、動詞框架 信息等,這些特征從不同的側(cè)面反映了帶標(biāo)注單元的語義角色信息。但是,現(xiàn)有的語義角色標(biāo)注技術(shù)沒有單獨的事件句式抽取階段,而是將其融合在 語義角色標(biāo)注的成分選擇與特征選擇部分,這樣會缺乏直觀的描述能力,不利于深入挖掘 語言模型的知識,因此不能很好的把握事件句式的句式語義對應(yīng)關(guān)系,而本發(fā)明則把事件 句式的抽取作為一項單獨的任務(wù),便于使用不同的技術(shù),來達(dá)到不同的分析目標(biāo)。
發(fā)明內(nèi)容
本發(fā)明的目的旨在至少解決上述技術(shù)缺陷之一。本發(fā)明提出的漢語句子中事件句式的抽取方法,不是只對單個待標(biāo)注單元進(jìn)行特 征分析,而是著眼于整個句子的結(jié)構(gòu)特點,對漢語句子依據(jù)不同結(jié)構(gòu)進(jìn)行細(xì)分類,再結(jié)合各 類別句子所具有的不同語言特點,靈活運用啟發(fā)式規(guī)則,使得整個處理過程更符合漢語自 身的描述特點。同時,該方法不需要做完全句法分析,降低了對句法分析器的要求,可以克 服目前漢語自動句法分析不成熟的缺陷,便于利用現(xiàn)有的各種分析工具,實現(xiàn)漢語淺層語 義分析。為達(dá)到上述目的,本發(fā)明提出了一種漢語句子中事件句式的抽取方法,包括以下 步驟計算機初始化,其中,所述計算機初始化包括定義相關(guān)術(shù)語,加載數(shù)據(jù)文件,設(shè)定數(shù) 據(jù)結(jié)構(gòu)和加載基本處理模塊;以所述計算機初始化的信息作為輸入數(shù)據(jù);根據(jù)所述輸入信 息抽取事件句式;根據(jù)所述事件句式得到事件塊;獲取每個所述事件塊的通用角色標(biāo)注結(jié) 果;根據(jù)所述通用角色標(biāo)注結(jié)果得到每個所述事件塊的專用角色標(biāo)注結(jié)果。
本發(fā)明附加的方面和優(yōu)點將在下面的描述中部分給出,部分將從下面的描述中變 得明顯,或通過本發(fā)明的實踐了解到。
本發(fā)明上述的和/或附加的方面和優(yōu)點從下面結(jié)合附圖對實施例的描述中將變 得明顯和容易理解,其中圖1是本發(fā)明合并下層句法塊模塊的處理流程;圖2為本發(fā)明事件知識庫檢索模塊的處理流程;圖3為本發(fā)明合并規(guī)則抽取模塊的處理流程;圖4為本發(fā)明事件句式分類抽取流程圖;圖5為本發(fā)明事件內(nèi)容分析系統(tǒng)總體結(jié)構(gòu);和圖6為本發(fā)明事件句式抽取模塊的處理流程。
具體實施例方式下面詳細(xì)描述本發(fā)明的實施例,所述實施例的示例在附圖中示出,其中自始至終 相同或類似的標(biāo)號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附 圖描述的實施例是示例性的,僅用于解釋本發(fā)明,而不能解釋為對本發(fā)明的限制。本發(fā)明是為了克服傳統(tǒng)的語義角色標(biāo)注方法只能針對單個待標(biāo)注單元進(jìn)行特征 分析的不足,而提出的一種漢語句子中事件句式的抽取方法,該方法不是只對單個待標(biāo)注 單元進(jìn)行特征分析,而是著眼于整個句子的結(jié)構(gòu)特點,且對漢語句子依據(jù)不同結(jié)構(gòu)進(jìn)行細(xì) 分類,再結(jié)合各類別句子所具有的不同語言特點,靈活運用啟發(fā)式規(guī)則,使得整個處理過程 更符合漢語自身的描述特點。另一方面,該方法不需要做完全句法分析,降低了對句法分析 器的要求,可以克服目前漢語自動句法分析不成熟的缺陷,便于利用現(xiàn)有的各種分析工具, 實現(xiàn)漢語淺層語義分析。本發(fā)明提出的漢語句子中事件句式的抽取方法,具體包括(1)定義術(shù)語本發(fā)明的實現(xiàn)過程使用到一些自定義的術(shù)語,現(xiàn)分別介紹如下(Ll)TCTTCT即清華漢語樹庫(Tsinghua Chinese Treebank)的簡稱,在實現(xiàn)過程中,本發(fā) 明將使用到該庫中所使用到的詞性標(biāo)注集。(1. 2)詞性標(biāo)注集本發(fā)明中使用到的詞性標(biāo)注集有TCT原始詞性標(biāo)記集,文中句子使用的一些TCT 原始詞類標(biāo)記定義如表1.1所示_標(biāo)記 詞性描述_a形容詞η名詞d副詞
ν云力詞vJY 動名詞、頓號。句號?問號!嘆號...... 省略號,逗號;分號—— 破折號u助詞ρ介詞_表1. 1為了便于利用其他體系的詞類標(biāo)記,本發(fā)明中還使用了擴展的TCT詞性標(biāo)記集, 其他體系的詞類標(biāo)記集合(如北大詞性標(biāo)記集合)可以映射到該擴展TCT詞性標(biāo)記集中, 文中句子使用的一些擴展TCT詞性標(biāo)記定義如表1. 2所示_標(biāo)記 詞性描述_aηdνvNν JYwDwEwPu JDEρ_表 1. 2(1. 3)詞語切分和詞性標(biāo)注的句子具體地,先經(jīng)過分詞處理,然后對每一個詞都標(biāo)注上某一特定詞性標(biāo)注集合的詞 性的句子,這個詞性既可以是表1. 1中的原始TCT詞性,也可以為表1.2中的擴展TCT詞性。舉例1 幫助/VJY庫區(qū)/n人民/n重建/V家園/n 、/、發(fā)展/V生產(chǎn)/V 。八這是對句子“幫助庫區(qū)人民重建家園”做分詞處理,并對分出的每個詞進(jìn)行原始
形容詞
名詞
副詞
動詞
名動詞
兼語動詞
頓號
結(jié)句點號 分隔點號 結(jié)構(gòu)助詞 介詞如句號、問號、嘆號、省略號等 包括逗號、分號、破折號 的、之TCT詞性標(biāo)注的結(jié)果,例如“庫區(qū)/n”,其中“庫區(qū)”是詞,“η”是這個詞的詞性(名詞),詞和 詞性之間以斜杠相連,兩個詞之間用空格隔開。
’表示,句法功能和句法成分之間用符號‘_’隔開,中心詞的表示方法是在詞后加標(biāo)記 ‘-@’,其表現(xiàn)形式為{<句法功能 >,< 句法成分 >,< 中心詞位置>]其中,所述句法功能,反映所述句法塊所處的句法功能位置,用句法塊功能標(biāo)記集表 示,其中,所述句法塊功能標(biāo)記集由S 主語,P 謂語/述語,0 賓語,A 定語,D 狀語,C 補 語,H 中心語,J 兼語等標(biāo)記組成;所述句法成分,反映所述句法塊內(nèi)部組成成分信息,用句法塊成分標(biāo)記集表示,其中, 所述句法塊成分標(biāo)記集由np 名詞塊,mp 數(shù)量塊,sp 空間塊,tp 時間塊,ap 形容詞塊, dp 副詞塊,pp 介詞塊等標(biāo)記組成。
3.如權(quán)利要求1所述的漢語句子中事件句式的抽取方法,其特征在于,所述設(shè)定數(shù)據(jù) 結(jié)構(gòu)進(jìn)一步包括設(shè)定詞Verb ;設(shè)定句法塊Block,所述句法塊Block用于保留每個句法塊的信息; 設(shè)定句子EveryRecord,所述句子EveryRecord記錄所述句子的信息;和 融合規(guī)貝1J表 vector<everyRule>rules,所述規(guī)貝Ij表 vector<everyRule>rules 用于保 留每一條下層句法塊融合為上層句法塊的規(guī)則。
4.如權(quán)利要求3所述的漢語句子中事件句式的抽取方法,其特征在于,所述句子 EveryRecord 進(jìn)一步包括目標(biāo)動詞Gverb,用于記錄所述句子中的目標(biāo)謂詞; 動詞詞性Gpos,用于記錄所述句中目標(biāo)謂詞的詞性;目標(biāo)動詞詞位置vLoca,用于記錄所述目標(biāo)動詞在句子詞序列中所處的位置, vLoca e W,n-1],其中,η為句子中詞語的總個數(shù);目標(biāo)動詞塊位置bLoca,用于對所述句子做句法塊分析后,記錄所述目標(biāo)動詞所在的句 法塊,bLoca e [-l,n-l],其中,η為句子中句法塊的總個數(shù);詞序列vector<Verb>alIVerbs,用于記錄所述句子中每個詞的信息; 句法塊序列vectoKBlockhllBlocks,用于對句子做句法塊分析后,記錄所有的塊信息、ο
5.如權(quán)利要求1所述的漢語句子中事件句式的抽取方法,其特征在于,所述基本處理 模塊,進(jìn)一步包括詞性轉(zhuǎn)換及擴展模塊,用于將輸入句子中詞的其他詞類體系標(biāo)記轉(zhuǎn)換為系統(tǒng)需要的 TCT詞類體系標(biāo)記;句法分析模塊,用于對輸入的句子做句法分析; 事件知識庫檢索模塊,用于利用目標(biāo)動詞和義項信息進(jìn)行檢索; P塊層次分類模塊,用于對句法塊序列中句法功能標(biāo)記為“P”的句法塊進(jìn)行層次分類, 如果P塊位于句子層面,則分為“+”例,如果P塊位于復(fù)雜名詞短語層面,則分為“-”例;融合規(guī)則提取模塊,用于從已經(jīng)標(biāo)注好的語料文件中抽取得到下層句法塊向上層句法 塊進(jìn)行融合的規(guī)則,所述語料中每條句子都是所述句法塊的序列,每一個句法塊的句法功 能標(biāo)記是分層次功能標(biāo)記,所述分層次功能標(biāo)記是所述功能標(biāo)記的序列;下層句法塊合并模塊,用于將起始塊前/后L個句法塊合并為一個新的塊,刪除原有的 L個塊,新塊的句法功能標(biāo)記為合并規(guī)則的superB ;通用語義角色標(biāo)注模塊,用于獲取所述EveryRecord結(jié)構(gòu)的vector<Block>alIBlocks 中每一個所述事件塊的語義角色標(biāo)注結(jié)果;語義角色映射模塊,用于獲取目標(biāo)動詞專用框架和通用框架的對應(yīng)關(guān)系。
6.如權(quán)利要求1所述的漢語句子中事件句式的抽取方法,其特征在于,所述以計算機 初始化的信息作為輸入數(shù)據(jù),進(jìn)一步包括對輸入的經(jīng)過詞語切分和詞性標(biāo)注的句子獲取所有的詞信息,存儲于一個詞向量 vector<Verb> 中;對所述詞向量中的每一個詞Verb做詞性擴展處理,且用新的詞性替換詞性擴展前的 詞性;根據(jù)輸入的所述目標(biāo)動詞及所述動詞義項信息,得到所述目標(biāo)動詞的動詞義項描述及 所述目標(biāo)動詞專用框架與通用框架的對應(yīng)關(guān)系,且輸出處理后的句子; 對所述處理后的句子進(jìn)行句法分析,且保存相應(yīng)的分析結(jié)果;和 將所述句法分析結(jié)果與輸入的所述目標(biāo)動詞一并存入一個所述EveryRecord結(jié)果中, 其中,所述EveryRecord為所述輸入數(shù)據(jù)。
7.如權(quán)利要求6所述的漢語句子中事件句式的抽取方法,其特征在于,所述根據(jù)輸入 信息抽取事件句式,進(jìn)一步包括判斷所述EveryRecord結(jié)構(gòu)中目標(biāo)動詞所在塊的句法功能是否標(biāo)記為“P”,如果為 “P”,則對所述EveryRecord的vector<Block>allBlocks中目標(biāo)動詞所在的P ±夬重處理;對所述EveryRecord進(jìn)行EDC識別,并將所述EDC識別結(jié)果置入所述EveryRecord的 vector<Block>alIBlocks 中;讀入合并規(guī)則到vector<everyRule>rules結(jié)構(gòu)中,按照everyRule的Ien從大到小排 列,如果所述Ien相同,則按freq從高到低排列;判斷所述 EveryRecord 的 vector<Block>allBlocks 中,Block 的 fun 標(biāo)記為 “P” 的 所述Block的個數(shù),如果有多個Block的fun標(biāo)記都為“P”,則對所述EveryRecord結(jié)構(gòu)的 vector<Block>allBlocks中的每一個句法功能為“P”的Block,做P塊層次的分類;對EveryRecord中目標(biāo)動詞控制的事件句式的類型進(jìn)行分類; 如果所述分類結(jié)果為單P塊單層次,則在vectoKBlock〉()中,所述目標(biāo)動詞所在的塊 為事件句式的謂語塊,對所述謂語塊做典型句式[D]*[S]*[D]*P[C]
*的匹配;如果分類結(jié)果為單P塊多層次,以所述目標(biāo)動詞所在的P塊為中心,前后搜索成為事件 塊的句法塊,當(dāng)搜索過程中遇到其他功能標(biāo)記的句法塊時,將能夠合并的下層句法塊向上 合并成新的句法塊,其中,若待合并塊的起始位置在所述目標(biāo)動詞所在塊之前,則合并方向 向前,合并為S或D ;反之,合并方向向后,合并為0 ;如果分類結(jié)果為多P塊單層次,以所述vectoKBlockhllBlocks左起第一個P塊為 界,將塊序列分為所述P塊前的主語部分和所述P塊后的部分,對P塊后的部分,再找到 vector<Block>allBlocks右起第一個P,以該P為界,分為謂語部分和賓語部分,然后分別 進(jìn)行左搜索和右搜索;所述左搜索,為從目標(biāo)P塊開始,向左搜索若搜索到S、D ±夬,則說明該P塊有自己的 S、D,不與其余P共用,此時停止繼續(xù)搜索;若搜索到J塊,則說明該J塊作為前一個P塊的 賓語,作為該P塊的主語,因此目標(biāo)P塊的主語就是這個兼語塊,停止繼續(xù)搜索;若搜索到P 塊,判斷該P與目標(biāo)P是否具有相似結(jié)構(gòu),若相似,跳過該P塊,繼續(xù)向前搜索S和D,否則, 停止搜索;若搜索到了其他的塊,跳過,繼續(xù)搜索; 以如上方式對所述目標(biāo)P進(jìn)行向右的搜索。
8.如權(quán)利要求7所述的漢語句子中事件句式的抽取方法,其特征在于,所述在搜索過 程結(jié)束之后,還包括進(jìn)一步判斷所述目標(biāo)P是否具有自身的S和D,若沒有,則在最初得到的主語部分中找 到S和D,以作為所述目標(biāo)P與其他P塊共有的主語塊;和進(jìn)一步判斷所述目標(biāo)P是否具有自身的0,若沒有,則在最初得到的賓語部分中找到0, 作為所述目標(biāo)P與其他P共有的賓語塊。
9.如權(quán)利要求7所述的漢語句子中事件句式的抽取方法,其特征在于,如果分類結(jié)果 為多P塊多層次,且所述目標(biāo)動詞所在P塊在前述復(fù)雜名詞短語MNP層面,其處理過程為正 確識別出MNP的左右邊界,其中,MNP的左邊界有四種情況,分別為A、vector<Block>allBlocks的左邊界MNP構(gòu)成一個復(fù)雜主語塊;B、目標(biāo)P左相鄰介詞MNP構(gòu)成EDC小句的狀語從句;C、目標(biāo)P左相鄰句子層面的P=MNP構(gòu)成該P的復(fù)雜賓語;D、目標(biāo)P左相鄰的P
uJDE句式MNP位于其左側(cè)‘的’字短語內(nèi)部。
10.如權(quán)利要求7所述的漢語句子中事件句式的抽取方法,其特征在于,如果分類結(jié)果 為多P塊多層次,且所述目標(biāo)動詞所在P塊在小句層面,則處理過程為對于vector<Block>allBlocks中所有位于所述MNP層面的P塊,確定這個P的左右邊 界,將所述MNP作為一整個塊,如果所述MNP塊在目標(biāo)P塊的左邊,則判定所述MNP構(gòu)成目 標(biāo)P的S ;否則,判定所述MNP構(gòu)成目標(biāo)P的0 ;和 獲取所述目標(biāo)P塊支配的各個功能塊。
全文摘要
本發(fā)明提出了一種漢語句子中事件句式的抽取方法,包括以下步驟計算機初始化,其中,所述計算機初始化包括定義相關(guān)術(shù)語,加載數(shù)據(jù)文件,設(shè)定數(shù)據(jù)結(jié)構(gòu)和加載基本處理模塊;以所述計算機初始化的信息作為輸入數(shù)據(jù);根據(jù)所述輸入信息抽取事件句式;根據(jù)所述事件句式得到事件塊;獲取每個所述事件塊的通用角色標(biāo)注結(jié)果;根據(jù)所述通用角色標(biāo)注結(jié)果得到每個所述事件塊的專用角色標(biāo)注結(jié)果。通過本發(fā)明的方法,能夠靈活運用啟發(fā)式規(guī)則,使得整個處理過程更符合語言自身的特點,同時,該方法不需要做完全句法分析,降低了對句法分析器的要求,因此便于利用現(xiàn)有的各種分析工具,實現(xiàn)漢語淺層語義分析。
文檔編號G06F17/27GK101937430SQ20101027266
公開日2011年1月5日 申請日期2010年9月3日 優(yōu)先權(quán)日2010年9月3日
發(fā)明者周強, 陳麗歐 申請人:清華大學(xué)