《大規模圖數據匹配技術綜述》——筆記

摘要

在大規模圖數據上進行高效地查詢、匹配是大數據分析處理的基礎問題。從應用角度對圖查詢的圖數據匹配技術的研究進展進行綜述,根據圖數據的不同特徵以及應用的不同需求對圖匹配問題分類進行介紹。同時,將重點介紹精確圖匹配,包括無索引的匹配和基於索引的匹配,以及相關的關鍵技術、主要算法、性能評價等進行了介紹、測試和分析。最後對圖匹配技術的應用現狀和麪臨的問題進行了總結,並對該技術的未來趨勢進行了展望。

相關背景

海量多源異構數據產生並累積。其存在關聯性,問題在於如何對其有效地分析和挖掘。
圖適合刻畫這種數據。
圖模式匹配技術作爲實現圖數據上高效查詢重要手段,廣泛應用。
下面分別介紹,在社會關係分析和社交網絡分析、社會安全領域、生物分析領域等,圖匹配技術的應用。
各大公司分提出了圖數據處理的並行計算模型和系統,包括谷歌公司的大規模圖數據處理系統Prege、微軟研究院的大規模分佈式圖數據查詢系統以及CMU Select實驗室研發的GraphLab系統,這些系統採用分佈式計算等技術支持大規模圖數據上的高效匹配、查詢等算法。
面臨問題:
- 匹配問題複雜,判斷圖數據中是否包含用戶搜索的模式圖是一種子圖同構問題,屬於NP完全問題。
- 數據規模巨大,傳統的數據庫技術無法有效地支持圖數據管理和複雜的圖查詢操作,需要對圖數據建立高效的索引機制。如何在數據中提取有效且精簡的特徵簡歷索引是大規模圖匹配問題的難點之一。
- 數據更新頻繁,傳統的基於靜態圖的匹配算法通常需要在所有數據上簡歷索引並進行匹配,缺乏增量機制,因而很難擴展到動態圖的匹配問題並保證匹配的實時性。
針對問題,研究方向:
- 針對複雜的匹配問題,一方面設計更加高效的搜索算法,引入更多的圖結構和語義信息,降低匹配問題複雜度;另一方面採用近似算法,允許匹配結果中存在一定概率的錯誤,保證算法達到多項式級的時間複雜度。
- 針對大規模數據的縮陰問題,從用數據挖掘等技術提取途中的路徑、樹、子圖等更加複雜且具有辨別力的結構作爲索引特徵,保證索引精度和匹配速度。
- 針對數據更新頻繁的問題,引入增量處理技術。
子圖同構是需要解決的基本問題。在實際應用中,由於圖數據的形式、結構、規模以及包含信息不同,又產生了適合不同應用場景的擴展圖匹配問題。
本文首先介紹基本的子圖同構問題,再根據不同應用背景下的分類方法,分別對不同類型的匹配問題進行問題描述和研究現狀分析。因精確圖匹配技術在不同領域的應用最廣泛,本文重點對精確圖匹配技術進行介紹。

1 圖匹配問題定義

1.1 基本的圖匹配問題與定義

定義三元組(V,E,L)表示一個圖,其中V—節點集合,E—邊集合,L—屬性映射函數,將節點或邊映射到一個或自足屬性上。G—數據圖、P—模式圖、u—數據圖節點,v—模式圖節點。一個數據圖與模式圖的精確匹配問題成爲子圖同構,需要在數據圖中搜索出與模式圖在數據和節點與邊屬性上完全匹配的子圖。
定義 1精確子圖匹配。已知一個數據圖G=(V,E,L) 和一個模式圖P=(Vp,EP,LP) ,精確圖匹配問題要求在模式圖和數據子圖Gsub=(Vsub,Esub,Lsub)(GsubG) 之間建立一個雙射函數f:

1)vVP,LP(v)=Lsub(f(v));2)(vi,vj)EP,(f(vi),f(vj))Esub,LP(vi,vj)=Lsub(f(vi),f(vj))

1.2 擴展的圖匹配問題

1) 結構匹配和語義匹配

圖匹配問題按圖數據是否在節點和邊上包含語義信息分爲語義匹配和結構匹配。
結構匹配主要保證所匹配的節點周圍具有相同的連通結構,代表性算法包括1976年最早提出的Ullman算法以及今年買了在該算法基礎上改進的VF2,QuickSI,GraphQL,Spath等算法。
語義匹配中,數據的節點和邊帶有豐富的語義信息,需要同時保證匹配結果在結構和語義信息上與模式圖一致。目前的研究主要針對予以匹配問題,如典型的GraphGrep算法。
語義匹配算法一方面可以在已有的結構匹配算法基礎上引入對節點和邊的語義約束改進而成,也可以如GraphGrep等算法通過設計基於語義信息的索引特徵實現對語義圖的快速匹配。

