substructure similarity search using features in graph databases Aleksandros Gkogkas Distributed Management of Data Laboratory
intro Θα ενασχοληθούμε με το πρόβλημα των ερωτήσεων σε βάσεις γραφημάτων. Ειδικότερα, μας ενδιαφέρει η δημιουργία ενός σύστημός που θα μας επιτρέπει να κάνουμε ερωτήσεις ομοιότητας σε μία βάση γραφημάτων. Αυτό μπορεί να επιτευχθεί με την χρήση μιας τεχνικής που βασίζεται σε features για την δημιουργία του ευρετηρίου και την διαλογή των γραφημάτων.
Δομή της παρουσίασης Ορισμός του Προβλήματος gindex & GraFil
Δομή της παρουσίασης Ορισμός του Προβλήματος gindex & GraFil
Ορισμός του Προβλήματος Ένα βασικό είδος ερωτήσεων σε βάσεις γράφων είναι η αναζήτηση τοπολογικών δομών. κατηγορίες: 1. Ακριβής εύρεση. Βρες τους γράφους που είναι ακριβώς ίδιοι με αυτόν της ερώτησης. 2. Υποσυνόλου Βρες τους γράφους που περιέχουν αυτόν της ερώτησης ή αντιστρόφως. 3. Ομοιότητας (πλήρης) Βρες τους γράφους που μοιάζουν με αυτόν της ερώτησης. 4. Ομοιότητας υποσυνόλου Βρες τους γράφους που έχουν υπογράφο όμοιο με αυτόν της ερώτησης.
Ορισμός του Προβλήματος
Ορισμός του Προβλήματος Βασικές έννοιες ισομορφισμός Δύο γράφοι G1(V1,E1) Є G και G2(V2,E2) Є G είναι ισομορφικοί αν υπάρχει μία ένα προς ένα σχέση φ μεταξύ V1 και V2 τέτοια ώστε u i u j Є E1 αν και μόνο αν φ(u i )φ(u j ) Є E2. relaxation ratio Δοθέντος δύο γράφων G και Q,αν P είναι ο μέγιστος κοινός υπογράφος των G και Q, τότε η ομοιότητα υπογράφου μεταξύ G και Q ορίζεται από την σχέση: E(P) / E(Q), και ησχέση1- E(P) / E(Q) ονομάζεται relaxation ratio.
Ορισμός του Προβλήματος αναζήτηση ομοιότητας υποσυνόλου Δοθείσας μία βάσης γράφων D={G1,G2, Gn} και ενός γράφου ερώτηση Q, αναζήτηση ομοιότητας είναι η εύρεση όλων των γράφων που προσεγγιστικά περιέχουν τον Q. *αντίστροφη αναζήτηση ομοιότητας είναι η εύρεση όλων των γράφων που προσεγγιστικά περιέχονται στον Q.
Ορισμός του Προβλήματος Μέτρα ομοιότητας Υπάρχουν διάφορα μέτρα ομοιότητας, μπορούμε να τα κατατάξουμε στις εξής τρεις κατηγορίες: 1. Βασιζόμενα σε φυσικές ιδιότητες (π.χ. βάρη, τοξικότητα κτλ) 2. Βασιζόμενα σε features, στοιχειώδεις δομές εξάγονται από τη βάση ως features. Το αν δύο γράφοι είναι όμοιοι διαπιστώνεται από τον αριθμό των στοιχειωδών δομών που έχουν και οι δύο. 3. Βασιζόμενα στην δομική πληροφορία, συγκρίνουν την τοπολογική πληροφορία. Κοστίζουν πολύ άλλα είναι πιο ακριβή. (max common subgraph, graph distance)
Δομή της παρουσίασης Ορισμός του Προβλήματος gindex & GraFil
gindex & GraFil Graph Indexing: A Frequent Structure-based Approach Xifeng Yan, Philip S. Yu, Jiawei Han, SIGMOD 04 Δημιουργία ευρετηρίου σε μία βάση γράφων βασιζόμενοι σε μικρούς συχνά εμφανιζόμενους στη βάση γράφους. Feature-based Similarity Search in Graph Structures Xifeng Yan, Feida Zhu, Philip S. Yu, Jiawei Han, TODS 2006 Αναζήτηση ομοιότητας σε βάσεις γράφων με την χρήση πιο περίπλοκων δομών (features) για την βελτίωση του φιλτραρίσματος.
General Framework Βήματα 1. Δημιουργία του index 2. Υπολογισμός μέγιστου αριθμού απωλειών feature 3. Επεξεργασία γράφου ερώτηση 4. Περαιτέρω relaxation του γράφου ερώτηση
General Framework Βήματα 1. Δημιουργία του index 2. Υπολογισμός μέγιστου αριθμού απωλειών feature 3. Επεξεργασία γράφου ερώτηση 4. Περαιτέρω relaxation του γράφου ερώτηση
General Framework 1. Δημιουργία του index (gindex) a. Επιλογή στοιχειωδών δομών ως feature Εύρεση συχνά εμφανιζόμενών υπογράφων στην βάση. Ένας υπογράφος είναι συχνός όταν οι εμφανίσεις του είναι περισσότερες από ένα minimum size increasing support (exponential, piecewise-linear) Επιλέγουμε από τα συχνά features αυτά τα οποία έχουν ικανοποιητική επιλεκτικότητα. discriminative ratio (γ):
frequent feature examples παραδείγματα συχνών υπογράφων
General Framework 1. Δημιουργία του index (gindex, Grafil) b. Δημιουργία ευρετηρίου gindex: translates fragments to sequences and holds them in a prefix tree Grafil: feature-graph πίνακας του οποίου κάθε στήλη είναι ένας γράφος της βάσης και κάθε γραμμή ένα feature του index
General Framework Βήματα 1. Δημιουργία του index 2. Υπολογισμός μέγιστου αριθμού απωλειών feature 3. Επεξεργασία γράφου ερώτηση 4. Περαιτέρω relaxation τουγράφουερώτηση
General Framework 2. Υπολογισμός μέγιστου αριθμού απωλειών feature a. Εύρεση των feature του index που περιέχονται στον γράφο ερώτηση. b. Επιλογή ενός feature set/φίλτρου (υποσύνολο των feature του index). Αν όλα τα feature του index στο σετ/φίλτρο τότε χαμηλή απόδοση. Δημιουργούμε feature sets με βάση την επιλεκτικότητα. επιλεκτικότητα ενός feature του γράφου ερώτηση Q ως προς μία βάση γράφων D, είναι η μέση διαφορά συχνότητας του feature μεταξύ D και Q, δ f (D,Q). γενικοί κανόνες για feature set 1. Επιλογή αρκετά μεγάλου αριθμού feature 2. Τα features να καλύπτουν ομοιόμορφα τον γράφο ερώτηση 3. Τα feature με διαφορετική επιλεκτικότητα να είναι χωριστά
General Framework 2. Υπολογισμός μέγιστου αριθμού απωλειών feature b. Επιλογή ενός feature set/φίλτρου (συνέχεια) αρχικά φιλτράρουμε έχοντας σετ τα feature ίδιου μεγέθους ενώνουμε τα σετ με διαφορά μεγέθους feature 1 Σε κάθε νέο σετ hierarchical clustering με βάση την επιλεκτικότητα των feature του Έτσι χωρίζουμε τα feature του κάθε σετ σε τρία σύνολα (high, medium, low selectivity) το καθένα από τα οποία είναι ένα φίλτρο
General Framework 2. Υπολογισμός μέγιστου αριθμού απωλειών feature c. Υπολογισμός του αριθμού εμφανίσεων των feature (του σετ) στον γράφο ερώτηση. d. Υπολογισμός του μέγιστου αριθμού απωλειών feature αν κάνουμε relax μία ακμή του query. edge-feature πίνακας για τον γράφο ερώτηση. Κάθε στήλη αντιστοιχεί σε ένα feature του σετ και κάθε σειρά σε μία ακμή του γράφου ερώτηση. Ο μέγιστος αριθμός στηλών που μπορούν να χτυπήσουν k γραμμές είναι και ο max feat miss. Όπου k= θ* G, θ relaxation ratio. (πρόβλημα μέγιστου επικαλύμματος, NP-complete)
max feat miss example Για μία αφαίρεση ακμής από τον γράφο ερώτηση έχουμε d max =4
General Framework Βήματα 1. Δημιουργία του index 2. Υπολογισμός μέγιστου αριθμού απωλειών feature 3. Επεξεργασία γράφου ερώτηση 4. Περαιτέρω relaxation του γράφου ερώτηση
General Framework 3. Επεξεργασία γράφου ερώτηση a. Χρησιμοποιούμε των feature-graph πίνακα για να υπολογίσουμε την διαφορά σε feature (σετ) μεταξύ γράφου ερώτηση και κάθε γράφου της βάσης. Δεν χρειάζεται πρόσβαση στη βάση παρά μόνο στον πίνακα. b. Αν d>d max (max feat miss) τότε ο γράφος δεν περιέχει ως υπογράφο τον γράφο ερώτηση. Αν d<dmax τότε ογράφοςείναιυποψήφιος.
General Framework 3. Επεξεργασία γράφου ερώτηση c. Υπολογίζουμε την structure-based similarity μεταξύ του query graph και κάθε candidate που βρήκαμε με το φιλτράρισμα. Έτσι ξεχωρίζουμε τις απαντήσεις από τους υποψήφιους. 4. Περαιτέρω relaxation του γράφου ερώτηση Αν θέλουμε περισσότερους γράφους απαντήσεις, κάνουμε ξανά relax στον γράφο ερώτηση και επαναλαμβάνουμε την διαδικασία από το 2 ο βήμα.
related work Substructure search Algorithms and applications of tree and graph searching, Shasa et al., PODS 02 A platform based on the multi-dimensional data modelfor analysis of bio-molecular structures, Srinivasa et al., VLDB 03 Similarity search Rascal:Calculation of graph similarity using maximum common edge subgraphs, Raymond et al. 2002, The computer Journal 45 Substructure similarity A new algorithm for error-tolerant subgraph isomorphism detection, Messmer and Bunke IEEE Trans on Pattern Analysis and Machine Intelligence 20