專利名稱:小樣本自動(dòng)化Web文本數(shù)據(jù)抽取模板生成與抽取方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種數(shù)據(jù)處理方法,具體涉及一種自動(dòng)化Web文本數(shù)據(jù)抽取模板生成與抽取方法,更具體涉及一種基于小樣本學(xué)習(xí)的自動(dòng)化Web文本數(shù)據(jù)抽取模板生成與抽取方法。
背景技術(shù):
Web是目前世界上最大的信息共享平臺(tái)和信息源,其中蘊(yùn)藏著大量有價(jià)值的信息。因此,如何能夠用有效的手段從Web上精確獲取人們感興趣的信息成為一個(gè)熱點(diǎn)技術(shù)問(wèn)題。搜索引擎可以幫助人們查找有用信息,但搜索引擎所獲得的結(jié)果僅僅是一些網(wǎng)頁(yè)鏈接,信息粒度太粗,且包含大量無(wú)關(guān)網(wǎng)頁(yè)信息。為了滿足用戶精確獲取有用信息的需求,近十多年來(lái)出現(xiàn)了 Web信息抽取技術(shù)(Web Information Extraction)。所謂Web信息抽取是指從半結(jié)構(gòu)化、非結(jié)構(gòu)化的Web頁(yè)面抽取感興趣的數(shù)據(jù),轉(zhuǎn)換成結(jié)構(gòu)化的數(shù)據(jù)以便進(jìn)行后續(xù)的 深度信息處理和利用的過(guò)程。Web網(wǎng)頁(yè)通常會(huì)以半結(jié)構(gòu)化或非結(jié)構(gòu)化文本展現(xiàn)數(shù)據(jù),從一個(gè)HTML Tag元素(如td、span等)中獲得的數(shù)據(jù)也常常是包含非結(jié)構(gòu)化或以一定分隔符隔開(kāi)的半結(jié)構(gòu)化文本數(shù)據(jù)。Web信息抽取時(shí),大多數(shù)Web信息抽取系統(tǒng)都基于DOM樹(shù)的結(jié)構(gòu)化抽取規(guī)則抽取網(wǎng)頁(yè)數(shù)據(jù)記錄,這些數(shù)據(jù)記錄中的元素往往包含一些粒度較大的半結(jié)構(gòu)化或非結(jié)構(gòu)化文本數(shù)據(jù)。因此,用結(jié)構(gòu)化規(guī)則抽取出來(lái)的數(shù)據(jù)往往粒度較大,仍然不是用戶最終所希望的數(shù)據(jù)元素。因此,有必要使用文本數(shù)據(jù)抽取規(guī)則對(duì)這些中間數(shù)據(jù)進(jìn)行更細(xì)粒度的數(shù)據(jù)過(guò)濾和抽取?;诎虢Y(jié)構(gòu)化和非結(jié)構(gòu)化文本數(shù)據(jù)進(jìn)行細(xì)粒度數(shù)據(jù)元素抽取的基本示例如圖2所示。圖中假設(shè)已經(jīng)獲得一組數(shù)量不大的包含待抽取數(shù)據(jù)字段的文本樣本,這些樣本是來(lái)自Web網(wǎng)頁(yè)的一組書(shū)籍?dāng)?shù)據(jù)記錄,但這些數(shù)據(jù)記錄粒度較粗,未能把其中的書(shū)名、作者、出版年月、出版社等用戶感興趣的字段一一抽取出來(lái)變成用戶或應(yīng)用系統(tǒng)所需要的結(jié)構(gòu)化數(shù)據(jù)。如上例所示,樣本文本數(shù)據(jù)集中的數(shù)據(jù)記錄呈現(xiàn)出較為明顯的字段模式,如果我們能把其中的模式自動(dòng)推導(dǎo)出來(lái),并以某種方式表達(dá)出這種模式,即可形成我們所要的抽取模板,最后運(yùn)用基于特定模式所產(chǎn)生的抽取模板即可完成實(shí)際的數(shù)據(jù)字段的抽取處理。然而,文本數(shù)據(jù)抽取模板的生成是一個(gè)技術(shù)難題。生成文本數(shù)據(jù)抽取模板可有多種可能的方法。一種方法是由用戶人工書(shū)寫(xiě)類似于正則表達(dá)式的文本數(shù)據(jù)抽取規(guī)則,但人工書(shū)寫(xiě)正則表達(dá)式是一個(gè)非常專業(yè)性的工作,對(duì)用戶的技術(shù)要求太高;第二種方法是,由用戶標(biāo)記一定數(shù)量的樣本,然后由系統(tǒng)從這些樣本中自動(dòng)推導(dǎo)出文本數(shù)據(jù)抽取模板,這種方法比第一種方法要求要低得多,但標(biāo)記很多樣本仍然會(huì)給用戶帶來(lái)負(fù)擔(dān)。最理想的方法是,系統(tǒng)能基于一定數(shù)量的文本樣本自動(dòng)推導(dǎo)出最終的抽取模板。但是,這種自動(dòng)化的文本數(shù)據(jù)抽取模板的生成是一個(gè)尚未得到很好解決的難點(diǎn)技術(shù)問(wèn)題。雖然目前已有很多自動(dòng)化/半自動(dòng)化的Web結(jié)構(gòu)化抽取規(guī)則生成和數(shù)據(jù)抽取方法,但自動(dòng)化的Web文本數(shù)據(jù)抽取模板生成和數(shù)據(jù)抽取技術(shù)研究仍然是空白,目前仍缺少有效的自動(dòng)化Web文本數(shù)據(jù)抽取模板生成和數(shù)據(jù)抽取方法。
發(fā)明內(nèi)容
發(fā)明目的針對(duì)上述現(xiàn)有技術(shù)存在的問(wèn)題和不足,本發(fā)明的目的是提供一種自動(dòng)化Web文本數(shù)據(jù)抽取模板生成與抽取方法,將使用較小的文本樣本,通過(guò)沒(méi)有人工介入的自動(dòng)化小樣本學(xué)習(xí)方法,自動(dòng)識(shí)別并推導(dǎo)出樣本中所包含的數(shù)據(jù)模版,然后用所推導(dǎo)出的模版去處理網(wǎng)頁(yè)中所提取出來(lái)的粗粒度的文本數(shù)據(jù)記錄,通過(guò)該模板自動(dòng)完成細(xì)粒度的文本數(shù)據(jù)的抽取處理。技術(shù)方案為實(shí)現(xiàn)上述發(fā)明目的,本發(fā)明采用的技術(shù)方案為一種小樣本自動(dòng)化Web文本數(shù)據(jù)抽取模板生成與抽取方法,包括如下步驟
(2)確定比對(duì)的單元利用分隔符切分所述文本記錄,使得所述文本記錄成為分隔符和單詞間隔的序列,該序列稱為原始文本序列,所述單元有兩種類型分隔符和單詞;(3)在所述原始文本序列中找到一個(gè)與其它原始文本序列相似度最高的序列,稱為核心序列;(4)將每條原始文本序列以所述核心序列為標(biāo)準(zhǔn),逐一對(duì)齊到一起,形成一組由多個(gè)對(duì)齊的數(shù)據(jù)欄銜接而成的對(duì)齊文本序列;(5)對(duì)每個(gè)數(shù)據(jù)欄計(jì)算信息熵,用信息熵識(shí)別出該數(shù)據(jù)欄是模板字段欄或數(shù)據(jù)字段欄,由此得出模板;(6)利用所述模板完成文本數(shù)據(jù)的抽取。優(yōu)選地,所述步驟⑶包括對(duì)所述原始文本序列中的每一對(duì)做相似性比對(duì),每對(duì)原始文本序列都得到一個(gè)相似度分值,因此,對(duì)每條原始文本序列,在與其它原始文本序列比對(duì)后,獲得一個(gè)累計(jì)分值,將累計(jì)分值最高的原始文本序列作為核心序列。優(yōu)選地,所述步驟(4)包括首先取出核心序列并把它加入到對(duì)齊文本序列中,然后每次從剩下的原始文本序列中取出一條與所述對(duì)齊文本序列對(duì)齊,得到一組新的對(duì)齊文本序列,直到把所有原始文本序列都對(duì)齊到一起,形成一組對(duì)齊文本序列。優(yōu)選地,所述步驟(5)包括先將數(shù)據(jù)欄中的所有單元?jiǎng)澐殖扇舾傻葍r(jià)類,再計(jì)算數(shù)據(jù)欄的信息熵。更優(yōu)選地,還設(shè)定一個(gè)閾值,若數(shù)據(jù)欄的信息熵高于該閾值,則認(rèn)為該數(shù)據(jù)欄是數(shù)據(jù)字段欄;若數(shù)據(jù)欄的信息熵不高于該閾值,則認(rèn)為該數(shù)據(jù)欄是模板字段欄。優(yōu)選地,所述步驟(6)包括將待抽取的文本記錄先用分隔符切分,形成單元的序列,再將這條序列與所述模板進(jìn)行匹配比對(duì)。有益效果本發(fā)明可與現(xiàn)有的很多基于結(jié)構(gòu)化抽取規(guī)則的Web信息抽取系統(tǒng)相融合,大幅提高這些基于結(jié)構(gòu)抽取規(guī)則系統(tǒng)抽取數(shù)據(jù)的精細(xì)度和準(zhǔn)確度,避免了基于結(jié)構(gòu)化規(guī)則的Web信息抽取系統(tǒng)需要對(duì)所抽取出的粗粒度、半結(jié)構(gòu)化或非結(jié)構(gòu)化的數(shù)據(jù)進(jìn)行二次過(guò)濾和抽取處理的繁瑣過(guò)程;同時(shí)由于該方法是基于自動(dòng)化的模板生成和抽取處理,不需要人工編寫(xiě)文本數(shù)據(jù)抽取規(guī)則或者人工標(biāo)注樣本文本數(shù)據(jù),因而,可大大提供Web信息抽取的自動(dòng)化程度,減輕用戶人工操作的負(fù)擔(dān)。
圖I為本發(fā)明的流程圖;圖2為原始文本數(shù)據(jù)記錄示例圖;圖3為文本記錄序列的切分處理圖;圖4為基于核心多文本序列比對(duì)后的對(duì)齊文本序列;圖5為一個(gè)經(jīng)過(guò)模板推導(dǎo)處理后所得到的模板。
具體實(shí)施例方式下面結(jié)合附圖和具體實(shí)施例,進(jìn)一步闡明本發(fā)明,應(yīng)理解這些實(shí)施例僅用于說(shuō)明本發(fā)明而不用于限制本發(fā)明的范圍,在閱讀了本發(fā)明之后,本領(lǐng)域技術(shù)人員對(duì)本發(fā)明的各 種等價(jià)形式的修改均落于本申請(qǐng)所附權(quán)利要求所限定的范圍。本發(fā)明的基本技術(shù)方案是對(duì)一組小樣本文本數(shù)據(jù),采用非監(jiān)督式小樣本機(jī)器學(xué)習(xí)(unsupervised small sample learning)方法,完成自動(dòng)化的樣本分析和文本數(shù)據(jù)抽取模版推導(dǎo)過(guò)程。該方法中所使用的小樣本的數(shù)量依賴于樣本數(shù)據(jù)整齊規(guī)范的程度,可在數(shù)個(gè)到20-30以內(nèi)?;谝唤M小數(shù)量的文本數(shù)據(jù)樣本,該方法首先采用所研究的核心多序列比對(duì)方法對(duì)文本樣本進(jìn)行多文本序列對(duì)齊處理,然后根據(jù)對(duì)齊欄在樣本中的統(tǒng)計(jì)特征,用信息熵識(shí)別出每個(gè)模板字段欄和數(shù)據(jù)字段欄,以此推導(dǎo)出模板;最后應(yīng)用自動(dòng)化推導(dǎo)和生成的文本數(shù)據(jù)抽取模板來(lái)從記錄中抽取數(shù)據(jù)字段?;镜奶幚磉^(guò)程如圖I所示。本發(fā)明中的自動(dòng)化文本數(shù)據(jù)抽取模板生成和數(shù)據(jù)抽取的主要技術(shù)方案和處理過(guò)程如下。要推導(dǎo)并生成抽取模板,首先要能識(shí)別出樣本中包含的某種模板。例如,圖2示例中,人可以很容易地看出這個(gè)樣本中蘊(yùn)含的模板,但是要靠程序自動(dòng)識(shí)別出這個(gè)模板并不容易。我們首先采用多序列比對(duì)方法,把同一類型的字段對(duì)齊到一起。以前述圖書(shū)樣本為例,就是要把“出版日期”和“作者”字段分別對(duì)齊到一起,進(jìn)一步就得到有代表性的兩個(gè)欄。經(jīng)過(guò)這樣的對(duì)齊處理后,將為下一步識(shí)別模板提供基礎(chǔ)。多序列比對(duì)得到一組“對(duì)齊文本序列(aligned text sequence) ”,由若干個(gè)對(duì)齊的數(shù)據(jù)欄銜接而成。然后將基于對(duì)齊文本序列中各個(gè)數(shù)據(jù)欄(簡(jiǎn)稱“欄”)的統(tǒng)計(jì)特征,弓丨入一種“信息熵”度量方法,基于該信息熵進(jìn)一步確定每個(gè)欄是屬于模板字段欄還是數(shù)據(jù)字段欄。對(duì)齊文本序列中欄的個(gè)數(shù)稱為對(duì)齊文本序列的長(zhǎng)度,而欄中單元的個(gè)數(shù)稱為對(duì)齊文本序列的高度。我們?yōu)閷?duì)齊文本序列中的每個(gè)欄計(jì)算信息熵,以此來(lái)量度欄內(nèi)的單元的不一致性。信息熵越高,不一致性的程度越大,這個(gè)欄是數(shù)據(jù)字段欄的可能性越大;反之,則這個(gè)欄是模板字段欄的可能性越大。設(shè)定一個(gè)閾值,然后根據(jù)欄的信息熵的高低來(lái)決定某一欄是模板字段欄還是數(shù)據(jù)字段欄。經(jīng)過(guò)多序列比對(duì)把文本數(shù)據(jù)欄對(duì)齊后,為了識(shí)別出具體的模板,我們需要確定模板字段和數(shù)據(jù)字段。模板字段就是在所有記錄中保持不變或者基本不變的字段,而記錄的數(shù)據(jù)字段在所有的記錄中彼此不一致。對(duì)對(duì)齊文本序列再加以一些后續(xù)處理,就得到了樣本所蘊(yùn)含的模板。模板是經(jīng)過(guò)后續(xù)處理的對(duì)齊文本序列,這個(gè)序列中的每一欄都有一個(gè)屬性值來(lái)標(biāo)志這個(gè)欄是屬于模板還是屬于數(shù)據(jù)。用所產(chǎn)生的模板進(jìn)行數(shù)據(jù)字段抽取處理時(shí),只需要把記錄和對(duì)齊文本序列做比對(duì)。若記錄中的字段與模板字段欄對(duì)齊到了一起,就認(rèn)為這個(gè)字段屬于模板字段。識(shí)別出記錄中所有的模板字段之后,剩下來(lái)的就是數(shù)據(jù)字段,抽取也就完成了。本發(fā)明中的文本數(shù)據(jù)抽取模板生成和抽取處理主要過(guò)程如圖I所示,包括文本記錄序列切分、原始文本多序列比對(duì)、模板推導(dǎo)與生成、以及文本數(shù)據(jù)字段抽取等步驟。以下詳細(xì)敘述各個(gè)主要的處理步驟和方法。I.文本記錄序列切分進(jìn)行序列比對(duì)的第一步是確定比對(duì)的文本 單元。通常情況下,比對(duì)的單元是單個(gè)字符。但是在本方法中,比對(duì)的單元并不是單個(gè)字符。我們利用分隔符切分記錄,使得記錄成為分隔符和單詞間隔的序列。圖3顯示了一條記錄及其被切分之后形成的序列(用下劃線“ ”來(lái)表示空格)。這樣的序列我們稱為“原始文本序列”以區(qū)別于后面要提到的“對(duì)齊文本序列”。在文本記錄序列切分中,我們使用了本領(lǐng)域技術(shù)人員熟知的語(yǔ)義實(shí)體識(shí)別方法。以圖3示例來(lái)說(shuō),2009-09-01是一個(gè)日期的語(yǔ)義實(shí)體,我們不能夠用把它切分成5個(gè)單元。相反地,我們把它的整體識(shí)別為一個(gè)日期。我們構(gòu)建一個(gè)語(yǔ)義實(shí)體庫(kù),庫(kù)中的每個(gè)語(yǔ)義實(shí)體由一個(gè)或多個(gè)正則表達(dá)式來(lái)表示。這些語(yǔ)義實(shí)體包括數(shù)字、日期、時(shí)間、金額、英文單詞或短語(yǔ)等等。2.基于核心序列法的多文本序列比對(duì)2. I核心序列法方法概述設(shè)小樣本學(xué)習(xí)時(shí)有η條原始文本序列,所有序列的最大單元數(shù)為m(當(dāng)序列單元數(shù)不一致時(shí),進(jìn)行比對(duì)時(shí)會(huì)插入空位以保證兩者長(zhǎng)度一致)。所謂核心序列,就是在這組序列中找到一個(gè)與其他序列相似度最高的那個(gè)序列,作為其他文本序列比對(duì)時(shí)看齊的標(biāo)準(zhǔn)。為了得到這個(gè)核心序列,首先對(duì)η條原始文本序列中的每一對(duì)通過(guò)“動(dòng)態(tài)規(guī)劃”方法(該方法是本領(lǐng)域技術(shù)人員熟知的)做相似性比對(duì)并得到一個(gè)相似度分值f(sa,sb), a, b=l, 2,-,η,其中\(zhòng)和sb分別表示兩條不同的原始文本序列。因此,對(duì)每條原始文本序列Sa,它與剩余
的η-I條原始文本序列比對(duì)后,將可以獲得一個(gè)累計(jì)分值fb=l, 2,…,n,b Φ a。
我們根據(jù)這個(gè)原始文本序列的累計(jì)分值從高到低對(duì)所有的原始文本序列排序,分值最高的那條原始文本序列就被當(dāng)作“核心序列”,這是第一輪比對(duì)處理。在第二輪比對(duì)中,我們以核心序列為標(biāo)準(zhǔn),把其余n-Ι條原始文本序列與核心序列逐條對(duì)齊到一起,形成一組對(duì)齊文本序列。具體過(guò)程如下首先取出核心序列并把它加入到對(duì)齊文本序列(此時(shí),這組對(duì)齊的文本序列只含一條原始文本序列)。接下來(lái)每次從剩下的原始文本序列中取出一條與前面得到的對(duì)齊文本序列對(duì)齊,得到一組新的對(duì)齊文本序列,以此類推,直到把所有n-Ι條文本序列都對(duì)齊到一起。圖3顯示了多條原始文本序列對(duì)齊后得到的一組對(duì)齊文本序列。 2. 2序列相似性度量與核心序列選擇在核心序列法中有兩輪比對(duì)。第一輪在任意兩條原始文本序列之間做相似性比較來(lái)選取核心序列。原始文本序列中的單元有兩種類型分隔符和單詞。為了完成序列相似性比較,我們需要先定義分別來(lái)自兩個(gè)序列\(zhòng)和Sb中的單元ei和h之間的相似度,其中i和j = l,2,···,!!!。首先,分隔符與單詞之間的相似度為O;然后兩個(gè)不同的分隔符之間的相似度也為O,比如“,”和“?!钡南嗨贫染褪荗。但是為了強(qiáng)化這種不同單元之間在相似性比較時(shí)的差異,對(duì)以上兩種情況,我們的打分函數(shù)將把其相似性從O改為-100,作為強(qiáng)化其不相似性的懲罰分。此外,我們把兩個(gè)單詞之間的相似度定義為WordSim(ei,ej),同時(shí)把兩個(gè)相同分隔符間的相似度定義為DelimitSim(ei,ej);于是任意兩個(gè)單元&和e」之間的相似度UnitSim(ei, e」)可用以下公式定義
權(quán)利要求
1.一種小樣本自動(dòng)化Web文本數(shù)據(jù)抽取模板生成與抽取方法,包括如下步驟 (1)選取一組文本數(shù)據(jù)樣本,該文本數(shù)據(jù)樣本包括多條文本記錄; (2)確定比對(duì)的單元利用分隔符切分所述文本記錄,使得所述文本記錄成為分隔符和單詞間隔的序列,該序列稱為原始文本序列,所述單元有兩種類型分隔符和單詞; (3)在所述原始文本序列中找到一個(gè)與其它原始文本序列相似度最高的序列,稱為核心序列; (4)將每條原始文本序列以所述核心序列為標(biāo)準(zhǔn),逐一對(duì)齊到一起,形成一組由多個(gè)對(duì)齊的數(shù)據(jù)欄銜接而成的對(duì)齊文本序列; (5)對(duì)每個(gè)數(shù)據(jù)欄計(jì)算信息熵,用信息熵識(shí)別出該數(shù)據(jù)欄是模板字段欄或數(shù)據(jù)字段欄,由此得出模板; (6)利用所述模板完成文本數(shù)據(jù)的抽取。
2.根據(jù)權(quán)利要求I所述一種小樣本自動(dòng)化Web文本數(shù)據(jù)抽取模板生成與抽取方法,其特征在于所述步驟(3)包括 對(duì)所述原始文本序列中的每一對(duì)做相似性比對(duì),每對(duì)原始文本序列都得到一個(gè)相似度分值,因此,對(duì)每條原始文本序列,在與其它原始文本序列比對(duì)后,獲得一個(gè)累計(jì)分值,將累計(jì)分值最高的原始文本序列作為核心序列。
3.根據(jù)權(quán)利要求I所述一種小樣本自動(dòng)化Web文本數(shù)據(jù)抽取模板生成與抽取方法,其特征在于所述步驟(4)包括首先取出核心序列并把它加入到對(duì)齊文本序列中,然后每次從剩下的原始文本序列中取出一條與所述對(duì)齊文本序列對(duì)齊,得到一組新的對(duì)齊文本序列,直到把所有原始文本序列都對(duì)齊到一起,形成一組對(duì)齊文本序列。
4.根據(jù)權(quán)利要求I所述一種小樣本自動(dòng)化Web文本數(shù)據(jù)抽取模板生成與抽取方法,其特征在于所述步驟(5)包括先將數(shù)據(jù)欄中的所有單元?jiǎng)澐殖扇舾傻葍r(jià)類,再計(jì)算數(shù)據(jù)欄的信息熵。
5.根據(jù)權(quán)利要求I所述一種小樣本自動(dòng)化Web文本數(shù)據(jù)抽取模板生成與抽取方法,其特征在于所述步驟(6)包括將待抽取的文本記錄先用分隔符切分,形成單元的序列,再將這條序列與所述模板進(jìn)行匹配比對(duì)。
6.根據(jù)權(quán)利要求4所述一種小樣本自動(dòng)化Web文本數(shù)據(jù)抽取模板生成與抽取方法,其特征在于還設(shè)定一個(gè)閾值,若數(shù)據(jù)欄的信息熵高于該閾值,則認(rèn)為該數(shù)據(jù)欄是數(shù)據(jù)字段欄;若數(shù)據(jù)欄的信息熵不高于該閾值,則認(rèn)為該數(shù)據(jù)欄是模板字段欄。
全文摘要
本發(fā)明公開(kāi)了一種基于小樣本的自動(dòng)化Web文本數(shù)據(jù)抽取模板生成與抽取方法,包括如下步驟選取一組文本數(shù)據(jù)樣本,該文本數(shù)據(jù)樣本包括多條文本記錄;確定比對(duì)的單元利用分隔符切分所述文本記錄,使得所述文本記錄成為分隔符和單詞間隔的序列,該序列稱為原始文本序列;在所述原始文本序列中找到一個(gè)與其它原始文本序列相似度最高的序列,稱為核心序列;將每條原始文本序列以所述核心序列為標(biāo)準(zhǔn),逐一對(duì)齊到一起,形成一組由多個(gè)對(duì)齊的數(shù)據(jù)欄銜接而成的對(duì)齊文本序列;對(duì)每個(gè)數(shù)據(jù)欄計(jì)算信息熵,用信息熵識(shí)別出該數(shù)據(jù)欄是模板字段欄或數(shù)據(jù)字段欄,由此得出模板;利用所述模板完成文本數(shù)據(jù)的抽取。本發(fā)明能自動(dòng)完成細(xì)粒度的文本數(shù)據(jù)的抽取處理。
文檔編號(hào)G06F17/30GK102929930SQ20121035775
公開(kāi)日2013年2月13日 申請(qǐng)日期2012年9月24日 優(yōu)先權(quán)日2012年9月24日
發(fā)明者黃宜華, 袁春風(fēng), 劉玉龍, 施生生 申請(qǐng)人:南京大學(xué)