潘心宇,陳長(zhǎng)福,劉 蓉,王美清
(1.福州大學(xué) 數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院,福建 福州 350108;2.福建庫易信息科技有限責(zé)任公司,福建 福州 350000)
?
基于網(wǎng)頁DOM樹節(jié)點(diǎn)路徑相似度的正文抽取
潘心宇1,陳長(zhǎng)福2,劉 蓉1,王美清1
(1.福州大學(xué) 數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院,福建 福州 350108;2.福建庫易信息科技有限責(zé)任公司,福建 福州 350000)
由于人工抽取網(wǎng)頁信息效率低、成本高,因此根據(jù)對(duì)大量網(wǎng)頁結(jié)構(gòu)的觀察,提出基于網(wǎng)頁文檔對(duì)象模型DOM樹節(jié)點(diǎn)路徑相似度的正文抽取方法。依據(jù)同網(wǎng)站下的網(wǎng)頁結(jié)構(gòu)相同的特點(diǎn)去除網(wǎng)頁噪聲得到網(wǎng)頁的主題內(nèi)容,然后結(jié)合正文節(jié)點(diǎn)在DOM樹中的路徑的相似度抽取正文。通過對(duì)不同類型的中文新聞網(wǎng)站上的1 000個(gè)網(wǎng)頁進(jìn)行實(shí)驗(yàn),結(jié)果表明該方法對(duì)于97.6%的網(wǎng)頁都能夠去除大部分噪聲并保持正文內(nèi)容的完整性,正文抽取結(jié)果有93.30%的準(zhǔn)確率和95.59%的召回率。所提算法對(duì)不同類型的網(wǎng)頁都有較好的適應(yīng)性。
DOM樹;信息抽取;HTML標(biāo)簽;網(wǎng)頁去噪;正文抽取
隨著互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,網(wǎng)頁成為人們獲取信息的重要來源之一。然而,網(wǎng)頁上的數(shù)據(jù)是海量的,單純依靠人工手段獲取網(wǎng)頁信息效率較低,因此需要借助軟件對(duì)網(wǎng)頁信息進(jìn)行全部或部分地自動(dòng)過濾和分類。目前常用的自動(dòng)網(wǎng)頁信息獲取方法是正文內(nèi)容抽取,該類方法是一種被廣泛應(yīng)用于互聯(lián)網(wǎng)數(shù)據(jù)挖掘的技術(shù),它的目標(biāo)是從互聯(lián)網(wǎng)龐大的數(shù)據(jù)中提取有意義的和有價(jià)值的信息,可以用于信息搜索、Web文檔分類、數(shù)據(jù)挖掘、機(jī)器翻譯、文本摘要等。
常用的正文抽取方法可以分為以下4類:(1)傳統(tǒng)的歸納總結(jié)正文抽取方法:根據(jù)一些信息模式,從特定的信息源中提取相關(guān)內(nèi)容[1]。此方法效率較低、需要較多的手動(dòng)操作,獨(dú)立性以及適應(yīng)性較差。(2)基于網(wǎng)頁布局[2]和視覺[3-4]的正文抽?。涸摲椒ê艽蟪潭壬弦蕾囉诰W(wǎng)頁的風(fēng)格或者結(jié)構(gòu)。當(dāng)涉及到有更復(fù)雜的嵌套關(guān)系的網(wǎng)頁時(shí)會(huì)出現(xiàn)偏差。(3)基于語義單元[5]或者數(shù)據(jù)挖掘、機(jī)器學(xué)習(xí)[6]的正文抽取:通過使用分詞和文本分類,雖然準(zhǔn)確率有所提高,但是解決方案比較復(fù)雜。(4)基于統(tǒng)計(jì)的正文抽取[7]:該方法簡(jiǎn)單而且具有更好的通用性,但是較低的精確度限制了它的進(jìn)一步應(yīng)用。此外,它不能處理短文本、表格文本以及有較長(zhǎng)評(píng)論的文本。
FINN A等[8]提出正文抽取(Body Text Extrac tion,BTE) 算法,將網(wǎng)頁中的文字和標(biāo)簽作為序列,抽取序列中文字最多和標(biāo)簽最少的連續(xù)的內(nèi)容。PINTO D等[9]提出文檔斜率曲線(Document Slope Curves,DSC) 算法,在FINN的方法的基礎(chǔ)上使用窗口方法實(shí)現(xiàn)多正文抽取。MANTRATZIS C等[10]提出鏈接定額過濾(Link Quota Filters,LQE) 算法,通過網(wǎng)頁結(jié)構(gòu)分析,分離正文和導(dǎo)航目錄等超鏈接。DEBNATH S等[11]提出特征提取器(Feature Extractor,FE)算法,選擇包含有一定特征的文本、圖像而且重復(fù)出現(xiàn)次數(shù)較少的內(nèi)容塊。GOTTRON T等[12]提出正文代碼模糊(Content Code Blur-ring,CCB)算法,選擇相同格式的長(zhǎng)文本作為網(wǎng)頁的正文。劉利等[13]提出基于多特征融合的網(wǎng)頁正文信息抽取,從網(wǎng)頁的多個(gè)特征和設(shè)計(jì)習(xí)慣入手定位正文位置。王利等[14]提出基于內(nèi)容相似度的正文抽取,根據(jù)樹節(jié)點(diǎn)中文本內(nèi)容與各級(jí)標(biāo)題的相似度判定小塊文本信息的有效性,由此進(jìn)行網(wǎng)頁清洗和正文抽取。
分析網(wǎng)頁信息會(huì)發(fā)現(xiàn),網(wǎng)頁中包含大量與網(wǎng)頁主題無關(guān)的噪聲內(nèi)容,如廣告鏈接、導(dǎo)航欄、版權(quán)信息等。在正文抽取過程中,這些網(wǎng)頁噪聲會(huì)影響抽取效果,因此需要通過去噪方式對(duì)網(wǎng)頁進(jìn)行預(yù)處理。常用的網(wǎng)頁去噪方法有:
YI L等[15]提出用風(fēng)格樹(Style Tree,ST)來表達(dá)網(wǎng)頁的結(jié)構(gòu)和內(nèi)容特征,出現(xiàn)相同特征次數(shù)多的部分更有可能是噪聲數(shù)據(jù)。GIBSON D等[16]提出Shingle和模板Hash方法。這兩種算法的缺點(diǎn)是計(jì)算量較大。WANG J Y等[17]提出的主題數(shù)據(jù)提取(Data-rich Section Extraction,DSE)算法,該算法通過從上到下比較兩棵相同模板的文檔對(duì)象模型 (Document Object Model,DOM)樹,去除樹中相同的部分,剩下的部分作為網(wǎng)頁的主題內(nèi)容。
根據(jù)對(duì)現(xiàn)有方法的總結(jié)以及對(duì)網(wǎng)頁特征的分析,本文提出基于DOM樹節(jié)點(diǎn)路徑相似度的正文抽取方法,對(duì)于不同結(jié)構(gòu)的網(wǎng)頁都有較好的適應(yīng)性,對(duì)來源于新浪、網(wǎng)易、搜狐、騰訊等大型門戶網(wǎng)站以及多家各類型網(wǎng)站的1 000個(gè)網(wǎng)頁進(jìn)行了抽取實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明本文方法有較好的抽取準(zhǔn)確度。
目前,大部分網(wǎng)頁的源代碼是以超文本標(biāo)記語言 (Hyper Text Markup Language,HTML)的形式存在的。對(duì)于同一網(wǎng)站下的不同網(wǎng)頁,它們由同一個(gè)模板生成,因此這些網(wǎng)頁具有相似的結(jié)構(gòu),而這些網(wǎng)頁中相同的部分就是噪聲內(nèi)容,它們與網(wǎng)頁所要表達(dá)的主題沒有關(guān)系。本文在DSE算法的基礎(chǔ)上,首先將與網(wǎng)頁無關(guān)的標(biāo)簽及相關(guān)代碼刪除,然后通過將某個(gè)網(wǎng)頁與同一網(wǎng)站下的2個(gè)或多個(gè)網(wǎng)頁進(jìn)行對(duì)比去除相同部分,從而達(dá)到去除噪聲的目的。
1.1 刪除無關(guān)的標(biāo)簽
網(wǎng)頁源代碼包含了以不同的標(biāo)簽括起來的各段代碼。例如,網(wǎng)頁標(biāo)題和一些修飾性代碼主要嵌在標(biāo)簽的內(nèi)部,網(wǎng)頁主題內(nèi)容包含在標(biāo)簽之間,客戶端腳本則包含在標(biāo)簽之間。通過對(duì)大量HTML文本的研究和分析,發(fā)現(xiàn)以下幾類標(biāo)簽與網(wǎng)頁主題內(nèi)容的相關(guān)性很低,在對(duì)比網(wǎng)頁之前可以將這部分內(nèi)容過濾掉以提高后續(xù)的對(duì)比速度。
標(biāo)簽以及它們之間的內(nèi)容。
標(biāo)簽。該標(biāo)簽中內(nèi)容的主要功能是定義客戶端腳本,與網(wǎng)頁所要表達(dá)的內(nèi)容關(guān)系不大,也可以將其刪除,類似地,也可刪除。
大部分網(wǎng)頁通過層疊樣式表(Cascading Style Sheets,CSS)來調(diào)整頁面的布局,標(biāo)簽用于定義HTML文檔的樣式信息,同樣可以刪除。
注釋標(biāo)簽、只是為網(wǎng)站編輯提供說明,并不會(huì)在瀏覽器中顯示,也可刪除。
在預(yù)處理過程中利用正則表達(dá)式刪除以上噪聲代碼。正則表達(dá)式通過使用單個(gè)字符串來描述、匹配一系列符合某個(gè)句法規(guī)則的網(wǎng)頁源代碼。符合匹配規(guī)則的源代碼將被刪除。
刪除完無關(guān)標(biāo)簽后,再刪除空白行,這樣完成了去噪的第一步。
1.2 通過網(wǎng)頁對(duì)比去除噪聲
網(wǎng)頁對(duì)比可以通過對(duì)比它們的 DOM樹來實(shí)現(xiàn)。DOM是文檔中數(shù)據(jù)和結(jié)構(gòu)的一個(gè)樹形表示, 它定義了表示和修改文檔所需的對(duì)象、這些對(duì)象的行為和屬性以及這些對(duì)象之間的關(guān)系。DOM實(shí)際上是以面向?qū)ο蠓绞矫枋龅奈臋n模型。它可以以一種獨(dú)立于平臺(tái)和語言的方式訪問和修改一個(gè)文檔的內(nèi)容和結(jié)構(gòu)。圖1給出了一個(gè)文檔的DOM樹的結(jié)構(gòu)圖。
圖1 DOM樹結(jié)構(gòu)圖
通過HTML解析(如使用解析器htmlcxx)可以將HTML文檔轉(zhuǎn)換為DOM樹結(jié)構(gòu)。假設(shè)要處理的是某網(wǎng)站的網(wǎng)頁URL1,隨機(jī)選取該網(wǎng)站下的另外兩個(gè)網(wǎng)頁URL2和URL3,獲得它們的DOM樹。然后分別對(duì)比DOM1DOM2以及DOM1DOM3,輸出不同的節(jié)點(diǎn)。
對(duì)比算法的基本思路是:按深度遍歷3棵樹的節(jié)點(diǎn),為每個(gè)節(jié)點(diǎn)設(shè)置深度、路徑、文本內(nèi)容、是否為tag(HTML標(biāo)簽)。以第1個(gè)網(wǎng)頁作為目標(biāo)與另外兩個(gè)網(wǎng)頁進(jìn)行對(duì)比,如果3個(gè)節(jié)點(diǎn)深度相同,則判斷節(jié)點(diǎn)的文本內(nèi)容是否相同,相同的加入模板集合中,不同的加入網(wǎng)頁內(nèi)容集合中;如果3個(gè)節(jié)點(diǎn)深度不同,則根據(jù)不同情況對(duì)相應(yīng)的節(jié)點(diǎn)進(jìn)行處理,其中網(wǎng)頁1的節(jié)點(diǎn)加入到網(wǎng)頁內(nèi)容集合中。直到3個(gè)網(wǎng)頁都遍歷到end節(jié)點(diǎn)為止。最后得到的就是網(wǎng)頁1的主題內(nèi)容, 過濾了噪聲部分。
算法偽代碼如下:
for(i = begin1 : end1; j = begin2 : end2; k = begin3 : end3)
{
if(depth1 == depth2 == depth3)
if(i->text() == j->text() == k->text())
i加入模板集合;
else
i加入內(nèi)容集合;
else
{
while(depth1 > depth2 || depth1 > depth3)
{
i加入內(nèi)容集合;
i++;
}
while(depth1 < depth2)
j++;
while(depth1 < depth3)
k++;
}
}
HTML文檔轉(zhuǎn)換成DOM樹以后,每個(gè)節(jié)點(diǎn)都有唯一確定的路徑。網(wǎng)頁中不同內(nèi)容塊的節(jié)點(diǎn)在DOM樹中的公共路徑較少,而同一內(nèi)容塊的節(jié)點(diǎn)的公共路徑很長(zhǎng)。本文以這些路徑之間的相似度作為不同節(jié)點(diǎn)是否屬于同一內(nèi)容塊的依據(jù)。所有的主題內(nèi)容都在葉子節(jié)點(diǎn)上,記所有葉子節(jié)點(diǎn)的路徑為:
P={PA,PB,…},PA={TA1,TA2,…,TAn}
其中TAi為文本節(jié)點(diǎn)內(nèi)容。
例如:
This is the first block.
This is the second block.
This is the third block.
test1
這段網(wǎng)頁源代碼中的 “This is the first block”節(jié)點(diǎn)的路徑為:
P1={,,,This is the first block}
“This is the second block”節(jié)點(diǎn)的路徑為:
P2={,,,This is the second block}
其中nA、nB分別表示節(jié)點(diǎn)A、B的深度。
本文從新浪、網(wǎng)易、搜狐、騰訊等大型門戶網(wǎng)站以及多家各類型網(wǎng)站中抽取了1 000個(gè)網(wǎng)頁作為測(cè)試數(shù)據(jù),采用基于網(wǎng)頁DOM樹節(jié)點(diǎn)路徑相似度的正文抽取方法進(jìn)行實(shí)驗(yàn),去噪結(jié)果和正文抽取結(jié)果如表1所示。
表1 本文方法的正文抽取實(shí)驗(yàn)結(jié)果
從表1的統(tǒng)計(jì)結(jié)果可以看出,有97.6%的網(wǎng)頁清洗掉了大部分的噪聲并且完整保留了網(wǎng)頁中的有效信息;對(duì)于新浪、網(wǎng)易等門戶網(wǎng)站的抽取結(jié)果較好,都有90%以上的準(zhǔn)確率和95%以上的召回率;對(duì)于其他不同結(jié)構(gòu)的網(wǎng)站,本文的正文抽取方法也都能適用,很好地實(shí)現(xiàn)了網(wǎng)頁正文抽取的工作,并且有著較高的準(zhǔn)確率和召回率。
為了驗(yàn)證本文方法的有效性,以上述的1 000個(gè)網(wǎng)頁作為樣本,將本文方法與BTE、DSC、FE、LQF、CCB等算法進(jìn)行對(duì)比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表2所示。
表2 各種算法對(duì)比結(jié)果
由表2可以看出,本文提出的方法相對(duì)于現(xiàn)有的統(tǒng)計(jì)方法有更好的準(zhǔn)確率和召回率。
互聯(lián)網(wǎng)的發(fā)展為用戶帶來了一個(gè)包含豐富信息的巨型數(shù)據(jù)庫,但是如何識(shí)別其中的有效數(shù)據(jù)是應(yīng)用的關(guān)鍵。本文的正文抽取方法利用網(wǎng)頁DOM樹節(jié)點(diǎn)路徑相似的特點(diǎn)實(shí)現(xiàn)正文抽取,為之后的數(shù)據(jù)分類、分析等工作奠定了基礎(chǔ)。
本文根據(jù)新聞?wù)膬?nèi)容在網(wǎng)頁中相對(duì)集中且同網(wǎng)站的新聞頁面有相同模板的特點(diǎn),提出基于網(wǎng)頁DOM樹節(jié)點(diǎn)路徑相似度的正文抽取方法,先用正則表達(dá)式刪除網(wǎng)頁源代碼中與正文內(nèi)容無關(guān)的代碼,然后將得到的網(wǎng)頁轉(zhuǎn)換為DOM樹,再將目標(biāo)網(wǎng)頁的DOM樹與另外兩個(gè)網(wǎng)頁的DOM樹進(jìn)行對(duì)比去除噪聲,最后,根據(jù)節(jié)點(diǎn)路徑相似度來抽取正文內(nèi)容。該方法對(duì)來自不同網(wǎng)站的數(shù)據(jù)能夠快速、準(zhǔn)確地抽取正文內(nèi)容,適用于結(jié)構(gòu)變化不大的網(wǎng)頁,但是對(duì)正文內(nèi)容較少的網(wǎng)頁抽取效果仍有待提高。下一步主要工作是加入內(nèi)容節(jié)點(diǎn)與標(biāo)題節(jié)點(diǎn)的路徑之間的距離判斷節(jié)點(diǎn)是否為正文,以提高算法的準(zhǔn)確度。
[1] KUSHMERICK N, WELD D S, DOORENBOS R.Wrapper induction for information extraction[C].IJCAI 1997: Proceedings of the 1997 International Joint Conference on Artificial Intelligence,1997:729-737.
[2] FU L,MENG Y,XIA Y J, et al.Web content extraction based on webpage layout analysis[C].ITCS 2010: Proceedings of the 2010 Second International Conference on Information Technology and Computer Science,2010: 40-43.
[3] CAI D,YU S P,WEN J R,et al.VIPS: a vision based on page segmentation algorithm[R].Microsoft Co.,Tech.Report,2003.
[4] WANG J Q,CHEN Q C,WANG X L,et al.Basic semantic units based web page content extraction[C].SMC 2008: Proceedings of the 2008 IEEE International Conference on Systems,Man and Cybernetics,Piscataway,NJ: IEEE Press,2008:1489-1494.
[5] UZUN E,AGUN H V,YERLIKAYA T.Web content extraction by using decision tree learning[C].SIU 2012: Signal Processing and Communications Applications Conference,2012: 1-4.
[6] PAN D H,QIUS G,YIN D W.Web page content extraction method based on link density and statistic[C].WiCOM 2008: Wireless Communications,Networking and Mobile Computing,Dalian,China,IEEE Press,2008:1-4.
[7] REIS D C,GOLGHER P B.Automatic web news extraction using tree edit distance[C].Proc.WWW 2004: The 13th International Conference on World Wide Web,New York: ACM,2004: 502-511.
[8] FINN A,KUSHMERICK N,SMYTH B.Fact or fiction: Con-tent classification for digital libraries[C].Proc of the 2nd DELOS Network of Excellence Workshop on Personalization and Recommender Systems in Digital Libraries.Dublin,Ireland,2001: 1-6.
[9] PINTO D,BRANSTEIN M,COLEMAN R,et al.QuASM: A system for question answering using semi-structured data[C].Proc of the 2nd ACM/ IEEE-CS Joint Conference on Digital Libraries.Portland,USA,2002: 46-55.
[10] MANTRATZIS C,ORGUN M,CASSIDY S.Separating XHTML content from navigation clutter using DOM-structure block analysis[C].Proc of the 16th ACM Conference on Hypertext and Hypermedia, Salzburg,Austria,2005: 145-147.
[11] DEBNATH S,MITRA P,GILES C L.Automatic extraction of informative blocks from webpages[C].Proc of the ACM Symposium on Applied Computing, SantaFe,USA,2005: 1722-1726.
[12] GOTTRON T.Content code blurring: A new approach to content extraction[C].Proc of the 19th International Conference on Database and Expert Systems Applications, Turin,Italy,2008: 29-33.
[13] 劉利,戴齊,尹紅風(fēng),等.基于多特征融合的網(wǎng)頁正文信息抽取[J].計(jì)算機(jī)應(yīng)用與軟件,2014,31(7):47-49.
[14] 王利,劉宗田,王燕華,等.基于內(nèi)容相似度的網(wǎng)頁正文提取[J].計(jì)算機(jī)工程,2010,36(6):102-104.
[15] YI L,LIU B,LI X.Eliminating noise information in web pages for data mining[C].SIGKDD 2003: Proceedings of the 9th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, New York: ACM,2003:296-305.
[16] GIBSON D,PUNERA K,TOMKINS A.The volume and evolution of web page templates[C].Proc.WWW 2005: Special Interest Tracks and Posters of the 14th International Conference on World Wide Web,New York: ACM,2005:830-839.
[17] WANG J Y,LOCHOVSKY F H.Data-rich section extraction from HTML pages[C].WISE 2002: Proceedings of the 3rd International Conference on Web Information Systems Engineering (Workshops), Los Alamitos,CA: IEEE Computer Society,2002: 313-322.
Content extraction based on the similarity of the Web pages′ DOM tree nodes path
Pan Xinyu1,Chen Changfu2,Liu Rong1,Wang Meiqing1
(1.College of Mathematics and Computer Science,Fuzhou University,Fuzhou 350108,China; 2.Fujian Ecallcen Information Technology Company Limited,Fuzhou 350000,China)
Due to the problem that the low efficiency and high cost of extracting information by human,according to the observation of large amount of Web pages’structure,the content extraction method based on the similarity of web pages’ DOM tree node’s path was proposed.It removed noise and got the main body of the Web page as the Web pages in the same website had the same structure,then combined the similarity of the path of content nodes in the DOM tree to extract content.Through the experiments of 1 000 Web pages from different Chinese news Websites,the results show that this method can remove most noise and maintain the integrity of the content for 97.6% of all Web pages,it has 93.30% precision rate and 95.59% recall rate,and it has good adaptability for different types of Web pages.
DOM tree; information extraction; HTML tag; Web denoising; content extraction
TP301.6
A DOI:10.19358/j.issn.1674-7720.2016.19.022
潘心宇,陳長(zhǎng)福,劉蓉,等.基于網(wǎng)頁DOM樹節(jié)點(diǎn)路徑相似度的正文抽取[J].微型機(jī)與應(yīng)用,2016,35(19):74-77.
2016-05-13)
潘心宇(1992-),男,碩士研究生,主要研究方向:數(shù)據(jù)挖掘、模式識(shí)別。
陳長(zhǎng)福(1974-),男,學(xué)士,主要研究方向:網(wǎng)絡(luò)信息挖掘、信息分類。
劉蓉(1972-),通信作者,女,碩士,講師,主要研究方向:數(shù)值計(jì)算。E-mail:liu_r@fzu.edu.cn。