謝俊宇
摘要:面對(duì)海量的信息庫(kù),如何從網(wǎng)頁(yè)中將與網(wǎng)頁(yè)主題相關(guān)度較高的正文信息抽取出來(lái)是比較困難的。本文針對(duì)新聞網(wǎng)頁(yè),提出基于文本密度的網(wǎng)頁(yè)抽取算法,這是一種快速、準(zhǔn)確通用的網(wǎng)頁(yè)提取算法。通過(guò)與現(xiàn)有的一些算法對(duì)比,該算法可以較好的支持大數(shù)據(jù)量網(wǎng)頁(yè)正文提取操作。
關(guān)鍵詞:數(shù)據(jù)采集;網(wǎng)頁(yè)抽取;智能頁(yè)面解析
1 引言
隨著Web技術(shù)的發(fā)展,人類的日常生活方式已經(jīng)發(fā)生了巨大的變化。這些變化使得許多傳統(tǒng)的紙質(zhì)載體都被電子載體取而代之,許多信息都通過(guò)互聯(lián)網(wǎng)上的網(wǎng)頁(yè)來(lái)傳遞和展示。新聞網(wǎng)站是實(shí)時(shí)新聞發(fā)布的主要平臺(tái),也是獲取實(shí)時(shí)新聞的關(guān)鍵平臺(tái),要及時(shí)、全面地獲取新聞實(shí)時(shí)信息并作為后續(xù)研究的基礎(chǔ)信息,對(duì)新聞?wù)军c(diǎn)進(jìn)行實(shí)時(shí)采集很有必要。因此,如何從大量的半結(jié)構(gòu)化網(wǎng)頁(yè)信息中快速抽取用戶感興趣的內(nèi)容是需要研究的重要課題。
2 國(guó)內(nèi)外研究現(xiàn)狀
目前較為成熟的信息抽取方法為基于統(tǒng)計(jì)的方法。主要有統(tǒng)計(jì)文本密度、標(biāo)簽密度和行塊分布等方法。Weninger等提出CETR算法,利用聚類方法并基于網(wǎng)頁(yè)源代碼的標(biāo)簽比特征值來(lái)進(jìn)行網(wǎng)頁(yè)信息抽取。Mehta 等在DOM樹(shù)的基礎(chǔ)上提出閾值和數(shù)據(jù)過(guò)濾器的概念,用于檢測(cè)和刪除網(wǎng)頁(yè)中不相關(guān)和冗余的數(shù)據(jù),從而動(dòng)態(tài)消除不同結(jié)構(gòu)化網(wǎng)頁(yè)的噪聲內(nèi)容,來(lái)提取網(wǎng)頁(yè)關(guān)鍵內(nèi)容。吳共慶等根據(jù)DOM樹(shù)標(biāo)簽路徑特征,提出將不同特征融合得到融合特征值的方法,然后在利用融合后的特征對(duì)新聞網(wǎng)頁(yè)進(jìn)行內(nèi)容抽取。
3 網(wǎng)頁(yè)抽取算法
本文通過(guò)對(duì)新聞網(wǎng)頁(yè)的正文頁(yè)進(jìn)行分塊,提出基于標(biāo)簽文本密度的網(wǎng)頁(yè)抽取算法??s小了抽取新聞標(biāo)題、正文、發(fā)布時(shí)間的范圍,并結(jié)合符號(hào)密度,計(jì)算最終文本密度得分,提高了抽取正文的準(zhǔn)確率。
在新聞網(wǎng)頁(yè)的正文頁(yè)面中:
1. 文本字?jǐn)?shù)較多
2. <a>標(biāo)簽文本字?jǐn)?shù)較少
3. 標(biāo)點(diǎn)符號(hào)(尤其是句號(hào)等)使用較多
4. 段落較多
正文標(biāo)題通常會(huì)用<h*></h> (*:1-6) 標(biāo)簽包含,而正文通常會(huì)使用<p></p>標(biāo)簽包含。有可能在<p></p>標(biāo)簽中還會(huì)包含<a>鏈接或者<span>標(biāo)簽等,但是只需要找到包含正文內(nèi)容的<p></p>,無(wú)論<p></p>標(biāo)簽內(nèi)會(huì)包含什么標(biāo)簽,都可以視為新聞?wù)膬?nèi)容。例如以下是新聞?wù)捻?yè)html代碼示例:
<body>
<h1 class="post_title">習(xí)近平談為基層減負(fù) </h1>
<div class="post_info">2021-02-03 08:18:37 來(lái)源:黨建網(wǎng)微平臺(tái)</div>
<div class="post_body">
<p>2020年歲末,一份名為《關(guān)于持續(xù)解決形式主義問(wèn)題深化拓展基層減負(fù)工作情況的報(bào)告》……</p>
<p>要堅(jiān)決整治形式主義、官僚主義,讓基層干部從繁文縟節(jié)、文山會(huì)海、迎來(lái)送往中解脫出來(lái)。</p>
<p>在疫情防控工作中,有些地方出現(xiàn)了形式主義、官僚主義現(xiàn)象……</p>
<p>要控制各級(jí)開(kāi)展監(jiān)督檢查、索要材料報(bào)表的總量和頻次,同類事項(xiàng)可以合并的要合并進(jìn)行…… </p>
</div>
</body>
我們首先需要初始化html,將html文件解析為document對(duì)象,并且拆分取出每一個(gè)標(biāo)簽。如圖所示:
接著獲取每個(gè)div盒子中的標(biāo)簽文本統(tǒng)計(jì)信息,分別計(jì)算每個(gè)div中的標(biāo)簽文本密度,再計(jì)算每個(gè)div中的標(biāo)點(diǎn)符號(hào)密度,最終結(jié)合標(biāo)簽文本密度和標(biāo)點(diǎn)符號(hào)密度,使用不同底數(shù)的對(duì)數(shù)函數(shù)對(duì)數(shù)據(jù)進(jìn)行壓縮,調(diào)整權(quán)重占比,計(jì)算每個(gè)div中的文本密度得分,文本密度得分最高的div盒子即為我們的正文內(nèi)容。
4 驗(yàn)證實(shí)驗(yàn)
4.1 數(shù)據(jù)集的選取
為驗(yàn)證算法性能,我們采集了來(lái)自不同大型新聞網(wǎng)站、時(shí)間跨度30天的9313篇新聞網(wǎng)頁(yè)作為算法的性能評(píng)測(cè)樣本數(shù)據(jù)集。實(shí)驗(yàn)最后將新聞樣本的使用人工方法抽取的正文字符與算法自動(dòng)抽取的結(jié)果作對(duì)比,以此來(lái)衡量算法的抽取準(zhǔn)確率。
4.2 評(píng)測(cè)指標(biāo)及實(shí)驗(yàn)結(jié)果
本文對(duì)提取內(nèi)容和標(biāo)準(zhǔn)內(nèi)容進(jìn)行對(duì)比,采用Precision、Recall、F1值這3個(gè)通用的評(píng)測(cè)指標(biāo)來(lái)衡量通用網(wǎng)頁(yè)新聞標(biāo)題自動(dòng)抽取算法的性能。文本對(duì)比過(guò)程采用改進(jìn)的LCS(Longest Common Sequence)算法,LCS算法是將兩個(gè)給定字符串分別刪去零個(gè)或者多個(gè)字符,但不改變剩余字符的順序后得到的長(zhǎng)度最長(zhǎng)的相同字符序列。
F1值是Precision和Recall調(diào)和平均數(shù)。它綜合了P和R的結(jié)果,當(dāng)F1值較高時(shí),則能說(shuō)明算法性能較好。若實(shí)驗(yàn)數(shù)據(jù)量越大,數(shù)據(jù)集分布越平衡,則評(píng)測(cè)指標(biāo)的可信度也會(huì)越高。最后通過(guò)計(jì)算,可以得出自動(dòng)抽取算法在整個(gè)樣本數(shù)據(jù)集上的平均準(zhǔn)確率P、平均召回率R以及平均F1值分別為98.3、99.2和98.75。
實(shí)驗(yàn)結(jié)果發(fā)現(xiàn)通過(guò)算法提取的網(wǎng)頁(yè)正文內(nèi)容與人工提取的標(biāo)準(zhǔn)結(jié)果吻合度較高,所以該算法對(duì)于國(guó)內(nèi)的新聞網(wǎng)站的智能提取還是較為不錯(cuò)的。
參考文獻(xiàn):
[1]?WENINGER T,HSU W H,HAN J. CETR:content extraction via tag ratios[C]// Proc of the 19th International Conference on World Wide Web. New York:ACM,2010:971-980.
[2]?MEHTA B,NARVEKAR M. DOM tree based approach for web content extraction[C]// 2015 International Conference on Communication,Information & Computing Technology. Mumbai:IEEE,2015:1-6.
[3]?吳共慶,胡駿,李莉,等. 基于標(biāo)簽路徑特征融合的在線Web新聞內(nèi)容抽取[J]. 軟件學(xué)報(bào),2016,27 (3) :714-735.WU Gongqing,HU Jun,LI Li,et al. Online Web news extraction via tag path feature fusion[J]. Journal of Software,2016,27 (3) :714-735.
[4] 王永新,王秋芬,梁道雷.一種高效LCS算法[J].南陽(yáng)理工學(xué)院學(xué)報(bào),2013 (6) :67-70.