專利名稱:信息抽取方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)應(yīng)用領(lǐng)域,尤其涉及一種信息抽取方法和裝置。
背景技術(shù):
隨著信息產(chǎn)業(yè)和通訊技術(shù)的飛速發(fā)展,互聯(lián)網(wǎng)已經(jīng)成為重要的知識(shí)庫和信息來源。然而,隨著互聯(lián)網(wǎng)上信息量日益龐大,互聯(lián)網(wǎng)中數(shù)據(jù)的組織類型更加多樣化并且信息缺乏統(tǒng)一管理,人們對(duì)于高效率的信息抽取技術(shù)的需求越來越迫切?;诰W(wǎng)頁結(jié)構(gòu)特征分析的方法,采用統(tǒng)計(jì)聚類的思想,查全率較高,但在抽取信息時(shí)具有一定的盲目性,經(jīng)常抽取出大量的無用信息?;陔[馬爾科夫模型(Hidden MarkovModel,簡稱HMM)的信息抽取方法,需要相關(guān)領(lǐng)域的專家事先構(gòu)建出該領(lǐng)域的最優(yōu)數(shù)學(xué)模型,且模型參數(shù)的制定需要大量的樣本數(shù)據(jù),抽取效率較低?;诒倔w實(shí)現(xiàn)的表格信息抽取方法,不依賴于所抽取的WEB頁面的設(shè)計(jì)格式,也沒有對(duì)其內(nèi)容提出任何表示限制,但該方法只適用于一定的應(yīng)用領(lǐng)域,當(dāng)應(yīng)用領(lǐng)域改變時(shí)相應(yīng)的本體需要重新構(gòu)造?;谧匀徽Z言處理方式的信息抽取方法適用于含有大量自由文本且句子成分完整的Web頁面,但該方法沒有充分利用Web文檔的層次結(jié)構(gòu),且處理速度慢,導(dǎo)致該方法的適用范圍較小??梢姡F(xiàn)有的信息抽取技術(shù)難以同時(shí)滿足網(wǎng)頁信息自動(dòng)抽取中查全率與準(zhǔn)確率高、抽取信息量大、用戶負(fù)擔(dān)輕和無關(guān)于應(yīng)用領(lǐng)域等要求。
發(fā)明內(nèi)容
本發(fā)明提供了一種信息抽取方法和裝置,解決了現(xiàn)有信息抽取技術(shù)無法滿足實(shí)際應(yīng)用需要的問題。一種信息抽取方法,包括:對(duì)超文本標(biāo)記語言(HTML)文檔進(jìn)行預(yù)處理,得到規(guī)范的可擴(kuò)展超文本置標(biāo)語言(XHTML)文檔;對(duì)所述XHTML文檔進(jìn)行解析,獲取樣本實(shí)例;通過歸納學(xué)習(xí)所述樣本實(shí)例,得出公共XML路徑語言(XPATH);生成擴(kuò)展樣式表轉(zhuǎn)換語言(XSLT)抽取規(guī)則;根據(jù)所述XSLT抽取規(guī)則和所述XPATH,通過輸出文件函數(shù)進(jìn)行信息抽取。優(yōu)選的,所述對(duì)HTML文檔進(jìn)行預(yù)處理,得到規(guī)范的XHTML文檔包括:將所述HTML文檔解析成一顆HTML文檔對(duì)象模塊(HTMLDOM)樹,并獲取該樹的根元素;為所述HTML文檔添加XML文檔聲明和XSLT規(guī)則轉(zhuǎn)換文件;從所述樹的樹根開始遞歸遍歷所述HTMLDOM樹,形成所述規(guī)范的XHTML文件。優(yōu)選的,從所述樹的樹根開始遞歸遍歷所述HTMLDOM樹,形成所述規(guī)范的XHTML文件包括:從樹根開始遞歸遍歷所述HTMLDOM樹,判斷節(jié)點(diǎn)類型;
對(duì)節(jié)點(diǎn)類型為文本節(jié)點(diǎn)的節(jié)點(diǎn),用實(shí)體引用代替文本節(jié)點(diǎn)的特殊字符,并打印所述文本節(jié)點(diǎn);對(duì)節(jié)點(diǎn)類型為有用元素的元素節(jié)點(diǎn),在取出所述元素節(jié)點(diǎn)之前先打印“〈”,獲得該元素節(jié)點(diǎn)的名稱,同時(shí)將該元素節(jié)點(diǎn)的名稱小寫化;對(duì)節(jié)點(diǎn)類型為無用元素的元素節(jié)點(diǎn),直接過濾該元素節(jié)點(diǎn)。優(yōu)選的,所述從所述樹的樹根開始遞歸遍歷所述HTMLDOM樹,形成所述規(guī)范的XHTML文件還包括:對(duì)于有子節(jié)點(diǎn)的節(jié)點(diǎn)類型為有用元素的元素節(jié)點(diǎn),以同樣方式遞歸打印出所有孩子節(jié)點(diǎn),直到遍歷結(jié)束,關(guān)閉所述元素節(jié)點(diǎn)。優(yōu)選的,所述對(duì)所述XHTML文檔進(jìn)行解析,獲取樣本實(shí)例的步驟包括:將頁面清洗得到的XHTML文檔解析成XMLDOM樹,獲得該樹的根節(jié)點(diǎn)(ROOT);深度優(yōu)先遍歷所述XMLDOM樹;獲得根節(jié)點(diǎn)的名稱;在所述根節(jié)點(diǎn)有孩子節(jié)點(diǎn)時(shí)遞歸處理該節(jié)點(diǎn)的孩子節(jié)點(diǎn),在所述根節(jié)點(diǎn)沒有孩子節(jié)點(diǎn)時(shí)直接加到當(dāng)前節(jié)點(diǎn)下;把所有子節(jié)點(diǎn)加載到JTREE的根節(jié)點(diǎn)中生成整棵樹。優(yōu)選的,所述通過歸納學(xué)習(xí)所述樣本實(shí)例,得出公共XPATH包括:對(duì)于兩個(gè)樣本實(shí)例的XPATH表達(dá)式,從根節(jié)點(diǎn)開始比較;如果節(jié)點(diǎn)名稱和位置序號(hào)都一致,則計(jì)入公共XPATH表達(dá)式;若某個(gè)XPATH的節(jié)點(diǎn)名稱相同,而位置序號(hào)不同,則獲得該節(jié)點(diǎn)及其所有的兄弟節(jié)點(diǎn),將該節(jié)點(diǎn)的孩子序號(hào)置為0,并寫入公共XPATH表達(dá)式中;依次比較直到XPATH表達(dá)式結(jié)束。優(yōu)選的,所述生成XSLT抽取規(guī)則包括:定義三個(gè)變量,使用該三個(gè)變量保存起始孩子節(jié)點(diǎn)序號(hào)、孩子節(jié)點(diǎn)數(shù)以及步長值;設(shè)置公共路徑里的參數(shù),初始值為起始孩子節(jié)點(diǎn)序號(hào);模板運(yùn)行一次后將起始孩子節(jié)點(diǎn)序號(hào)按步長值增加,得到的結(jié)果作為參數(shù)遞歸調(diào)用模板,完成多條記錄數(shù)的自動(dòng)抽取。優(yōu)選的,所述根據(jù)所述XSLT抽取規(guī)則和所述XPATH,通過輸出文件函數(shù)進(jìn)行信息抽取的步驟之后,還包括:將抽取結(jié)果存入XML文件中,用于觀察數(shù)據(jù)抽取的正確性和二次處理。本發(fā)明還提供了一種信息抽取裝置,包括: 頁面預(yù)處理模塊,用于對(duì)HTML文檔進(jìn)行預(yù)處理,得到規(guī)范的XHTML文檔;網(wǎng)頁樹構(gòu)建模塊,用于對(duì)所述XHTML文檔進(jìn)行解析,獲取樣本實(shí)例;XPATH構(gòu)建模塊,用于通過歸納學(xué)習(xí)所述樣本實(shí)例,得出公共XPATH ;抽取規(guī)則形成模塊,用于生成XSLT抽取規(guī)則;信息抽取模塊,用于根據(jù)所述XSLT抽取規(guī)則和所述XPATH,通過輸出文件函數(shù)進(jìn)行信息抽取。本發(fā)明提供了一種信息抽取方法和裝置,對(duì)HTML文檔進(jìn)行預(yù)處理,得到規(guī)范的XHTML文檔,然后對(duì)所述XHTML文檔進(jìn)行解析,獲取樣本實(shí)例,通過歸納學(xué)習(xí)所述樣本實(shí)例,得出公共XPATH,并生成XSLT抽取規(guī)則,最后根據(jù)所述XSLT抽取規(guī)則和所述XPATH,通過輸出文件函數(shù)進(jìn)行信息抽取,實(shí)現(xiàn)了高查全率和查準(zhǔn)率的信息抽取,解決了現(xiàn)有信息抽取技術(shù)無法滿足實(shí)際應(yīng)用需要的問題。
圖1為本發(fā)明的實(shí)施例一提供的一種信息抽取裝置的結(jié)構(gòu)示意圖;圖2為本發(fā)明的實(shí)施例一提供的一種信息抽取方法的流程圖;圖3為本發(fā)明的實(shí)施例一提供的一種信息抽取方法的實(shí)現(xiàn)原理圖;圖4為本發(fā)明的實(shí)施例二中實(shí)驗(yàn)結(jié)果示意圖。
具體實(shí)施例方式現(xiàn)有的信息抽取技術(shù)難以同時(shí)滿足網(wǎng)頁信息自動(dòng)抽取中查全率與準(zhǔn)確率高、抽取信息量大、用戶負(fù)擔(dān)輕和無關(guān)于應(yīng)用領(lǐng)域等要求。為了解決上述問題,本發(fā)明的實(shí)施例提供了一種信息抽取方法和裝置。下文中將結(jié)合附圖對(duì)本發(fā)明的實(shí)施例進(jìn)行詳細(xì)說明。需要說明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互任意組合。首先結(jié)合附圖,對(duì)本發(fā)明的實(shí)施例一進(jìn)行說明。本發(fā)明實(shí)施例提供了一種信息抽取裝置,該裝置的結(jié)構(gòu)如圖1所示,包括:頁面預(yù)處理模塊101,用于對(duì)HTML文檔進(jìn)行預(yù)處理,得到規(guī)范的XHTML文檔;網(wǎng)頁樹構(gòu)建模塊102,用于對(duì)所述XHTML文檔進(jìn)行解析,獲取樣本實(shí)例;XPATH構(gòu)建模塊103,用于通過歸納學(xué)習(xí)所述樣本實(shí)例,得出公共XPATH ;抽取規(guī)則形成模塊104,用于生成XSLT抽取規(guī)則;信息抽取模塊105,用于根據(jù)所述XSLT抽取規(guī)則和所述XPATH,通過輸出文件函數(shù)進(jìn)行信息抽取。結(jié)合圖1所示的信息抽取裝置,本發(fā)明的實(shí)施例還提供了一種信息抽取方法,使用該方法完成WEB信息抽取的流程如圖2所示,包括: 步驟201、對(duì)HTML文檔進(jìn)行預(yù)處理,得到規(guī)范的XHTML文檔;本步驟提供一種HTML頁面清洗算法,主要實(shí)現(xiàn)步驟如下:1、利用NekoHtml把HTML文檔解析成一棵HTMLDOM樹,并獲得該樹的根元素。2、為文檔添加XML文檔聲明和XSLT規(guī)則轉(zhuǎn)換文件。3、從樹根開始,遞歸遍歷HTMLDOM樹,根據(jù)節(jié)點(diǎn)類型進(jìn)行判斷處理。若是文本節(jié)點(diǎn),則用實(shí)體引用代替特殊字符,并打印文本節(jié)點(diǎn)。若是元素節(jié)點(diǎn),則需判斷節(jié)點(diǎn)類型是否是無用元素。若是無用節(jié)點(diǎn),如Script、META、Form、STYLE等,則直接過濾;否則,在取出元素節(jié)點(diǎn)之前先打印“〈”,利用DOM中的getNodeName ()方法獲得元素節(jié)點(diǎn)名稱,同時(shí)將其名稱小寫化。如果有用元素類型的元素節(jié)點(diǎn)有子節(jié)點(diǎn),則以同樣方式遞歸打印出所有孩子節(jié)點(diǎn),直到遍歷結(jié)束,關(guān)閉元素節(jié)點(diǎn)。4、待整個(gè)HTMLDOM樹遍歷結(jié)束,則形成了規(guī)范的XHTML文檔。
步驟202、對(duì)所述XHTML文檔進(jìn)行解析,獲取樣本實(shí)例;本步驟中,對(duì)XHTML文檔進(jìn)行解析,使用JTREE構(gòu)建可視化的XML文檔,以便獲得樣本實(shí)例,減輕用戶負(fù)擔(dān)。構(gòu)建網(wǎng)頁分析樹流程如下:首先,將步驟201之后得到的XHTML文檔解析成XMLDOM樹,獲得該樹的根節(jié)點(diǎn)ROOT。其次,深度優(yōu)先遍歷該XMLDOM樹。獲得根節(jié)點(diǎn)的名稱,如果該根節(jié)點(diǎn)有孩子節(jié)點(diǎn),遞歸處理該根節(jié)點(diǎn)的孩子節(jié)點(diǎn)。如果該根節(jié)點(diǎn)沒有孩子節(jié)點(diǎn),則直接將沒有子節(jié)點(diǎn)的元素節(jié)點(diǎn)加到根節(jié)點(diǎn)下。最后把所有孩子節(jié)點(diǎn)加載到JTREE的根節(jié)點(diǎn)中生成整棵樹步驟203、通過歸納學(xué)習(xí)所述樣本實(shí)例,得出公共XPATH ;在獲得所有的樣本實(shí)例后,通過歸納學(xué)習(xí)得出公共XPATH (待抽取節(jié)點(diǎn)的路徑,使用XPATH來定位)。例如:對(duì)于兩個(gè)樣本實(shí)例的XPATH表達(dá)式,從根節(jié)點(diǎn)開始比較。如果節(jié)點(diǎn)名稱和位置序號(hào)都一致,則將節(jié)點(diǎn)的路徑XPATH計(jì)入公共XPATH表達(dá)式,形如:/root/nodel/node2。若某個(gè)XPATH的節(jié)點(diǎn)名稱相同,而位置序號(hào)不同(在樹中同一層的不同兄弟節(jié)點(diǎn)位置序號(hào)不同),則說明待抽取的信息位于該樹節(jié)點(diǎn)的及其兄弟節(jié)點(diǎn)為父節(jié)點(diǎn)的子樹中;此時(shí),繼續(xù)獲得該節(jié)點(diǎn)及其所有的兄弟節(jié)點(diǎn),并將該節(jié)點(diǎn)的孩子序號(hào)置為0,并寫入公共XPATH表達(dá)式中。依次比較直到XPATH表達(dá)式結(jié)束。步驟204、生成XSLT抽取規(guī)則;本步驟可采用基于樹的絕對(duì)路徑定位方式,這種方式最為直觀和準(zhǔn)確,運(yùn)行效率也最聞。在信息抽取中,一般記錄條數(shù)較多,而在XSLT中,當(dāng)XSLT處理器為執(zhí)行轉(zhuǎn)換而處理樣式表的時(shí)候,它的值每次都可能發(fā)生變化。但是,一旦在某個(gè)轉(zhuǎn)換中設(shè)定了這個(gè)值,就不再發(fā)生變化。因此,要把所有的記錄條數(shù)全部抽取出來,必須使用模板遞歸調(diào)用。首先定義三個(gè)變量,使用這三個(gè)變量保存起始孩子節(jié)點(diǎn)序號(hào)、孩子節(jié)點(diǎn)數(shù)以及步長值。然后設(shè)置公共路徑里的參數(shù),初始值為起始孩子節(jié)點(diǎn)序號(hào),模板(即某個(gè)待抽取記錄的抽取規(guī)則模板,本質(zhì)一個(gè)xml文件,使用xslt進(jìn)行處理)運(yùn)行一次后將起始孩子節(jié)點(diǎn)序號(hào)按步長值增加,得到的結(jié)果作為參數(shù)遞歸調(diào)用模板,完成多條記錄數(shù)的自動(dòng)抽取。步驟205、根據(jù)所述XSLT抽取規(guī)則和所述XPATH,通過輸出文件函數(shù)進(jìn)行信息抽取;本步驟中,根據(jù)抽取規(guī)則庫里的規(guī)則,利用XSLT和XPATH在數(shù)據(jù)轉(zhuǎn)換和數(shù)據(jù)定位方面的優(yōu)勢(shì),通過輸出文件函數(shù)實(shí)現(xiàn)信息抽取。優(yōu)選的,還可將抽取結(jié)果存入XML文件中,用于觀察數(shù)據(jù)抽取的正確性和二次處理。本發(fā)明實(shí)施例中,可根據(jù)實(shí)際需要自定義抽取規(guī)則以構(gòu)成抽取規(guī)則庫。本發(fā)明實(shí)施例的實(shí)現(xiàn)原理如圖3所示。下面結(jié)合附圖,對(duì)本發(fā)明的實(shí)施例二進(jìn)行說明。本發(fā)明實(shí)施例提供了 一種信息抽取方法,該信息抽取方法建立在待抽取的網(wǎng)頁庫已獲得的前提下,通過頁面預(yù)處理器將源HTML頁面標(biāo)準(zhǔn)化,補(bǔ)充HTML不規(guī)則標(biāo)簽,過濾無用元素節(jié)點(diǎn)等。如果該類型頁面在抽取規(guī)則庫中不存在,利用頁面結(jié)構(gòu)解析器將網(wǎng)頁解析成為JTree,并根據(jù)樣本實(shí)例學(xué)習(xí)公共XPATH,從而形成提取規(guī)則。如果存在抽取規(guī)則,則直接進(jìn)行抽取。利用該原型系統(tǒng)進(jìn)行了對(duì)4個(gè)網(wǎng)站的26個(gè)頁面的進(jìn)行了實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果參見圖4,實(shí)驗(yàn)結(jié)果以準(zhǔn)確率(P)和召回率(R)來衡量。另外,引入一個(gè)準(zhǔn)確率和召回率的加權(quán)平均值F,其中待抽取數(shù)據(jù)共423個(gè),當(dāng)其提供的樣本實(shí)例數(shù)為2個(gè)時(shí),實(shí)際抽出共366個(gè),正確抽出共360個(gè),平均F值為75.23%;當(dāng)其提供的樣本實(shí)例為3個(gè)時(shí),平均查全率為99.17%,平均查準(zhǔn)率為99.17%,平均F值為99.17%。對(duì)于一般網(wǎng)站而言,一個(gè)信息點(diǎn)本方法最多提供3個(gè)樣本實(shí)例,便可完成較高查全率和查準(zhǔn)率的抽取。本發(fā)明的實(shí)施例提供了一種信息抽取方法和裝置,對(duì)HTML文檔進(jìn)行預(yù)處理,得到規(guī)范的XHTML文檔,然后對(duì)所述XHTML文檔進(jìn)行解析,獲取樣本實(shí)例,通過歸納學(xué)習(xí)所述樣本實(shí)例,得出公共XPATH,并生成XSLT抽取規(guī)則,最后根據(jù)所述XSLT抽取規(guī)則和所述XPATH,通過輸出文件函數(shù)進(jìn)行信息抽取,實(shí)現(xiàn)了高查全率和查準(zhǔn)率的信息抽取,解決了現(xiàn)有信息抽取技術(shù)無法滿足實(shí)際應(yīng)用需要的問題。本領(lǐng)域普通技術(shù)人員可以理解上述實(shí)施例的全部或部分步驟可以使用計(jì)算機(jī)程序流程來實(shí)現(xiàn),所述計(jì)算機(jī)程序可以存儲(chǔ)于一計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,所述計(jì)算機(jī)程序在相應(yīng)的硬件平臺(tái)上(如系統(tǒng)、設(shè)備、裝置、器件等)執(zhí)行,在執(zhí)行時(shí),包括方法實(shí)施例的步驟之
一或其組合。可選地,上述實(shí)施例的全部或部分步驟也可以使用集成電路來實(shí)現(xiàn),這些步驟可以被分別制作成一個(gè)個(gè)集成電路模塊,或者將它們中的多個(gè)模塊或步驟制作成單個(gè)集成電路模塊來實(shí)現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。上述實(shí)施例中的各裝置/功能模塊/功能單元可以采用通用的計(jì)算裝置來實(shí)現(xiàn),它們可以集中在單個(gè)的計(jì)算裝置上,也可以分布在多個(gè)計(jì)算裝置所組成的網(wǎng)絡(luò)上。上述實(shí)施例中的各裝置/功能模塊/功能單元以軟件功能模塊的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。上述提到的計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)可以是只讀存儲(chǔ)器,磁盤或光盤等。任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以權(quán)利要求所述的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
1.一種信息抽取方法,其特征在于,包括: 對(duì)超文本標(biāo)記語言(HTML)文檔進(jìn)行預(yù)處理,得到規(guī)范的可擴(kuò)展超文本置標(biāo)語言(XHTML)文檔; 對(duì)所述XHTML文檔進(jìn)行解析,獲取樣本實(shí)例; 通過歸納學(xué)習(xí)所述樣本實(shí)例 ,得出公共XML路徑語言(XPATH); 生成擴(kuò)展樣式表轉(zhuǎn)換語言(XSLT)抽取規(guī)則; 根據(jù)所述XSLT抽取規(guī)則和所述XPATH,通過輸出文件函數(shù)進(jìn)行信息抽取。
2.根據(jù)權(quán)利要求1所述的信息抽取方法,其特征在于,所述對(duì)HTML文檔進(jìn)行預(yù)處理,得到規(guī)范的XHTML文檔包括: 將所述HTML文檔解析成一顆HTML文檔對(duì)象模塊(HTMLDOM)樹,并獲取該樹的根元素; 為所述HTML文檔添加XML文檔聲明和XSLT規(guī)則轉(zhuǎn)換文件; 從所述樹的樹根開始遞歸遍歷所述HTMLDOM樹,形成所述規(guī)范的XHTML文件。
3.根據(jù)權(quán)利要求2所述的信息抽取方法,其特征在于,從所述樹的樹根開始遞歸遍歷所述HTMLDOM樹,形成所述規(guī)范的XHTML文件包括: 從樹根開始遞歸遍歷所述HTMLDOM樹,判斷節(jié)點(diǎn)類型; 對(duì)節(jié)點(diǎn)類型為文本節(jié)點(diǎn)的節(jié)點(diǎn),用實(shí)體引用代替文本節(jié)點(diǎn)的特殊字符,并打印所述文本節(jié)點(diǎn); 對(duì)節(jié)點(diǎn)類型為有用元素的元素節(jié)點(diǎn),在取出所述元素節(jié)點(diǎn)之前先打印“〈”,獲得該元素節(jié)點(diǎn)的名稱,同時(shí)將該元素節(jié)點(diǎn)的名稱小寫化; 對(duì)節(jié)點(diǎn)類型為無用元素的元素節(jié)點(diǎn),直接過濾該元素節(jié)點(diǎn)。
4.根據(jù)權(quán)利要求3所述的信息抽取方法,其特征在于,所述從所述樹的樹根開始遞歸遍歷所述HTMLDOM樹,形成所述規(guī)范的XHTML文件還包括: 對(duì)于有子節(jié)點(diǎn)的節(jié)點(diǎn)類型為有用元素的元素節(jié)點(diǎn),以同樣方式遞歸打印出所有孩子節(jié)點(diǎn),直到遍歷結(jié)束,關(guān)閉所述元素節(jié)點(diǎn)。
5.根據(jù)權(quán)利要求1所述的信息抽取方法,其特征在于,所述對(duì)所述XHTML文檔進(jìn)行解析,獲取樣本實(shí)例的步驟包括: 將頁面清洗得到的XHTML文檔解析成XMLDOM樹,獲得該樹的根節(jié)點(diǎn)(ROOT); 深度優(yōu)先遍歷所述XMLDOM樹; 獲得根節(jié)點(diǎn)的名稱; 在所述根節(jié)點(diǎn)有孩子節(jié)點(diǎn)時(shí)遞歸處理該節(jié)點(diǎn)的孩子節(jié)點(diǎn),在所述根節(jié)點(diǎn)沒有孩子節(jié)點(diǎn)時(shí)直接加到當(dāng)前節(jié)點(diǎn)下; 把所有子節(jié)點(diǎn)加載到JTREE的根節(jié)點(diǎn)中生成整棵樹。
6.根據(jù)權(quán)利要求1所述的信息抽取方法,其特征在于,所述通過歸納學(xué)習(xí)所述樣本實(shí)例,得出公共XPATH包括: 對(duì)于兩個(gè)樣本實(shí)例的XPATH表達(dá)式,從根節(jié)點(diǎn)開始比較; 如果節(jié)點(diǎn)名稱和位置序號(hào)都一致,則計(jì)入公共XPATH表達(dá)式; 若某個(gè)XPATH的節(jié)點(diǎn)名稱相同,而位置序號(hào)不同,則獲得該節(jié)點(diǎn)及其所有的兄弟節(jié)點(diǎn),將該節(jié)點(diǎn)的孩子序號(hào)置為0,并寫入公共XPATH表達(dá)式中; 依次比較直到XPATH表達(dá)式結(jié)束。
7.根據(jù)權(quán)利要求1所述的信息抽取方法,其特征在于,所述生成XSLT抽取規(guī)則包括: 定義三個(gè)變量,使用該三個(gè)變量保存起始孩子節(jié)點(diǎn)序號(hào)、孩子節(jié)點(diǎn)數(shù)以及步長值; 設(shè)置公共路徑里的參數(shù),初始值為起始孩子節(jié)點(diǎn)序號(hào); 模板運(yùn)行一次后將起始孩子節(jié)點(diǎn)序號(hào)按步長值增加,得到的結(jié)果作為參數(shù)遞歸調(diào)用模板,完成多條記錄數(shù)的自動(dòng)抽取。
8.根據(jù)權(quán)利要求1所述的信息抽取方法,其特征在于,所述根據(jù)所述XSLT抽取規(guī)則和所述XPATH,通過輸出文件函數(shù)進(jìn)行信息抽取的步驟之后,還包括: 將抽取結(jié)果存入XML文件中,用于觀察數(shù)據(jù)抽取的正確性和二次處理。
9.一種信息抽取裝置,其特征在于,包括: 頁面預(yù)處理模塊,用于對(duì)HTML文檔進(jìn)行預(yù)處理,得到規(guī)范的XHTML文檔; 網(wǎng)頁樹構(gòu)建模塊,用于對(duì)所述XHTML文檔進(jìn)行解析,獲取樣本實(shí)例; XPATH構(gòu)建模塊,用于通過歸納學(xué)習(xí)所述樣本實(shí)例,得出公共XPATH ; 抽取 規(guī)則形成模塊,用于生成XSLT抽取規(guī)則; 信息抽取模塊,用于根據(jù)所述XSLT抽取規(guī)則和所述XPATH,通過輸出文件函數(shù)進(jìn)行信息抽取。
全文摘要
本發(fā)明提供了一種信息抽取方法和裝置。涉及計(jì)算機(jī)應(yīng)用領(lǐng)域;解決了現(xiàn)有信息抽取技術(shù)無法滿足實(shí)際應(yīng)用需要的問題。該方法包括對(duì)HTML文檔進(jìn)行預(yù)處理,得到規(guī)范的XHTML文檔;對(duì)所述XHTML文檔進(jìn)行解析,獲取樣本實(shí)例;通過歸納學(xué)習(xí)所述樣本實(shí)例,得出公共XPATH;生成XSLT抽取規(guī)則;根據(jù)所述XSLT抽取規(guī)則和所述XPATH,通過輸出文件函數(shù)進(jìn)行信息抽取。本發(fā)明提供的技術(shù)方案適用于基于網(wǎng)頁結(jié)構(gòu)的特征分析,實(shí)現(xiàn)了高查全率和查準(zhǔn)率的信息抽取。
文檔編號(hào)G06F17/30GK103092973SQ20131002840
公開日2013年5月8日 申請(qǐng)日期2013年1月24日 優(yōu)先權(quán)日2013年1月24日
發(fā)明者高濱, 劉正偉, 高飛 申請(qǐng)人:浪潮(北京)電子信息產(chǎn)業(yè)有限公司