2017Similarity Search in Graph Databases:A Multi-layer Indexing Approach 論文概述

文章標題:Similarity Search in Graph Databases:A Multi-layer Indexing Approach
文章來源:ICDE 2017
作者:
Yongjiang Liang (Department of Computer Science)、
Peixiang Zhao(Florida State University)
百度文庫鏈接
Github作者主頁
我的Github地址

文章主要討論了在圖的相似性搜索方面的貢獻:
1 提出了多層次索引結構(創新點:以前是一層,使用的分區方法是隨機劃分;但是作者提出了用selectivity-aware的方法進行類似“權值Δ\Delta”的比較,這樣就避免了“隨機劃分”有限的修剪能力[6])
2 提出了一種高效的,並且selectivity-aware的圖的劃分方法

摘要
圖的相似性搜索問題說的是如何從一個圖數據庫中找出和一個給定圖在一定閾值內相似的問題。數學語言描述爲,圖數據庫中G={g1,g2,g3…,g4}中,找出一個和給定的查詢圖q,閾值爲t的所有圖,簡單稱爲GED(G,q)<r。雖然GED的理論分析非常重要,並且應用廣泛,但是在大規模的數據庫中計算圖的GED是多項式時間內部能解決的問題。

具體的方法爲,提出了一個基於參數的分區GED下界(下界是爲了過濾GED下界大於閾值的圖),可以在執行昂貴的GED計算之前將其實例化爲一系列嚴格的下界,以協同修剪G的假陽性圖。我們設計了一種有效的,選擇性感知算法,將G的圖劃分爲高度選擇性的子圖。 它們進一步併入了具有成本效益的多層索引結構MLIndex(多層索引),用於GED下界交叉檢查和假正圖過濾,並具有理論上的性能保證

文獻15、34【對這個文章的升級,已經寫過總結】、37、28、 27、 32 中定義了GED的下界並且提出了假陽性的篩選策略。但是有缺點
1、 GED的下屆缺乏理論性能的保證,篩選能力欠佳,結果在驗證階段導致了不必要的GED的計算;
2、 GED下限評估很耗時,這爲圖形數據庫中的相似性搜索強加了另一個性能瓶頸。34中的劃分區域中,只把圖劃分爲閾值+1個分區,不能過濾假陽性圖。
文章中“The partition-based scheme in Pars is not prone to drastic changes of vertex degrees and GED threshold values, and more importantly, there is no feature overlap between partitioned q-grams.Thatis,anygrapheditoperationcanaffect at most one graph partition, thus breaking the worst-case assumption that many graph edit operations co-occur at the same region where lots of q-grams are effected”翻譯爲中文大體意思爲,使用分區方法的好處在於,對於頂點度數大的圖進行計算編輯距離時候,分區方法不敏感。因爲這些分區不重疊,因此排除了一個編輯操作影響多個q-grams的最壞的可能。

文章的貢獻:
1、 我們提出了一個基於分區的參數化GED下界,可以將其實例化爲具有改進的過濾功能的一系列新下界kik_{i}。 這樣的實例化下界被進一步利用來進行ML-Index的集體假陽性圖識別和過濾
2、 我們設計一種有效的,具有選擇性的圖分區算法,以生成高度選擇性的索引特徵,以進行有效的GED下界評估

3、 我們提出了一種成本高效的多層圖形索引方法ML-Index,該方法可在理論上保證性能的情況下實現假陽性圖形過濾

4、 與最先進的相似性搜索方法Pars [34]相比,我們在真實和合成圖形數據庫中都對ML-Index進行了廣泛的實驗研究。

定理1:將圖g分爲r+k個分區,r是閾值,k是設定值。如果倆個圖相似,那麼一個圖的r+k分區一定至少有k個分區和另外一個圖是子圖同構的。

證明如下:
反證法:若小於k個分區和查詢圖q同構,那麼有大於r+k-k=r個分區和查詢圖q不同構,那麼至少需要r個編輯操作使得和q同構,這和GED閾值r內相似的假設矛盾。

To this end, the objective of a selectivity-aware partitioning P is to partition a graph g into (τ + k) partitions, which have the highest overall selectivity values. 爲此,選擇性識別分區P的目的是將圖g劃分爲具有最高總選擇性(selectivity)值的(τ+ k)分區。劃分分區的selectivity的值越大,就越能說明這個分區不匹配q,從而說明圖g是假陽性圖。

