第三章 方法描述與實作
3.2 特徵索引表建立
3.2.3 建立特徵索引表演算法
國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
20
而成員節點會再對其鄰居發送相同的探測訊息,最後直到 P2P 環境內的所有節點皆 各自屬於某個區域控管。如下圖 3.3 所示:
圖 3.4:P2P 環境切割成兩個子區域的示意圖
在擴散的過程中,若成員節點重覆收到不同啟動節點發出的探測訊息時,會對後來 抵達的發送方告知已屬於特定區域,並且通知本區域的啟動節點相關資訊。當區域切割 的程序結束後,P2P 環境中的每個節點必定會屬於特定區域控管、且每個啟動節點會知 道該區域內的節點位置以及本身周遭鄰居的啟動節點資訊。而各個挑選出來的啟動節點,
在建構超級節點網路的過程中,我們將其視為超級節點,負責收集區域內的整合資訊。
3.2.3 建立特徵索引表演算法
接著,在此一章節中,我們將介紹整體架構流程所採用的演算法,藉由前述的文章前處 理所產生的文件資訊,以及分群處理過後得到的群集特徵描述。我們如何透過這些用來 描述原始文件內容的元資料 (Meta-data),以及經過啟動節點的挑選與區域切割後,去 建立整個 P2P 環境的特徵索引表。
‧
18. end ALGORITHM Building Feature Index Table
以下定義在我們演算法中,所使用到的變數說明和演算法流程:
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
22
點的群集特徵彙整資料 𝑓𝐶𝑗,並且將此資訊路由至該區域內的啟動節點 (第 6-8 行),在 選定啟動節點的同時,也同步地執行區域切割程序 (Zone Creation) (第 9 行)。
當端對端網路環境已被切割成數個子區域後,透過各個區域內的啟動節點,去收集 該區域內所有的群集特徵彙整資料 (第 11 行),並將其存放至啟動節點所在的資料庫內。
而這些收集來的群集資訊,啟動節點會一一將其原始的 Top-k 向量刪減至 Top-m 向量 (第 13 行),並將這些特徵向量做為各群集新的代表性群集特徵彙整資料 𝑓𝑅𝐶𝑘,並且去 除具有重覆性的字詞特徵 (第 14-15 行)。最後,便以這些剩餘具有代表意義的字詞,
去建構出區域的字詞特徵索引表 𝑓𝐺𝐶𝑚,並路由給其他的啟動節點 (第 16-17 行)。
值得注意的是,在我們的演算法流程中,各個啟動節點會針對該區域內所有節點資 料庫,收集其擁有的群集特徵向量。並且為了避免在建立特徵索引表時,將群集內過多 與查詢相關程度低的字詞特徵向量納入考慮,因此各個節點資料庫內原始的群集特徵向 量,會根據特徵字詞的權重高低做排序後,僅回傳 Top-k 當中的前 m 個字詞特徵所組成 的 Top-m 群集特徵向量,將此資訊作為每一群集的代表性字詞特徵向量 (Represented feature vectors),以便未來給予啟動節點建立特徵索引表。值得注意的是系統設定的 m 數量大小必定小於 k (m < k)。
此時,各區域內的啟動節點,須將收集來的所有群集特徵向量,再做一次去除重複 性 (Eliminate redundant) 的動作,將相同的字詞特徵過濾掉,得到該區域內所有的 字詞特徵集合 (Feature Sets)。最後,各個啟動節點以此字詞特徵集合,建立出屬於 該區域的字詞特徵索引表 (Feature Index Table),內容包含區域內所有節點資料庫中,
各群集對於字詞特徵集合內,各個字詞特徵的權重列表,如下表 3.6 所示。
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
23
表 3.6:各區域的字詞特徵索引表
Zonei Feature1 Feature2 … Featurei
Clusteri1 0.87 0.95 … 0.41 Clusteri2 0.67 0.56 … 0.33 Clusteri3 0.54 0.66 … 0.7
… … … … …
為何要建立特徵索引表:當整體 P2P 環境有任意的查詢產生時,啟動節點可針對各 自區域,提供一個全域資訊作為協助,使得查詢不需再路由至所有的節點資料庫中,各 自做相似文件搜尋。藉由此列表,我們可迅速得到不同區域內與查詢文件最相似的 Top-k 文件群集,僅針對此數個群集再做相似文件比對,避免了大量且重複的運算行為。
另外,由於在高度分散式環境下,節點資料庫的加入與離開、以及資料庫內文件的增刪 動作,是動態且頻繁的行為,可能導致查詢結果的品質越來越差,所以特徵索引表的內 容必須做更新動作。因此,啟動節點必須管理在前處理中的分群步驟,並有機制地以規 律的時間間隔重新再執行,以便取得各節點資料庫的最新文件內容,去反映當下的資料 分佈。