[論文簡讀] Web Content Extraction Using Clustering

《Web Content Extraction Using Clustering with Web Structure》
引用 Huang X, Gao Y, Huang L, et al. Web Content Extraction Using Clustering with Web Structure[C]// International Symposium on Neural Networks. Springer, Cham, 2017:95-103.
華中科技大學 2017年 ISNN會議論文

簡介

該文章中文簡稱爲基於WEB結構的聚類Web內容提取,我在通讀全文後發現,做者給聚類這件事的筆墨並很少,佔文章篇幅更多的是如何比較網頁之間的類似性,聚類只是以後處理的一種手段。
該文章提出了一種內容提取算法,以下算法

  1. 從不一樣網站中收集網頁進行聚類編程

    • 將網頁解析成DOM樹
    • 根據節點的位置和相同深度的節點數量以及DOM樹的深度分配權重
    • 根據給定的公式計算兩個頁面之間的類似度
  2. 從聚類獲得的同一組頁面中,刪除相同的頁面部分,剩餘的即是WEB內容。

聚類算法

K-means 須要在一開始時便分配聚簇數量,所以不適用
Canopy 聚類算法(一個快速,簡單,但沒有那麼精確的算法,算法簡介參考這篇文章dom

做者最終選擇了Canopy算法,由於該算法邏輯簡單,易於收斂,不過做者沒有給出Canopy算法中的T1和T2是如何取的,應該也知道這一塊會被編輯詬病吧。性能

網頁結構類似度量方法

這一塊就是全文的重點了,聚類只是用來得到與目標頁面類似的一些頁面,便於第二步刪除類似部分(如頂欄/側欄/廣告)。網站

clipboard.png

首先來看一下最簡單的一個分配權重和比較類似度的方法:spa

  1. 假設整個DOM樹的權重爲1,深度爲1的節點數量爲N,所以,每一個節點獲得的權重爲1 / N;
  2. 將節點得到的權重平均分配給他的子節點。
  3. 迭代地分配權重到達葉節點。
  4. 對於葉節點x和y,若是x等於y,則x和y的類似度是它們獲得的權重,不然,類似性爲0.對於非葉節點x和y,若是x等於y,類似度是其子節點類似度的總和,若是不類似,則類似度爲0。
    定義:對於非葉節點x和y,若是標記名,元素集值和兩個節點的子節點數相同,則 x = y
  5. 兩個DOM樹的類似性等於其根節點的類似性。

這個算法會遇到一種狀況,就是在兩個比較的dom樹中,當b和c分支都被斷定相同,而a分支被斷定不一樣(也就是說兩個網頁除了頂部欄以外其餘都同樣),兩個網頁的類似度就會足夠的大,而被斷定爲類似的頁面(嗯?難道不是嗎?).net

因而,做者提出了基於權重動態規劃的結構類似性測量方法(SMDPW)3d

做者發現靜態區域始終位於頁面的頂部和底部,而內容區域始終位於中心。換句話說,區域越靠近頁面的末端,它就越多是靜態區域。所以,權重經過動態編程分配,越接近區域所在頁面的末端,權重越大。此分佈策略僅適用於深度爲1的節點。其餘節點得到的權重是經過平均分配其父節點的權重來計算的。(蛤?這不合理吧,那a的權重不就偏大了,你把b的權重調大我都能接受啊)blog

clipboard.png

clipboard.png

clipboard.png

提取內容

emmm,做者只用了一小段文字描述,反正就是在找到類似的頁面的基礎上,沿着DOM樹進行對比,刪除相同的或者類似度高的內容,剩下的就是data了。ip

實驗結果

實驗數據集

數據集都是新聞類網頁,從五個中文新聞網站中收集一百個頁面(???這最多也就五類吧,並且也就五百個,好像有點少了吧)
結果與驗證

性能指標

clipboard.png

what? 這?這?這? 比較文本長度就OK了? 那不是隻要包含新聞正文不就行了。

算法對比

clipboard.png

clipboard.png

說好的中文網頁呢……難道是CNN中文網?

總結

實在有好多槽點想吐一吐,算了,人家畢竟是985發表的ISNN會議文章,尊重做者吧。

相關文章
相關標籤/搜索