国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于 XML 的 WEB信息自動(dòng)抽取方法的研究

2010-10-22 06:59:38劉艷柳顧軍華
關(guān)鍵詞:表達(dá)式實(shí)例網(wǎng)頁

宋 潔,張 娜,劉艷柳,顧軍華

(河北工業(yè)大學(xué) 計(jì)算機(jī)科學(xué)與軟件學(xué)院,天津 300401)

隨著互聯(lián)網(wǎng)的迅猛發(fā)展,WEB信息量呈爆炸式的增長,對(duì)信息抽取技術(shù)提出了更高的要求,如何直接而準(zhǔn)確地從海量信息中抽取出用戶感興趣的數(shù)據(jù)變得尤為重要.基于本體實(shí)現(xiàn)表格信息抽取方法[1-2]不依賴于所抽取的WEB頁面的設(shè)計(jì)格式,也沒有對(duì)其內(nèi)容提出任何表示限制,但該方法只適用于一定的應(yīng)用領(lǐng)域,當(dāng)應(yīng)用領(lǐng)域改變時(shí)相應(yīng)的本體需要重新構(gòu)造.基于樣本實(shí)例的抽取方法[3]不依賴于網(wǎng)頁的結(jié)構(gòu)特征,但這種方法需要較多的樣本實(shí)例,增加了用戶負(fù)擔(dān).基于網(wǎng)頁結(jié)構(gòu)特征分析的方法[4-5]采用統(tǒng)計(jì)聚類的思想,查全率較高,但在抽取信息時(shí)具有一定的盲目性,經(jīng)常抽取出大量的無用信息.可見,現(xiàn)有的信息抽取技術(shù)難以同時(shí)滿足網(wǎng)頁信息自動(dòng)抽取中查全率與查準(zhǔn)率高、抽取信息量大、用戶負(fù)擔(dān)輕和無關(guān)于應(yīng)用領(lǐng)域等要求.

通過對(duì)現(xiàn)有信息抽取方法的研究,本文提出了一種基于XML的WEB信息自動(dòng)抽取方法,采用標(biāo)準(zhǔn)的XML技術(shù)來解決信息抽取問題.通過頁面清洗技術(shù)將HTML文檔標(biāo)準(zhǔn)化,利用歸納學(xué)習(xí)算法得到公共路徑,獲得用戶感興趣的目標(biāo)區(qū)域,形成抽取規(guī)則庫,從而實(shí)現(xiàn)對(duì)其它同類頁面信息的自動(dòng)抽取.該方法將網(wǎng)頁結(jié)構(gòu)特征分析與歸納學(xué)習(xí)相結(jié)合,具有較高的查全率與查準(zhǔn)率;需要的樣本實(shí)例少,減輕了用戶負(fù)擔(dān);使用標(biāo)準(zhǔn)的XSLT作為信息抽取規(guī)則,復(fù)用性高、抽取結(jié)果具有自描述性.

1 信息抽取框架

本文提出的基于XML的WEB信息自動(dòng)抽取框架,包括4個(gè)功能器:頁面清洗器、頁面結(jié)構(gòu)分析器、規(guī)則學(xué)習(xí)器、抽取器,如圖1所示.其中頁面清洗器包括網(wǎng)頁URL、XHTML文檔;頁面結(jié)構(gòu)分析器主要是構(gòu)建網(wǎng)頁分析樹;規(guī)則學(xué)習(xí)器包括學(xué)習(xí)樣本實(shí)例、構(gòu)建XPATH;抽取器包括XSLT模板規(guī)則庫、抽取信息.

圖1 Web信息自動(dòng)抽取構(gòu)架Fig.1 Automatic extraction of web information architecture

2 基于XML的信息自動(dòng)抽取方法

