第二章 文獻探討
2.1 運用篩減策略之技術研究
此類技術會先估測兩文件的相似度,在計算過程中估計值會隨著計算特 徵增加而越接近實際相似度,藉由已計算的特徵相似度,動態改變目前的估 測值,在尚未計算完所有特徵之前即可判斷出不相似的配對。因此不必計算 完所有特徵,達到節省計算成本的目的。以往的研究中常利用反向串列索引 (Inverted list index)結構來輔助相似度配對的計算{ [2][4] [5]}。
反向串列索引是一種索引結構,用於儲存一個字詞或特徵在資料集中出 現的文件位置,常使用於全文檢索系統以及輔助相似資料配對的問題,可以 快速找出資料間共同有包含的特徵或字詞,藉此判斷共同的特徵,在相似度 計算時只需考慮共同出現的特徵,減少非共同出現的特徵計算,因此反向串 列索引為快速的輔助資料結構,利於找出兩資料間共同出現特徵,適用於特 徵稀疏的文件資料。
論文[5]使用反向索引串列用於加速相似資料配對問題之計算速度,在餘 弦相似度計算時,可將相似度分為字首相似度以及字尾相似度如公式 1。論 文[5]使用反向索引串列結合公式 1 提出有效的相似配對計算方法,此處字首 相似度為字首部分相似度估算上限值。令一個維度為 m 之資料 d= [d[1], d[2], d[3],…d[m]],字首部分 d’=[d[1], d[2], d[3]…d[k-1], 0, 0,..0] ,字尾部分為
d’ ’=[0, 0,…0, d[k], d[k+1],.. d[m]],在選取分界 k 時是取字首的最少前 k 個
維度進行相似度估算上限值能大於相似度門檻值 t,換言之以 d 字首部分估
似度 0.56 為字尾向量中各維度算出的相似度,還必須加上字首向量中各維度 算出的相似度 0.6*0.5=0.3。Sim(d5, d6)為 0.86 大於門檻值 0.8,因此(d5, d6)為 一組相似配對。再以配對(d2, d4)為例,經由反向索引及內容串列計算出字尾 向量維度算出的相似度為 0。依照反向索引建立方式可得知若字尾相似度為
0,由於字首向量維度算出的相似度小於相似度門檻值 t,則整體算出的相似 度必不可能大於 t,因此在計算完字尾相似度即可確定配對(d2, d4)不為相似配 對。此方法藉由只先計算字尾向量即可能判斷出一組資料配對是否不為相似
配對,而不必計算所有維度,即可提早篩除該資料配對。
表 1 資料範例
向量編號 f1 f2 f3 f4
d1 0 0 1 0
d2 0 1 0 0
d3 0.45 0.9 0 0
d4 0.65 0 0.76 0
d5 0.6 0 0.6 0.52
d6 0.5 0.5 0.5 0.5
表 2 反向索引建立資訊
f1 f2 f3 f4
d5 0.6 0 0.6 0.52
Maximum(D) 0.65 1 1 0.52
表 3 向量 d5反向索引
維度 索引值
f1 {}
f2 {}
f3 {( d5,0.6)}
f4 {( d5,0.52)}
表 4 所有向量之反向索引
維度 索引值
f1 {}
f2 {(d2,1) ,( d3,0.9) ,( d6,0.5)}
f3 {( d1,1), (d4,0.76), (d5,0.6) ,( d6,0.5)}
f4 {( d5,0.52) ,( d6,0.5)}
論文[5]在使用反向串列索引進行候選配對計算時,在建立索引步驟會使 用資料集在該維度最大值進行相似度上限的估算,當資料數量增加後,會因
為資料值落在極端值的資料影響各維度的最大特徵值,再分成字首向量及字 尾向量時,只需要少數特徵值及可使估測相似度達到門檻值,導致在建立索 引時字尾向量過長而需建立較多的反向索引,使得配對間字尾向量相似度容 易出現非 0 值,無法藉由計算字尾向量篩除部分配對,故無法有效減少配對 相似度計算時間。
表 5 所有向量之內容串列
向量 維度串列
d1 f3➝null
d2 f2➝null
d3 f1➝f2➝null
d4 f1➝f3➝null
d5 f1➝f3➝f4➝null
d6 f1➝f2➝f3➝f4➝null
論文[6]首先提出的字首篩選方法(prefix-filtering),作者認為對每筆資料 d,只需要將 d 和其他資料特徵向量比較部份特徵相似度,就能先找出和 d 可能相似的資料,以減少在候選配對的計算成本,因此其利用反向串列索引 輔助加速相似度配對問題。論文[5]認為相似度配對問題可獨立於資料庫底層,
根據事先定義的特徵排列順序提出候選配對的砍除技巧,並提出動態索引方 法,快速索引出字首篩選方法中所需要的特徵,只需針對特定特徵進行相似
度計算。論文[2]則改良[5]的作法,提出一種利用 2-norm 的估算相似度方法,
使得所估算相似度上限值能更接近真實的相似度值,篩掉在估計相似度邊緣 的候選項,在候選項配對選取時能刪減更多的資料配對,但是需要花費計算 成本去計算資料向量各特徵值的平方值。論文[4]以論文[5]提出的方法為基礎 架構,但考慮以漸進式計算的相似資料配對問題,也就是當門檻值改變時,
可以藉由儲存計算不同特徵時記錄的相似度索引值,找出在新門檻值 t’的相 似資料配對候選項,避免再給定不同相似度門檻值時必須重新計算資料配對 的結果。以上研究都使用減少候選配對技術,論文[12]則是可慮索引數量大 小,作者認為降低索引數量可以有效降低相似資料配對問題所花費的時間,
在產生候選配對時能更加快速,並結合額外的停止條件,降低處理時間。論 文[16]則是希望在字首長度以及候選配對數量上能達成平衡,因此提出一個 成本估算的方式來選擇不同長度的字首,可以針對不同的文件選擇不同長度 的字首索引,使字首長度和候選配對數量能夠達成平衡。