網頁噪聲去除可以看作是一個分類問題:把一個網頁片斷分爲”有用信息“和”噪聲“。在有大量訓練樣本的情況下可以使用SVM進行分類。
一種直接的想法把HTML轉換成DOM樹,對每個節點計算鏈接文字比率,如果高於一定的閾值,就認爲它不是正文,而是頁眉、頁腳、廣告等其他信息。
元素節點與風格節點
圖1.兩個網頁的DOM結構
圖2.合併之後的網站風格樹
在網站風格樹(Site Style Tree,SST)中定義兩類節點:風格節點和元素節點。
風格節點由2部分組成(ES,n)
ES是風格節點中所包含的元素節點的序列。圖2中虛線框裏的都是風格節點。
n代表擁有該風格的網頁數量。對於風格節點TABLE-IMG-TABLE其n=2,對於風格節點P-IMG-P-A其n=1。
元素節點E由3部分組成(TAG,Attr,Ss)
TAG是標籤名,例如TABLE和P。
Attr是TAG的CSS屬性。
Ss是E下面的一套風格節點(這一由風格節點組成的鏈表)。
噪聲節點的確定
噪聲節點的定義基於以一假設:
- 一個元素節點具有的呈現風格相若越多,該元素節點越重要。
- 某元素節點具有的實際內容分岔越多,該元素節點越重要。
通過結合呈現重要性和內容重要性給出元素節點的重要性。
節點重要性的計算
利用熵來衡量呈現風格的重要性。
對於某元素節點E,設m是包含E的網頁數量,l是E的子風格節點數量。則E的節點重要度爲
pi是出現第i個風格節點的可能性。注意到m==1時,NodeImp(E)=0。
綜合重要性的計算
綜合重要性即綜合考慮節點及其子節點的重要性。由於非葉子節點沒有子節點,所以綜合重要性的計算方法對於葉子節點和內部節點是不一樣的。
先來年內部節點綜合重要度的計算方法:
r是衰老因子,設置爲0.9。當l較大時,它增加了NodeImp(E)的權重。這意味着,一個元素節點擁有的子風格節點越多,其自身的節點重要度越關鍵;擁有的風格節點越少,其子代的綜合重要度越關鍵。
CompImp(si)是E下第i個風格節點的綜合重要度,其定義爲:
可以看到(2)(3)構成了遞歸計算,在實際計算中需要從樹的最底層往上計算節點重要度。那最底層的葉子節點的綜合重要度怎麼計算呢?
所謂的葉子節點即沒有html標籤,只有實際內容(文字、圖片、鏈接等)。上圖中P有3個風格節點:IMG、E和TABLE,其中E來自於3個網頁,這3個網頁的內容還各不相同。
可以對文本分詞後來提取特徵。E中的特徵有4個:來源、新華網、人民網、CCTV。先計算這些特徵的熵(即一個特徵來自於哪個網頁的不確定度):
m是網頁的數量,上例中m=3,pi是特徵來自第i個網頁的概率。"來源”來自於哪個網頁是完全不確定的,其熵爲1。而“新華網”、“人民網”、“CCTV”來自於哪個網頁是完全確定的,其熵爲0。注意到m=1時熵都爲0。
然後計算葉子節點E的綜合重要度:
最終確定噪聲節點
如果一個元素節點及它所有後代的綜合重要度都小於一個閾值,則它是噪聲節點。
遍歷SST,只要元素節點E有一個後代不是噪聲節點,那E就不是噪聲節點。