2) 精確匹配和近似匹配

精確匹配指匹配的結果和模式圖的結構及屬性完全一致,這種匹配方式主要應用於對匹配結果的準確率要求較高的領域。(前面的結構匹配和語義匹配都屬於此類)
近似匹配是可以容忍結果中存在噪聲和錯誤的匹配算法。代表性的近似匹配算法包括SUBDUE,LAW等,主要通過定義編輯距離,最大公共子圖,最小公共超圖等方法衡量兩個圖的相似程度。

3) 靜態圖匹配和動態圖匹配

靜態圖匹配要求所有的數據圖不隨着時間推移而變化,匹配算法通常會對所有數據圖進行分析挖掘,根據數據特點提取有效特徵建立索引,從而提高匹配效率。典型算法GIndex,Tree+Delta,FG-Index。
動態圖匹配主要採用增量處理基礎,僅對更新的數據圖進行分析,選擇簡單且有辨別力的特徵簡歷索引,並採用近似算法提高匹配速度,目前還處於起步階段。

4) 最優算法和近似算法

最優算法保證匹配結果完全精確。
近似算法不同於近似匹配,通常基於概率統計等數學模型,優點是具有多項式級的時間複雜度,非常適合動態圖匹配等對算法實時性要求高且只需滿足一定準確率的匹配問題。
這裏寫圖片描述

2 精確圖匹配技術

應用於對精確度比較高的問題,從算法設計的角度,分爲無索引的匹配技術和基於索引的匹配技術。
無索引的匹配技術主要採用搜索策略,通過分析節點屬性以及節點鄰居結構對數據圖中的所有節點依次匹配,適合小規模數據圖的精確匹配。典型算法,Ullmann,VF2,GraphQL,GADDI,Spath等。
基於索引的匹配技術,首先需要對全部數據進行分析或挖掘,選擇有效的特徵建立索引,在進行匹配時通過建立索引和精確匹配兩步完成,適合大規模圖匹配問題
這裏寫圖片描述

2.1 無索引的匹配技術

精確圖匹配是一種NP完全問題,算法設計時利用圖中的結構和語義信息可以有效提高圖匹配的性能。
Ullmann算法採用深度優先搜索策略,在數據圖G中枚舉出與模式圖P中節點一一匹配的子圖。複雜度會隨着數據圖的規模的增加呈指數增長。
爲減小搜索空間,Ullmann提出了3中剪枝規則:
規則 1 節點度約束。如果P中的節點vi 的度大於G中的節點uj 的度,那麼uj 不可能是vj 的對應節點,將uj 及其子樹分支從搜索樹中刪除。
規則 2 一對一的映射關係。在一次匹配搜索中,確定節點vj 與節點uj 的映射關係後,不允許將vj 在映射到G中的其他節點,同樣也不允許將P中多個節點映射到G中同一個節點。
規則 3 節點鄰接關係的一致性。
Ullmann算法首先根據規則 1 獲得模式圖P在數據圖G中的備選節點集合,然後根據規則 2 和 3 進行篩選。一般匹配順序是根據圖中節點度遞減順序。
VF2算法改進Ullmann算法
1)在匹配順序方面,與Ullmann不同,VF2選擇已匹配節點的相鄰節點進行下一次匹配;2)在剪枝策略上,VF2刪除與已匹配節點不相鄰的備選節點,同時引入了已匹配和帶匹配節點共同作用的約束關係,大幅度降低了搜索次數。(這裏不太懂哎
Ullmann算法和VF2僅利用了帶匹配節點與鄰接節點的結構和語義約束縮小匹配範圍,適合小規模的圖匹配問題。近年來許多改進算法考慮了節點周圍更加複雜的路徑和自圖結構特徵對搜索過程進行減值,進一步降低了搜索複雜度,適合更大規模的匹配問題。
GADDI算法定義了鄰近辨別子結構(neighboring discriminating substructure,NDS)距離,表示兩個節點及橡林街店構成的子圖中頻繁子圖的數量,通過約束模式圖種的節點的NDS距離不小於數據圖中的節點的NDS距離來過濾備選節點。
GraphQL算法定義了以模式圖節點和備選圖節點爲根節點的深度優先搜索生成樹TvTu ,過濾掉不滿足Tv 包含於Tu 的所有備選節點。
Spath算法定義了以節點爲中心採用層次遍歷的三元組表示方法(d,l,c),其中c表示遍歷的層次範圍內包含標籤爲l的節點數量,d表示包含標籤l的節點與中心節點的最近距離,Spath算法在篩選備選節點時,要求數據圖中備選節點的三元組(dc,lc,cc) 與模式圖節點的三元組(dp,lp,cp) 滿足關係:lc=lp,dcdp,cccp ,即通過增加更豐富的結構和語義信息約束,提高了篩選備選節點的準確率。
GADDI,GraphQL,Spath比Ullmann和VF2效果好,圖數據規模越大,效果越好。

2.2 基於索引的匹配技術

基於索引的圖匹配技術的基本思想主要包括兩個方面:
1)索引建立。通過預先選擇數據圖中有效的特徵建立倒排索引,使得模式匹配時可以根據索引快速縮小搜索空間,在對小規模的備選圖進行精確匹配,達到加速匹配的目的。提取的特徵包括多種形式,例如節點或邊的標籤、標籤路徑、子圖結構、樹結構等。
2)模式匹配。過程分爲兩部分,a. 篩選備選圖。提取P中特徵,根據特徵在倒排索引表裏選擇備選圖GP=fFGf(fP) ,每個備選圖包含P中提取的所有特徵。b.精確匹配。根據P的結構和語義信息,對所有備選圖進行精確匹配。

