中圖分類號(hào):TP391;TP301.6;TP311.1 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2096-4706(2025)08-0106-06
Abstract: Inorder to extract valuable information from Web pages eficientlyand accurately,this paper proposes a Web content parsing methodbasedonDeep Learning.This methodaims to extracttext information fromcomplex HyperText MarkupLanguage(HTML).This methodcombines the feature extractionabilityofDeepLeaming,NaturalLanguageProcessing technologyandlayoutinformationinHMLdocumentstoconstructaMulti-LayerNeuralNetworkmodel,soastoealizete recognitionof Webcontent.The experimentalresultsshowthatcompared withthe traditional Webcontentextraction method based on text density, this method has obvious advantages in accuracy,adaptability and robustness.
Keywords:Web content parsing;DeepLearning; Neural Network; adaptability
0 引言
隨著互聯(lián)網(wǎng)的發(fā)展,網(wǎng)頁的功能、樣式結(jié)構(gòu)變得越來越復(fù)雜。網(wǎng)頁內(nèi)常常包含大量其他信息:廣告、外部鏈接、導(dǎo)航欄等,而一般來說,人們關(guān)心的只有網(wǎng)頁的正文內(nèi)容。所謂正文,是人在閱讀網(wǎng)頁時(shí)關(guān)心的內(nèi)容信息,包括目標(biāo)文字、圖片、視頻等。但本文研究的正文范圍僅限于文字。網(wǎng)頁作為互聯(lián)網(wǎng)信息的主要載體,包含了豐富的文本、圖像、視頻等多媒體數(shù)據(jù)。然而,網(wǎng)頁內(nèi)容通常以非結(jié)構(gòu)化的超文本標(biāo)記語言(Hyper TextMarkup Language,HTML) 文檔形式存在,直接從中提取有效信息具有一定的難度。
根據(jù)HTML結(jié)構(gòu)的內(nèi)部特征完成內(nèi)容提取的方法稱為包裝器方法。該方法通過分析網(wǎng)頁代碼的方式手動(dòng)配置HTML頁面的正則表達(dá)式,并采用XML路徑查詢語言XPath實(shí)現(xiàn)程序自動(dòng)或半自動(dòng)內(nèi)容提取。包裝器方法[雖然在一定程度上能夠解決問題,但在處理復(fù)雜多變的網(wǎng)頁結(jié)構(gòu)時(shí)往往顯得力不從心,或者需要大量的人工維護(hù)和規(guī)則更新。鄭志建等[設(shè)計(jì)了一種算法,該算法通過對(duì)比HTML源代碼,能夠自動(dòng)且有效地生成XPath代碼,取得了顯著成效。陳迎仁等[3提出了一種創(chuàng)新方法,該方法利用特征相似度原理,實(shí)現(xiàn)了舊包裝器對(duì)新頁面信息的自適應(yīng)提取。
2003年,微軟公司亞洲研究所提出了一種對(duì)網(wǎng)頁進(jìn)行視覺分塊,算法——VIPS算法。該算法的思想是模仿人類看網(wǎng)頁的動(dòng)作,基于網(wǎng)頁視覺內(nèi)容結(jié)構(gòu)信息結(jié)合DOM樹對(duì)網(wǎng)頁進(jìn)行處理。簡(jiǎn)單地說,就是把頁面切割成不同大小的塊,在每一塊中又根據(jù)塊內(nèi)網(wǎng)頁的內(nèi)容和CSS樣式渲染成的視覺特征將其分成小塊,最后建立一棵樹。但是,VIPS必須完全渲染一個(gè)頁面才能對(duì)其進(jìn)行分析。這就導(dǎo)致VIPS算法占用的內(nèi)存資源以及CPU運(yùn)算資源較多。由于該算法在提取一個(gè)網(wǎng)頁時(shí)消耗的資源過多,所以這種網(wǎng)頁提取方法在面對(duì)海量網(wǎng)頁處理時(shí)并不適用。張?chǎng)蔚忍岢隽艘环N基于視覺特征和領(lǐng)域本體的Web信息抽取算法,該算法利用HTML標(biāo)簽和層疊樣式表( Cascading Style Sheets, CSS)所定義的網(wǎng)頁字體、背景顏色、分塊等頁面視覺特征準(zhǔn)確劃定信息抽取區(qū)域。
此外,基于文本及符號(hào)密度的網(wǎng)頁正文提取方法也普遍存在于網(wǎng)頁內(nèi)容的自動(dòng)提取中[8-9]。該種方法依賴于網(wǎng)頁中文本和符號(hào)(如標(biāo)點(diǎn)符號(hào))的密度來區(qū)分正文內(nèi)容和網(wǎng)頁中的其他噪聲信息(如廣告、導(dǎo)航欄、版權(quán)信息等)。該方法通過計(jì)算網(wǎng)頁中文本和符號(hào)的密度,來識(shí)別并提取網(wǎng)頁中的正文內(nèi)容。但對(duì)于一些特殊格式的網(wǎng)頁,如使用大量圖片、視頻或復(fù)雜布局的網(wǎng)頁,或者在噪聲密度較高或正文內(nèi)容較為稀疏的網(wǎng)頁結(jié)構(gòu)中,其識(shí)別效果可能不佳。
本文提出了一種基于深度學(xué)習(xí)的網(wǎng)頁內(nèi)容解析方法,該方法利用神經(jīng)網(wǎng)絡(luò)模型自動(dòng)學(xué)習(xí)網(wǎng)頁正文特征和結(jié)構(gòu)特征,實(shí)現(xiàn)對(duì)網(wǎng)頁內(nèi)容的快速、有效提取。
1" 基于深度學(xué)習(xí)的網(wǎng)頁內(nèi)容解析方法
1.1" 方法概述
本文提出的基于深度學(xué)習(xí)的網(wǎng)頁內(nèi)容解析方法主要包括以下幾個(gè)步驟:網(wǎng)頁數(shù)據(jù)采集與預(yù)處理、特征提取、模型構(gòu)建與訓(xùn)練、結(jié)果解析與輸出。本文致力于將網(wǎng)頁內(nèi)容的提取轉(zhuǎn)化為一項(xiàng)文本分類任務(wù),具體流程概述如下:首要步驟是對(duì)網(wǎng)頁的字符串內(nèi)容進(jìn)行解析,將其細(xì)致地分割成多個(gè)文本塊單元。緊接著,針對(duì)每一個(gè)獨(dú)立分割出的文本塊,采用一個(gè)深度學(xué)習(xí)模型執(zhí)行分類操作,此模型會(huì)輸出一個(gè)布爾值結(jié)果:若結(jié)果為L(zhǎng),則意味著該文本塊為正文;反之,若結(jié)果為D,則該文本塊非正文。深度學(xué)習(xí)作為文本分類領(lǐng)域的得力助手,在此過程中發(fā)揮了關(guān)鍵作用。此外,本文所提出的方法不僅依賴于深度學(xué)習(xí)模型,還巧妙地利用了HTML文檔的樹結(jié)構(gòu)屬性來表示文本塊的從屬關(guān)系編碼。HTML文檔可以被解析成一個(gè)DOM(文檔對(duì)象模型)樹結(jié)構(gòu),其中樹的每一個(gè)節(jié)點(diǎn)都對(duì)應(yīng)于一個(gè)特定的HTML標(biāo)簽(例如lt;pgt;、lt;divgt;、具有特定class屬性的標(biāo)簽等)。采用從DOM樹的根節(jié)點(diǎn)出發(fā),直至目標(biāo)文本塊所在節(jié)點(diǎn)的標(biāo)簽序列,作為該文本塊的標(biāo)簽路徑表示。這一標(biāo)簽路徑不僅反映了元素在HTML結(jié)構(gòu)中的位置,還隱含了它們之間的層級(jí)從屬關(guān)系,為精確提取網(wǎng)頁正文提供了有力支持。
1.2網(wǎng)頁數(shù)據(jù)采集與預(yù)處理
首先,我們利用Python環(huán)境和selenium自動(dòng)化測(cè)試工具,調(diào)用無頭瀏覽器發(fā)起網(wǎng)頁訪問請(qǐng)求。無頭瀏覽器通過模擬瀏覽器操作,打開待提取的網(wǎng)頁地址,然后我們使用模擬瀏覽器對(duì)象的page_source屬性獲取經(jīng)過動(dòng)態(tài)渲染的網(wǎng)頁HTML文檔源代碼。這滿足了網(wǎng)頁數(shù)據(jù)采集的“靜態(tài)可采、動(dòng)態(tài)可采、可見即可采、可見即可得”的核心需求。
接下來,我們將網(wǎng)頁的HTML內(nèi)容轉(zhuǎn)換為純文本形式,并進(jìn)行清洗和格式化處理,去除無關(guān)的標(biāo)簽、腳本和樣式等信息。這一步是后續(xù)處理的基礎(chǔ),直接影響到特征提取的效果。
呂芳證明,網(wǎng)頁結(jié)構(gòu)和視覺特征能有效地幫助識(shí)別主要內(nèi)容。為了保存網(wǎng)頁布局信息,本方法依靠DOM樹結(jié)構(gòu)將網(wǎng)頁轉(zhuǎn)換為文本序列。我們使用Python的BeautifuISoup庫解析HTML文檔,對(duì)樹結(jié)構(gòu)節(jié)點(diǎn)進(jìn)行深度優(yōu)先遍歷,將其作為額外的位置信息來表示。同時(shí),我們移除JavaScript腳本、CSS樣式表、注釋等非文本內(nèi)容,但保留重要的HTML標(biāo)簽(如lt;titlegt;、lt;hlgt;至lt;h6gt;、lt;pgt;、lt;agt;等),用于后續(xù)的特征提取。提取HTML標(biāo)簽內(nèi)的文本內(nèi)容,去除多余的空格、換行符和特殊字符。對(duì)每一行標(biāo)簽路徑進(jìn)行標(biāo)注:如果這一個(gè)文本塊是正文,標(biāo)為1;如果不是,則標(biāo)為0。通過標(biāo)注,一個(gè)文本塊被定義為正文或非正文,這些標(biāo)簽會(huì)被用于深度學(xué)習(xí)模型的訓(xùn)練。
最終生成各節(jié)點(diǎn)的文本序列X=xl,X2,X3,…,x。),其中n為數(shù)字保留的DOM節(jié)點(diǎn)數(shù)。
1.3特征提取
XLM-Roberta是Facebook AI團(tuán)隊(duì)于20 1 9年11月發(fā)布的語言模型,它依賴于掩碼語言模型目標(biāo),能夠處理100種不同語言的文本。相較于原始版本,XLM-Roberta的最大更新是訓(xùn)練數(shù)據(jù)量的顯著增加。經(jīng)過清洗和訓(xùn)練的常用爬蟲數(shù)據(jù)集占用空間高達(dá)2.5 TB。
使用XLM-Roberta模型算法對(duì)第一層模型預(yù)處理生成的文本序列x進(jìn)行編碼,形成768維特征向量,用h表示。計(jì)算公式如下:
其中,i為節(jié)點(diǎn)下標(biāo)。
Transformer模型是一種基于自注意力機(jī)制的深度學(xué)習(xí)模型,廣泛應(yīng)用于自然語言處理任務(wù)中。它由編碼器( Encoder)和解碼器(Decoder)組成,通過自注意力機(jī)制捕捉輸入序列中不同位置之間的關(guān)系,從而處理序列數(shù)據(jù)。在Transformer模型中,編碼器和解碼器都由多個(gè)堆疊的層組成。每個(gè)層都由兩個(gè)子層構(gòu)成:多頭部自注意力層(Multi-head Self-Attention Layer)和前饋神經(jīng)網(wǎng)絡(luò)層(Feed-ForwardNeural Network Layer)。自注意力層允許模型在處理輸入序列時(shí)對(duì)不同位置的信息進(jìn)行加權(quán)考慮,而不僅僅依賴于序列的位置順序。它通過計(jì)算注意力權(quán)重,使輸入序列的每個(gè)位置與其他位置進(jìn)行交互。這樣的注意力機(jī)制能夠捕捉到序列中重要的上下文信息,從而在處理長(zhǎng)距離依賴性時(shí)表現(xiàn)優(yōu)異。
在編碼器中,輸入序列經(jīng)過多個(gè)編碼器層的處理,每一層都會(huì)生成一個(gè)新的特征表示。編碼器的輸出可以用于各種下游任務(wù),如文本分類、命名實(shí)體識(shí)別等。在解碼器中,除了自注意力層和前饋神經(jīng)網(wǎng)絡(luò)層外,還包含一個(gè)編碼器一解碼器注意力層( Encoder-DecoderAttention Layer)。
具體地,使用3層的Transformer模型進(jìn)行編碼,以解決網(wǎng)頁結(jié)構(gòu)的位置信息與特征信息融合的問題,最終生成256維特征向量h。
1.4分類器
前饋神經(jīng)網(wǎng)絡(luò)(Feedforward Neural Network,F(xiàn)NN)或多層感知器(Multilayer Perceptron,MLP)是深度學(xué)習(xí)中一種基本且廣泛應(yīng)用的神經(jīng)網(wǎng)絡(luò)架構(gòu),尤其適用于分類和回歸任務(wù)。MLP由多個(gè)層次組成,包括輸入層、一個(gè)或多個(gè)隱藏層以及輸出層。每個(gè)層中的神經(jīng)元(節(jié)點(diǎn))與前一層的神經(jīng)元全連接,并且信息只能向前傳播(即,從輸入層到隱藏層再到輸出層)。使用前饋神經(jīng)網(wǎng)絡(luò)或多層感知器( MultilayerPerceptron,MLP)作為分類器時(shí),采用Sigmoid函數(shù)作為激活函數(shù),輸出目標(biāo)數(shù)為2,分別代表正文(1)和其他(0)。計(jì)算方法按照如下公式:
使用交叉熵?fù)p失函數(shù)在訓(xùn)練階段通過反向傳播調(diào)整網(wǎng)絡(luò)參數(shù)。計(jì)算公式如下:
其中,yk為標(biāo)記標(biāo)簽,它是一個(gè)二進(jìn)制值,取o或1;yk=l為第f個(gè)節(jié)點(diǎn)屬于第k類,c為交叉熵?fù)p失函數(shù)。
Adam算法與傳統(tǒng)的隨機(jī)梯度下降不同,隨機(jī)梯度下降保持單一的學(xué)習(xí)率(即alpha)來更新所有的權(quán)重,但學(xué)習(xí)率在訓(xùn)練過程中不會(huì)改變,而Adam算法通過計(jì)算梯度的一階矩估計(jì)和二階矩估計(jì),為不同的參數(shù)設(shè)計(jì)獨(dú)立的自適應(yīng)性學(xué)習(xí)率。因此,我們選擇Adam作為優(yōu)化算法。
1.5模型構(gòu)建與訓(xùn)練
訓(xùn)練過程中,我們將訓(xùn)練樣本集中的樣本輸入模型中進(jìn)行前向傳播,采用損失函數(shù)計(jì)算與目標(biāo)類之間的差距,并結(jié)合反向傳播算法,調(diào)整整個(gè)網(wǎng)絡(luò)的參數(shù)。向量化過程使用l層XLM-Roberta模型生成768維特征向量,該向量隨后經(jīng)過3層Transformer網(wǎng)絡(luò)模型處理,其中隱藏層單元數(shù)為256,輸出為2個(gè)類別(是正文或不是正文)。優(yōu)化算法選取Adam算法。進(jìn)行迭代訓(xùn)練時(shí),初始學(xué)習(xí)率設(shè)置為0.05,學(xué)習(xí)率調(diào)整遵循余弦衰減時(shí)間表,峰值速率在0.000 6處偏移。當(dāng)誤差下降到一定程度或不再下降時(shí),訓(xùn)練結(jié)束。網(wǎng)絡(luò)模型結(jié)構(gòu)圖如圖1所示。
2.2數(shù)據(jù)集與評(píng)價(jià)指標(biāo)
2.2.1" 數(shù)據(jù)集
本文采用自己采集的網(wǎng)頁數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),該數(shù)據(jù)集涵蓋新聞與政務(wù)新聞兩種類型的網(wǎng)頁。數(shù)據(jù)來源包括貴州省人民政府網(wǎng)、新浪新聞、今日頭條、網(wǎng)易新聞、鳳凰網(wǎng)、人民網(wǎng)以及四川省人民政府網(wǎng)。我們將數(shù)據(jù)集按照7:3的比例劃分為訓(xùn)練集和測(cè)試集。數(shù)據(jù)集的具體內(nèi)容和實(shí)驗(yàn)分配如表2所示。
2.2.2評(píng)價(jià)指標(biāo)
效果評(píng)估采取了模糊字符串匹配的方式。為了消除分割方式造成的誤差,對(duì)測(cè)試集進(jìn)行了統(tǒng)一處理,將正文的空格和換行符全部去除,但這樣對(duì)比的字符串可能長(zhǎng)度不同,因此無法使用Fl分?jǐn)?shù)作為相似度衡量指標(biāo),而是使用Fuzzy Wuzzy來實(shí)現(xiàn)模糊字符串匹配。Fuzzy Wuzzy是一個(gè)基于萊文斯坦(Levenshtein)距離的字符串相似度衡量工具,而Levenshtein距離衡量的是一個(gè)字符串至少需要變換幾個(gè)字符才能變成另一個(gè)字符串。Fuzzy Wuzzy衡量字符串相似度的度量是Levenshtein距離和兩個(gè)字符串平均長(zhǎng)度的比率,這個(gè)得分越高,說明兩個(gè)字符串越相似。
本文中,真實(shí)正文標(biāo)簽內(nèi)容記為v,模型提取內(nèi)容記為可,兩個(gè)字符串v和可之間的Levenshtein距離可以表示為,兩個(gè)字符串的相似度計(jì)算公式如下:
采用值界定法判斷識(shí)別結(jié)果是否正確,公式如下:
2.3實(shí)驗(yàn)研究與分析
在訓(xùn)練初期,隨著Epochs的增加,訓(xùn)練損失值通常會(huì)迅速下降,這表明模型正在逐漸學(xué)習(xí)數(shù)據(jù)的特征。雖然模型己經(jīng)學(xué)習(xí)到了大部分?jǐn)?shù)據(jù)特征,但仍有部分難以擬合的復(fù)雜特征需要進(jìn)一步優(yōu)化,因此訓(xùn)練損失值在訓(xùn)練過程中會(huì)持續(xù)下降,但速度會(huì)變慢。為了防止過擬合,我們采用強(qiáng)制停止策略,即當(dāng)驗(yàn)證損失在連續(xù)幾個(gè)Epoch中沒有改善時(shí)停止訓(xùn)練,以獲得最佳的模型。訓(xùn)練過程如圖2所示。
如表3所示,在本文中自制的中文數(shù)據(jù)集上進(jìn)行測(cè)試,本文提出的基于深度學(xué)習(xí)的網(wǎng)頁內(nèi)容解析方法相較于傳統(tǒng)方法具有更高的準(zhǔn)確率和效率。
在所有閾值下,本文方法的準(zhǔn)確率均明顯高于GNE[8]方法。隨著閾值的增加,兩種方法的準(zhǔn)確率均有所下降。然而,本文方法的下降幅度相對(duì)較小,說明其在高閾值下仍能保持較好的性能穩(wěn)定性。對(duì)于GNE[8]方法,當(dāng)閾值從0.7增加到0.9時(shí),準(zhǔn)確率下降了4.7%,這表明該方法對(duì)閾值的變化較為敏感。對(duì)于本文方法,在閾值從0.7增加到0.9的過程中,準(zhǔn)確率下降了1.6%,這表明本文方法在不同閾值下具有更好的魯棒性和適應(yīng)性。
本次試驗(yàn)結(jié)果表明,本文方法在不同閾值下均表現(xiàn)出優(yōu)于GNE[8]方法的性能。具體來說,本文方法在準(zhǔn)確率、穩(wěn)定性和魯棒性方面均表現(xiàn)更佳。
3結(jié)論
本文提出的基于深度學(xué)習(xí)的網(wǎng)頁內(nèi)容解析方法雖然取得了一定的成果,但仍存在一些不足之處。例如,對(duì)于某些極端復(fù)雜的網(wǎng)頁結(jié)構(gòu),模型的解析能力仍有待提高;同時(shí),模型的訓(xùn)練過程需要消耗大量的計(jì)算資源,如何進(jìn)一步優(yōu)化模型結(jié)構(gòu)和訓(xùn)練過程是一個(gè)值得深入研究的問題。未來將繼續(xù)研究更加高效的深度學(xué)習(xí)模型和技術(shù),以進(jìn)一步提高網(wǎng)頁內(nèi)容解析的準(zhǔn)確性和效率;同時(shí)關(guān)注網(wǎng)頁數(shù)據(jù)與結(jié)構(gòu)的特征表示,研究如何構(gòu)建具有更強(qiáng)自適應(yīng)能力的模型。
參考文獻(xiàn):
[1]BARBARESIA.Trafilatura:A Web ScrapingLibrary and Command-Line Tool for Text Discovery and Extraction [C]// In Proceedings of the Joint Conference of the 59th Annual Meeting oftheAssociation for ComputationalLinguistics and the 11th International Joint Conference on Natural Language Processing: System Demonstrations.Online:Association for Computational Linguistics,2021:122-131.
[2]鄭志建,俞發(fā)仁,魏曉微,等.基于Python的職位網(wǎng)站爬取設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)與網(wǎng)絡(luò),2024,50(1):24-27.
[3]陳迎仁,郭瑩楠,郭享,等.基于特征相似度計(jì)算的網(wǎng)頁包裝器自適應(yīng)[J].計(jì)算機(jī)科學(xué),2021,48(S2):218-2 2 4 + 2 5 7
[4]SONGRH,LIUHF,WENJR,etal.LearningBlock ImportanceModels forWeb Pages[C]//Proceedingsof the13th internationalconferenceonWorldWideWeb.ACM,2004:203-211.
[5]呂芳.基于視覺特征的釣魚網(wǎng)頁相似性計(jì)算技術(shù)研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2015.
[6]沈怡濤.基于視覺特征和文本結(jié)構(gòu)分析的中文網(wǎng)頁自動(dòng)摘要技術(shù)研究[D].上海:華東師2范大學(xué),2014.
[7]張?chǎng)?,陳梅,王翰虎,?基于視覺特征和領(lǐng)域本體的Web信息抽取[J].計(jì)算機(jī)技術(shù)與發(fā)展,2011,21(2):58-6 1 + 6 5
[8]洪鴻輝,丁世濤,黃傲,等.基于文本及符號(hào)密度的網(wǎng)頁正文提取方法[J]電子設(shè)計(jì)工程,2019,27(8):133-137.
[9]楊大為,王詩念,包立巖,等.基于文本及HTML標(biāo)簽密度的網(wǎng)頁正文提取[J].沈陽理工大學(xué)學(xué)報(bào),2022,41(4):14-19.
[10]CONNEAUA,KHANDELWALK,GOYALN,et al.Unsupervised Cross-lingual RepresentationLearningat Scale [J/OL].arXiv:1911.02116 [cs.CL].[2024-10-18].https://arxiv.org abs/1911.02116?file=1911.02116.
作者簡(jiǎn)介:袁公萍(1992一),男,漢族,貴州榕江人,工程師,碩士研究生,研究方向:數(shù)據(jù)采集、深度學(xué)習(xí)、機(jī)器學(xué)習(xí);謝紅韜(1992一),男,漢族,貴州遵義人,工程師,碩士研究生,研究方向:機(jī)器學(xué)習(xí);舒玉淋(1992一),男,漢族,貴州鎮(zhèn)遠(yuǎn)人,工程師,碩士研究生,研究方向:大數(shù)據(jù)、機(jī)器學(xué)習(xí);周維(1992一),男,漢族,湖北荊州人,工程師,碩士研究生,研究方向:統(tǒng)計(jì)分析、深度學(xué)習(xí)、機(jī)器學(xué)習(xí)。