基于XML的信息抽取方法在待抽取的數(shù)據(jù)源網(wǎng)頁URL已獲得的前提下,通過頁面清洗器將源HTML文檔標(biāo)準(zhǔn)化,過濾無用元素.如果該頁不存在抽取規(guī)則,利用頁面結(jié)構(gòu)分析器將該頁解析成一棵網(wǎng)頁分析樹,并根據(jù)樣本實(shí)例學(xué)習(xí)公共的 XPATH,從而形成該頁的抽取規(guī)則.如果已存在抽取規(guī)則,則直接進(jìn)行抽取.由于待抽取的信息大都是通過后臺(tái)數(shù)據(jù)庫產(chǎn)生,即所謂的隱藏網(wǎng)頁[6],一般有著較為統(tǒng)一的結(jié)構(gòu),因此依據(jù)生成的抽取規(guī)則,可以將網(wǎng)站中全部需要的信息抽取出來.

2.1 頁面清洗

目前WEB上的數(shù)據(jù)大多都是HTML格式的,該標(biāo)記語言缺乏對(duì)數(shù)據(jù)本身的描述,不含清晰的語義信息,對(duì)隱藏其中的數(shù)據(jù)難以檢索或抽?。S多HTML文檔沒有完全遵守W3C網(wǎng)頁標(biāo)準(zhǔn),結(jié)構(gòu)混亂,甚至含有錯(cuò)誤,無法被轉(zhuǎn)換成一棵網(wǎng)頁解析樹,因此在信息抽取前有必要進(jìn)行頁面的整理工作.

可擴(kuò)展超文本標(biāo)記語言(Extensible HyperText Markup Language,XHTML)是萬維網(wǎng)聯(lián)合會(huì)提出的新一代網(wǎng)頁標(biāo)準(zhǔn),從根本上解決了WEB文檔和其他資源描述所面臨的問題.因此在過濾腳本信息、圖像信息等無用元素的基礎(chǔ)上,將不規(guī)范HTML文檔轉(zhuǎn)換成標(biāo)準(zhǔn)的XHTML文檔是頁面清洗中的一項(xiàng)重要工作.

現(xiàn)有的WEB數(shù)據(jù)轉(zhuǎn)換工具Tidy容錯(cuò)功能比較差,直接使用Tidy工具轉(zhuǎn)換為XHTML文檔后,解析比較困難,難以進(jìn)行后續(xù)工作[7].本文給出了一種HTML頁面清洗算法,主要實(shí)現(xiàn)步驟如下.

1)利用HTML解析器把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、STYLE等,則直接過濾;否則,在取出元素節(jié)點(diǎn)之前先打印“<”,利用DOM中的get Node Name()方法獲得元素節(jié)點(diǎn)名稱,同時(shí)將其名稱小寫化.

在抽取時(shí)有些元素節(jié)點(diǎn)的屬性值是必須的,如鏈接元素的屬性值有利于獲得下一頁網(wǎng)頁地址;而有些屬性值只是用于字體樣式,對(duì)抽取工作是無用的.因此,必須對(duì)元素節(jié)點(diǎn)的屬性值進(jìn)行優(yōu)化處理.本方法判斷元素類型是否為鏈接元素,若是,則提取鏈接元素所有的屬性值.在XHTML中,屬性值必須使用引號(hào),并且必須有值.因此,在輸出鏈接元素的屬性時(shí),首先打印一個(gè)引號(hào),并取得屬性值,對(duì)其進(jìn)行特殊字符轉(zhuǎn)換、小寫化,再打印結(jié)束引號(hào),最后打印“>”.

如果元素節(jié)點(diǎn)有子節(jié)點(diǎn),則以同樣方式遞歸打印出所有孩子節(jié)點(diǎn),直到遍歷結(jié)束,關(guān)閉元素節(jié)點(diǎn).

4)待整個(gè)HTMLDOM樹遍歷結(jié)束,則形成了規(guī)范的XHTML文檔.

例如,針對(duì)某網(wǎng)站經(jīng)過該轉(zhuǎn)換算法標(biāo)準(zhǔn)化后的XHTML文件片斷如圖2所示.

