• 沒有找到結果。

GRAB 演算法步驟 3:精煉(refinement)

第三章 一個以賽局理論為基礎的網頁主題區塊擷取演算法

3.2 GRAB 演算法

3.2.3 GRAB 演算法步驟 3:精煉(refinement)

演算法的第三步驟,是調整上個步驟所產生的主題區塊樹。一個網頁之中,會包含 著許多個主題區塊,因此把一個網頁切割成多個區塊後,會發現可能有某幾個區塊是相 同主題,或內容是相似的,但是由於位置不相鄰,而被歸類為不同的主題區塊。

再者,由於每個使用者的觀點不同,可能會主觀的認定某幾個區塊本來就應該放在 一起的,因此有必要讓使用者自行決定要取得的區塊範圍及內容。

針對這兩個問題,本論文利用 B.Liu[2]所提出的「一般化節點」(Generalized Node) 的概念,把同主題或相似的區塊組成一個一般化節點,使得這些區塊雖然實際上是不相 鄰,但邏輯上是在一起的。

合併主題區塊樹,除了能讓相似的主題區塊一起被呈現,同時也能簡化樹狀結構,

當樹的深度愈淺,階層數愈少,則從樹根節點到葉根節點的處理效率就會提升。再者,

在樹中的一些多餘區塊,也會一併在這個步驟解決掉,使得主題區塊樹更加乾淨俐落。

這個步驟會以 DFS 方式逐一判斷主題區塊,基於本論文定義的門檻值 H、L 來進行 調整:

(1) 若資訊含量(IC) ≧ H

則代表該主題區塊已具有足夠的主題性,因此可以獨立成為主題區塊,不須合 併或分割。

(2) 若資訊含量(IC) ≦ L

則代表該主題區塊的主題性仍不足夠,因此必須進行分割。此主題區塊會先標 記起來,降低門檻值 T,經由第二個步驟再處理一次,產生出更細緻的主題區塊樹,

再加入原本的主題區塊樹。

(3) 若主題區塊的資訊含量介於 L 跟 H 之間,L < IC < H 則須利用 TSTM(Theme-based STM)演算法,進一步做相似度比較。

TSTM 演算法

本論文提出一個 TSTM 的演算法,用來計算兩兩子樹的相似度,並考慮標籤相似 度、內容相似度、以及資訊含量的多寡程度。若計算結果是相似的,兩棵子樹就形成一 個 Generalized Block。TSTM 的演算法如下:

TSTM 演算法是以 Z.Yanhong 和 L.Bing 提出的 STM 演算法以及 ESTM 演算法為基 礎。STM[3]演算法是計算兩棵子樹的節點標籤(tag)相似度,若標籤相似則傳回 1。如圖 38,若以 P 為根節點,(A)跟(B)兩棵子樹的節點相似度為:

(根節點的相似度)+(底下所有子樹最大相似度的和) = 1+6 = 7

Input: two subtrees

Output: the node similarity of these two trees Alogrithm: TSTM(T1, T2)

If r1 and r2 (the roots of the two trees T1 and T2) contain distinct symbols OR have visual conflict then Return 0;

Else

m := the number of first-level sub-trees of T1;

n := the number of first-level sub-trees of T2;

Initialization: M[i,0] := 0 for i=0,…,m;

M[0.j] := 0 for j=0,…,n;

For i=1 to m do For j=1 to n do

M[i,j] := max(M[i,j-1], M[i-1,j], M[i-1,j-1]+W[i,j]), Where W[i,j] := TSTM(T1[i], T2[j])

} }

Return (M[m,n] + AVG(IC(m), IC(n)) + content_similarity(r1, r2))

Procedure: content_similarity(r1, r2) If r1 and r2 are not leaf nodes then Return 0;

Else

cs := LCS(r1.data, r2.data);

w := the number of words contained in cs;

m := the maximal number of words contained in r1.data and r2.data;

return w/m;

圖 38、STM 演算法

來源:Web Data Extraction Based on Partial Tree Alignment [3]

ESTM[4]是 Z.Yanhong 和 L.Bing 為了改良 STM 所提出的演算法。STM 只考慮標籤 相似度,例如 A 樹的『TABLE』標籤跟 B 樹的『TABLE』標籤就視為相似,若標籤相 似則傳回 1,並未考慮考其內容。ESTM 則是修改傳回值,加入 LCS(Longest Common Subsequence)演算法計算內容相似度。

本論文提出的 TSTM 演算法,以 STM/ESTM 為基礎,並將之擴充,考慮節點資訊 含量的多寡程度。即使兩棵子樹的標籤、內容都相同,但資訊含量的多寡卻可能不同,

也會影響到它的相似程度。如圖 39,一個新聞網頁中,可能同時會有摘要新聞(a)跟新 聞全文(b),雖然它們的內容相似,但資訊含量卻不同,因此若是將(a)、(b)兩個主題區 塊並在一起,對使用者而言反而是一種累贅。在這種情況下,本論文會將資訊含量相對 較低的區塊併入其他主題區塊,例如將許多摘要新聞整合成一塊『摘要新聞』主題區塊。

圖 39、不同資訊含量的相似主題區塊

(a) (b)

在圖 40 的例子中,假設主題區塊 TB2-2-2 與 TB2-2-3 是相似的,那麼就會進行主 題區塊合併,如圖 40(a)所示,將 TB2-2-2 與 TB2-2-3 合併為 TB2-2-A 後,裡面的內容 就包含了 TB2-2-2 與 TB2-2-3 的內容。

圖 40、整併過的主題區塊樹對應到網頁 (a)

(b) (c)

TB2-2-A

相關文件