Efficiently Indexing Large Sparse Graphs for Similarity Search基於K-AT樹

文章簡介:

  1. 文章標題: Efficiently Indexing Large Sparse Graphs for Similarity Search
  2. TKDE 2010
  3. link(提示:校內傳送門)

文章正文總結:

  爲什麼要構建類似字符串的Q-GRAM的鄰居樹?從直觀上理解,如果倆個圖之間的編輯操作越少,那麼就有相當多的鄰居樹是保持不變的。言外之意是,有很多公共的鄰居樹。文中描述如下:

在這裏插入圖片描述

The lower bound lemma guarantees the absence of false negatives 文章的false negatives是什麼意思?
After that, we store them in the first layer of the lattice, and then relabel each vertex in the graph set by the ID of their 1-AT是什麼意思?在1鄰居樹的構建時候,給每個1鄰居樹一個唯一的ID,在2鄰居樹構建時候,使用1鄰居樹的ID,並且構建完一個2鄰居樹,爲其分配一個唯一的ID
在這裏插入圖片描述讀圖相似度的文章,經常遇到受到Q-gram[2]模型的啓發,提出新的模型的方法。網絡上的解釋一般都是n-gram的方法,原始方法在一個1948年的文獻中提到過,有時間還得細細研究。

算法1 算法2

在這裏插入圖片描述
  爲了使用下界的公式,需要計算查詢圖QQ和圖集中GG的公共kadjacentk-adjacent,這裏爲了方便解釋,假說k=2k=2。則需要建立倆個索引表indQ,indGind_{Q},ind_{G},表的格式如上所示。分別比較倆個索引表的(3,4)(3,4)的兩列,就可以計算出倆個圖的公共鄰居樹2adjacent2-adjacent。如果圖GG滿足下界的公式,則圖GG是候選集,否則不加入候選集。

問題

  1. 每一個圖都要建立一個table嗎?在沒有進行優化之前是的
  2. 算法1中WVVW_V{V}符號意思?

如何維護索引?

  如果圖數據庫中有1000個圖,我們是不是要創建1000個latttice,然後再建立1000個index_table?這種成本會很大,因此我們需要維護索引。
  索引的維護需要首先表現在lattice上面,因爲有了lattice纔會有對應的索引表。作者在文章中提出在每個k-adjacent上使用計數器。使用計數器去記錄這k-adjacent出現的次數,如果在lattice中插入新的k-ad樹,就加1,後續所有插入到這顆樹上的操作都加1;當遇到刪除操作的時候,就減去1。如果計數器的值是1,並且遇到了刪除的情況,那麼這顆k-ad樹就應該從lattice中刪除。如果按照這種邏輯,在圖集上緩慢的搜索過程就可以避免了。

使用倒排索引

如果我們將圖集中的每個圖都視爲以k-AT爲關鍵詞的關鍵詞集,則可以將k-AT索引組織爲倒排索引,以避免緩慢的順序搜索

We use their IDs as the keywords and record their references in the graph set into the inverted list of this keyword
我們將其ID用作關鍵字,並將其圖集中的引用記錄在該關鍵字的反向列表中

During a query processing, we first generate all the -ATs of the query and use the ID of the -AT as the keywords to pick up specific inverted lists in the inverted table, then execute a join operation on those inverted lists using (the Probe-Count Algorithm)
在查詢處理期間,我們首先生成查詢的所有k-AT,然後將k-AT的ID作爲關鍵字來使用反向表中的特定反向列表,然後使用Probe 計數[參考文獻25]算法.
在這裏插入圖片描述

實驗

數據集

1.NCI/NIH AIDS Antiviral Screen data set

2.Protein Interaction Data set DIP (short for Database
of Interacting Proteins).

對比方法

  1. DAG 參考18
    是一種基於頻繁子圖的索引結構。
  2. FG-index參考文獻10
    是一種基於圖分解的索引

實驗角度

1.評測索引的性能
在這裏插入圖片描述

圖7
2. 索引查詢、過濾的能力
在這裏插入圖片描述
3. 索引的可伸縮性
在這裏插入圖片描述

文章總結

1. 解決問題:

  在稀疏圖數據庫中進行相似度搜索,搜索結果是滿足編輯閾值的結果集。提出了一個下界的公式,,用來filter查詢圖Q的候選集:kATS(g1)kATS(g2)V(g1)Δ(g1,g2)2(δ(g1)1)k1 |k-ATS(g_1)\cap k-ATS(g_2)|\\\geq |V(g_1)|-\Delta(g_1,g_2)*2(\delta(g_1)-1)^{k-1}
其中,k是鄰居樹的深度,δ\delta是圖最大的度,K-ATS()表示爲k鄰居樹的集合,Δ(g1,g2)\Delta(g_1,g_2)每個搜索算法需要給定圖編輯閾值。
  舉個例子,假如查詢圖QQ有關信息爲VQ=100,δ(Q)=2,|V_Q|=100,\delta (Q)=2,數據庫有一個圖gg的信息爲3KAT(Q)3KAT(g)=30|3-{KAT(Q)} \cap3-KAT(g)|=30,那麼經過上面不等式計算,圖gg不滿足不等式,所以這個圖被過濾掉。

