專利名稱:一種采用層次管道過濾器體系結(jié)構(gòu)的多語言信息抽取方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種實(shí)現(xiàn)信息抽取的方法,尤其涉及一種采用層次管道過濾器體系結(jié) 構(gòu)的多語言信息抽取方法,屬于自然語言處理(NLP)技術(shù)領(lǐng)域。
背景技術(shù):
信息抽取是研究如何從文本中抽取出特定的事實(shí)信息并將其以結(jié)構(gòu)化的形式呈 現(xiàn)出來的技術(shù)。在自然語言處理(NLP)領(lǐng)域,為了高效率、高質(zhì)量地完成信息抽取的任務(wù), 需要專門設(shè)計(jì)和開發(fā)信息抽取系統(tǒng)。信息抽取系統(tǒng)的主要功能是從文本中抽取出特定的事 實(shí)信息,然后進(jìn)行結(jié)構(gòu)化處理,集成在一起,變成統(tǒng)一的組織形式。輸入信息抽取系統(tǒng)的是 原始文本,輸出的是固定格式的信息點(diǎn)。信息抽取技術(shù)標(biāo)志著快速、準(zhǔn)確的情報(bào)分析能力, 對一個(gè)國家的政治、軍事和經(jīng)濟(jì)等方面的發(fā)展將產(chǎn)生直接影響,能產(chǎn)生巨大的社會效益和 經(jīng)濟(jì)效益。 信息抽取系統(tǒng)作為一類結(jié)構(gòu)復(fù)雜而子任務(wù)眾多的軟件系統(tǒng),擁有良好的軟件體系 結(jié)構(gòu)(Software Architecture)是十分重要的。 一個(gè)良結(jié)構(gòu)的、專門面向信息抽取領(lǐng)域的 軟件體系結(jié)構(gòu),有助于提高信息抽取系統(tǒng)的開發(fā)效率和提高系統(tǒng)的可靠性。從軟件工程的 角度講,可以提高系統(tǒng)的可擴(kuò)展性和可維護(hù)性。 目前,在針對特定領(lǐng)域的軟件體系結(jié)構(gòu)(DSSA, Domain Specif icSoftware Architecture)中,管道過濾器風(fēng)格的體系結(jié)構(gòu)以其支持軟件重用的特點(diǎn),日益受到人們的 重視。 管道過濾器風(fēng)格最早在Unix中出現(xiàn)。它適用于對序列數(shù)據(jù)進(jìn)行一系列已經(jīng)定義 的獨(dú)立處理的應(yīng)用程序。如圖1所示,這種風(fēng)格的特點(diǎn)包括 構(gòu)件層次管道過濾器風(fēng)格中的構(gòu)件被稱為過濾器(filter)。它對輸入流進(jìn)行 處理、轉(zhuǎn)換,處理后的結(jié)果在輸出端流出。這種計(jì)算常常是遞進(jìn)的,所以可能在全部的輸入 接收完之前就開始輸出。
連接件連接件位于過濾器之間,起信息流導(dǎo)管的作用,被稱為管道(pipe)。
每個(gè)構(gòu)件都有輸入和輸出集合,數(shù)據(jù)流在輸出處生成,在輸入處被構(gòu)件讀取。
過濾器必須是獨(dú)立的實(shí)體,它們不了解信息流從哪個(gè)過濾器流出,也不需要知道 將流入哪個(gè)過濾器。它們可以指定輸入的格式,可以確保輸出的結(jié)果,但是它們可能不知道 在管道之后將會是什么樣的構(gòu)件。過濾器之間不共享狀態(tài)。
管道和過濾器構(gòu)成的網(wǎng)絡(luò)輸出的正確性不依賴于過濾器的遞進(jìn)處理順序。
但是,目前尚沒有在信息抽取系統(tǒng)中采用基于管道過濾器風(fēng)格的體系結(jié)構(gòu)的成熟 技術(shù)方案問世。
發(fā)明內(nèi)容
鑒于目前尚無面向多語言信息抽取的專用軟件體系結(jié)構(gòu),本發(fā)明所要解決的技術(shù) 問題在于提供一種采用層次管道過濾器體系結(jié)構(gòu)的多語言信息抽取方法。該方法實(shí)現(xiàn)了自
4適應(yīng)多語言信息抽取技術(shù)與面向特定領(lǐng)域的軟件體系結(jié)構(gòu)的有機(jī)結(jié)合。
本發(fā)明解決上述技術(shù)問題所采用的技術(shù)方案是 —種采用層次管道過濾器體系結(jié)構(gòu)的多語言信息抽取方法,包括作為任務(wù)層構(gòu)件 的多語種自動識別構(gòu)件、簡單命名實(shí)體識別構(gòu)件、語種獨(dú)立的分詞構(gòu)件、詞性標(biāo)注構(gòu)件、人 名地名識別構(gòu)件、組織機(jī)構(gòu)名識別構(gòu)件和最長名詞短語識別構(gòu)件實(shí)現(xiàn),各構(gòu)件之間通過連 接件傳遞數(shù)據(jù)流,其特征在于 (1)對于待處理的語言材料,首先由多語種自動識別構(gòu)件進(jìn)行判別,然后由簡單命 名實(shí)體識別構(gòu)件識別時(shí)間、日期、百分比、金額這四種簡單命名實(shí)體,由人名地名識別構(gòu)件 提取人名和地名; (2)在步驟(1)的基礎(chǔ)上,由語種獨(dú)立的分詞構(gòu)件進(jìn)行分詞,由詞性標(biāo)注構(gòu)件進(jìn)行 詞性標(biāo)注; (3)由組織機(jī)構(gòu)名識別構(gòu)件進(jìn)行組織機(jī)構(gòu)名的識別,由最長名詞短語識別構(gòu)件進(jìn) 行最長名詞短語的識別。 其中,所述任務(wù)層構(gòu)件由多個(gè)算法層構(gòu)件組成,不同的任務(wù)層構(gòu)件可以重用同一 個(gè)算法層構(gòu)件。 在所述多語種自動識別構(gòu)件包含四個(gè)算法層構(gòu)件,其中首先使用n元語言建模構(gòu) 件在多語種訓(xùn)練語料的基礎(chǔ)上,使用期望最大化算法構(gòu)件進(jìn)行模型訓(xùn)練;獲得了多語言的 n元語言模型,然后使用訓(xùn)練好的語言模型,用解碼構(gòu)件對評測語料進(jìn)行解碼,用n-gram評 測構(gòu)件對評測語料進(jìn)行評測。 所述語種獨(dú)立的分詞構(gòu)件包含六個(gè)算法層構(gòu)件,其中在n元語言建模構(gòu)件的基礎(chǔ) 上使用期望最大化算法構(gòu)件和互信息修剪算法構(gòu)件,用迭代的方法,得到n-multigram語 言模型;在語言模型的參數(shù)基礎(chǔ)之上,使用具有主動學(xué)習(xí)功能的Active Viterbi構(gòu)件,對 評測語料進(jìn)行解碼,最后通過分詞評測構(gòu)件對分詞結(jié)果進(jìn)行評測。 所述n-multigram語言模型中,將語言看作是無記憶的信源在狀態(tài)i發(fā)射一個(gè)長 度為1的變長詞序列,在確定最大長度后,在這一最大長度內(nèi)作可變長度處理,所有的轉(zhuǎn)移 概率是相等的,從所有可能的情況中找出子列概率乘積最大的,也就是最大似然結(jié)果。
所述詞性標(biāo)注構(gòu)件由兩個(gè)獨(dú)立的算法層構(gòu)件簡單組合而成,其中一個(gè)算法層構(gòu)件 基于經(jīng)典的隱馬爾科夫模型,在普通的標(biāo)注語料庫上完成訓(xùn)練;另一個(gè)算法層構(gòu)件用于調(diào) 用第三方的詞法分析接口完成詞性標(biāo)注。 所述人名地名識別構(gòu)件包含七個(gè)算法層構(gòu)件,其中首先基于標(biāo)注語料采用L-BFGS 構(gòu)件和GIS構(gòu)件進(jìn)行模型的訓(xùn)練,獲得了基于最大熵的語言模型構(gòu)件的參數(shù);在語言模型 的參數(shù)基礎(chǔ)上,使用Viterbi算法層構(gòu)件進(jìn)行解碼,然后基于評測語料使用命名實(shí)體評測 構(gòu)件進(jìn)行結(jié)果的評測。 所述組織機(jī)構(gòu)名識別構(gòu)件包含七個(gè)算法層構(gòu)件,其中首先由L-BFGS構(gòu)件和GIS構(gòu)
件基于標(biāo)注語料、基于加權(quán)置信度的主動學(xué)習(xí)構(gòu)件使用未標(biāo)注語料共同進(jìn)行模型的訓(xùn)練,
模型訓(xùn)練的結(jié)果得到最大熵的組織機(jī)構(gòu)名語言模型構(gòu)件;然后用樹_柵格最優(yōu)N解碼算法
構(gòu)件對評測語料進(jìn)行解碼,使用組織機(jī)構(gòu)名識別構(gòu)件進(jìn)行識別效果的評測。 所述最長名詞短語識別構(gòu)件包含四個(gè)算法層構(gòu)件,首先在標(biāo)注語料的基礎(chǔ)上,采
用L-BFGS構(gòu)件進(jìn)行模型的訓(xùn)練,獲得了基于條件域最長短語語言模型構(gòu)件的參數(shù);在訓(xùn)練獲得的模型的參數(shù)基礎(chǔ)上,使用受限的前向-后向解碼算法層構(gòu)件進(jìn)行解碼,然后使用最 長短語評測構(gòu)件在評測語料的基礎(chǔ)上進(jìn)行結(jié)果的評測。 本發(fā)明通過設(shè)計(jì)和實(shí)現(xiàn)一個(gè)采用層次管道過濾器體系結(jié)構(gòu)的多語言信息抽取方 法,提供了信息抽取系統(tǒng)的實(shí)用基礎(chǔ)框架,成功解決了多個(gè)相互交叉重疊的算法的重用和 泛化問題,改進(jìn)了軟件的可重用、可維護(hù)和可擴(kuò)展性能,提高了信息抽取應(yīng)用系統(tǒng)研發(fā)效率。
構(gòu)圖。
構(gòu)圖。
構(gòu)圖。
一個(gè)用來表示管道過濾器風(fēng)格體系結(jié)構(gòu)的流程示意一個(gè)示例圖,用來表示描述體系結(jié)構(gòu)所用的UML模型中的元素。
一個(gè)UML圖,用來表示MuLIE體系結(jié)構(gòu)的任務(wù)層拓?fù)浣Y(jié)構(gòu)圖。
一個(gè)UML圖,用來表示多語種自動識別構(gòu)件MuLid的結(jié)構(gòu)圖。
一個(gè)UML圖,用來表示語種獨(dú)立的分詞構(gòu)件MuSeg的結(jié)構(gòu)圖。
一個(gè)UML圖,用來表示基于最大熵模型的人名地名識別構(gòu)件CCNERec的結(jié)
圖7是一個(gè)UML圖,用來表示基于最大熵模型的組織機(jī)構(gòu)名識別構(gòu)件CNERec的結(jié)
圖8是一個(gè)UML圖,用來表示基于條件隨機(jī)域的最長名詞短語識別構(gòu)件xMNP的結(jié)
圖9是一個(gè)UML圖,用來表示Corpus構(gòu)件及其派生構(gòu)件的類圖,
具體實(shí)施例方式
當(dāng)前,在基于構(gòu)件和體系結(jié)構(gòu)的軟件開發(fā)方法下,軟件開發(fā)轉(zhuǎn)化成了 "構(gòu)件開發(fā)+ 基于體系結(jié)構(gòu)的構(gòu)件組裝"的過程。這是因?yàn)樵谝恍┨囟ǖ念I(lǐng)域中,不同系統(tǒng)及同一系統(tǒng)的 不同版本間在體系結(jié)構(gòu)上存在著相似性,甚至有許多共同的構(gòu)件,這非常有利于軟件復(fù)用。
為了適應(yīng)軟件開發(fā)領(lǐng)域的上述變化,本發(fā)明所提供的多語言信息抽取方法采用了 如圖l所示的基于管道過濾器風(fēng)格的體系結(jié)構(gòu)。在該體系結(jié)構(gòu)中,將要處理的工作封裝成 過濾器(即構(gòu)件),多個(gè)過濾器之間通過管道建立信息交互關(guān)系。但是,雖然管道過濾器風(fēng) 格很適合于自然語言處理(NLP)領(lǐng)域的軟件體系結(jié)構(gòu)設(shè)計(jì),但是,本發(fā)明所面向的多語言 信息抽取任務(wù)有其自身的特色。最根本的一點(diǎn)在于本多語言信息抽取方法主要基于統(tǒng)計(jì)和 機(jī)器學(xué)習(xí)算法,因此每個(gè)處理環(huán)節(jié)往往涉及多個(gè)算法和多個(gè)統(tǒng)計(jì)模型;而從全局的角度看, 它們又應(yīng)當(dāng)被視為處在同一個(gè)過濾器(構(gòu)件)中。如果簡單地使用管道過濾器風(fēng)格進(jìn)行體 系結(jié)構(gòu)設(shè)計(jì),會帶來很多不便。為此,本發(fā)明采用同質(zhì)復(fù)合的方法,提出了一種分層的管道 過濾器體系結(jié)構(gòu)風(fēng)格,在任務(wù)層和算法層同時(shí)進(jìn)行體系結(jié)構(gòu)設(shè)計(jì)。這樣,通過引入層次機(jī) 制,既有利于保證算法和模型的可重用性,又降低了整體結(jié)構(gòu)的復(fù)雜度。對于更為復(fù)雜的應(yīng) 用任務(wù),這種機(jī)制可以進(jìn)一步擴(kuò)展,引入第三層管道過濾器。對于這種新型的體系結(jié)構(gòu),本 發(fā)明人將之命名為層次管道過濾器風(fēng)格(hierachical pipe and filter style)的體系結(jié) 構(gòu)。下面對此展開具體的說明。
為了便于說明,在本發(fā)明中采用面向通用目的的建模符號表示法UML。 UML表示 法的圖例如圖2所示,具體元素包括 構(gòu)件(圖2a):構(gòu)件圖(Component Diagram)顯示軟件構(gòu)件之間的依賴關(guān)系。
接口 (圖2b):接口是對構(gòu)件進(jìn)行規(guī)格說明的操作的集合。
包(圖2c):包(Package)將許多元素集合成一個(gè)更高層次的單位,形成一個(gè)高 內(nèi)聚、低耦合的元素的分組集合。任何模型元素都運(yùn)用包的機(jī)制。
關(guān)系(圖2d):模型元素之間通過依賴(d印endencies)、關(guān)聯(lián)(associations)、 泛化(generalizations)和實(shí)現(xiàn)(realizations)聯(lián)系起來。其中,圖2d_(l)表示依賴符 號,圖2d-(2)表示關(guān)聯(lián)符號,圖2d-(3)表示泛化符號,圖2d-(4)表示實(shí)現(xiàn)符號。
在上述說明的基礎(chǔ)上,下面介紹用于實(shí)現(xiàn)本發(fā)明所述的基于層次管道過濾器風(fēng)格 的多語言信息抽取方法的體系結(jié)構(gòu)(簡稱為MuLIE)的具體內(nèi)容。 MuLIE體系結(jié)構(gòu)采用分層的層次管道過濾器風(fēng)格,過濾器(即構(gòu)件)包括任務(wù)層和 算法層兩類。下面分別對其進(jìn)行詳細(xì)的說明。
( — )任務(wù)層構(gòu)件 任務(wù)層構(gòu)件的設(shè)計(jì)重點(diǎn)是可重用構(gòu)件的提取,以及構(gòu)件間接口的定義。每個(gè)構(gòu)件 又都包括獨(dú)立的訓(xùn)練、解碼和測評等算法層構(gòu)件。構(gòu)件間拓?fù)浣Y(jié)構(gòu)如圖3所示,包括如下構(gòu) 件(過濾器) 多語種自動識別構(gòu)件MuLid ; 基于有限狀態(tài)機(jī)的簡單命名實(shí)體識別構(gòu)件F SANER ;
語種獨(dú)立的分詞構(gòu)件MuSeg ;
詞性標(biāo)注構(gòu)件P0Ser ; 基于最大熵模型的人名地名識別構(gòu)件CNERec ;
基于最大熵模型的組織機(jī)構(gòu)名識別構(gòu)件WNERec ;
基于條件隨機(jī)域的最長名詞短語識別構(gòu)件xMNP。 在基于層次管道過濾器風(fēng)格的多語言信息抽取的體系結(jié)構(gòu)(MuLIE)的任務(wù)層中, 首先使用多語種自動識別構(gòu)件MuLid對待處理語言的語種進(jìn)行判別,然后使用簡單命名實(shí) 體識別構(gòu)件FSANER識別簡單的時(shí)間、日期、百分比、金額等四種簡單命名實(shí)體,使用人名地 名識別構(gòu)件CNERec提取人名和地名;在此基礎(chǔ)上,使用語種獨(dú)立的分詞構(gòu)件MuSeg進(jìn)行分 詞,使用詞性標(biāo)注構(gòu)件P0Ser進(jìn)行詞性標(biāo)注,最后應(yīng)用組織機(jī)構(gòu)名識別構(gòu)件WNERec進(jìn)行組 織機(jī)構(gòu)名的識別,以及使用最長名詞短語識別構(gòu)件xMNP進(jìn)行最長名詞短語的識別。在這個(gè) 框架基礎(chǔ)之上,可以開發(fā)基于信息抽取的具體應(yīng)用系統(tǒng)。下面詳細(xì)介紹各個(gè)構(gòu)件的實(shí)施細(xì) 節(jié)。 (1)多語種自動識別構(gòu)件MuLid。識別不同的語種(以及同一語種的不同編碼規(guī) 范)是多語種信息抽取必備的預(yù)處理環(huán)節(jié)。該構(gòu)件采用統(tǒng)計(jì)學(xué)習(xí)方法,并改進(jìn)語言模型的 參數(shù)估計(jì)手段以提高雙字節(jié)編碼語種的識別效果。 多語種自動識別構(gòu)件MuLid的具體結(jié)構(gòu)如圖4所示,它包含四個(gè)基本算法層構(gòu)件。 首先使用n元語言建模構(gòu)件(n-gram建模構(gòu)件)在多語種訓(xùn)練語料的基礎(chǔ)上,使用EM(期 望最大化)算法進(jìn)行模型訓(xùn)練;獲得了多語言的n元語言模型(n-gram語言模型構(gòu)件),然 后使用訓(xùn)練好的語言模型,用n-gram解碼構(gòu)件對評測語料進(jìn)行解碼,并用n-gram評測構(gòu)件
7對評測語料進(jìn)行評測。 多語種自動識別構(gòu)件MuLid中采用EM算法進(jìn)行語言模型訓(xùn)練。EM算法可以從非 完整數(shù)據(jù)集中對參數(shù)進(jìn)行最大似然估計(jì),是參數(shù)估計(jì)和無督導(dǎo)機(jī)器學(xué)習(xí)中的重要方法,被 廣泛應(yīng)用于處理缺損數(shù)據(jù),截尾數(shù)據(jù)等所謂的不完全數(shù)據(jù)。EM算法也可被直觀地理解為一 個(gè)逐次逼近算法在事先并不知道模型參數(shù)的情況下,隨機(jī)的選擇一套參數(shù)或者事先粗略 地給定某個(gè)初始參數(shù)A 。,確定出對應(yīng)于這組參數(shù)的最可能的狀態(tài),計(jì)算每個(gè)訓(xùn)練樣本的可 能結(jié)果的概率,在當(dāng)前的狀態(tài)下再由樣本對參數(shù)修正,重新估計(jì)參數(shù)A ,并在新的參數(shù)下重 新確定模型的狀態(tài)。通過多次的迭代,直至某個(gè)收斂條件滿足為止,就可以使得模型的參數(shù) 逐漸逼近真實(shí)參數(shù)。 (2)基于有限狀態(tài)機(jī)的簡單命名實(shí)體識別構(gòu)件FSANER。 FSANER主要采用狀態(tài)轉(zhuǎn)換 的方法處理文本中較為規(guī)則的時(shí)間、日期、百分比、金額等四種簡單命名實(shí)體。由于以上四 種類型的命名實(shí)體的特征明確,結(jié)構(gòu)相對簡單,使用有限狀態(tài)機(jī)就能獲得很好的識別效果。
(3)語種獨(dú)立的分詞構(gòu)件MuSeg。分詞是識別中文命名實(shí)體時(shí)必須考慮的重要基 礎(chǔ)問題,也是中文相關(guān)的機(jī)器翻譯、信息檢索、漢字識別、語音識別與合成等各種自然語言 應(yīng)用的基礎(chǔ),長期以來一直受到廣泛關(guān)注。在日文和泰文的命名實(shí)體識別和詞法分析中也 需要解決分詞問題。 分詞構(gòu)件MuSeg以無督導(dǎo)機(jī)器學(xué)習(xí)為主體框架,結(jié)合主動學(xué)習(xí)技術(shù)解決人工知識 的引入問題,在利用大量未標(biāo)注數(shù)據(jù)的同時(shí),有效利用少量人工標(biāo)注信息,從而有效的引入 指導(dǎo)信息,提高機(jī)器學(xué)習(xí)的準(zhǔn)確性和可靠性。 如圖5所示,語種獨(dú)立的分詞構(gòu)件MuSeg包含了六個(gè)基本的算法層構(gòu)件。在n-gram 建模構(gòu)件的基礎(chǔ)上,使用EM訓(xùn)練算法構(gòu)件和基于互信息修剪算法構(gòu)件,用迭代的方法,得 到n-multigram語言模型(n-multigram語言模型構(gòu)件);在語言模型的參數(shù)基礎(chǔ)之上,使 用具有主動學(xué)習(xí)功能的Active Viterbi構(gòu)件,對評測語料進(jìn)行解碼,最后通過分詞評測構(gòu) 件對分詞結(jié)果進(jìn)行評測。 該任務(wù)層構(gòu)件采用了 n-multigram語言模型。傳統(tǒng)的n-gram語言模型只反映連 續(xù)n個(gè)節(jié)點(diǎn)間的相關(guān)信息。如果把它用于分詞, 一旦n的長度確定下來,就只能進(jìn)行長度為 n的分詞處理。但中文詞匯的長度變化不定,從只包含1個(gè)字的詞到含有7個(gè)字的詞都有可 能出現(xiàn)。n-multigram語言模型和n-gram語言模型不同,語言被看作是無記憶的信源在狀 態(tài)i發(fā)射一個(gè)長度為1的變長詞序列,而不是定長的bi-gram或tri-gram。在確定最大長 度后,它在這一最大長度內(nèi)作可變長度處理,所有的轉(zhuǎn)移概率是相等的,從所有可能的情況 中找出子列概率乘積最大的,也就是最大似然結(jié)果。相對于n-gram語言模型,n-multigram 語言模型的假設(shè)更為獨(dú)立,在分詞中應(yīng)用更為合理。 分詞構(gòu)件MuSeg在Viterbi算法的基礎(chǔ)上設(shè)計(jì)了具有主動學(xué)習(xí)能力的
Active-Viterbi算法。Active-Viterbi算法結(jié)合了基于置信度的主動學(xué)習(xí)策略,其基本思
想是,如果能夠?qū)λ梅衷~結(jié)果的正確性給出置信度估計(jì),那么結(jié)果中置信度最低的部分
也就是當(dāng)前分詞能力最弱的部分,只要有針對性地對這部分少量內(nèi)容用人工介入的方式調(diào)
整分詞語言模型,就可以在人工改善語言模型的同時(shí),盡量把這種干預(yù)控制在最低水平。 (4)詞性標(biāo)注構(gòu)件P0Ser。該構(gòu)件作為一個(gè)任務(wù)層構(gòu)件,由兩個(gè)獨(dú)立的算法層構(gòu)件
簡單組合而成,其中一個(gè)構(gòu)件基于經(jīng)典的隱馬爾科夫模型,可以在普通的標(biāo)注語料庫上完成訓(xùn)練;另一個(gè)是可以調(diào)用第三方的詞法分析接口完成詞性標(biāo)注。 (5)基于最大熵模型的人名地名識別構(gòu)件CNERec。命名實(shí)體識別是信息抽取的核 心研究內(nèi)容之一。命名實(shí)體識別技術(shù),包括人名、地名和組織機(jī)構(gòu)名的識別。對中文而言, 由于專有名稱沒有任何形態(tài)標(biāo)記,而且與分詞問題緊密相關(guān),難度遠(yuǎn)大于英文等西方語言。 本構(gòu)件采用基于最大熵框架的機(jī)器學(xué)習(xí)方法研究命名實(shí)體識別,并在人名識別的問題上從 語義偏旁入手進(jìn)行更為深入的探索。 如圖6所示,基于最大熵模型的人名地名識別構(gòu)件CNERec包含七個(gè)算法層構(gòu)件。 基于標(biāo)注語料,采用L-BFGS構(gòu)件和GIS構(gòu)件進(jìn)行模型的訓(xùn)練,獲得了基于最大熵的語言模 型構(gòu)件的參數(shù);在語言模型的參數(shù)基礎(chǔ)上,使用Viterbi算法層構(gòu)件進(jìn)行解碼,然后基于評 測語料使用命名實(shí)體評測構(gòu)件進(jìn)行結(jié)果的評測。 該人名地名識別構(gòu)件采用了基于最大熵模型的命名實(shí)體識別。最大熵模型的主要 思想是,在只掌握關(guān)于未知分布的部分知識時(shí),應(yīng)該選取符合這些知識但熵值最大的概率 分布。因?yàn)樵谶@種情況下,符合已知知識的概率分布可能不止一個(gè);而熵的定義實(shí)際上是一 個(gè)隨機(jī)變量的不確定性,熵最大的時(shí)候,說明隨機(jī)變量最不確定,換句話說,也就是隨機(jī)變 量隨機(jī)性最大,對其行為做準(zhǔn)確預(yù)測最困難。從這個(gè)意義上講,最大熵原理的實(shí)質(zhì)就是,在 已知部分知識的前提下,關(guān)于未知分布最合理的推斷就是符合已知知識最不確定或最隨機(jī) 的推斷,這是我們可以做出的唯一不偏不倚的選擇,任何其它的選擇都意味著增加了額外 的約束和假設(shè),這些約束和假設(shè)根據(jù)我們掌握的信息無法做出。在最大熵框架中,可根據(jù)具 體任務(wù),以特征函數(shù)的形式把各種知識引入到統(tǒng)計(jì)模型中。經(jīng)過訓(xùn)練,能夠給出這些知識的 相對權(quán)重,即決定如何利用這些知識。更為重要的是,無需更改原有系統(tǒng)就可增加新的領(lǐng)域 知識。這是最大熵模型的重要優(yōu)點(diǎn),也是本構(gòu)件選用最大熵模型研究語義偏旁的作用的主 要原因。 (6)基于最大熵模型的組織機(jī)構(gòu)名識別構(gòu)件WNERec。組織機(jī)構(gòu)名識別是命名實(shí)體
識別任務(wù)中最困難的一部分,這類實(shí)體數(shù)目龐大,變化復(fù)雜。本構(gòu)件采用主動學(xué)習(xí)策略克服
這一困難,并在最大熵模型的解碼算法方面做出改進(jìn)。該構(gòu)件的具體結(jié)構(gòu)如圖7所示。 組織機(jī)構(gòu)名識別構(gòu)件WNERec包含七個(gè)算法層構(gòu)件。首先,L-BFGS構(gòu)件和GIS構(gòu)
件基于標(biāo)注語料、基于加權(quán)置信度的主動學(xué)習(xí)構(gòu)件使用未標(biāo)注語料共同進(jìn)行模型的訓(xùn)練,
模型訓(xùn)練的結(jié)果得到最大熵的組織機(jī)構(gòu)名語言模型構(gòu)件;然后用樹_柵格最優(yōu)N解碼算法
構(gòu)件對評測語料進(jìn)行解碼,使用組織機(jī)構(gòu)名識別構(gòu)件進(jìn)行識別效果的評測。 組織機(jī)構(gòu)名識別是命名實(shí)體識別過程中的最困難的問題。為了提高識別的效率和
準(zhǔn)確率,兼顧難度和效率,本發(fā)明對命名實(shí)體的識別做了特定的安排。中文命名實(shí)體識別過
程劃分為四個(gè)階段第一步在字層次上進(jìn)行,用有限狀態(tài)轉(zhuǎn)換的方法表達(dá)語言學(xué)規(guī)則,識別
文本中的時(shí)間、日期、金額、百分比等命名實(shí)體,識別結(jié)果以詞的形式帶入后繼處理;第二步
也在字的層次上進(jìn)行,采用基于字層次的最大熵統(tǒng)計(jì)語言模型識別人名、地名,識別結(jié)果以
詞的形式帶入后繼處理;第三步本身不識別命名實(shí)體,由基于n-multigram語言模型的分
詞和基于HMM的詞性標(biāo)注兩部分構(gòu)成;第四步在詞層次上進(jìn)行,采用基于詞層次的最大熵
統(tǒng)計(jì)語言模型識別組織機(jī)構(gòu)名,并以短語的形式標(biāo)注出識別結(jié)果。 (7)基于條件隨機(jī)域的最長名詞短語識別構(gòu)件xMNP。名詞短語的識別對于信息抽 取有著重要意義。其中,最長名詞短語具有更為廣泛的應(yīng)用價(jià)值,也是難度最大的一個(gè)問題。本發(fā)明引入基于條件隨機(jī)域模型的統(tǒng)計(jì)學(xué)習(xí)方法,并通過對解碼算法的改進(jìn)提高其實(shí) 用性。 如圖8所示,基于條件隨機(jī)域的最長名詞短語識別構(gòu)件xMNP包含四個(gè)算法層構(gòu) 件。xMNP首先在標(biāo)注語料的基礎(chǔ)上,采用L-BFGS構(gòu)件進(jìn)行模型的訓(xùn)練,獲得了基于條件 域(CRF)最長短語語言模型構(gòu)件的參數(shù);在訓(xùn)練獲得的模型的參數(shù)基礎(chǔ)上,使用受限的前 向-后向解碼算法層構(gòu)件進(jìn)行解碼,然后使用最長短語評測構(gòu)件在評測語料的基礎(chǔ)上進(jìn)行 結(jié)果的評測。 該構(gòu)件是基于條件隨機(jī)域(CRFConditional Random Fields)語言模型來實(shí)現(xiàn)最 長短語識別的。條件隨機(jī)域模型(CRF)是一種無向圖模型,對于指定的節(jié)點(diǎn)輸入值,它能夠 計(jì)算指定的節(jié)點(diǎn)輸出值上的條件概率,其訓(xùn)練目標(biāo)是使得條件概率最大化。線性鏈?zhǔn)荂RF 中常見的特定圖結(jié)構(gòu)之一,它由指定的輸出節(jié)點(diǎn)順序鏈接而成。 一個(gè)線性鏈與一個(gè)有限狀 態(tài)機(jī)相對應(yīng),可用于解決序列數(shù)據(jù)的標(biāo)注問題。 該構(gòu)件之所以選擇條件隨機(jī)域作為xMNP識別的統(tǒng)計(jì)模型,是因?yàn)樽畲箪豈arkov 模型和條件隨機(jī)域等條件模型(Conditional Models)能夠綜合利用字、詞、詞性等多層 次的資源,同時(shí),對于長程關(guān)聯(lián)(long distanced印endency)有很好的描述能力。這些特 點(diǎn)對于xMNP識別這樣側(cè)重較長范圍內(nèi)的處理的任務(wù)相當(dāng)重要,同時(shí)也是HMM等生成模型 (GenerativeModels)所不具備的。但是,由于最大熵Markov模型中存在著標(biāo)注偏置,所以 選擇了能避免該問題的CRF模型。 [OO76] ( 二 )算法層構(gòu)件 算法層構(gòu)件包括前面在任務(wù)層構(gòu)件的描述中所涉及的組成構(gòu)件。算法層構(gòu)件是 MuLIE體系結(jié)構(gòu)中功能的具體實(shí)施與體現(xiàn)者,是整個(gè)體系結(jié)構(gòu)的基礎(chǔ)組成部分,由算法層構(gòu) 件來組成任務(wù)層構(gòu)件,進(jìn)而去實(shí)現(xiàn)軟件系統(tǒng)的預(yù)期功能。 算法層構(gòu)件的重用與泛化是MuLIE體系結(jié)構(gòu)的重要特點(diǎn)。如n-gram建模構(gòu)件在 多語種自動識別構(gòu)件MuLid和語種獨(dú)立的分詞構(gòu)件MuSeg間重用,L-BFGS構(gòu)件和GIS構(gòu)件 在人名地名識別構(gòu)件CNERec和組織機(jī)構(gòu)名識別構(gòu)件WNERec間重用。這些構(gòu)件的重用是二 進(jìn)制代碼級的,即不需要使用源程序,直接調(diào)用可執(zhí)行文件或動態(tài)鏈接庫文件。泛化是指有 些構(gòu)件不能簡單地重用,而是把公共部分提取出來,形成一個(gè)基礎(chǔ)構(gòu)件,其他構(gòu)件由它派生 而來。泛化是基于源代碼級的,即基于類的派生。例如在各個(gè)任務(wù)層構(gòu)件外部提供語料庫 訪問的幾個(gè)構(gòu)件,都從最基礎(chǔ)的CCorpusAccess構(gòu)件泛化而來。這些構(gòu)件的泛化也可以看 作是源代碼級的構(gòu)件重用基礎(chǔ)構(gòu)件的物理形式是一個(gè)C++實(shí)現(xiàn)的基類,其他泛化的構(gòu)件 從這個(gè)基類派生而來。圖9以Corpus構(gòu)件及其派生構(gòu)件為例明確的描述了這種機(jī)制,其中 的每一個(gè)類對應(yīng)一個(gè)相關(guān)構(gòu)件。 利用上述的重用與泛化機(jī)制,面向不同任務(wù)的算法構(gòu)件之間既相互獨(dú)立,又緊密 關(guān)聯(lián)。在前面完成的任務(wù)層構(gòu)件形式的詳細(xì)的領(lǐng)域分析和設(shè)計(jì)的基礎(chǔ)上,通過重用與泛化 機(jī)制,把不同任務(wù)層構(gòu)件中的相同或類似的模型、算法、處理過程、語言資源,聯(lián)系在一起,
統(tǒng)一考慮。 利用上述采用層次管道過濾器體系結(jié)構(gòu)的多語言信息抽取方法,軟件設(shè)計(jì)可以獨(dú) 立于任何具體語言。該具體語言可以包括不同種類型的語言或同一種語言的不同編碼。所 有處理環(huán)節(jié)均可采用與特定語言無關(guān)的自然語言處理技術(shù),而且能夠根據(jù)語言模型對具體
10語言做出自動的識別。 上面對本發(fā)明所述的多語言信息抽取方法進(jìn)行了詳細(xì)的說明,但顯然本發(fā)明的具 體實(shí)現(xiàn)形式并不局限于此。對于本技術(shù)領(lǐng)域的一般技術(shù)人員來說,在不背離本發(fā)明的權(quán)利 要求范圍的情況下對它進(jìn)行的各種顯而易見的改變都在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
一種采用層次管道過濾器體系結(jié)構(gòu)的多語言信息抽取方法,包括作為任務(wù)層構(gòu)件的多語種自動識別構(gòu)件、簡單命名實(shí)體識別構(gòu)件、語種獨(dú)立的分詞構(gòu)件、詞性標(biāo)注構(gòu)件、人名地名識別構(gòu)件、組織機(jī)構(gòu)名識別構(gòu)件和最長名詞短語識別構(gòu)件實(shí)現(xiàn),各構(gòu)件之間通過連接件傳遞數(shù)據(jù)流,其特征在于(1)對于待處理的語言材料,首先由所述多語種自動識別構(gòu)件進(jìn)行判別,然后由所述簡單命名實(shí)體識別構(gòu)件識別時(shí)間、日期、百分比、金額這四種簡單命名實(shí)體,由所述人名地名識別構(gòu)件提取人名和地名;(2)在步驟(1)的基礎(chǔ)上,由語種獨(dú)立的分詞構(gòu)件進(jìn)行分詞,由所述詞性標(biāo)注構(gòu)件進(jìn)行詞性標(biāo)注;(3)由所述組織機(jī)構(gòu)名識別構(gòu)件進(jìn)行組織機(jī)構(gòu)名的識別,由所述最長名詞短語識別構(gòu)件進(jìn)行最長名詞短語的識別。
2. 如權(quán)利要求1所述的采用層次管道過濾器體系結(jié)構(gòu)的多語言信息抽取方法,其特征 在于所述任務(wù)層構(gòu)件由多個(gè)算法層構(gòu)件組成,不同的任務(wù)層構(gòu)件重用同一個(gè)算法層構(gòu)件。
3. 如權(quán)利要求1所述的采用層次管道過濾器體系結(jié)構(gòu)的多語言信息抽取方法,其特征 在于不同的算法層構(gòu)件的公共部分提取出來形成一個(gè)基礎(chǔ)構(gòu)件,由所述基礎(chǔ)構(gòu)件派生其它 的算法層構(gòu)件。
4. 如權(quán)利要求1 3中任意一個(gè)所述的采用層次管道過濾器體系結(jié)構(gòu)的多語言信息抽 取方法,其特征在于在所述多語種自動識別構(gòu)件包含四個(gè)算法層構(gòu)件,其中首先使用n元語言建模構(gòu)件在 多語種訓(xùn)練語料的基礎(chǔ)上,使用期望最大化算法構(gòu)件進(jìn)行模型訓(xùn)練,獲得多語言的n元語 言模型,然后使用訓(xùn)練好的語言模型,用解碼構(gòu)件對評測語料進(jìn)行解碼,用n-gram評測構(gòu) 件對評測語料進(jìn)行評測。
5. 如權(quán)利要求1 3中任意一個(gè)所述的采用層次管道過濾器體系結(jié)構(gòu)的多語言信息抽 取方法,其特征在于所述語種獨(dú)立的分詞構(gòu)件包含六個(gè)算法層構(gòu)件,其中在n元語言建模構(gòu)件的基礎(chǔ)上使 用期望最大化算法構(gòu)件和互信息修剪算法構(gòu)件,用迭代的方法,得到n-multigram語言模 型;在n-multigram語言模型的參數(shù)基礎(chǔ)之上,使用具有主動學(xué)習(xí)功能的Active Viterbi 構(gòu)件,對評測語料進(jìn)行解碼,最后通過分詞評測構(gòu)件對分詞結(jié)果進(jìn)行評測。
6. 如權(quán)利要求5所述的采用層次管道過濾器體系結(jié)構(gòu)的多語言信息抽取方法,其特征 在于所述n-multigram語言模型中,將語言看作是無記憶的信源在狀態(tài)i發(fā)射一個(gè)長度為l 的變長詞序列,在確定最大長度后,在這一最大長度內(nèi)作可變長度處理,假定所有的轉(zhuǎn)移概 率是相等的,從所有可能的情況中找出子列概率乘積最大的,即最大似然結(jié)果。
7. 如權(quán)利要求1 3中任意一個(gè)所述的采用層次管道過濾器體系結(jié)構(gòu)的多語言信息抽 取方法,其特征在于所述詞性標(biāo)注構(gòu)件由兩個(gè)獨(dú)立的算法層構(gòu)件組合而成,其中一個(gè)算法層構(gòu)件基于經(jīng)典 的隱馬爾科夫模型,在普通的標(biāo)注語料庫上完成訓(xùn)練;另一個(gè)算法層構(gòu)件用于調(diào)用第三方的詞法分析接口完成詞性標(biāo)注。
8. 如權(quán)利要求1 3中任意一個(gè)所述的采用層次管道過濾器體系結(jié)構(gòu)的多語言信息抽取方法,其特征在于所述人名地名識別構(gòu)件包含七個(gè)算法層構(gòu)件,首先基于標(biāo)注語料采用L-BFGS構(gòu)件和 GIS構(gòu)件進(jìn)行模型的訓(xùn)練,獲得了基于最大熵的語言模型構(gòu)件的參數(shù);在語言模型的參數(shù) 基礎(chǔ)上,使用Viterbi算法層構(gòu)件進(jìn)行解碼,然后基于評測語料使用命名實(shí)體評測構(gòu)件進(jìn) 行結(jié)果的評測。
9. 如權(quán)利要求1 3中任意一個(gè)所述的采用層次管道過濾器體系結(jié)構(gòu)的多語言信息抽 取方法,其特征在于所述組織機(jī)構(gòu)名識別構(gòu)件包含七個(gè)算法層構(gòu)件,首先由L-BFGS構(gòu)件和GIS構(gòu)件基于標(biāo) 注語料、基于加權(quán)置信度的主動學(xué)習(xí)構(gòu)件使用未標(biāo)注語料共同進(jìn)行模型的訓(xùn)練,模型訓(xùn)練 的結(jié)果得到最大熵的組織機(jī)構(gòu)名語言模型構(gòu)件;然后用樹_柵格最優(yōu)N解碼算法構(gòu)件對評 測語料進(jìn)行解碼,使用組織機(jī)構(gòu)名識別構(gòu)件進(jìn)行識別效果的評測。
10. 如權(quán)利要求1 3中任意一個(gè)所述的采用層次管道過濾器體系結(jié)構(gòu)的多語言信息 抽取方法,其特征在于所述最長名詞短語識別構(gòu)件包含四個(gè)算法層構(gòu)件,首先在標(biāo)注語料的基礎(chǔ)上,采用 L-BFGS構(gòu)件進(jìn)行模型的訓(xùn)練,獲得了基于條件域最長短語語言模型構(gòu)件的參數(shù);在訓(xùn)練獲 得的模型的參數(shù)基礎(chǔ)上,使用受限的前向-后向解碼算法層構(gòu)件進(jìn)行解碼,然后使用最長 短語評測構(gòu)件在評測語料的基礎(chǔ)上進(jìn)行結(jié)果的評測。
全文摘要
本發(fā)明公開了一種采用層次管道過濾器體系結(jié)構(gòu)的多語言信息抽取方法。該方法中,對于待處理的語言材料,首先由多語種自動識別構(gòu)件進(jìn)行判別,然后由簡單命名實(shí)體識別構(gòu)件識別時(shí)間、日期、百分比、金額這四種簡單命名實(shí)體,由人名地名識別構(gòu)件提取人名和地名;然后由語種獨(dú)立的分詞構(gòu)件進(jìn)行分詞,由詞性標(biāo)注構(gòu)件進(jìn)行詞性標(biāo)注;再由組織機(jī)構(gòu)名識別構(gòu)件進(jìn)行組織機(jī)構(gòu)名的識別,由最長名詞短語識別構(gòu)件進(jìn)行最長名詞短語的識別。本發(fā)明提供了信息抽取系統(tǒng)的實(shí)用基礎(chǔ)框架,成功解決了多個(gè)相互交叉重疊的算法的重用和泛化問題,改進(jìn)了軟件的可重用、可維護(hù)和可擴(kuò)展性能,提高了信息抽取應(yīng)用系統(tǒng)研發(fā)效率。
文檔編號G06F17/27GK101751385SQ20081023983
公開日2010年6月23日 申請日期2008年12月19日 優(yōu)先權(quán)日2008年12月19日
發(fā)明者黃河燕 申請人:華建機(jī)器翻譯有限公司