算法1:使用選擇性感知(selectivity-aware)進行圖劃分
輸入:數據圖g,GED閾值r,實例化參數k
輸出:劃分的區域的集合P(g)={p_1,p_2,…,p_{r+k}}
在這裏插入圖片描述

將圖g劃分爲r+k個分區 (半邊圖)劃分的算法:

  1. 圖中的每個頂點建立布爾向量,false表示沒有被分到某個分區,true表示已經分配到某個分區。初始化所有頂點的布爾向量爲false.(第二行)
  2. 維護集合T, 存放g中未被分配的頂點,將會被立即處理(第三行) 第1、2爲初始化準備工作。
  3. 選擇(r+k)個頂點作爲初始化種子,分配到(r+k)個分區(4-6行)
  4. 添加這些種子的鄰居並且布爾值爲false的頂點到T, 在下面的步驟中考慮它們的分區分配(7-8行)
  5. 檢查T中的頂點v的選擇性增益(selectivity gain). 計算方法如下:加入頂點v到分區Pi,計算如下的公式:
    增益公式
    其中selectivity公式
    其中
    在這裏插入圖片描述
    G[]表示導出圖,指頂點v和邊(u,v)加入分區Pi的圖 (10-11行)

如果在分區中出現半邊時,需要計算半邊出現的平均次數。半邊的頻率爲:已經確定的半邊的頂點鄰居個數半邊確定頂點的鄰居邊標籤的頻率決定,這倆個數值的比值(相反的比值):
在這裏插入圖片描述
6. **頂點v的增益最大時,將v加入分區Pi *** (12行)
7. 頂點v加入某個分區之後,在T中加入v的未分配的鄰居(布爾向量=false),進一步檢查這些鄰居(14-15)
8. 將g的所有頂點分配給(r+k)個分區後,考慮跨越不同分區的邊,並將其作爲半邊分配給參與分區之一。分配邊的規則和分配頂點的規則相似:邊(u,v)分配給哪個分區,要計算分配之後的選擇性增益(selectivity gain)

關於上述內容的幾個問題:

1提出使用selectivity-aware值作爲劃分的方法,核心思想是讓pi不匹配:

  1. 分區中半邊個數和半邊頂點個數,和q相比,越大越是不匹配分區
  2. 分區中平均的頂點/邊標籤的個數,和q相比,越小越是不匹配分區

2 定理1的證明如何看懂?
定理一:根據定理1,如果g相對於q的匹配分區數小於k,則圖編輯距離GED(g,q)必須大於τ。

若小於k個分區和q同構,那麼肯定有大於r個(一共r+k個分區,小於k個同構,即得大於r個不同構)分區和q不同構。對於和q不同構的這些τ分區中的每個pi,我們至少需要一個圖編輯操作來修改pi,從而將g修改爲q,因此總計超過τ個圖編輯距離。這和g,q中間的編輯距離小於r矛盾。所以一定是至少k個分區和q子圖同構

3 根據定理1,劃分方法的好壞如何判斷?
文獻34中,k=1,意味存在g的r+1個分區中很容易找到一個匹配分區。但是當k>1時,如果g是一個false-positive的圖,很容易識別且過濾,這也說明了k>1比k=1更加不可能檢測到匹配分區。

4半邊的頻率公式的選擇性感知的如何理解 ?

在這裏插入圖片描述
半邊頻率值如下計算:
先計算所有半邊鄰居邊的頻率和,再除鄰居個數

5 什麼是半邊?
在這裏插入圖片描述
“半邊”指一條邊只有一哥頂點相連,比如:
C-P中包含倆個半邊:C-和-P

6 算法1的時間複雜度是多少?
預先掃描數據庫中每個圖的頂點/邊的頻率信息,時間複雜度O((r+k)(|VgV_{g}|+|EgE_{g}|))。因爲在相似度搜索算法中r+k值很小,因此忽略。

in order to filter false positive graphs from the graph database G, we build an index structure upon which partitionbased GED lower bounds can be evaluated in an efficient and cost-effective way.
爲了從圖數據庫G中過濾錯誤的正圖,我們建立了一個索引結構,可以在該索引結構上以有效且具有成本效益的方式評估基於分區的GED下限。

算法2 :多層索引的構建
在這裏插入圖片描述
上圖是算法2的圖例。通過L種分區策略,每次將圖分區爲P(r+ki)個,每一次的分區方法中,都維護其倒排和分區信息,通過哈希結構存儲

在這裏插入圖片描述

輸入:圖數據庫G
輸出:多層索引的結構ML-Index

