摘要:本文分析了目前Web數(shù)據(jù)抽取主流技術(shù),針對(duì)領(lǐng)域網(wǎng)站上文本信息采用MDR算法進(jìn)行抽取,闡述了網(wǎng)頁抽取的工作流程,并通過引入文本分類算法提高了網(wǎng)頁抽取的查準(zhǔn)率。
關(guān)鍵詞:網(wǎng)頁抽??;DOM;面向領(lǐng)域
中圖分類號(hào):TP393.092 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9599(2012)24-0059-02
1 信息抽取研究現(xiàn)狀
Web信息抽取技術(shù)從20世紀(jì)90 年代中期開發(fā)研究。,目標(biāo)是設(shè)計(jì)一個(gè)由一系列抽取規(guī)則組成,可以完成網(wǎng)頁的內(nèi)容抽取Wrapper(包裝器)程序。早期的包裝器設(shè)計(jì)方法為手工方法,編程人員運(yùn)用自己的專業(yè)領(lǐng)域知識(shí)通過觀察網(wǎng)頁源代碼設(shè)計(jì)抽取規(guī)則,這種方式無法應(yīng)對(duì)大量不同結(jié)構(gòu)的網(wǎng)頁。Jussi Myllymaki利用XML語言設(shè)計(jì)了由專家根據(jù)經(jīng)驗(yàn)手工定義規(guī)則,由計(jì)算機(jī)自動(dòng)生成包裝器的XMWRP系統(tǒng),仍然需要人工參于訓(xùn)練。文獻(xiàn)[3]提出一種基于本體的算法,效果良好但設(shè)計(jì)復(fù)雜需要專家知識(shí)。自動(dòng)取算法DES每個(gè)面頁需要重復(fù)處理,沒有生成抽取模板,RoadRunner算法如不預(yù)處理噪音信息執(zhí)行效率將較低[2]。Liu Bing2003年提出了利用單個(gè)網(wǎng)頁實(shí)現(xiàn)網(wǎng)頁中數(shù)據(jù)記錄集的抽取算法,基于網(wǎng)頁DOM樹結(jié)構(gòu)中數(shù)據(jù)記錄的重復(fù)模式是目前抽取效果比較理想的包裝器。
2 基于查找網(wǎng)頁結(jié)構(gòu)重復(fù)模式的Web數(shù)據(jù)抽取方法
現(xiàn)在的網(wǎng)頁多是由動(dòng)態(tài)網(wǎng)頁技術(shù)從數(shù)據(jù)庫提取數(shù)據(jù)記錄然后用網(wǎng)頁模板進(jìn)行編碼生成HTML頁面。數(shù)目少量的模板隱藏于這些網(wǎng)頁之中。數(shù)據(jù)密集的常見網(wǎng)頁可分為列表頁和詳情頁。列表頁中包含只少一個(gè)由多條列表?xiàng)l目構(gòu)成的列表數(shù)據(jù)區(qū)域,同一數(shù)據(jù)區(qū)域內(nèi)的列表?xiàng)l目樣式重復(fù)相似,例如網(wǎng)站的列表頁,或首頁面里的新聞欄目等,一個(gè)新聞標(biāo)題就是一個(gè)列表項(xiàng)。詳情頁是列表頁中一條列表?xiàng)l目對(duì)應(yīng)的詳細(xì)內(nèi)容,例如新聞網(wǎng)站里的展示新聞?wù)牡亩?jí)頁面。為了保持風(fēng)格一致性,同一個(gè)網(wǎng)站的詳情頁面也往往共用一個(gè)模板展示,所以這些詳情頁面結(jié)構(gòu)有很高的相似性和重復(fù)性。
3 基于DOM樹編輯距離判斷HTML結(jié)構(gòu)是否相似
以HTML語言編寫的網(wǎng)頁,代碼結(jié)構(gòu)形式上是一些標(biāo)記相互嵌套,邏輯上是樹形數(shù)據(jù)結(jié)構(gòu)。比較兩個(gè)頁面內(nèi)容字符串是否相似,可以借助樹形結(jié)構(gòu)中包括的層次信息進(jìn)行簡化。首使用開源工具Tidy對(duì)頁面清洗,用XML工具將網(wǎng)頁轉(zhuǎn)換成DOM樹。例如下面的HTML片段
轉(zhuǎn)換成DOM樹結(jié)構(gòu)如下圖所示:
圖1 DOM樹結(jié)構(gòu)
4 查找網(wǎng)頁中的數(shù)據(jù)區(qū)域
Liu Bing提出了STM(Simple Tree Matching)算法是一個(gè)從DOM樹自頂相下,利用動(dòng)態(tài)規(guī)劃算法計(jì)算子樹之間的相似度。MDR算法用來尋找網(wǎng)頁中的數(shù)據(jù)區(qū)域。算法基于兩個(gè)重要觀察結(jié)果(1)對(duì)含有一個(gè)相似對(duì)象集合的描述的一組數(shù)據(jù)記錄通常在一張網(wǎng)頁的相鄰區(qū)域中出現(xiàn),并且是用相似的HTML標(biāo)簽格式化的。(2)一個(gè)區(qū)域中的一個(gè)數(shù)據(jù)記錄列表是由同一個(gè)父子節(jié)點(diǎn)的一些子樹組成的。一個(gè)數(shù)據(jù)記錄不太可能始于一棵子樹中間并結(jié)束于另一棵子樹中間。它會(huì)起始于一棵子樹的開始處并結(jié)束于同一棵或后面某一個(gè)子樹的結(jié)束處[4]。同時(shí),提出了廣義節(jié)點(diǎn)的概念,廣義節(jié)點(diǎn)的中包含的節(jié)點(diǎn)都有相同的父節(jié)點(diǎn),所有的節(jié)點(diǎn)都是鄰的,廣義節(jié)點(diǎn)的長度就是所包含的節(jié)點(diǎn)數(shù)。對(duì)DOM樹中的節(jié)點(diǎn)進(jìn)行對(duì)比分析
5 特征詞選擇
在中文文本自動(dòng)分類特征抽取方法使用比較多的有文檔頻率DF、互信息MI、信息增益IC和x2統(tǒng)計(jì)等,本文選了對(duì)特定領(lǐng)域中文文本分類比較好的CHI方法[5]。
特征詞用t表示,N表示訓(xùn)練語料中的文檔總數(shù),c為某一特定類別,A表示屬于c類且包含t的文檔頻數(shù),B表示不屬于c類但是包含t的文檔頻數(shù),C表示屬于c類但不包含t的文檔頻數(shù),D是既不屬于c也不包含t的文檔頻數(shù)。則特征詞t對(duì)于類別c的CHI值由下列計(jì)算:
6 面向領(lǐng)域的Web信息抽取的流程
數(shù)據(jù)抽取之前要先從Web中采集數(shù)據(jù),主要采集兩種富含數(shù)據(jù)的網(wǎng)頁:列表頁和詳情頁,學(xué)習(xí)詳情面的抽取歸則時(shí),由于單張?jiān)斍槊嬲牟淮嬖谥貜?fù)模式,需要把多張?jiān)斍轫撟鳛槎嗫米訕涮砑右粋€(gè)根結(jié)點(diǎn)后構(gòu)造成一棵樹,再采用自底向上的搜索過程查找正文數(shù)據(jù)。抽取步驟如下:
步驟1給定一組由領(lǐng)域網(wǎng)站網(wǎng)址組成的URL種子集合,使用網(wǎng)絡(luò)爬蟲技術(shù)從互聯(lián)網(wǎng)中采集網(wǎng)頁材料。
步驟2使用Tidy工具對(duì)網(wǎng)頁進(jìn)行編碼清理,修改存在的標(biāo)記錯(cuò)誤,并將頁面轉(zhuǎn)換成格式嚴(yán)格的XML文檔。
步驟3使用XML工具(如DOM4J)將文檔解析成一棵DOM樹。
步驟4從DOM樹中使用MDR算法查找數(shù)據(jù)區(qū)域,用上述文本分類方法對(duì)數(shù)據(jù)區(qū)域進(jìn)行篩選,最后查找數(shù)據(jù)記錄邊界,定位數(shù)據(jù)記錄在網(wǎng)頁中的位置。
步驟5計(jì)算所有從DOM樹根節(jié)點(diǎn)到數(shù)據(jù)記錄所在葉子節(jié)點(diǎn)中的路徑,其中兄弟節(jié)點(diǎn)用下標(biāo)區(qū)分[6],如圖1中“數(shù)據(jù)結(jié)構(gòu)”結(jié)點(diǎn)的路徑是/div/ul/li[2]/h5。使用XPath技術(shù)可以完成抽取。
步驟6保存驟5中的抽取規(guī)則。下次抽取將在步驟3后直接調(diào)用不再學(xué)習(xí)抽取規(guī)則。
實(shí)驗(yàn)結(jié)果
本文選擇的領(lǐng)域?yàn)榫哂幸话阈缘木W(wǎng)上招聘,通過使用垂直爬蟲對(duì)智聯(lián)招聘、中華英才網(wǎng)、58同城三家網(wǎng)站進(jìn)行了抽取實(shí)驗(yàn),采用查準(zhǔn)率和查全率做了評(píng)估,如表1所
示,抽取效果良好。
表格1 實(shí)驗(yàn)結(jié)果
網(wǎng)站抽取網(wǎng)頁數(shù)查準(zhǔn)率查全率
智聯(lián)招聘1009797
中華英才網(wǎng)1009496
58同城1009598
平均10095.397
7 總結(jié)
本文只對(duì)普通網(wǎng)頁文本進(jìn)行了抽取實(shí)驗(yàn),更多的多媒體信息沒有做抽取實(shí)驗(yàn),另外數(shù)據(jù)抽取后對(duì)不同來源的數(shù)據(jù)進(jìn)行集成雖然采用了同義詞手工歸類方式,但是仍然存在數(shù)據(jù)庫表列過長的問題,有待進(jìn)一步研究。隨著科技的不斷發(fā)展,越來越多的企業(yè)把數(shù)據(jù)發(fā)布到互聯(lián)網(wǎng),互聯(lián)網(wǎng)成為世界上最大的信息載體,Web信息的采集抽取與集成利用將成為研究的熱點(diǎn)。
參考文獻(xiàn):
[1]鄭慶華,劉均,田鋒等.Web知識(shí)挖掘理論、方法與應(yīng)用[M].科學(xué)出版社,2010,6.
[2]陳釗,張冬梅.Web 信息抽取技術(shù)綜述[J].計(jì)算機(jī)應(yīng)用研究,2010.12.
[3]王志華,魏斌,李占波等.基于本體的WEB信息抽取系統(tǒng)[J].計(jì)算機(jī)工程與設(shè)計(jì),2012,7.
[4]B.Liu,俞勇 譯.Web數(shù)據(jù)挖掘[M].清華大學(xué)出版社,2009.4:258-262.
[5]代六玲,黃河燕,陳肇雄.中文文本分類中特征抽取方法的比較研究[J].中文信息學(xué)報(bào),2004,18(1):26-32.
[6]李效東,顧毓清.基于DOM的Web信息抽取[J].計(jì)算機(jī)學(xué)報(bào),2002,5.
計(jì)算機(jī)光盤軟件與應(yīng)用2012年24期