2.2.1 非數據挖掘的索引技術

非數據挖掘的索引算法在建立索引的過程中利用路徑、節點信息或節點周圍結構作爲索引特徵,不需要對數據圖進行數據挖掘等複雜操作。
Shasha等人提出的GraphGrep算法是一種典型的基於路徑的索引算法,也是非數據挖掘索引技術的代表性算法,主要應用於節點含標籤的多圖匹配問題中。GraphGrep在簡歷路徑索引的特徵提取過程中,通過枚舉圖數據中所有長度不超過預設閾值MaxL的路徑,將路徑上的節點按搜索順序排列得到標籤路徑特徵。對於數據圖中的每個節點,採用深度優先搜索,枚舉出由該節點出髮長度爲1至固定值MaxL的所有路徑。算法將構成相同標籤路徑的節點序列放在相同集合中。之後採用Hash表存儲每個數據圖與標籤路徑的對應關係。該Hash表被稱作數據圖對應的指紋。
這裏寫圖片描述
在模式匹配過程中,首先依據模式圖與Hash表篩選備選圖(備選圖包含模式圖所有的Hash值,且不小於對應標籤路徑的數量);在精確匹配階段,需要對備選圖中的所有標籤路徑進行合併,對於每一個備選圖,該算法選擇H對應的所有節點序列,刪除序列中重複節點後獲得與模式圖匹配的子圖(誰來救救我,又不懂了=-=
He等人提出了一種基於樹結構的索引算法C-tree,該算法可以同時支持精確匹配和近似匹配,採用多級聚類的方法將數據圖聚合爲具有層次關係的樹結構,書中每個節點別是一個聚合結果,同時每個節點還包含了其後稷街店的重要特徵,能夠非常高效地篩選備選圖。
GCoding算法採用節點周圍的結構信息簡歷索引。該算法根據每個節點周圍的結構爲每個節點設定相應簽名,並定義了一種譜圖編碼方式將每個圖中所有節點的簽名組合後表示爲該編碼值,最後基於這些編碼簡歷的索引對帶匹配的圖進行篩選。
非數據挖掘索引技術的優點
1)採用簡單的路徑、樹以及其他簡單的結構對圖數據中每個節點進行編碼描述,從而快速簡歷索引。
2)當圖數據動態變化時能夠高效地對索引進行調整,非常適合動態圖數據對匹配的實時性需求。
3)索引的規模還可以通過選擇娥姐店周圍編碼結構的規模進行調整,滿足不同應用的需求。
非數據挖掘索引技術的缺點
1)將數據圖和模式圖拆分成大量以節點爲重點的簡單子結構,這種方式破壞了圖的原始結構,在簡歷索引和匹配的過程中丟失了重要的結構信息,導師篩選結果中存在大量錯誤的備選圖。
2)提取索引特徵的單位是數據圖中的每個節點,且對所提取的特徵不進行或只進行簡單的篩選,導致索引規模隨着數據圖的規模的增大迅速增大,嚴重影響訪問速度和存儲空間。

2.2.2 基於數據挖掘的索引技術

針對非數據挖掘的索引就忽略了圖數據結構信息的問題,典型的改進方法是採用圖的子圖結構代替以節點爲中心的路徑、樹以及其他簡單結構作爲索引特徵。然而子圖結構數量太多,需要挖掘出具有較強辨別力的子圖作爲特徵。
Yan等人提出的GIndex算法首次提取了圖中具有強辨別力的頻繁子圖(discriminative frequent structure,DFS)作爲特徵,並基於該特徵對大規模多圖數據簡歷索引,是代表性的基於數據挖掘的索引算法,在備選圖的篩選能力及擴展性方面均優於GraphGrep算法。
1)索引建立。首先在數據圖中挖掘具有辨別力的頻繁子圖作爲索引特徵。

發佈了36 篇原創文章 · 獲贊 4 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章