2. 使用的方法:

  前人一般解決圖相似度查詢有倆種方法,一種是通過頻繁子樹的特徵挖掘,一種是通過圖分解的方法。但是倆者都有缺點。前者依賴挖掘頻繁子樹時選取的特徵,並且在挖掘出頻繁子樹之後需要進行高成本的構建和維護成本;後者在圖分解中不能利用圖中經常存在的信息(frequency information)提高圖相似度搜索的效率。而本文使用第二種方法,但是在策略上有改進。通過把每個圖分解爲k-adjacent樹,分解的結構由k-AT進行索引。文中引理kATS(g1)kATS(g2)V(g1)Δ(g1,g2)2(δ(g1)1)k1 |k-ATS(g_1)\cap k-ATS(g_2)|\\\geq |V(g_1)|-\Delta(g_1,g_2)*2(\delta(g_1)-1)^{k-1}的下屆排除了"falsenegatives""false negatives"的存在。雖然提出的方法不僅僅使用了圖分解的方法,還使用了基於子樹的方法,但是可以通過調整k的值去控制分解的結果,同時可以充分利用分解子圖的經常存在的信息去提高篩選階段的效率。

3. 文章不足:

3.1 我的看法:
  文章中是通過構建索引kadjacentk-adjacent樹,用來進行過濾篩選不符合下界公式的圖數據。也是屬於一種過濾-驗證的思想,但是這種樹的使用範圍只侷限與稀疏圖。對於非稀疏圖,文章的討論不多,只是強調了k=1k=1時候可以滿足算法運行的要求。對於非稀疏圖,文章通過論證說明了kATS(g1)kATS(g2)V(g1)Δ(g1,g2)2(δ(g1)1)k1 |k-ATS(g_1)\cap k-ATS(g_2)|\\\geq |V(g_1)|-\Delta(g_1,g_2)*2(\delta(g_1)-1)^{k-1}的有效性;其次,k值的選取必須依靠實驗的經驗獲得,無理論分析,如果給定數據集分析不透徹,必然增加應用時成本。同時,在文章"Graph Similarity Search with Edit Distance Constraint inLarge Graph Databases"中,作者提出,當k的值稍微一大,比如大於2,任何編輯操作將會影響非常多的k-adjacent樹,這也說明了下界很loose。
3.2 作者提出的不足:
3.2.1 文章的下屆估計很鬆散:kATS(g1)kATS(g2)V(g1)Δ(g1,g2)2(δ(g1)1)k1 |k-ATS(g_1)\cap k-ATS(g_2)|\\\geq |V(g_1)|-\Delta(g_1,g_2)*2(\delta(g_1)-1)^{k-1}。原因是因爲文章一直都假設在一個圖中,編輯操作GEOGEO總是以相同的概率作用在頂點和邊上。但事實上,由於圖的不平衡性,編輯操作覆蓋頂點和邊的概率不同。因此,爲了收縮下界,可以使用泊松分佈模型
3.2.2 在過濾階段,kadjacentk-adjacent作爲一種樹模型,相比於圖模式它的過濾性能還是很弱,這個缺點導致了結果的誤報。因此,使用其他方法15去解決這個問題;

文章多層索引中提到:通過分別從g∈G和查詢圖q計算最小的k-AT樹數,提出了基於計數的GED下界。但是,如果g或q具有高階頂點或GED閾值τ大,則該GED下界將變得鬆散,從而使k-AT僅適用於非常稀疏的圖。

參考文獻:

  1. TreePi: A Novel Graph Indexing Method
    文章參考文獻[13] S. Zhang, M. Hu, and J. Yang, “Treepi: A Novel Graph Indexing Method,” Proc. IEEE 23rd Int’l Conf. Data Eng., pp. 966-975, 2007.
    文章中提出了一種基於頻繁特徵子樹挖掘的索引方法TreePiTreePi去第一次減少數據庫的搜索範圍,同時使用了CenterDistanceConstraintCenter Distance Constraint方法第二次減小了搜素空間,最後使用新穎的子圖同構測試比較數據庫中剩下圖的相似度。
    1.1 缺點:方法的有效性和效率都取決於所選擇的特徵。
    1.2 頻繁子樹挖掘的算法時間長,很難構建和維護

  2. 參考文獻15“Graph Indexing: Tree + DeltaGraph,” P. Zhao, J.X. Yu, and P.S. Yu, Proc. 33rd Int’l Conf. Very Large Data Bases, pp. 938-949,2007.

  3. 參考文獻18 “Efficient Query Processing on Graph Databases” J. Cheng, Y. Ke, W. Ng, , ACM Trans. Database Systems, vol. 34, no. 1, pp. 1-44, 2009.

  4. 參考文獻10 "Algorithm and Experiments in Testing Planar Graphs for Isomorphism"J.P. Kukluk, L.B. Holder, D.J. Cook, J. Graph Algorithms and Applications, vol. 8, no. 3, pp. 313-356, 2004.

  5. 參考文獻2 “On Using q-Gram Locations inApproximate String Matching,”E. Sutinen and J. Tarhio, Proc. Third Ann. European Symp.Algorithms, pp. 327-340, 1995

  6. 參考文獻25 Efficient Set Joins on Similarity Predicates,”S. Sarawagi and A. Kirpal, “ Proc. ACM SIGMOD, pp. 743-754, 2004

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