• 沒有找到結果。

第六章 實驗評估

6.3 評估 Top-k 近似查詢處理方法之效率

6.3.1 測試資料

我們使用兩種標籤資料庫來進行本實驗。除了使用章節 6.1 提到 Flickr 網站

的標籤資料庫,我們另外使用 IBM Market-Basket Synthetic Data Generator 來產生

模擬實驗標籤資料庫的資料,藉此探討標籤資料庫的資料性質對 Top-k 近似查詢

處理方法搜尋效率之影響。此 Data Generator 產生的每筆交易資料為一個交易貨

品的項目集合,我們可以把它視為一個數個標籤字的集合,供我們實驗控制變因

使用。本實驗使用到的相關參數如下:

L : 每個標籤集合的平均大小,( 對應到的參數為 -tlen )。

N: 系統標籤資料庫中標籤的種類總數 ( 對應到的參數為 -nitems ) 。

D: 系統標籤資料庫的資料筆數 ( 對應到的參數為 -ntrans)。

下列實驗使用的模擬資料我們固定 D 為 50000、L 為 5,意即產生的標籤

資料庫含有標籤資料物件 50000 個,其平均標籤集合大小為 5,其它未列於上

方的參數均使用系統預設值。藉由改變 N 來評估標籤資料庫中標籤集合的種

M axd_leaf = 30 、M axd_batch = 10 做為後面所有實驗的索引結構門檻值設定

值 s。

6.3.2 實驗評估方法

首先先為模擬標籤資料庫建立 [7] 的索引結構,然後隨機取出系統標籤資料

庫中現有的標籤集來當做查詢標籤集,分別在不同環境參數設定的情況進行十次

搜尋,記錄每次時間後取平均值來評估。我們會評估系統資料庫內的資料特性、

不同 k 值、不同查詢標籤集個數對查詢執行時間的影響。本部分實驗也會與基本

搜尋方式 ( BaesLine ) 進行比較,在此基本搜尋方法為計算系統資料庫內所有標

籤集與查詢標籤集的距離值,依照距離值由小到大排序後,取出對應的前 k 名資

料物件。

6.3.3 實驗結果

[實驗 2.1 ] 評估系統資料庫內標籤種類個數對搜尋執行時間之影響

我們針對標籤資料庫內資料的特性探討其對 Top-k 近似查詢處理方法

在搜尋執行時間上的影響。我們固定 k 為 25、查詢標籤集大小為 3、並使

用漢明距離為距離計算公式。評估系統內標籤種類個數 100、500、1000、

5000、10000、20000、40000 對搜尋執行時間的影響。

由圖 6.3 可以得知,在模擬標籤資料庫下,針對不同標籤資料庫含有

圖 6.3: 使用模擬資料不同標籤種類個數與查詢執行時間關係圖

間皆會越來越長。而 Top-k 近似查詢方法都優於基本搜尋方法 ( BaesLine ),

且隨著個數越多,Top-k 近似查詢處理方法查詢執行時間的成長幅度較基本

搜尋方法來的小。

[實驗 2.2 ] 評估使用的距離評估公式對搜尋執行時間之影響

我們針對使用的距離評估公式探討其對 Top-k 近似查詢處理方法在搜

尋執行時間上的影響。我們固定 k 為 25、查詢標籤集大小為 3、標籤資料

庫內標籤個數為 20000,評估使用漢明距離、傑卡德距離、重疊距離公式

對時間的影響。分別以模擬標籤資料庫(無語意考量)與實際標籤資料庫

(有語意考量,故另外評估修正距離公式對時間的影響)來進行實驗。

表 6.3: 使用模擬資料不同距離評估方法之查詢執行時間關係圖 (單位:ms) Hamming Distance Jaccard Distance Overlap Distance

BaseLine 1194 1142 1085

Top-25 681 1218 615

表 6.4: 使用實際資料不同距離評估方法之查詢執行時間關係圖 (單位:s)

HD mHD JD mJD OD mOD

BaseLine 0.28 5.23 0.29 4.82 0.21 4.67

Top-25 0.22 3.81 0.37 2.63 0.17 2.41

距離作為距離評估公式時,基本搜尋方法卻比 Top-k 近似查詢方法快。主

我們針對使用者輸入的 k 值來探討 Top-k 近似查詢處理方法在搜尋執

行時間上的影響。我們固定標籤資料庫內標籤個數為 20000、漢明距離為距

離計算公式,評估使用不同 k 值:25、50、100、150、200 對時間的影響。

分別以模擬標籤資料庫與實際標籤資料庫來進行實驗。

圖 6.4: 使用模擬資料在不同 k 值、查詢標籤集大小與查詢執行時間關係圖

由圖 6.4 可以得知,在模擬標籤資料庫下,不論是何種方法或是 k 值設

定,查詢標籤集越大則查詢執行時間就會越大。而對於不同 k 值來說,採

用 Top-k 近似查詢方法都比採用基本搜尋方法快,但是 k 值本身的變化對

表 6.5: 查詢標籤集 Td在實際資料庫中 Top-k 近似查詢方法結果資料筆數 使用者所下 k 值 查詢結果資料物件個數

20 31

32 33

40 42

75 127

128 128

由表 6.5 可知,在此查詢下,使用者所輸入之 k 值得到的 Top-k 查詢結

果內資料物件的筆數比 k 值還要多,原因為第 k 名的資料物件有多個,意

即有多個資料物件與 Td的距離值皆相等,造成查詢結果的個數會大於 k 。

今假使使用者輸入一個 k1值,所得查詢結果內資料物件的筆數為 k2,且 k2

≥ k1,只要使用者輸入的值 k 落在 [ k1, k2 ] 區間,對於系統來說查詢執行

的處理時間是差不多的。同樣的情況亦發生在實際資料庫中 ( 使用修正漢

明距離公式) 如圖 6.5。

圖 6.5: 使用實際資料分別改變 k 值及查詢標籤集大小之查詢執行時間

由上述各項實驗的結果我們能夠知道,除了使用傑卡德距離公式(無語意考

量)作為評估標籤資料物件是否相似時 Top-k 近似查詢處理方法較慢外,不論 k

值為何、使用何種距離評估公式、查詢標籤集合大小,使用 Top-k 近似查詢處理

方法平均搜尋時間比基本搜尋方法還要來的快。

相關文件