2.2 構(gòu)建網(wǎng)頁分析樹

對(duì)XHTML文檔進(jìn)行解析,使用JTREE構(gòu)建可視化的XML文檔,以便獲得實(shí)例樣本,減輕用戶負(fù)擔(dān).

構(gòu)建網(wǎng)頁分析樹思想如下:

1)將頁面清洗得到的XHTML文檔解析成XMLDOM樹,獲得該樹的根節(jié)點(diǎn)ROOT.

2)深度優(yōu)先遍歷該XMLDOM樹.獲得根節(jié)點(diǎn)的名稱,如果該節(jié)點(diǎn)有孩子節(jié)點(diǎn),遞歸處理該節(jié)點(diǎn)的孩子節(jié)點(diǎn).如果該節(jié)點(diǎn)沒有孩子節(jié)點(diǎn),則直接加到當(dāng)前節(jié)點(diǎn)下.最后把所有子節(jié)點(diǎn)加載到JTREE的根節(jié)點(diǎn)中生成整棵樹.

3)顯示整棵樹.將圖2中 XHTML文檔構(gòu)建網(wǎng)頁分析樹,其結(jié)果如圖3所示.

圖2 經(jīng)過轉(zhuǎn)換算法標(biāo)準(zhǔn)化后的XHTML文件片斷Fig.2 the standard XHTML document segment

2.3 歸納學(xué)習(xí)XPATH

在獲得樣本實(shí)例的XPATH表達(dá)式的基礎(chǔ)上,通過歸納學(xué)習(xí)得到公共XPATH.由于本方法只需獲得樣本實(shí)例的 XPATH的表達(dá)式,不需構(gòu)建每個(gè)節(jié)點(diǎn)的XPATH,故執(zhí)行速度較快.

1)生成樣本XPATH

XPATH路徑表達(dá)式可以看成定位XML文檔各個(gè)節(jié)點(diǎn)的步驟順序,這些步驟以“/”分開.如圖3選中的節(jié)點(diǎn),其XPATH表達(dá)式為“/html[1]/head[1]/title[1]”,表示選擇“html”元素下“head”元素的“title”元素的葉子節(jié)點(diǎn)值,結(jié)果是圖中的“筆記本電腦類目2,商品,盡在拍拍”節(jié)點(diǎn).為了準(zhǔn)確的定位信息點(diǎn)位置,本文提出了一種新的學(xué)習(xí)XPATH算法用于生成樣本實(shí)例的XPATH,描述如下:

圖3 使用JTREE構(gòu)建的網(wǎng)頁分析樹Fig.3 Web analytics tree constructed by JTREE

2)學(xué)習(xí)公共XPATH

獲得所有的樣本實(shí)例后,通過學(xué)習(xí)算法歸納出公共 XPATH,本文涉及兩種情況:網(wǎng)頁級(jí)抽取和記錄級(jí)抽?。疚闹械木W(wǎng)頁級(jí)抽取是簡單而有效的,主要目標(biāo)是提取主題信息,而不是細(xì)粒度的數(shù)據(jù).比如招聘信息一般可得到記錄級(jí)的招聘列表,每個(gè)招聘信息都會(huì)有一個(gè)鏈接,以說明詳細(xì)的招聘事宜,本文只需抽取出詳細(xì)的招聘事宜即可.

