專利名稱:廣義歸約的裝置與方法
技術領域:
本發明涉及自然語言處理領域中的文本分析的裝置與方法,屬于國際專利分類(IPC)的子類G06F 17/27,特別涉及一種對不同語言層次的實體進行歸約的裝置與方法。
背景技術:
大部分的文本分析工作,都包括兩個步驟,即詞法分析與句法分析。詞法分析,其目的是判斷哪些字符可構成單字,以及哪些單字可以構成詞組;句法分析(或稱語法分析),其目的則是判斷哪些單字或詞組可構成語法成分,哪些語法成分可以繼續歸約,直到構成一個句子。在句法分析的基礎上,還可以進一步的進行語義分析,即分析不同語法成分所代表的概念,進而分析哪些概念可以組合成更復雜的概念。
無論詞法分析,語法分析,還是語義分析,從自底向上分析的角度來看,其實質都是根據一定的規則對語言實體進行歸約,構成新的語言實體的過程。
在此基礎上進一步抽象,不難發現,所謂文本分析,其目的在于識別出文本中的各種語言實體及其相互之間的關系。所謂的語言單元關系是指,哪些語言單元根據特定的歸約規則,歸約出特定的語言單元。
語言實體在不同語言層次上的具體所指是不同,比如在詞法層面,可以指單字,或詞組;在句法層面可以指語法成分;或者在語義層面,可以指不同的語義概念。當然,隨著文本處理領域研究的不斷深入,所述的語言層次可能會有所增加或變動。
語言實體在實施時,一般被構造成由標記表達的數據結構(語言單元)。在詞法層面,語言單元用來代表字母,單字或詞組;在語法層面,則代表單字,詞組或語法成分;在語義層面,則代表語法成分,或者語義概念。
傳統分析方法,其著眼點在于了解每個語言單元與相鄰語言單元的必然的關系,所以其采用的歸約方式是緊鄰的。
但是,在某些場合,人們需要(或者不得不)獲知各個語言單元相互之間可能的,而非必然的關系。比如,在短時間內,對大量文本進行非嚴格的分析,以期得到某些具有統計意義的結論;在干擾文字或者與分析無關字符存在的情況下進行文本分析,如果要使用傳統的確然的文本分析技術,就要采取文本去噪,這需要專門的領域知識以及較高的知識建模的技術,以至于在一些應用場合效果不夠理想;此時,就要采用近似文本分析。
在這些場合,傳統分析方法采用的緊鄰歸約就無法很好的工作。因此,為了施行近似文本分析,就需要采用廣義歸約。
所謂的廣義歸約,是指在已存在的語言單元(即語言實體的外在表示)集合中尋找到語言單元組合,使之匹配某個特定的規則,以得到一個新的語言單元。參與匹配的語言單元組合,并不一定在邏輯上確然性地具有此規則所代表的特定語言層次的關系,而只是反應此語言單元組合可能具有此規則所代表的特定語言層次的關系。
由于廣義歸約是在已存在的語言單元中尋找各種可能的語言單元組合以匹配規則,所以在實現的時候,如何在搜索語言單元組合時提高效率,將是實現一個高效實用的廣義歸約裝置的關鍵。
發明內容
本發明的目的在于解決以上問題,提供一種進行廣義歸約的裝置和方法,該裝置使用該廣義歸約的方法能夠保存從外界得到的語言單元,并判斷哪些語言單元可以按照特定的規則歸約出新的語言單元。特別地,為了達到提高搜索語言單元組合效率的目的,這種方法是增量式的,即已經被遍歷過的語言單元組合將不再被遍歷到。
為了實現上述的目的,本發明的廣義歸約的裝置與方法如下該廣義歸約的裝置,其主要特點是,所述裝置包括(1)歸約規則表的存儲部件,用于存儲歸約規則;所述的歸約規則包含一個或一個以上子前件,存儲了語言單元匹配時應滿足的條件;所述的歸約規則還包含一個后件,所存儲的信息描述了規則被匹配后將產生的語言單元的全部或部分內容;所述的語言單元存儲的信息描述了一段文字所對應的特定語言層次的語言實體;(2)候選者隊列的存儲部件,用于存儲匹配特定規則的特定子前件的語言單元;(3)歸約部件,用于將由輸入手段得到的語言單元,與各規則的各子前件逐一進行匹配,當所述的語言單元與特定規則的特定子前件匹配時將之加入到此子前件對應的候選者隊列中;在每個匹配子前件過程中,若此語言單元匹配的是某個具有n個子前件的規則的最末子前件,運用遍歷算法搜索各種語言單元組合,每個組合滿足(a)第i個成員來自此規則的第i個子前件的候選者隊列(1≤i≤n-1);(b)第n個成員為此語言單元;(4)輸入部件,得到從外界輸入的語言單元;(5)輸出部件,將產生的新的語言單元輸出;所述的輸入部件的輸出與所述的歸約部件的輸入相連,該歸約部件的輸出與所述的輸出部件的輸入相連,且該歸約部件還分別與歸約規則表的存儲部件和候選者隊列的存儲部件相連;對于每個語言單元組合,都根據規則后件產生新的語言單元并通過輸出部件輸出。
該廣義歸約的裝置的語言單元還包括指明該語言單元所代表的語言實體在文本中占據區域的文本區域;所述的歸約裝置為(a)在搜索語言單元組合時,每種語言單元組合的第i個語言單元的文本區域不重合于第i+1個語言單元且在其左側(1≤i≤n-1);(b)得到的新的語言單元的文本區域,為對應語言單元組合中各語言單元的文本區域的疊加。
使用上述裝置進行廣義歸約的方法,其主要特點是,該方法包括以下步驟(1)由輸入手段得到一個語言單元,所述的語言單元存儲的信息描述了一段文字所對應的特定語言層次的語言實體;(2)將此語言單元與各歸約規則的各子前件逐一進行匹配;所述的歸約規則含一個或一個以上子前件,存儲了語言單元匹配時應滿足的條件;對于所述的每個子前件,都對應一個候選者隊列,用于存儲匹配此子前件的語言單元;所述的歸約規則還包含一個后件,所存儲的信息描述了規則被匹配后將產生的語言單元的全部或部分內容;當所述的語言單元與特定規則的特定子前件匹配時將之加入到此子前件對應的候選者隊列中;在每個匹配子前件過程中,若此語言單元匹配的是某個具有n個子前件的規則的最末子前件,則運用遍歷算法搜索各種語言單元組合,使得每個組合滿足(a)第i個成員來自此規則的第i個子前件的候選者隊列(1≤i≤n-1);(b)第n個成員為此語言單元;對于每個語言單元組合,都根據規則后件產生新的語言單元并通過輸出手段輸出。
該廣義歸約的方法的語言單元還包括指明該語言單元所代表的語言實體在文本中占據區域的文本區域,所述的歸約規則為(a)在搜索語言單元組合時,每種語言單元組合的第i個語言單元的文本區域不重合于第i+1個語言單元且在其左側(1≤i≤n-1);(b)得到的新的語言單元的文本區域,為對應語言單元組合中各語言單元的文本區域的疊加。
存儲有實現上述廣義歸約方法的程序的計算機可讀的存儲介質,其主要特點是,所述的程序執行以下步驟
(1)由輸入手段得到一個語言單元,所述的語言單元存儲的信息描述了一段文字所對應的特定語言層次的語言實體;(2)將此語言單元與各歸約規則的各子前件逐一進行匹配;所述的歸約規則含一個或一個以上子前件,存儲了語言單元匹配時應滿足的條件;對于所述的每個子前件,都對應一個候選者隊列,用于存儲匹配此子前件的語言單元;所述的歸約規則還包含一個后件,所存儲的信息描述了規則被匹配后將產生的語言單元的全部或部分內容;當所述的語言單元與特定規則的特定子前件匹配時將之加入到此子前件對應的候選者隊列中;在每個匹配子前件過程中,若此語言單元匹配的是某個具有n個子前件的規則的最末子前件,則運用遍歷算法搜索各種語言單元組合,使得每個組合滿足(a)第i個成員來自此規則的第i個子前件的候選者隊列(1≤i≤n-1);(b)第n個成員為此語言單元;對于每個語言單元組合,都根據規則后件產生新的語言單元并通過輸出手段輸出。
該存儲介質的語言單元還包括指明該語言單元所代表的語言實體在文本中占據區域的文本區域,所述的歸約規則為(a)在搜索語言單元組合時,每種語言單元組合的第i個語言單元的文本區域不重合于第i+1個語言單元且在其左側(1≤i≤n-1);(b)得到的新的語言單元的文本區域,為對應語言單元組合中各語言單元的文本區域的疊加。
由于采用了該發明的進行增量式廣義歸約的裝置與方法,使得語言單元組合的最后一個元素被限定為剛輸入系統的新語言單元,所以當前搜索的語言單元組合與上一次的必然不同,而且這種搜索方法不會遺漏組合,因而是增量式的,從而提高了搜索語言單元組合的效率,具有較好的實用性。
圖1為本發明進行增量式廣義歸約的裝置的功能結構框圖。
圖2為圖1中裝置的硬件結構框圖。
圖3為本發明的語言單元的結構框圖。
圖4為本發明的歸約規則表的結構框圖。
圖5為本發明的候選者隊列的結構框圖。
圖6為本發明的歸約規則的子前件與候選者隊列的關系示意圖。
圖7為增量式廣義歸約方法中主過程MainProc的流程圖。
圖8為被主過程MainProc調用、用于尋找語言單元組合以產生新語言單元的過程GenNewUnit流程圖。
圖9為被過程GenNewUnit調用、根據給定的語言單元棧產生新語言單元的過程Stk2Unit的流程圖。
具體實施例方式
為了能夠更清楚地理解本發明的技術內容,特舉以下實施例詳細說明。
請參閱圖1所示,歸約部件102通過輸入部件101得到從外界輸入的語言單元,根據歸約規則表104,運用隨后將描述的增量式廣義歸約的方法,將新得到的語言單元復制到候選者隊列表105中的符合條件的候選者隊列中;并在符合特定條件的情況下,在候選者隊列表105中尋找符合特定條件的語言單元組合,由歸約規則表104中特定的規則得到新的語言單元,將新語言單元由輸出部件103輸出到裝置外。
再請參閱圖2所示,處理器201執行隨后將描述的增量式廣義歸約的程序,RAM 202提供了程序執行時所需要的存儲區域;此外,還用于存儲歸約規則表104以及存儲候選者隊列表105,ROM 203存儲進行增量式廣義歸約的程序,I/O接口204與輸入部件101與輸出部件103相連,輸入部件101可以是鍵盤、OCR、接收器或者是儲存有待處理語言單元的內存等。輸出部件103可以是顯示設備、打印機、網絡接口或者是內存等。總線205聯接以上各個部件。
所述的語言單元存儲的信息描述了一段文字所對應的特定語言層次的語言實體;特別地,語言單元存儲的信息以標記方式描述了一段文字所對應的特定語言層次的語言實體。
語言單元的實現方式有多種,比如1.用單個標記來表示語言實體的類屬;2.用多個標記來表示語言實體在不同方面的類屬,這些標記構成一個集合。
單標記是多數語言分析裝置或軟件在歸約時都采用的方法,其好處是簡單直接;多標記集合方法在功能合一文法等文本分析方法中采用。為了簡便起見,本實施例采用單標記的實現方法。掌握計算機科學一般知識的技術人員,參照本實施例,不難將語言單元實現為多標記集合以實施本發明。
在實施時,可以選擇語言單元是否包含文本區域信息以說明語言實體在文本中占據的區域。
如果不使用文本區域,則歸約規則各子前件之間不存在位置關系的限定,這時的歸約是無順序歸約。無順序歸約可被用于某些場合,比如對于某些語言的文本進行分析,比如拉丁文,各詞匯的語法上的角色通過詞格變化區分,而非詞匯在句子中的位置;在語法要求不是很嚴格的情況下分析文本;或者對文本進行時間要求高但準確度要求不是很高的分析。
另一方面,如果使用文本區域,則歸約規則各子前件之間存在位置關系的限定,這時的歸約是有順序歸約。大部分自然語言,比如中文,英文等,都適用有順序歸約的方式。
本實施例采用有順序歸約的模式,所以語言單元中包含文本區域。掌握計算機科學一般知識的技術人員,參照本實施例,不難以無順序歸約方式實施本發明。
本實施例中語言單元所采用的結構請參見圖3所示,由于是有順序歸約模式,每個語言單元301包含主體302與文本區域303;主體302包含標記304與輔助信息305。如果是無順序歸約模式,則語言單元301不包含文本區域303。
標記304用于標識不同的語言層次下的語言概念可以使用英語中的POS(Part of Speech)標記,也可以根據需要自行定義。如果本發明被實施為某個文本分析裝置或軟件的一個模塊時,則采用此文本分析裝置或軟件給定的標記。
以下是一些標記的舉例,供實施時參考
標記可以是相互平級的,即相互間不存在從屬關系;也可以是有層次關系的。如果是平級的,在比較標記A與B時,判斷A與B是否一致;如果是有層次關系的,則判斷A是B的子類,還是B是A的子類,或者A與B無關。在本實施例中,標記相互間關系是平級的。
輔助信息305用于描述一些標記無法描述的信息,比如當語言單元表示一個單字時,用輔助信息存儲這個單字的字符串形式;或者當語言單元表示一個詞組時,用輔助信息存儲這個詞組的字符串形式。
文本區域303描述了語言單元所代表的語言實體在文本中占據的區域,可以實現為1.以數字對偶表示的區間,說明此區域在文本中的邊界。比如,(3,10)表示文本的區域從標號為3的字符串開始到標號為10的字符串結束。
2.數字集合,說明哪些位置上的字符串屬于此語言實體。
比如,{3,4,5,10}表示此語言實體覆蓋標號為3、4、5、10的字符串。
在本實施例中,采用數字對偶的方式。
以下,結合若干實例對結構如圖3的語言單元進行說明,標記及其含義見上面給出的標記示例1.語言單元(WRD,“中”,(3,3))標記為WRD,表示該語言單元代表的語言實體為一個單字;輔助信息為“中”,表示該單字為“中”;占據的文本區域只覆蓋標號為3的字符串;2.語言單元(PHR,“中國”,(3,5))標記為PHR,表示該語言單元代表的語言實體為一個詞組;輔助信息為″中國″,表示該詞組為″中國″;占據的文本區域為(3,5);3.語言單元(V,NULL,(4,7))標記為V,表示該語言單元代表的語言實體為一個動詞;輔助信息為空,表示語言單元未對此語言實體進一步描述;占據的文本區域為(4,7);歸約規則表包含若干歸約規則。單個歸約規則的結構如圖4所示。歸約規則401包含前件402與后件403。前件402包含若干子前件(404,405,...,406)。
每個子前件存儲了語言單元的匹配條件。子前件的實現方式有多種,可以1.表達為語言單元的主體,進行匹配時先檢查標記一致性如果二者的標記不一致(標記系統為平級),或者語言單元不是子前件標記的子類或標記本身(標記系統為層次化)則不匹配。在標記匹配基礎上,檢查輔助信息一致性子前件輔助信息為空則匹配;子前件輔助信息不為空且語言單元與子前件的輔助信息不一致,二者仍不匹配。
2.或者表達為以集合形式存儲的條件表達式,匹配時檢查待匹配語言單元對于集合中所有條件表達式是否都滿足。
本實施例采用以語言單元主體作為子前件內容的實現方式。
后件存儲的信息描述了歸約規則被匹配后將產生的語言單元的內容。在無順序歸約模式下,將要產生的語言單元,也就是主體在后件中進行描述。而在有順序歸約模式下,將要產生的語言單元的主體在后件中描述;而其文本區域可以不在后件中描述,而是交給后面部分提到的增量式廣義歸約方法來決定。
以下,結合實例說明歸約規則1.歸約規則<(WRD,“人”)>→(PHR,“人類”)子前件為(WRD,“人”);后件為(PHR,“人類”);該規則表示單字″人″歸約成類屬為″人類″的詞組;2.歸約規則<(N,NULL),(V,NULL)>→(EVT,NULL)子前件1為(N,NULL),子前件2為(V,NULL);后件為(EVT,NULL);該規則表示一個表示名詞的語言實體,與一個表示動詞的語言實體,歸約成一個表示事件的語言實體。
候選者隊列的結構如圖5所示。一個候選者隊列501包含若干語言單元(502,503,...,504)。在實現時,候選者隊列可以采用多種方式,比如數組、鏈表、雙向鏈表等。本實施例中,候選者隊列實現為鏈表。
候選者隊列與子前件的關系在實現時,可以采用多種方式,比如1.將所有的候選者隊列集中起來。比如構造候選者隊列表,表的每條記錄包含規則標識,子前件標識與候選者隊列;2.將候選者隊列附著到各自的子前件。比如在子前件的數據結構中增加一個指向候選者隊列的指針;或者將候選者隊列作為成員加入子前件的數據結構或者類中,等等。
為了說明的方便,在本實施例中,采用的是候選者隊列表的實現方式。掌握計算機科學一般知識的技術人員,參照本實施例,不難以候選者隊列附著子前件方式實施本發明。
語言單元存入候選者隊列的方法,可以采取多種方式,比如1.復制語言單元的全部數據作為候選者隊列的成員到候選者隊列中;2.復制語言單元的標識作為候選者隊列的成員到候選者隊列中,標識可以是系統給予每個語言單元的標號,或者語言單元數據結構的內存地址等。
在本發明給出的實施例中,采用復制語言單元的全部數據作為候選者隊列的成員到候選者隊列中的實現方式。如果采用保存語言單元標識的方法,則需要將語言單元存儲到事先構造好的數據結構中,以便隨后提到的歸約方法能夠訪問。
如圖6所示,對于每個歸約規則,它的每個子前件都對應一個候選者隊列。
增量式廣義歸約主過程MainProc將新的語言單元與各規則各子前件一一匹配,只要發現匹配就將之保存到此子前件對應的候選者隊列中。如果匹配的是某個規則的最后一個子前件,則開始在此規則各有關候選者隊列中進行增量式的語言單元組合的搜索。
主過程MainProc可供參考的一種實現步驟如下(參見圖7)A01從輸入部件101得到一個語言單元UA02得到歸約規則表104的規則個數NA03令I=1A04如果I<=N,則轉步驟A05,否則結束A05得到歸約規則表的第I個規則R(I)A06得到R(I)的子前件個數SA07令J=1A08如果J<=S,則轉步驟A09,否則轉步驟A12A09得到R(I)的第J個子前件Pre(I,J)A10如果U匹配Pre(I,J),則轉A13,否則轉步驟A11A11J=J+1;轉步驟A08A12I=I+1;轉步驟A04A13在候選者隊列表105中找到候選者隊列Cand(I,J)A14將U加入Cand(I,J)隊列尾A15如果J=S,則轉步驟A16,否則轉步驟A11
A16調用過程GenNewUnit(U,I,S),轉步驟A12步驟A10所述的匹配是指語言單元符合規則子前件的要求。具體地,可以參考上文所述的子前件實現方式中所描述的匹配方式。
主過程調用遍歷算法在特定規則的各有關候選者隊列中尋找語言單元組合。在實施例中,即A16調用方法GenNewUnit來實現。為了保證搜索是增量式的,語言單元組合的最后一個元素被限定為剛輸入系統的新語言單元。
有順序歸約模式相對于無順序歸約模式,在搜索語言單元組合時,多了一條限制,即語言單元組合中的每個成員與其后的成員,在文本區域上是互不重疊的,且前者在后者的左側。如語言單元A的文本區域為(4,7),語言單元B的文本區域為(5,8),則A與B在文本區域上有公共部分,二者的位置關系為重疊。又比如,語言單元C的文本區域為(8,10),則A與C無重疊,而且A的右邊界為7,仍小于C的左邊界8,故而A在C的左側。
方法GenNewUnit可供參考的一種實現步驟如下(參見圖8)B01進行初始化,包括得到U在Cand(I,S)中的地址PU;堆棧Stk清空;將<S,PU>入棧StkB02讀取Stk棧頂元素<X,Y>
B03將Y所指向的語言單元的文本區域賦值給YT,即令YT=Y->TxtRgnB04如果X>1轉步驟B05,否則轉步驟B11B05X=X-1B06將指針PC指向候選者隊列Cand(I,X)的隊尾B07如果PC到隊首則轉步驟B12,否則轉步驟B08B08將PC所指向語言單元的文本區域賦值給CT,即令CT=PC->TxtRgnB09如果CT與YT不重疊且在YT左側,則轉步驟B18,否則轉步驟B10B10指針PC向前移動一個單元,即令PC=PC->Prv;轉步驟B07B11調用過程Stk2Unit(I,Stk)B12彈出Stk棧頂元素
B13如果棧Stk為空,則結束,否則轉步驟B14B14讀取Stk棧頂元素<X,Y>
B15如果Y到隊首,則轉步驟B12,否則轉步驟B16B16指針Y向前移動一個單元,即令Y=Y->PrvB17<X,Y>入棧Stk;轉步驟B02B18<X,*PC>入棧Stk;轉步驟B02步驟B18的*PC表示PC所指向的語言單元。
步驟B11所調用的方法Stk2Unit用于由當前得到的語言單元組合,特定的后件產生新的語言單元并輸出之。
方法Stk2Unit可供參考的一種實現步驟如下(參見圖9)C01文本區域T0初始化C02將指針PS指向堆棧Stk底部C03如果PS到棧頂,則轉步驟C06,否則轉步驟C04C04得到PS所指向的棧中語言單元的文本區域T=PS->TxtRgnC05將PS所指向的棧中語言單元的文本區域疊加到T0,即令T0=T0∪T;轉步驟C03C06創建語言單元U0C07將U0的文本區域設置為T0,即令U0。TxtRgn=T0C08得到第I個歸約規則的后件Post(I)C09將Post(I)復制到語言單元U0的主體C10向輸出接口輸出U0步驟C05所述的文本區域的疊加操作,就是數學中區間或集合的“并”操作。比如,語言單元A文本區域(2,5),語言單元B為(4,6),則疊加的結果為A∪B=(2,6)如果對上述方法做如下修改1.去除B08、B09、B10;
2.讓B07在為假時轉B18;3.去除C04、C05、C07。
則此歸約即為無順序歸約模式。
以上是增量式廣義歸約方法的一種實施方式。計算機科學領域的一般技術人員,不難根據本實施例,針對具體應用背景實施本發明。
進行增量式廣義歸約的方法可以用程序的形式存儲在計算機可讀的存儲介質中,用于存儲程序的存儲介質可以是軟盤、硬盤、光盤、磁光盤、CD-ROM、CD-R、磁帶、非易失存儲器或者易失存儲器。
在此說明書中,本發明已參照其特定的實施例作了描述。但是,很顯然仍可以作出各種修改和變換而不背離本發明的精神和范圍。因此,說明書和附圖應被認為是說明性的而非限制性的。
權利要求
1.一種廣義歸約的裝置,其特征在于,所述裝置包括(1)歸約規則表的存儲部件,用于存儲歸約規則;所述的歸約規則包含一個或一個以上子前件,存儲了語言單元匹配時應滿足的條件;所述的歸約規則還包含一個后件,所存儲的信息描述了規則被匹配后將產生的語言單元的全部或部分內容;所述的語言單元存儲的信息描述了一段文字所對應的特定語言層次的語言實體;(2)候選者隊列的存儲部件,用于存儲匹配特定規則的特定子前件的語言單元;(3)歸約部件,用于將由輸入手段得到的語言單元,與各規則的各子前件逐一進行匹配,當所述的語言單元與特定規則的特定子前件匹配時將之加入到此子前件對應的候選者隊列中;在每個匹配子前件過程中,若此語言單元匹配的是某個具有n個子前件的規則的最末子前件,運用遍歷算法搜索各種語言單元組合,每個組合滿足(a)第i個成員來自此規則的第i個子前件的候選者隊列(1≤i≤n-1);(b)第n個成員為此語言單元;(4)輸入部件,得到從外界輸入的語言單元;(5)輸出部件,將產生的新的語言單元輸出;所述的輸入部件的輸出與所述的歸約部件的輸入相連,該歸約部件的輸出與所述的輸出部件的輸入相連,且該歸約部件還分別與歸約規則表的存儲部件和候選者隊列的存儲部件相連;對于每個語言單元組合,都根據規則后件產生新的語言單元并通過輸出部件輸出。
2.根據權利要求1所述的廣義歸約的裝置,其特征在于,所述的語言單元還包括指明該語言單元所代表的語言實體在文本中占據區域的文本區域;所述的歸約裝置為(a)在搜索語言單元組合時,每種語言單元組合的第i個語言單元的文本區域不重合于第i+1個語言單元且在其左側(1≤i≤n-1);(b)得到的新的語言單元的文本區域,為對應語言單元組合中各語言單元的文本區域的疊加。
3.一種使用權利要求1所述的裝置進行廣義歸約的方法,其特征在于,該方法包括以下步驟(1)由輸入手段得到一個語言單元,所述的語言單元存儲的信息描述了一段文字所對應的特定語言層次的語言實體;(2)將此語言單元與各歸約規則的各子前件逐一進行匹配;所述的歸約規則含一個或一個以上子前件,存儲了語言單元匹配時應滿足的條件;對于所述的每個子前件,都對應一個候選者隊列,用于存儲匹配此子前件的語言單元;所述的歸約規則還包含一個后件,所存儲的信息描述了規則被匹配后將產生的語言單元的全部或部分內容;當所述的語言單元與特定規則的特定子前件匹配時將之加入到此子前件對應的候選者隊列中;在每個匹配子前件過程中,若此語言單元匹配的是某個具有n個子前件的規則的最末子前件,則運用遍歷算法搜索各種語言單元組合,使得每個組合滿足(a)第i個成員來自此規則的第i個子前件的候選者隊列(1≤i≤n-1);(b)第n個成員為此語言單元;對于每個語言單元組合,都根據規則后件產生新的語言單元并通過輸出手段輸出。
4.根據權利要求3所述的廣義歸約的方法,其特征在于,所述的語言單元還包括指明該語言單元所代表的語言實體在文本中占據區域的文本區域,所述的歸約規則為(a)在搜索語言單元組合時,每種語言單元組合的第i個語言單元的文本區域不重合于第i+1個語言單元且在其左側(1≤i≤n-1);(b)得到的新的語言單元的文本區域,為對應語言單元組合中各語言單元的文本區域的疊加。
5.一種存儲有實現權利要求3所述的廣義歸約方法的程序的計算機可讀的存儲介質,其特征在于,所述的程序執行以下步驟(1)由輸入手段得到一個語言單元,所述的語言單元存儲的信息描述了一段文字所對應的特定語言層次的語言實體;(2)將此語言單元與各歸約規則的各子前件逐一進行匹配;所述的歸約規則含一個或一個以上子前件,存儲了語言單元匹配時應滿足的條件;對于所述的每個子前件,都對應一個候選者隊列,用于存儲匹配此子前件的語言單元;所述的歸約規則還包含一個后件,所存儲的信息描述了規則被匹配后將產生的語言單元的全部或部分內容;當所述的語言單元與特定規則的特定子前件匹配時將之加入到此子前件對應的候選者隊列中;在每個匹配子前件過程中,若此語言單元匹配的是某個具有n個子前件的規則的最末子前件,則運用遍歷算法搜索各種語言單元組合,使得每個組合滿足(a)第i個成員來自此規則的第i個子前件的候選者隊列(1≤i≤n-1);(b)第n個成員為此語言單元;對于每個語言單元組合,都根據規則后件產生新的語言單元并通過輸出手段輸出。
6.根據權利要求5所述的存儲介質,其特征在于,所述的語言單元還包括指明該語言單元所代表的語言實體在文本中占據區域的文本區域,所述的歸約規則為(a)在搜索語言單元組合時,每種語言單元組合的第i個語言單元的文本區域不重合于第i+1個語言單元且在其左側(1≤i≤n-1);(b)得到的新的語言單元的文本區域,為對應語言單元組合中各語言單元的文本區域的疊加。
全文摘要
本發明涉及一種廣義歸約的裝置與方法,其裝置包括歸約規則表的存儲部件、候選者隊列的存儲部件和歸約部件,其方法包括由輸入手段得到一個語言單元,所述的語言單元存儲的信息描述了一段文字所對應的特定語言層次的語言實體;將此語言單元與各歸約規則的各子前件逐一進行匹配,當匹配特定子前件時將之加入到此子前件對應的候選者隊列中;若此語言單元匹配的是某個規則的最末子前件,則運用增量式的遍歷算法搜索各種語言單元組合,根據規則后件產生新的語言單元并通過輸出手段輸出。采用了該裝置與方法,使得當前搜索的語言單元組合與上一次的必然不同,不會遺漏組合,是增量式的,從而提高了搜索語言單元組合的效率,具有較好的實用性。
文檔編號G06F17/27GK1645361SQ200510023588
公開日2005年7月27日 申請日期2005年1月26日 優先權日2005年1月26日
發明者劉健, 吳耿鋒 申請人:上海大學