• 沒有找到結果。

語義關鍵字搜尋(Semantic Keyword Search)

第二章 文獻探討

2.3 語義關鍵字搜尋(Semantic Keyword Search)

語義關鍵字搜尋(Semantic Keyword Search)則是指在上述檔案搜尋過程 中,系統會將所有的關鍵字建立起一個「關鍵字關係資料庫」,那麼當發生上述 對點檔案分享軟體,也只提供單純的「文字匹配搜尋」(Text-Match Search)。

2.3.2 關鍵字關係資料庫(Keyword Relationship Database)

2004年6月東京大學Kiyohide Nakauchi等人提出了點對點語義關鍵字搜尋的 架構[11],其概念是將系統內每一節點所分享之檔案擷取出關鍵字關係列表成為 一個關鍵字關係資料庫(Keyword Relationship Database,以下簡稱KRDB),藉 由此資料庫,將語義關鍵字的概念在點對點網路架構上實作。其系統運作流程如 圖9所示:

圖 9 點對點語義關鍵字查詢網路架構[11]

2-3節中曾提及目前點對點關鍵字搜尋之搜尋效率,上無法和一些先進的資 訊擷取(Information Retrieval)演算法並駕齊驅,這是因為目前點對點檔案分 享系統只支援單純的「文字匹配搜尋」(Text-Match Search),而無支援語義搜 尋(Semantic Search)。因此搜尋結果往往只能找到一些和之前鍵入之關鍵字有

「文字匹配」的資料,這就是2-3節中所提到目前點對點網路架構所面臨的問題 個,分別為 item1、item2、以及 item3。假設以 item1 為例子,在 item1 中擷取 出四個關鍵字:A,B,C,D。系統假設這四個關鍵字彼此兩兩都有關係,則產生出 六個「關鍵字關係(Keyword Relationship,以下簡稱 KR)」,而系統給定各個 KR 一個初始值為=0.5,公式如下:

Score KR = Score

Helpful Used

ScoreHelpful:系統語義關鍵字搜尋過程中,若節點有提供相關檔案以供 下載時,此分數將會增加一

ScoreUsed:系統語義關鍵字搜尋過程中,若有真正被搜尋者下 載時,此分數將會增加一

此架構下 KRDB 之更新分為以下兩種:

z 若 X 與 Y 且 X 與 Z 有關係,則計算其兩個 KR 的強度,若相乘之值大於 系統所設定的門檻值,則增加 Y 與 Z 的 KR 到本地的 KRDB。

z 節點之間 KRDB 同步時,各節點會互相更新其 KRDB。

圖 10 KRDB 產生之過程[11]

2.3.2.2 關鍵字關係資料庫之評估與回饋機制

在 KRDB 架構中,KRDB 之評估回饋流程如圖 11 所示:

z 搜尋者在發出查詢要求後,一定時間之內可能會收到一個或以上的查詢命中 訊息(Query Hit),而這些發出查詢回應之節點,會在自己本身的 KRDB 上將 所運用到的 KR 分數進行分數調整,此步驟如 2-4-2 小節之敘述

z 接著系統將搜尋者所收到的查詢命中訊息按照使用之關鍵字關係與原本查

尋結果

z 最後搜尋者選擇真正欲下載之檔案,發出下載要求,而本次下載真正使用到 之 KR 也需要如同 2-4-2 小節之敘述進行更新的動作

圖 11 KRDB 評估回饋之過程[11]

2.3.2.2 關鍵字關係資料庫之同步機制

圖 12 KRDB 同步的流程圖[11]

本架構之同步方法為:系統中各個節點發出廣播訊息試圖尋找一個可同步之 對象,並設定 TTL(Time to Live)以限定訊息所能傳遞之時間。若在一定時間之

內找到一個可同步之節點則進行同步。使用這種方法之缺點為:由於系統屬於完 全分散式,因此分散於各分群之 KRDB 並不能夠完全同步,所達到之語義搜尋效 果也就降低了。在圖 12 中,節點一(node1) 與節點二(node2)之間彼此發現,由 於節點一的 KRDB 中較多 KR 是由本身所分享之檔案所產生出來的,因此節點二以 節點一為同步的對象。若自己和同步對象有相同的 KR,則比較其強度分數大小,

此處以 primary key 與 secondary 為其差別,若對方之 primary key 較大,則以 對方之資料做同步動作;若自己沒有同步對象所擁有之 KR,則加入此 KR 到自己 的 KRDB 中。

第三章 以 Super Peer 為基礎之語義關鍵字搜尋

相關文件