楊欽 楊沐昀
摘 要:本文提出了一種基于DOM樹的正文提取方法。該方法是在基于DOM樹的文本密度的正文提取算法的框架上改進而來的?;趯ξ难晕姆g網站的觀察,本方法使用標點符號密度取代原方法的文本密度。通過隨機選取50篇文言文翻譯網頁作為測試集,本文提出的方法獲得了更好的準確率、召回率和F值。
關鍵詞:DOM;標點密度;文本密度;正文提取
中圖分類號:TP312 文獻標識碼:A 文章編號:2095-2163(2015)04-
A Method of Webpage Content Extraction based on Point Density
YANG Qin, YANG Muyun
(School of Computer Science and Technology, Harbin Institute of Technology, Harbin 150001, China)
Abstract: This paper proposes a DOM based content extraction method. It is improved from the DOM based content extraction via text density. Based on the observation of classical Chinese translation websites, the paper uses point density to replace text density.50 classical Chinese translaiton webpages are randomly chosen as the test data set, the proposed method obtains better precision, recall, and F-measure.
Keywords: DOM; Point Density; Text Density; Content Extraction
0引 言
互聯網的快速發(fā)展使其已經成為一個天然龐大的數據來源,而且其影響也正在日漸提升之中。搜索引擎、網絡數據挖掘等技術正是使用這些網絡數據來發(fā)現有用的信息和知識。具體來說,這些技術的研究對象就是網頁的正文內容。但在現實狀況下,網頁的正文卻通常是和網頁的其他內容如導航信息、廣告、版權說明等混合摻雜在一起。這些內容和網頁的主題并無任何關系,而只是噪聲信息,因而對有關網頁課題的探索研究造成全局性的復雜且重大的影響。
基于此,為了提升網絡數據挖掘和信息檢索等的設計研究性能,即可利用網頁正文提取技術從網頁中去除噪聲信息提取網頁正文??傮w來說,正文提取可以提升相關研究的工程實際性能,并已在現實中獲得了廣泛的應用。使用WEB作為語料庫吸引了自然語言處理領域眾多的研究者的關注參與。通過自動下載相關網頁,并進行正文提取,就可以較短的時間,較小的代價構建一個大型語料庫。此外,移動手機的大量普及則使得網頁需要適應較小的屏幕。綜上可知,針對網頁進行正文提取的需求已是日顯迫切。然而,提取網頁正文卻是一個困難的任務。早在2005年,Gibson等[1]就估計出網絡上的噪聲信息的比例將在40%~50%,并且準確預言了這個比例還會不斷上升?,F如今,網頁的布局和風格已比從前更趨復雜,這一現象也隨即愈加嚴重。現在的網頁大多使用格式標簽和
研究者提出了很多基于網頁統(tǒng)計信息的正文提取方法。Finn[3]等在2001年提出Body Text Extraction (BTE)算法。這個算法是為了提升數字圖書館正文分類器的準確性。研究將HTML文檔表示為一系列詞和標簽符號,再通過識別單一的連續(xù)的區(qū)域來抽取正文,通常識別出來的這個區(qū)域包含最多的詞和最少的HTML標簽。為了克服BTE方法只能發(fā)現一個單一的連續(xù)的文本塊的限制,Pinto等[4]把這個方法擴展成Document Slope Curves (DSC)方法。在該方法中,視窗技術可用于定位文檔區(qū)域,在這個區(qū)域中詞標記比標簽標記要更加頻繁。此次開發(fā)技術可用來提升QuASM系統(tǒng)使用網絡數據回答問題的性能和效率。
Debnath等[5]提出基于HTML文檔塊分割的Feature Extractor (FE)和K Feature Extractor (KFE)技術。該方法對每個塊分析了設定的特征例如文本的數量,圖像和腳本代碼,而后再通過選擇最符合某個期望特征(如最多的文本)的塊來提取正文。Gupta等[6]在2003年嘗試把不同的啟發(fā)式方法結合到Crunch的系統(tǒng)框架中。這個框架基于DOM樹,通過定義兩類過濾器發(fā)現并從DOM樹刪除非正文內容。這一研究證明了,不同正文提取算法的適當組合會產生比單一的方法更好的結果。此后,Gottron[7]則設計了CombineE框架。這是一個最新的集成框架,能使得正文提取算法的配置變得更加簡單。
Mantratzis等[8]在2005年提出Link Quota Filter (LQF)方法。LQF通過識別文本與超鏈接比例高的DOM元素來確定鏈接列表和導航信息。這個方法實際是從文檔中刪除鏈接塊來提取正文。LQF的缺點是算法本身依賴于結構元素,并且只能清除超鏈接類型的噪聲。Gottron[9]在2008年提出Content Code Blurring(CCB)算法。這個方法可在具有相同格式的源碼序列中進行正文提取。Weninger等[10]在2010年提出標簽比例(CETR)算法。該方法使用HTML文檔標簽比例從網頁中抽取正文。方法中,以行為基礎計算標簽比例,再將比例結果的直方圖聚類成正文和噪聲區(qū)域。CETR算法簡潔且高效的方法,但卻容易受到網頁源代碼風格變化的影響。Kohlschütter等[11]在2010年提出了一個可對網頁文本元素實施分類的簡單有效的應用技術。具體就是通過分析一些淺文本特征(如平均句長、字數以及文本位置)來識別樣板,該方法的理論基礎是數量語言學的隨機文本生成。
孫飛等[12]在2011年提出Content Extraction via Text Density (CETD)算法。這個方法基于DOM樹,使用DOM樹節(jié)點的文本密度Text Density 和Composite Text Density衡量節(jié)點重要性,同時結合DensitySum區(qū)分出正文區(qū)域和噪聲區(qū)域,進而提取出正文內容。該方法具有快速、準確、通用的特點,并且最終得到的是結構化文本而不是大多數方法的純文本。Qureshi等[13]在2012年提出一個基于DOM樹的混合模型。研究中結合兩個不同的模型,一個模型基于統(tǒng)計特征(文本信息和鏈接密度),另一個模型則基于格式特性(如字體、風格、位置)。Uzun等[14]在2013年提出一個兩步驟相互促進的混合方法。其中的步驟一是使用決策樹學習得到抽取正文的規(guī)則,步驟二是利用得到的規(guī)則進行正文提取。相應地,Insa等[15]也在2013年提出了Words/Leafs Ratio(WLR)算法。這個方法基于DOM樹,通過分析結點的文字葉子比率(WLR)和結點的層級關系,從而識別出包含正文的塊。
2基于DOM的標點密度的正文提取
這一節(jié)將主要介紹基于DOM樹的標點密度的正文提取算法。本文的這一算法是參考孫飛等[12]的基于DOM樹的文本密度算法的框架上,并通過優(yōu)化改進而最終獲得實現的。
2.1DOM樹
DOM(Document Object Model)的中文名是文檔對象模型,也就是一個與語言和平臺都無關的協議。該協議允許程序和腳本動態(tài)地獲取和更新HTML等文檔的內容、結構和風格。DOM提供了一系列接口,通過這些接口就可以對文檔進行處理,并將這些處理進行展現。DOM把HTML中的所有元素都定義成節(jié)點。DOM實際是一個樹狀結構,DOM樹通過樹的父子節(jié)點和兄弟節(jié)點來表示HTML中標簽的嵌套關系和并列關系。使用DOM處理HTML網頁,實際是把HTML文檔處理成一顆樹,DOM提供各種處理接口,這樣就能通過接口以樹的形式對HTML文檔進行訪問、處理以及呈現。
2.2標點密度
通過對古漢語現代漢語相應網站的觀察和分析,可以發(fā)現有一個比文本密度更適合的特征。文本密度把所有的文本統(tǒng)一對待,但是文本不同,對于確定一個節(jié)點是否為正文節(jié)點的作用也是不一樣的。相對于其他文本內容來說,標點符號則具有更為顯著的標識的作用。
從古漢語現代漢語網頁可以看出,標點符號只存在于正文中,不存在于噪聲信息中。其他兩個即將用到的網站也是這種情況?;谶@一原因,即可使用標點替換文本來計算密度更能區(qū)分正文和噪聲。為了和文本密度進行區(qū)分,可將其定義為標點密度。節(jié)點i的標點密度是節(jié)點i的標點個數PointNumber和節(jié)點i的節(jié)點個數NodeNumber的比值。其中,PointNumber表示節(jié)點所有子樹的標點個數之和;NodeNumber表示節(jié)點所有子樹的節(jié)點個數之和。
在算法的實現中,通過對DOM樹的遍歷,可以得到每一個節(jié)點的標點個數和節(jié)點個數并計算出其標點密度。這樣,DOM樹中的節(jié)點i的標點密度定義如下:
(1)
式中,Pi表示節(jié)點i的標點個數,即PointNumber;Ni表示節(jié)點的節(jié)點個數,即NodeNumber。當Ni是0時,令Ni=1。
PointDensity反映了網頁中對應標簽的標點密度。結構簡單且包含較多標點符號的標簽,其標點密度較高;結構復雜且包含較少標點的節(jié)點其標點密度較小。同時,標點密度相對文本密度更獨立于網站的結構,而且對正文信息和噪聲的區(qū)分也將更加有效。
基于鏈接噪聲沒有或者很少有標點符號這個觀察事實,所提出的標點密度很必然地實現了對超鏈接噪聲的排除,所以此處將不再參照復雜文本密度定義復雜標簽密度。
2.3標點密度和
這里,參照文本密度和DensitySum定義標簽密度和PointDensitySum。節(jié)點i的標簽密度和定義為節(jié)點i的直接孩子節(jié)點的標簽密度之和,其公式如下:
(2)
其中,child(i)表示節(jié)點i的直接孩子節(jié)點集合,PointDensityj表示節(jié)點j的文本密度。閾值的選取,將文本密度、文本密度和分別替換為標點密度、標點密度和。這樣,先找到標簽密度和最大的節(jié)點,再將body節(jié)點到該節(jié)點路徑上的最小的節(jié)點標簽密度作為閾值。
2.4正文提取算法
研究使用孫飛等[16]開發(fā)的提取算法,只是將相應的文本密度、文本密度和分別替換為標點密度、標點密度和。算法的輸入是網頁DOM樹的根節(jié)點R,和閾值t,輸出是網頁正文,算法描述如下:
(1)如果節(jié)點R的標點密度大于閾值t,則轉(2),否則結束;
(2)找到節(jié)點R的子樹(包括R本身)中標點密度和最大的節(jié)點C;
(3)將節(jié)點C標記為正文節(jié)點;
(4)對節(jié)點R的每個孩子節(jié)點提取正文。
3 實驗
在本節(jié)中,首先介紹了實驗數據和評價指標。然后,對實驗結果進行呈現和討論。
數據集
本文針對的是古漢語現代漢語平行篇章存在的網站及網頁。其中采用的實驗數據是隨機抽取50個古漢語現代漢語平行篇章網頁。標準正文是通過人工方式從網頁采選獲得的。
3.2評價指標
實驗結果的評價采用準確率Precision、召回率Recall和F值。設O為算法輸出的網頁正文,H為標準正文。把O,H看作漢字及標點符號組成的字符串,那么:
(3)
(4)
(5)
其中,LCS(O,H)表示字符串O,H的最長公共子串,len(LCS(O,H))表示LCS(O,H)的長度,len(O)表示字符串O的長度,len(H)表示字符串H的長度。
3.3實驗結果和分析
研究設計實現了文本密度、復雜文本密度和標點密度三個正文提取算法。其在數據集上的實驗結果對比可如表1所示。
表1 三種正文提取算法的性能比較
Tab.1 Comparison of three content extraction algorithm
方法\性能 準確率 召回率 F值
標點密度算法 0.891 1 1 0.942 4
文本密度算法 0.881 3 0.983 7 0.929 7
復雜文本密度算法 0.887 9 0.997 3 0.939 4
從實驗結果可以看到,使用標點密度的正文提取算法準確率、召回率和F值上均要高于其他兩種方法。
4 結束語
本文提出的基于標點密度的網頁正文提取方法,該方法的改進創(chuàng)新主要在于使用了更為合適的標點密度替換文本密度??偠灾?,這一研究進程就是基于文言文翻譯網站上的一個觀測事實,即:正文信息含有更多的標點符號而噪聲信息基本沒有標點符號。由此出發(fā),本文提出的方法獲得了比文本密度更好的性能,而且在準確率、召回率和F-值上都有一定的提升。
參考文獻:
[1] PUNERA K, GIBSON D, TOMKINS A. The volume and evolution of Web Page Templates[C]// Special interest tracks and posters of the 14th international conference on World Wide Web, Chiba:ACM, 2005:830-839.
[2] RAHMAN A F R, ALAM H, HARTONO R. Content extraction from html documents[C]//1st Int. Workshop on Web Document Analysis (WDA2001), Seattle:[s.n.], 2001: 1-4.
[3] FINN A, KUSHMERICK N, SMYTH B. Fact or fiction: Content classification for digital libraries[C]// DELOS Workshops, Citeseer:Dublin, 2001:1-6.
[4] PINTO D, BRANSTEIN M, COLEMAN R, et al. QuASM: a system for question answering using semi-structured data[C]//Proceedings of the 2nd ACM/IEEE-CS joint conference on Digital libraries, New York:ACM, 2002: 46-55.
[5] DEBNATH S, MITRA P, GILES C L. Automatic extraction of informative blocks from webpages[C]//Proceedings of the Acm Sac, Santa Fe:ACM, 2005:1722-1726.
[6] GUPTA S, KAISER G, STOLFO S. Extracting context to improve accuracy for HTML content extraction[C]//Special interest tracks and posters of the 14th international conference on World Wide Web, Chiba:ACM, 2005: 1114-1115.
[7] GOTTRON T. Combining content extraction heuristics: the CombinE system[C]//Proceedings of the 10th International Conference on Information Integration and Web-based Applications & Services, Linz:ACM, 2008: 591-595.
[8] MANTRATZIS C, ORGUN M, CASSIDY S. Separating XHTML content from navigation clutter using DOM-structure block analysis[C]// Hypertext 05 Proceedings of the Sixteenth Acm Conference on Hypertext & Hypermedia, New York:ACM, 2005:145-147.
[9] GOTTRON T. Content code blurring: A new approach to content extraction[C]// Proceedings of the 2008 19th International Conference on Database and Expert Systems Application, [s.1.]:IEEE Computer Society, 2008:29-33.
[10] WENINGER T, HSU W H, HAN J. CETR: content extraction via tag ratios.[C]// Proceedings of the 19th international conference on World wide web, Raleigh:ACM, 2010:971-980.
[11] KOHLSCHUTTER C, FANKHAUSER P, NEJDL W. Boilerplate detection using shallow text features[C]//Proceedings of the third ACM international conference on Web search and data mining, NewYork:ACM, 2010: 441-450.
[12] SUN F, SONG D, LIAO L. DOM based content extraction via text density[C]// Proceedings of the 34th international ACM SIGIR conference on Research and development in Information Retrieval, Beijing:ACM, 2011:245-254.
[13] QURESHI P A R, MEMON N. Hybrid model of content extraction[J]. Journal of Computer & System Sciences, 2012, 78(4):1248–1257.
[14] UZUN E, AGUN H V, YERLIKAYA T. A hybrid approach for extracting informative content from web pages[J]. Information Processing & Management, 2013, 49(4): 928-944.
[15] INSA D, SILVA J, TAMARIT S. Using the words/leafs ratio in the DOM tree for content extraction[J]. J. Log. Algebr. Program., 2013, 82(8): 311-325.