• 沒有找到結果。

物件標籤集索引結構之建立

第五章 索引結構之建立與搜尋方法

5.2 物件標籤集索引結構

5.2.2 物件標籤集索引結構之建立

本小節將介紹物件標籤集索引結構之建立方法。圖 5.1 所示為本論文建立索 引結構之流程圖:首先,我們將依圖 5.1 建立第一層索引結構;接下來,依序檢查

第一層各群集所包含標籤集合,若群集的標籤集合數目超過門檻值

Cluster size

則對此群集中的標籤集合進行第二層索引結構的建立。

33

圖 5.1 建立索引結構之流程圖

以下依序介紹建立索引結構所使用的相關符號、第一層索引結構建立方法及 第二層索引結構建立方法:

索引結構的建立採用群集概念組成,相關符號定義如下:

1. D(DataSet):建立索引結構之資料集。

2. t(tagset):t

D,資料集中的一筆標籤資料集合。

3. 每一個群集 C 會記錄下列資訊:

3.1 群集內各標籤集合的聯集(C CO )及交集( . . C CI )。

3.2 群集內各標籤集合及其物件編號,將群集內所有標籤集合的集合令為

.

C tags

3.3 若此群集中有建立第二層索引結構則記錄其子群集( .C subclusters )

4. R(Index Structure):記錄所建立的索引結構,即各群集編號及其資訊。

34

<1>. 第一層索引結構建立方式

第一層索引結構建立方法如演算法 3,分成以下步驟:

步驟<1>: 逐一對物件

o

之標籤集合 . o tagset 進行新增,決定應該放置在那一個群 集中。針對所有已存在的群集,逐一進行檢查(Line 9)此標籤集合 o tagset 該擺放在哪一個群集中。我們要求在加入此標籤集合後,群集. 內聯集和交集的差集大小(

C

o

C

i )必頇小於MaxD

值且|C |i 必頇大於 或等於 1(Line 11),也就是群集內的物件至少要有一個共同的標籤。若 有多個群集皆滿足所設定的條件,則選擇差集大小最小者加入。

步驟<2>: 若有適合擺放的群集則更新此群集的聯集和交集(Line 18),若加入的群 集 為

C

k, 則 群 集 的 聯集則 為C COk.

(CO

o tagset. ) , 而 交 集 則 是

. ( . )

C CIk

CI

o t ags et。若沒有適合加入的群集,則另建一個新的群 CNEW加入 . tagseto (Line 23),而此新群集之聯集則為CNEW.CO

o. tagset, 而交集是CNEW.CI

o. tagset。

步驟<3>: 輸出索引結構。

35

36

<2>. 第二層索引結構建立方法

為避免群集的標籤集合數量過多,故進行第二層索引結構之建立,本論文使

用一個門檻值進行設定,若群集標籤集合數目大於門檻值

Cluster size

則進行第

二層索引結構的建立。

第二層索引的建立方法概念類似演算法 3,對第一層索引結構中各群集檢查

所屬標籤集合數量(Line 3),若此群集標籤集合數量大於

則對此群集中各標籤

集合,再建立第二層索引結構。

以下簡述第二層索引結構之建立步驟,詳細演算法如演算法 4:

步驟<1>: 已知群集Ck內有共同包含的標籤,故建立索引的門檻值必頇跟著群集

Ck的交集個數(|C CI )進行調整(Line 4),調整算式如下算式十,也必k. |

頇對群集Ck中的各標籤集合扣除掉Ck的交集(Line 6) 並將調整後的標

籤集合加入C Dk. 中(Line 7)。

. ' .

k k

C

   

C CI (算式十)

步驟<2>: 將經調整過的群集Ck中各標籤集合的集合C Dk. 及門檻值Ck. '

帶入演 算法 3 (Line 8)。

步驟<3>: 更新群集第一層群集Ck的子群集(Line 9)。

步驟<4>: 輸出索引結構

37

Algorithm 4

2

nd

LV

Index Construction

Input: Index Structure R , MaxD

,Threshold

. 1: BEGIN

2: FOR EACH Cluster C in k

R

3: IF(C .size() >k

)

4: SET Ck. '

   

|C CIk. |

5: FOR EACH tagset o. tagset in Ck.tags 6: SET . o tagset'

o tagset C CI.

k. ; 7: C D ADD o tagsetk. . ( . ');

8: C subclustersk.

executeAlgorithm 3(Ck. , C . )D k

' 9: UPDATE C subclusters in k.

R

;

10: Output Index structure

R

; 11: END

演算法 4 建立第二層索引結構之演算法

[範例5-1]

以表 5.1 為範例標籤資源資料庫,給定門檻值MaxD

=4 及

Object size

=3。

38

表 5.1 範例標籤資源資料庫 TDB

標籤集合編號 標籤集合內容 標籤集合編號 標籤集合內容

T1 {A, B} T5 {C, D, E}

T2 {A, C} T6 {B, E}

T3 {A, B, C, D} T7 {C, D, E, F}

T4 {A, B, C, E} T8 {C, F}

依演算法 3 的處理步驟逐一新增物件 T1 至 T8 於索引結構中,建構完成的 第一層索引結構如圖 5. 2 所示:

圖 5. 2 範例資料庫 TDB 之第一層索引結構

檢查已建立之第一層索引結構中各群集標籤集合個數,若大於門檻值

Object size

,則建立第二層索引結構。本範例中將對群集C1C2進行標籤集合 內容及門檻值的調整並建立第二層索引結構,如演算法 4 之處理步驟。建構完成

39

之完整索引結構如圖 5. 3 所示:

圖 5. 3 範例資料庫 TDB 之完整索引結構

相關文件