第六章 實驗評估
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 近似查詢處理
方法平均搜尋時間比基本搜尋方法還要來的快。