若為記錄級(jí)抽取,則至少需要2個(gè)樣本實(shí)例.本方法利用網(wǎng)頁分析樹獲得樣本實(shí)例的 XPATH,并歸納學(xué)習(xí)出待抽取信息的公共路徑.對(duì)于兩個(gè)樣本實(shí)例的XPATH表達(dá)式,從樹根開始比較,如果節(jié)點(diǎn)名稱和位置序號(hào)都相同,則記入公共XPATH表達(dá)式,若某個(gè)節(jié)點(diǎn)的節(jié)點(diǎn)名稱相同,而位置序號(hào)不同,則說明待抽取信息位于以該節(jié)點(diǎn)表示的樹節(jié)點(diǎn)及其兄弟為根的子樹中,此時(shí)獲得該節(jié)點(diǎn)的所有兄弟節(jié)點(diǎn)數(shù),將該節(jié)點(diǎn)的孩子序號(hào)置為0,并寫入公共XPATH表達(dá)式中;依次比較到XPATH表達(dá)式結(jié)束.有的頁面需要學(xué)習(xí)多條XPATH,那么繼續(xù)將樣本實(shí)例的XPATH與已經(jīng)得到的公共XPATH比較,從根節(jié)點(diǎn)開始,直到全部樣本實(shí)例比較完畢,由此可得到全部樣本實(shí)例的公共XPATH表達(dá)式.若抽取多個(gè)信息點(diǎn)則需要學(xué)習(xí)各個(gè)信息點(diǎn)的XPATH表達(dá)式.

若為網(wǎng)頁級(jí)抽取,則樣本實(shí)例至少需要1個(gè).若為1個(gè)樣本實(shí)例,它的公共XPATH就為此節(jié)點(diǎn)本身的XPATH表達(dá)式;若為多個(gè)樣本實(shí)例,生成公共XPATH的方法和記錄級(jí)抽取的生成方法相同.

2.4 抽取規(guī)則優(yōu)化處理

由于XSLT具有強(qiáng)大靈活的語法結(jié)構(gòu),易于理解、修改和操縱文檔中的數(shù)據(jù),本文使用標(biāo)準(zhǔn)的XSLT作為信息抽取規(guī)則.通過對(duì)歸納學(xué)習(xí)得到的公共XPATH添加、合并或更新,生成抽取規(guī)則庫,形成XSLT文件,利用其中的XPATH構(gòu)件定位文檔中節(jié)點(diǎn)的位置,從而實(shí)現(xiàn)了一次編寫,多次重用.

在信息抽取中,一般記錄條數(shù)較多,而在XSLT中,當(dāng)XSLT處理器為執(zhí)行轉(zhuǎn)換而處理樣式表的時(shí)候,它的值每次都可能發(fā)生變化.但是,一旦在某個(gè)轉(zhuǎn)換中設(shè)定了這個(gè)值,就不再發(fā)生變化.因此,要把所有的記錄條數(shù)全部抽取出來,必須使用模板遞歸調(diào)用.首先定義3個(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)抽?。?/p>

在生成抽取規(guī)則時(shí)可以定制待抽取節(jié)點(diǎn)的節(jié)點(diǎn)名稱,使其作為結(jié)果XML文件的元素名稱,保證了抽取結(jié)果具有自描述性.

2.5 抽取信息

根據(jù)抽取規(guī)則庫里的規(guī)則,利用XSLT和XPATH在數(shù)據(jù)轉(zhuǎn)換和數(shù)據(jù)定位方面的優(yōu)勢(shì),通過輸出文件函數(shù)實(shí)現(xiàn)信息抽取.將抽取結(jié)果存入XML文件中,用于觀察數(shù)據(jù)抽取的正確性和二次處理.

3 實(shí)驗(yàn)結(jié)果及分析

利用基于XML的WEB信息自動(dòng)抽取方法,采用JAVA語言開發(fā)了信息抽取原型系統(tǒng).該系統(tǒng)界面簡單友好,在頁面結(jié)構(gòu)發(fā)生變化時(shí),也能利用原型系統(tǒng)快速構(gòu)建新的抽取規(guī)則庫,具有較高的查準(zhǔn)率和查全率.

本文利用原型系統(tǒng)進(jìn)行了4個(gè)網(wǎng)站26個(gè)頁面的實(shí)驗(yàn),如表1和表2所示,其中待抽取數(shù)據(jù)共423個(gè),由于2688網(wǎng)店和卓越亞馬遜的信息點(diǎn)具有兩種格式,當(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)率的抽取.基于上述試驗(yàn)結(jié)果,本文的信息抽取方法是有效且可行的.

