柏志安 廖 健 曾劍平
(上海交通大學醫(yī)學院附屬瑞金醫(yī)院信息中心 上海 200025)2(復旦大學計算機科學技術學院 上海 200433)
基于HTML Web頁面的網(wǎng)絡信息表示方法是當前的主流,在微博、論壇、傳統(tǒng)網(wǎng)站、公眾號等不同類型應用中廣泛使用。由于Web頁面中通常包含大量與真正內容無關的其他信息,因此,從中抽取有用信息一直是研究和應用的重要基礎。Web信息抽取主要用于從網(wǎng)頁中提取符合要求的信息內容,這些信息通常是以一定的HTML標簽標注的,對提取出來的信息內容可以以一定的方式進行組織和存儲,方便后續(xù)的分析或利用。
論壇型網(wǎng)站頁面結構復雜,包含了主帖列表、回帖列表、帖子中的各種用戶信息和帖子內容等眾多信息。針對這些信息的抽取,目前還是傾向于使用基于模版的信息抽取技術為特定的頁面結構生成特定抽取規(guī)則。然而這種類型頁面經(jīng)常進行改版,包括結構組織和頁面內容的調整等,這就導致抽取規(guī)則需要重新設計。其原因在于,目前信息抽取技術缺乏對網(wǎng)頁本身特性的利用,整體自動化水平不高。因此,對于Web頁面信息抽取而言,具有很大的挑戰(zhàn)性,研究具有普適性且能夠應對網(wǎng)頁結構變化的自適應信息抽取算法是非常有必要的。
Web信息抽取的技術根據(jù)不同的歸類方法有不同的分類。從自動化的程度來說,可以分為非自動化、半自動化和全自動化三類。從技術方法分類,可以分為基于視覺特征的方法、基于本體的方法、基于機器學習的方法、基于DOM樹結構的方法和基于模版的方法[1]。
基于視覺特征的算法利用視覺上的距離進行分塊來區(qū)分不同主題的數(shù)據(jù),所使用的視覺特征有字體的大小和顏色、頁面背景顏色、間隔距離等。孫璐等[2]提出了一種基于視覺特征的Deep Web信息抽取方法,利用經(jīng)典的VIPS算法對頁面結構進行語義分塊,基于基準視覺塊進行信息抽取。
基于本體的信息抽取方法通常先對Web頁面進行預處理,包括網(wǎng)頁分塊。然后對網(wǎng)頁文本進行詞性和語法分析,需要設計合理完善的知識庫并構建領域本體,最后解析文本生成抽取規(guī)則。文獻[3-4]提出了利用本體的方法抽取信息,或通過建立完整的本體得到抽取規(guī)則或是在Web信息抽取中利用領域本體知識。劉麗娟等[5]采用向量空間模型結合特征詞權值,利用本體思想分析并計算主題相關度,從而達到提高特定主題網(wǎng)頁信息抽取質量的目的。
基于機器學習的抽取方法中,一類是利用實現(xiàn)觀察或分析結果定義若干能夠反映預期信息與噪聲信息差別的統(tǒng)計量,然后再進行信息抽取。吳共慶等[6]結合標簽路徑特征和文本塊密度的統(tǒng)計特征,提出了Web新聞信息抽取模型CEDP。李志義等[7]基于一類具有重復模式的頁面,提出了新的信息提取新方法,該方法利用聚類算法發(fā)現(xiàn)重復模式。另一類機器學習方法則引入一定的數(shù)學模型來描述抽取對象,劉志強等[8]將待抽取信息項視作為狀態(tài),將詞匯作為待抽取觀測項,從而提出基于改進的隱馬爾可夫模型的網(wǎng)頁信息抽取方法,對新聞報道中的關鍵信息進行抽取。深度學習方法也開始被用于Web信息抽取,趙朗[9]構建了一種基于雙層循環(huán)神經(jīng)網(wǎng)絡的模型用于Web頁面信息的抽取。
基于DOM樹的信息抽取領域也有較多的算法和成型的系統(tǒng)[10]。基于分治方法,提出了在DOM上進行最長增量式序列的構建和模板檢測算法[11]。馬曉慧等[12]將DOM樹標簽路徑與行塊的分布密度相結合,利用視覺屬性剪枝去噪防止正文內容誤刪,但對于短文本過多的網(wǎng)站,如論壇網(wǎng)頁缺乏準確性。王海艷等[13]同樣利用視覺特征,提出剪枝和融合算法并引入MapReduce計算框架,實現(xiàn)并行化抽取目標信息的效果。何云鋼等[14]選取DOM樹中每個節(jié)點及其子節(jié)點進行篩選,只保留文字類型的子節(jié)點,最后形成獨立而完整的段落,并將其組成分段的網(wǎng)頁文本內容。
基于模版的信息抽取針對的是通過讀取數(shù)據(jù)庫數(shù)據(jù)填充到統(tǒng)一模版生成的網(wǎng)頁。李寶密[15]提出了自動生成模板的Web信息抽取方法,并將模板轉換成為結構化形式。張方[16]提出了一種基于數(shù)據(jù)分塊的Web數(shù)據(jù)抽取規(guī)則生成算法,自動生成基于Xpath和正則表達式的抽取規(guī)則模板。顧韻華等[17]結合DIV塊模板和表格模板,在領域本體指導下訓練決策樹模型構建DIV塊模板定位數(shù)據(jù)塊。
綜上所述,這五類Web頁面信息抽取方法在各自不同的角度上提出了抽取技術,基于視覺特征的抽取方法并無法區(qū)分信息塊中的有用信息,例如發(fā)帖人昵稱、發(fā)帖時間等。基于本體的方法則存在構造本體的復雜問題,并且抽取質量與本體完整性有密切關系。基于模板的方法更偏向于人工分析的基礎上定義模板,在面對頁面改版時也會遇到很大問題。基于機器學習的方法試圖解決自適應的問題,但引入了閾值這類難以確定的參數(shù)或需要大量的標注樣本。基于DOM樹具有直觀的方式,是HTML頁面表示的合適方法。
本文充分利用了DOM樹和模板的優(yōu)勢,提出新的方法解決頁面抽取的自適應問題。相對于現(xiàn)有Web信息抽取技術,本文的創(chuàng)新點主要是:
(1) 針對論壇型網(wǎng)頁信息抽取,提出一種基于DOM樹與模板的自適應信息抽取算法。算法以擁有共同父節(jié)點的鄰近結構進行子樹定位,通過文本長度、鏈接文本長度等特征對子樹內各個節(jié)點進行進一步的細分,從而生成信息抽取規(guī)則。盡管DOM樹、模板是Web信息抽取的常用方法,但是當前的方法不能充分利用這兩者的優(yōu)勢,導致Web頁面信息抽取時,難以解決頁面改版帶來的程序重寫問題。
(2) 算法能夠自動適應實際應用中的多種典型頁面改版操作,包括HTML標簽類型、屬性和屬性值的增刪和修改,以及整個頁面中信息單元的位置移動。本文方法能夠很好地針對這些改版自動生成抽取規(guī)則并獲得比現(xiàn)有方法更好的抽取性能。
不同類型的網(wǎng)站由于功能與內容偏重不同,頁面的布局往往相差很大。典型的新聞博客類網(wǎng)頁的布局通常是標題位于上方,正文緊隨其后,這能很清楚地引導用戶關注標題及正文的內容。企業(yè)、學校等組織的官方網(wǎng)站則有導航和網(wǎng)站主體內容分成兩個部分的頁面布局。本文算法針對的目標是論壇型網(wǎng)頁,不同論壇板塊頁或稱目錄頁的布局大同小異,通常來說就是一個以帖子標題為主要元素的列表,而帖子內的布局可以分為主帖+回復樓層和只有回復樓層兩種,如圖1和圖2所示。

