一種基于高維數(shù)據(jù)過濾器的近似成員查詢方法
【專利摘要】本發(fā)明公開了一種基于過濾器的高維數(shù)據(jù)近似成員查詢方法,通過定義新的距離敏感哈希函數(shù)支持的新結(jié)構(gòu)分別來表征目標數(shù)據(jù)集合中的多維數(shù)據(jù)和待查詢的多維數(shù)據(jù),不需要重新構(gòu)造過濾器,能夠支持更多的過濾距離參數(shù)的近似成員查詢,大幅度減少了空間代價,本發(fā)明使用了多個函數(shù)組數(shù),且每個函數(shù)組數(shù)包含多個函數(shù),在最終確認是否目標數(shù)據(jù)集合Ω的近似成員時使用“與-或”結(jié)合的方式進行判斷,能夠降低過濾器的假陰性率。
【專利說明】一種基于高維數(shù)據(jù)過濾器的近似成員查詢方法
【技術(shù)領域】
[0001] 本發(fā)明涉及一種近似成員查詢方法,尤其是涉及一種基于高維數(shù)據(jù)過濾器的近似 成員查詢方法。
【背景技術(shù)】
[0002] 在很多應用領域中,如果查詢數(shù)據(jù)與目標數(shù)據(jù)的距離越近,數(shù)據(jù)的價值就越高。例 如,安全官員想要檢查某未知的物質(zhì)(具有某些可檢測的高維特征)是否屬于清單所列的 危險化學品;網(wǎng)絡管理員想要知道某用戶的行為特征是否有害;攝影比賽裁判想檢查提交 的照片是否與某一張大型數(shù)據(jù)庫中的照片類似。這些查詢都需要判斷查詢數(shù)據(jù)與(目標數(shù) 據(jù))集合中數(shù)據(jù)的距離。如果是低維的小數(shù)據(jù)集,可通過線性查找解決,但是對一個海量的 高維數(shù)據(jù)集采用線性查找匹配的話,會非常耗時,很多情況下無法滿足實時的需要。為提高 處理的速度,可以設置一個高維數(shù)據(jù)過濾器代表目標數(shù)據(jù)集合,根據(jù)距離過濾掉大部分查 詢數(shù)據(jù),少量剩下的數(shù)據(jù)可以再通過常規(guī)方法進一步處理,可顯著提高系統(tǒng)的整體性能。
[0003] 這個過濾器完成的就是近似成員查詢(Approximate Membership Query, AMQ),即 回答"查詢數(shù)據(jù)是否接近于數(shù)據(jù)集合中的某個數(shù)據(jù)"?,F(xiàn)有AMQ過濾器主要是結(jié)合LSH (距 離敏感哈希,Locality-Sensitive Hashing)和Bloom filter(布魯姆過濾器)技術(shù)的,其主 要代表有 DSBF(Distance-sensitive Bloom filters)和 LSBF(Locality-sensitive Bloom filters) 〇
[0004] DSBF首次綜合LSH和Bloom filter的方法來過濾AMQ查詢,其返回組成員的近似 查詢結(jié)果,近似度可采用不同的衡量標準,它可以改善網(wǎng)絡和數(shù)據(jù)庫應用程序的速度和空 間,從而避免對完整的最近鄰查詢等代價昂貴的比較操作。LSBF是DSBF的改進,使用LSH 函數(shù)來構(gòu)造Bloom filter過濾AMQ查詢,LSBF還采用了額外的位向量來降低假陽性率。 [0005] 但是,使用DSBF和LSBF這兩個技術(shù)來過濾AMQ查詢都有一個限制,即他們僅能過 濾給定距離的AMQ查詢。然而,給定一個合適的距離并不容易,過大或過小的距離值,可能 會導致不可接受的查詢結(jié)果。而一旦過濾器的過濾距離參數(shù)固定后就不能改變,如需要同 時過濾多個不同的距離值,則需要根據(jù)原始數(shù)據(jù)重新構(gòu)造過濾器,也即改變過濾距離參數(shù)。 然而,為節(jié)省空間,原始數(shù)據(jù)一般并不保存。其次,DSBF和LSBF的假陰性率較高。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明所要解決的技術(shù)問題是提供一種基于過濾器的高維數(shù)據(jù)近似成員查詢方 法,在原有的固定過濾距離參數(shù)的過濾器的基礎上,不需要重新構(gòu)造過濾器,即能夠?qū)崿F(xiàn)更 多的過濾距離參數(shù)的近似成員查詢。
[0007] 本發(fā)明解決上述技術(shù)問題所采用的技術(shù)方案為:一種基于過濾器的高維數(shù) 據(jù)近似成員查詢方法,將目標數(shù)據(jù)集合定義為Q,并將距離敏感哈希函數(shù)H定義為
【權(quán)利要求】
1. 一種基于過濾器的高維數(shù)據(jù)近似成員查詢方法,其特征在于將目標數(shù)據(jù)集合定義 為Ω,并將距離敏感哈希函數(shù)H定義為
,其中t = 1,2,…,k,j = 1,2,…,L,L為函數(shù)組數(shù),k為每一函數(shù)組中的函數(shù)個數(shù),ο是多維數(shù)據(jù),at,j是與ο維數(shù)相 同的隨機向量,其每一維的數(shù)據(jù)符合標準正態(tài)分布,?是點積運算,2ew是距離過濾參數(shù),Θ =0, 1,2,…,S-l,S為過濾距離的種類數(shù),w是正實數(shù)定義的最小距離過濾參數(shù),L」是下取 整運算,然后進行以下步驟的操作: (1) 構(gòu)建一個容量為111,地址為0到111-1的位向量,定義為810^?,并設定810^?[1]= 0, i = 0, 1,2,…,m_l ; (2) 對目標數(shù)據(jù)集合Ω中的任意一個多維的數(shù)據(jù)0y,用Θ =〇時的距離敏感哈希函 數(shù)進行表征,即
,其中y = 1,2, ···,!!,并在BMLBF中kXL個位置置1, 即
(3) 將待查詢的多維數(shù)據(jù)定義為q,然后用上述的距離敏感哈希函數(shù)進行表征,即
(4) 將第j組的k個哈希值,S卩
分別轉(zhuǎn)換成2進制數(shù)據(jù), 并在其后接上Θ個0成為k個地址,定義為Au, A2,p…,Ak j ; (5) 如8厘1^卩[六1,」],8厘1^卩%,」+1],...,8厘1^卩[六1,」+2 0-1]中有一個為1,則定義六1」地 址通過;如A1^Au,…,A lu都通過,則定義第j組通過;如果L組中任意一組通過,則確認 q是目標數(shù)據(jù)集合Ω的近似成員。
【文檔編號】G06F17/30GK104391866SQ201410578880
【公開日】2015年3月4日 申請日期:2014年10月24日 優(yōu)先權(quán)日:2014年10月24日
【發(fā)明者】陳葉芳, 錢江波, 陳華輝 申請人:寧波大學