表1 測(cè)試原型系統(tǒng)的網(wǎng)站Tab.1 test prototype website

表2 抽取測(cè)試效果的評(píng)價(jià)Tab.2 Evaluation of test results

4 結(jié)束語

本文給出的基于XML的WEB信息自動(dòng)抽取方法,利用XML的標(biāo)準(zhǔn)技術(shù),通過數(shù)據(jù)轉(zhuǎn)換算法和XPATH學(xué)習(xí)算法獲得公共路徑,并結(jié)合XSLT和XPATH在數(shù)據(jù)轉(zhuǎn)換和信息定位方面的優(yōu)勢(shì),實(shí)現(xiàn)了對(duì)WEB信息的自動(dòng)抽?。畬?shí)驗(yàn)結(jié)果表明,該方法查全率和查準(zhǔn)率高,抽取結(jié)果具有自描述性,易于建立各個(gè)領(lǐng)域的數(shù)據(jù)抽取系統(tǒng).

[1]王放,顧寧,吳國文.基于本體的WEB表格信息抽取 [J].小型微型計(jì)算機(jī)系統(tǒng),2003,24(12):2142-2146.

[2]畢蕾,沈潔,徐法艷,等.領(lǐng)域本體指導(dǎo)的Web商品信息抽取 [J].計(jì)算機(jī)工程與設(shè)計(jì),2008,29(24):6393-6396.

[3]張紹華,徐林昊,楊文柱,等.基于樣本實(shí)例的WEB信息抽取 [J].河北大學(xué)學(xué)報(bào)(自然科學(xué)版),2001,21(4):431-437.

[4]David Buttler,Ling Liu and Calton Pu.A fully automated object extraction system for the world wide web[C].International Conference on Distributed Computing Systems,2001.

[5]于魯波,陳超.互聯(lián)網(wǎng)商品信息抽取技術(shù) [J].計(jì)算機(jī)工程,2008,34(5):274-276.

[6]Raghavan S,Garcia-Molina H.Crawling the Hidden Web[EB/OL].(2000-12-08).http://dbpubs.stanford.edu:8090/pub/2000-36.

[7]軒艷艷.基于XML的WEB信息抽取研究與實(shí)現(xiàn) [D].武漢:武漢理工大學(xué),2008.

猜你喜歡
表達(dá)式實(shí)例網(wǎng)頁
一個(gè)混合核Hilbert型積分不等式及其算子范數(shù)表達(dá)式
表達(dá)式轉(zhuǎn)換及求值探析
淺析C語言運(yùn)算符及表達(dá)式的教學(xué)誤區(qū)
基于CSS的網(wǎng)頁導(dǎo)航欄的設(shè)計(jì)
電子制作(2018年10期)2018-08-04 03:24:38
基于URL和網(wǎng)頁類型的網(wǎng)頁信息采集研究
電子制作(2017年2期)2017-05-17 03:54:56
網(wǎng)頁制作在英語教學(xué)中的應(yīng)用
完形填空Ⅱ
完形填空Ⅰ
10個(gè)必知的網(wǎng)頁設(shè)計(jì)術(shù)語
議C語言中循環(huán)語句
商(2012年11期)2012-07-09 19:07:55
施秉县| 南通市| 称多县| 三亚市| 永修县| 高雄县| 辽宁省| 綦江县| 新竹县| 讷河市| 衡阳市| 刚察县| 满城县| 敦化市| 宁都县| 金门县| 浮梁县| 桐庐县| 龙泉市| 福建省| 灵寿县| 青海省| 喜德县| 广昌县| 北川| 贺兰县| 静安区| 福贡县| 白山市| 阿图什市| 萨嘎县| 朝阳区| 铁力市| 彭阳县| 沧源| 辽中县| 长葛市| 自治县| 海原县| 中卫市| 合作市|