第二章 相關研究
2.2 內文檢索的相關研究
來解決較複雜的內容檢索問題,諸如:Christos. Doulkeridis 所提出建構在分散及分 佈式語義層疊式網路下,執行相似文件搜尋的架構 (SON-based) 。此方法主要是先利 用傳統資訊檢索技術,針對各資料中文件做特徵抽取 (Feature extraction),並將文 件表達成特徵向量 (Feature vector) 後,計算各文件之間的相似度,依此做為分群依 據。接著,依照各資料庫的群集資訊,將具有相似文件內容的資料庫再做一次分群合併,
向量空間模型 (Vector Space Model) [11] 主要是用來表示文件在空間上的關係。在 此模型下,一份文件通常可以表示成為一個字詞向量 [12],而每一向量內的元素代表 著其對應的字詞在文件中的重要性。各元素的計算是依據 TF/IDF 的加權技術處理,其 中 TF (Term Frequency) 代表字詞在文件中的頻率,而 IDF (Inverse Document Frequency) 表示擁有該字詞的文件在資料庫中的頻率。此加權技術背後的想法,是若 某一字詞在文件中出現的越頻繁越可以作為這份文件的代表字詞。任何查詢在此空間中
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
7
一樣表示成向量,且查詢與文件之間的相似度是採用餘弦相似度做計算,以下是在 n 維 向量空間中,存在著兩特徵向量 A 與 B 做餘弦相似度的計算公式:
𝐂𝐨𝐬𝐢𝐧 𝐒𝐢𝐦𝐢𝐥𝐚𝐫𝐢𝐭𝐲 = 𝑨 ∙ 𝑩
‖𝑨‖‖𝑩‖ = ∑
𝒏𝒊=𝟏𝑨
𝒊× 𝑩
𝒊√∑
𝒏𝒊=𝟏(𝑨
𝒊)
𝟐× √∑
𝒏𝒊=𝟏(𝑩
𝒊)
𝟐2.2.2 語義層疊式網路之內文檢索方法
在[1]的研究中,主要是透過語義層疊式網路的建構 (Semantic Overlay Network Construction, SON) 來解決在端對端網路環境下,進行內文檢索的問題。該研究所提 出建構在分散及分佈式語義層疊式網路下,執行相似文件搜尋的架構 (SON-based),主 要是先利用傳統資訊檢索技術,針對各節點資料庫中文件做特徵抽取,並將文件表達成 特徵向量後,計算各文件之間的相似度,依此做為分群依據。接著,依照各節點資料庫 的群集資訊,將具有相似文件內容的節點資料庫再做一次分群合併,形成階層式語意層 疊式網路。因此當查詢產生時,該查詢文件會計算其特徵向量後,並根據其向量與各資 料庫內群集資訊,將查詢文件路由至層疊式網路最上層的資料庫搜尋,最後將各語意層 疊式網路的查詢結果進行合併後回傳給使用者。
圖 2.2:分散及分佈式語義層疊式網路架構流程 (引自 [1] 圖 1)
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
8
而語義層疊式網路的建構,是針對特定節點集合遞迴運行的一種多階段分散式程序。
如上圖 2.2 所示,假設各個節點(例如網站)皆儲存著文件集合,且節點間存在連線,當 有一非結構化的端對端網路節點輸入作為起始來源時,首先,會對其各節點資料庫作文 章前處理,並以隨機的方式去選取一些特定節點當作為啟動節點,而所謂的啟動節點主 要是負責建立區域並且管理區域內的節點資訊,此步驟即是啟動節點選取 (Initiator Selection Phase)。接著,啟動節點會對其鄰居節點建立局部性的拓撲區域,此為區域 建立步驟(Zone Creation Phase)。此時,每個啟動節點會去收集其組成的各個區域內,
節點集合所擁有的群集資訊,並且執行群集合併演算法 (Cluster Merging Algorithm),
如表 2.1 所示,去建構出語義層疊式網路,此為區域分群步驟 (Zone Clustering Phase)。
表 2.1:群集合併演算法(引自 [1] 第 3.2.3 節)
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
9
表 2.1 的群集合併演算法主要是依據各個節點內的資料內容進行合併,挑選出兩個 具有相似內容的群集後,接著判斷該相似兩群集是否具有相同字詞特徵,再透過權重值 的重新定義,去保留固定數量的字詞特徵後形成新的群集,便稱作一個語義層疊式網路 (SON)。藉由此步驟遞迴的執行,直到所屬區域內的相似群集皆合併完成,形成複數個 SON 便終止合併,因此各區域內便形成了多個 SON。
在區域分群步驟中,主要是藉由該分群演算法遞迴構成語義層疊式網路。因此,在 進行群集合併演算法的過程中,必須去考慮到當不同節點內的相似群集在做合併時,所 產生的一個語義層疊式網路 (SON) 當中,舊有的群集內,各自的文件內容如何以新的 群集資訊去描述。藉由該演算法遞迴的執行,直到各區域內的相似群集皆做完合併後,
且群集數量達到特定數目時,便可以此表達區域內新的群集資訊。如下圖 2.3 所示:
圖 2.3:遞迴群集合併的示意圖 (引自 [1] 圖 2)
而區域分群步驟中又包含了兩類型的分群處理:一種是區域內分群(Intra-zone Clustering),如同上述的群集合併步驟是發生在區域內的一種合併行為;另一種則是 跨區域分群(Inter-zone Clustering),將各區域間相似的語義群集,再做一次合併動
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
10
作,並以數個虛擬的啟動節點作為代表,建構出階層式的區域與啟動節點,以此作為最 後的語義層疊式網路,如下圖 2.4 所示:
圖 2.4:階層式區域與啟動節點的構成示意圖 (引自 [13] 圖 1)
當查詢下達時,便可至與查詢相似的語義群集內做搜尋,並回傳出相似結果文件給 使用者作為參考。但是因為語義層疊式網路的方法在群集合併時,所建立的新群集資訊 中,其包含的群集特徵向量的數目有所限制,容易造成我們在未來查詢處理時必須接觸 大量節點資料庫進行搜尋,使得整體查詢成本過於昂貴。因此本研究希望透過改良式架 構去解決此問題,並提供一個有效率且可擴展性的搜尋機制,使得我們在進行 Top-k 相 似文件搜尋時不需將實際資料做搬移或備份。
我們的方法是採用建立特徵索引表的方式,來解決此類問題,並在前處理步驟中,
重新定義各特徵字詞所採用的權重計算方式,而建立特徵索引表的過程中,亦會以特定 的方法加速建立此特徵索引表。以下章節會詳述本研究的方法細節與架構流程。
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
11