圖1 主帖+回復樓層的帖內頁面結構

圖2 只有回復樓層的帖內頁面結構
對于圖1,不管從外觀還是從DOM樹的角度看,其主帖和下方的評論樓層都分屬不同的部分,可以容易地與評論樓層所在的區(qū)域區(qū)分開,因此,重點在于定位評論樓層所在的位置。
現(xiàn)代網(wǎng)頁多使用CSS文件來控制頁面布局外觀,實現(xiàn)了與html的分離。在設計得當?shù)那闆r下,只要修改幾個CSS文件就可以同時對多個網(wǎng)頁進行改版,在對應的html標簽的class屬性內表明其歸屬類即可。也正是這種易修改性,使得網(wǎng)站設計人員進行頁面改版變得更加容易。
此外,部分網(wǎng)站由于反爬蟲的需要,也會頻繁對節(jié)點屬性、節(jié)點標簽,甚至是頁面結構進行改動。對于通過xpath、css選擇器等方式定位節(jié)點再抓取信息的爬蟲采集方式,這種變動會導致抽取規(guī)則在改版后完全失效,需要根據(jù)變化情況對規(guī)則進行人工調整,耗時耗力。另外,通過嵌入html的JavaScript腳本,可以輕易增加、刪除DOM樹上的節(jié)點,修改已有節(jié)點的屬性、文本等。
因此,考慮到上述多種原因產(chǎn)生的頁面多變性,本文不關注特定節(jié)點本身,而是從DOM樹整體結構入手。根據(jù)論壇型網(wǎng)頁的特性,比較DOM樹子樹之間的相似性,自動化地分析并獲取能夠定位到所需節(jié)點的抽取模板。
現(xiàn)代Web網(wǎng)頁基本上都是采用div+css布局或table布局,前者因為擁有更好的可維護性和更佳的性能在近幾年使用更多。然而不管使用什么格式的布局,正常的網(wǎng)頁設計者為了保證網(wǎng)頁的功能和后續(xù)可維護,對頁面做出改版時都會遵循相似的原則。
網(wǎng)頁中每個樓層內的元素和其排列順序基本一致,主要變化在于用戶ID、用戶評論、評論時間對應節(jié)點的文本。查看網(wǎng)頁的源代碼,能夠發(fā)現(xiàn)在帖內的不同樓層分別屬于擁有相同class屬性的獨立的div容器,且都聚集在上一層的div容器內,樓層內含有各個標簽在div容器內也是以同樣的順序排列。其下出現(xiàn)的標簽、標簽出現(xiàn)的次序、標簽對應的內容,都是同樣的。因此從DOM樹的角度看,它們可以被視為掛在同一個父節(jié)點下的多棵結構極度相似的子樹。
不管各個節(jié)點的文本內容或者DOM樹整體結構發(fā)生什么樣的改變,為了保證網(wǎng)頁符合用戶的使用習慣,用戶評論或回復樓層在視覺上必然集中在一個區(qū)域內。為了實現(xiàn)這種設計,在DOM樹上它們也必然是掛在同一個上層節(jié)點下。這也就是說,本文算法中定位有效信息所在子樹的核心思想是:在DOM樹上論壇帖內各樓層回帖,表現(xiàn)為擁有共同父節(jié)點的鄰近的結構極度相似的子樹。因此,可以認為對于論壇型網(wǎng)頁來說,通過識別相鄰的擁有相似結構的子樹來選擇有效信息子樹,即使修改樓層的一些節(jié)點,只要它們多次重復出現(xiàn)且集中在相近區(qū)域內,就能正確識別。只要識別出這些代表樓層的有效信息子樹的位置,就可以進一步地通過文本長度、鏈接文本長度等特征對子樹內各個節(jié)點進行進一步的細分,判別它們各自的信息類別。
本文算法重點在于定位有效內容對應的標簽,生成抽取規(guī)則并提取文本,這需要遍歷DOM樹上所有節(jié)點。算法整體流程如圖3所示,在遍歷過程中,根據(jù)class屬性對節(jié)點進行第一步的粗篩選生成候選集。因為html標簽的class屬性可以有多個值,為了方便操作,將其屬性值拼合成以“.”連接的字符串的形式,并將這個字符串為稱為節(jié)點的class屬性串。接下來,獲取候選集內所有class屬性串對應節(jié)點的公共父節(jié)點,隨后再根據(jù)候選集內的情況做下一步的細分。下面分階段說明算法執(zhí)行過程和原理。