每一層ML-Index是一個哈希結構HiH_{i}.它維護了分區p和倒排索引和分區信息之間的關係。(2-3行)我們開始順序掃描數據圖G,對於數據庫中的每個圖,用L種分區方法,每種方法產生r+ki個分區,構成了ML-Index的第i層的索引。(4-6行)
對於每個分區,進一步維護他的倒排索引和分區信息,使用哈希結構H關聯他們。(10行)我們注意到對於不同的分區方法將會產生相同的分區,對於這些相同的分區,只保留一個副本。

我們還指出ML-Index是一個廣義的圖索引框架。 ML-Index中的GED下界不限於基於分區的下界,因此可以將任何現有的GED下界協同添加到ML-`Index中,以實現強大的,集體的過濾策略,從而爲具有理論性能保證的相似性搜索帶來顯着的假陽性減少。

問題:如何結合現在的GED下界?

算法三時間複雜度的分析:
算法的總時間由三部分構成:
1 在使用哈希結構的H中都要進行子圖同構的驗證;
2 經過多種(i種,1<i<L)分區方法評估的候選集合的交集,進行候選的GED精確計算
3 在算法3中,初始化操作比如數組A[]的初始化,算法2布爾向量的初始化
因此,算法3總時間成本:
在這裏插入圖片描述
實驗:

數據集:
AIDS:這是NCI / NIH2的“發展治療計劃”的防病毒篩選化合物數據庫。共有42,687種圖形結構的化合物,平均具有25.6個頂點和27.6個邊,並且共有62個頂點標記(如元素C,O,N和P)和3個邊緣標記; (在AIDS和PROTEIN中L設置爲4,合成數據庫爲5)

protein:這是來自蛋白質數據庫3的蛋白質圖形數據庫,包含600個具有32.6個頂點和62.1條邊的圖形(平均)。該數據庫中有3個頂點標籤和5個邊標籤。這些圖表比艾滋病數據庫中的圖表更密集,標籤信息更少。

GTAPHGEN:一種可以生成大量標籤圖的圖生成器。生成器中指定各種參數:生成圖的個數、每個圖平均的邊數、邊/頂點標籤的種類、圖平均密度。如果未指定具體的參數,默認生成圖1萬個、邊的平均個數40,圖密度0.1(計算公式如下),頂點和邊的種類爲4種不同的邊、4種不同的頂點。圖密度計算如下:
在這裏插入圖片描述

通過分別從每個圖形數據庫中隨機抽取100個圖形來生成查詢集Q。也就是說,Q中的查詢圖具有與相應圖數據庫中的數據圖相似的結構/標籤特徵。

對比方法:

Pars:【34】中的k=1,且分區方法是隨機劃分方法;是目前的SOTA方法;
selectivity方法:使用本文selectivity方法,並且L=1,是本文方法
ML-Index方法:使用本文selectivity方法,並且L>1,使用本文方法

對比指標:
1.索引構建的成本。包括內存使用大小、索引構建的時間、分區索引特徵的數量,下面詳細介紹索引構建成本。
2.候選集大小。候選集大小是最重要的評價指標,這裏比較100個查詢圖的平均的候選集大小
3.查詢執行時間:包括候選集產生和驗證集的GED精確計算

數據:
1.AIDS數據集。共用大約4萬個圖,3種邊標籤,62中頂點標籤。平均每個圖25個頂點,26條邊。
2.PROTEIN。共600個圖,5中邊標籤,3種頂點標籤。平均每個圖32個頂點,61條邊。
3.圖生成器。1萬個圖,4種邊標籤,4種頂點標籤。平均每個圖40條邊,通過圖密度0.1,計算不出圖的頂點個數。
問題:
如何通過圖密度公式計算出圖的頂點個數?

實驗環境:
INTEL I7 ,
8GB /windows 7 /c++/visual studio 2015

索引成本對比:

使用AIDS數據集做如下對比:

索引特徵數量的對比中,PARS方法和Selectivity方法在將圖分區爲小的子圖時,重疊分區後子圖相等數量不多;而當k>1時,重疊分區子圖相等數量比較多,因此當L越大,索引特徵數量在穩定下降,如下圖所示:
在這裏插入圖片描述
不同方法中索引大小對比:L=4時,索引最大80MB,驗證了上幅圖中下降的趨勢,
在這裏插入圖片描述
索引構建時間:L=4時,比L=1或者PARS索引構建時間多2.5倍。並且隨着r的增大,索引構建時間在降低。因爲r變大,r+k_{i}變大,分區後的子圖數量變多,但是子圖尺寸變小,使得子圖同構容易。而子圖同構時間佔據了90%
在這裏插入圖片描述
PROTEIN數據庫對比:
相比於AIDS數據,PROTEIN有600個,而AIDS約有40000個。因此,各種結果都比AIDS要小一個數量級,但是除了索引特徵數量的趨勢外,其他(索引構建大小、索引構建時間)趨勢都是和AIDS上的實驗相似的。因爲數據集小的原因,索引特徵數量、構建大小、構建時間最小爲1.5萬個、2M、2s

AIDS數據 PROTEIN數據
索引特徵數量25萬 1.5萬
索引大小80MB 2MB
索引構建時間3000s 2s

在合成數據(設定合成數據的平均邊爲40、頂點爲28、實驗使用的數據個數爲10000/20000/40000/60000/80000)中,指定閾值r=4,(和以上倆種數據實驗不同地方,以上r是變量)構建特徵個數、大小、時間最大分別爲
下圖:(注意橫座標的度量標準是圖個數)
在這裏插入圖片描述

接下來,仍然是合成數據庫:
但是要比的是圖密度
在這裏插入圖片描述
(0. 1 0.2 0.3 0.4 0.5)和各種指標(索引特徵個數、索引尺寸、索引構建時間)的比較。在索引特徵個數實驗中和AIDS實驗有相同趨勢,特徵有重疊。

最後,還是使用合成數據庫
對比的是圖的頂點標籤/邊標籤(4/4 6/6 8/8 10/10).對比結果爲,當標籤個數越大,索引特徵的個數、尺寸都不明顯地增加,主要原因爲數據庫中索引特徵的多樣化。但是索引的時間很穩定。如下圖:
在這裏插入圖片描述

搜索算法對比:
對比指標:候選集合
在AIDS數據庫中,因爲selecvity和PARS的過濾能力低下,Pars不使用selectivity-aware分區並且k<1,因此候選集尺寸大。
We also include the size, |O|, of the similarity search results to demonstrate the ultimate goal we strive to attain (colored in pink triangles).
在這裏插入圖片描述

在這裏插入圖片描述
上面的圖研究圖密度和候選集之間的關係:圖越密集,候選集越多。原因:如果一個圖是密集圖,那麼它的r+k個分區中的子圖相應也密集。文章寫道,“As a result, the probability of more than one graph edit operations arising from a dense partition, pi , increases as well. However, once identifified as a mismatching partition, pi is only counted as one mismatching partition in the GED lower bound evaluation, though there might be multiple graph edit operations co-occur within pi. ”我的理解,雖然密集的分區子圖被判定爲一個不匹配的分區,其實是有多個不匹配存在的,因爲有可能在這個密度較大的分區中有多個圖編輯操作存在。所以就不容易識別出這個圖爲假陽性圖。

在這裏插入圖片描述
上面的圖表示圖中標籤信息越多,候選集越小。也證明了selectivity-aware中考慮到標籤的正確性,這樣可以大大降低候選集。

實驗最後評估總運行時間(產生候選集時間和驗證候選集時間)
在這裏插入圖片描述
上圖表示的是在AIDS數據庫中,當閾值r增大,不同方法Pars Selectivity以及多層分區總的運行時間的大小。灰色表示候選集產生時間,爲幾秒鐘,而彩色表示GED驗證時間,因此候選集產生時間和GED驗證時間相比微不足道。
問題:L越大,應該時間應該時間越長,爲什麼越短?
因爲L越大。根據算法描述,候選集越小。從而驗證GED成本更小。

總結:
相似性搜索問題在管理和查詢圖結構化數據中起着至關重要的作用,並且在現實世界中的大型圖數據庫中發現了各種各樣的應用。在本文中,我們考慮了在圖編輯距離(GED)約束下定義的相似搜索問題,並進一步提出了一種新的多層圖索引解決方案ML-Index,以解決圖數據庫中的這一難題。我們採用參數化的,基於分區的GED下限進行假陽性圖的識別和過濾,並設計了一種選擇性感知(selectivity-aware)圖分區算法,以生成高質量的索引特徵。我們進一步在ML-Index中併入並交叉檢查了多個實例化的GED下界,以便可以在理論上保證性能的情況下過濾錯誤的正圖。對實圖和合成圖數據庫進行的實驗研究表明,ML-Index是一種高效且具有成本效益的索引方法,在大型搜索中,ML-Index的相似性搜索明顯優於最新方法Pars

文獻【32】引用了STAR算法

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章