圖3 算法的整體結構
要利用DOM樹進行信息抽取,需要將HTML文檔轉換為對應的DOM樹,之后,所需的回復樓層部分的信息變成了多棵結構相似的子樹,且這些子樹的父節(jié)點擁有相同的標簽和屬性。如果能得到這些子樹在DOM樹的位置,我們的問題就可以轉換為對這些有效信息子樹的直接處理。
在根據(jù)html構建DOM樹前需要過濾掉不存儲有效信息的html標簽及其內部內容,這些標簽包括: --> 主站蜘蛛池模板: 在线观看欧美国产| 国产精品漂亮美女在线观看| 亚洲精品午夜天堂网页| 天天躁夜夜躁狠狠躁躁88| 国产白浆一区二区三区视频在线| 欧美一级在线看| 亚洲第一区欧美国产综合 | 精品伊人久久久香线蕉| 国产偷国产偷在线高清| 夜夜操国产| 国产不卡国语在线| 91精品专区国产盗摄| 亚洲an第二区国产精品| 久久中文字幕av不卡一区二区| 91精品国产一区| 久久国产精品波多野结衣| 日本在线亚洲| 久久国产精品电影| 欧美日韩激情在线| 欧美黄网在线| 国产美女精品在线| 国产美女自慰在线观看| 亚洲中文无码h在线观看| 91在线无码精品秘九色APP| 国产网友愉拍精品视频| 不卡网亚洲无码| V一区无码内射国产| 久久综合伊人77777| 精品福利视频导航| 999福利激情视频| 久久永久视频| 亚洲精品成人福利在线电影| 国产成人欧美| 看av免费毛片手机播放| 麻豆精品国产自产在线| 中国特黄美女一级视频| 91久久大香线蕉| 久久精品中文无码资源站| 精品国产香蕉在线播出| 99久久国产综合精品2020| 香蕉精品在线| 在线毛片网站| 亚洲天堂久久新| 国产欧美日韩视频怡春院| 手机精品视频在线观看免费| 亚洲国产精品VA在线看黑人| 色婷婷国产精品视频| 亚洲一级毛片在线播放| 国产精品尤物铁牛tv| 91破解版在线亚洲| 欧美精品成人一区二区在线观看| 日本久久网站| 国产精品国产三级国产专业不| 亚洲国产日韩一区| 精品亚洲国产成人AV| 亚洲精品无码不卡在线播放| 免费观看国产小粉嫩喷水| 少妇人妻无码首页| 麻豆AV网站免费进入| 久久综合色88| 久久青草热| 国产成人91精品免费网址在线| 91精品国产自产91精品资源| 亚洲乱强伦| 日韩大片免费观看视频播放| 久久永久精品免费视频| 任我操在线视频| 亚洲一区二区三区在线视频| 69综合网| 亚洲欧美成人在线视频| 欧美精品在线观看视频| 午夜激情婷婷| 国产欧美日韩免费| 一区二区三区精品视频在线观看| 精品久久国产综合精麻豆| 婷婷丁香色| 国产国语一级毛片| 亚洲精品中文字幕午夜| 91免费片| 3344在线观看无码| 婷婷亚洲最大| 亚洲国产亚洲综合在线尤物|