1. Διαδικτυακή Οπτικοποίηση Διασυνδεδεμένων
Δεδομένων από Κοινωνικά Δίκτυα
Θεσσαλονίκη 2014
Υπό την επίβλεψη του
Ανδρέα Λ. Συμεωνίδη
Επίκουρου Καθηγητή
Και τη συνεπίβλεψη
Συμεών Παπαδόπουλου
Ιωάννη Κομπατσιάρη
ΙΠΤΗΛ/ΕΚΕΤΑ
Έλλη Κασπαρίδου
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ
ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ
ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ
ΤΟΜΕΑΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ
ΕΡΓΑΣΤΗΡΙΟ ΕΠΕΞΕΡΓΑΣΙΑΣ ΠΛΗΡΟΦΟΡΙΑΣ ΚΑΙ ΥΠΟΛΟΓΙΣΜΩΝ
2. Δομή της παρουσίασης
• Στόχος της εργασίας
• Περιγραφή προβλήματος
• Προσεγγίσεις και καινοτομίες
• Αρχιτεκτονική συστήματος
• Σενάριο χρήσης: FIFA World Cup 2014
• Συμπεράσματα
2/27Διαδικτυακή Οπτικοποίηση Διασυνδεδεμένων Δεδομένων Από Κοινωνικά Δίκτυα
3. Στόχος της εργασίας
• Συλλογή και επεξεργασία δεδομένων από κοινωνικά δίκτυα
• Σχεδιασμός και ανάπτυξη συστήματος οπτικοποίησης δεδομένων
3/27Διαδικτυακή Οπτικοποίηση Διασυνδεδεμένων Δεδομένων Από Κοινωνικά Δίκτυα
4. Περιγραφή του προβλήματος (1/2)
• Τι είναι η οπτικοποίηση δεδομένων;
H χαρτογράφηση στον καρτεσιανό χώρο ενός συνόλου δεδομένων στο οποίο τα
στοιχεία συσχετίζονται
• Διασυνδεδεμένο δίκτυο ≡ Γράφος
• Τεχνικές οπτικοποίησης γράφων:
– Σχεδίαση
– Πλοήγηση και αλληλεπίδραση
– Ομαδοποίηση
4/27Διαδικτυακή Οπτικοποίηση Διασυνδεδεμένων Δεδομένων Από Κοινωνικά Δίκτυα
5. Περιγραφή του προβλήματος (2/2)
Γιατί κοινωνικά δίκτυα;
• Όγκος δεδομένων (προέλευση και δομή)
• Δυναμικότητα δικτύων
• Σύνδεση δεδομένων
• Ρυθμός μετάδοσης πληροφορίας
5/27Διαδικτυακή Οπτικοποίηση Διασυνδεδεμένων Δεδομένων Από Κοινωνικά Δίκτυα
25. Συμπεράσματα
• Πυκνοί μετα- γράφοι με την πάροδο του χρόνου
• Υπονοούμενες σχέσεις χρηστών
• Σχεδίαση ανάλογα με τον τύπο του δικτύου
• Εξυπηρέτηση δικτύων μεσαίου μεγέθους
• Ικανοποιητική απόκριση
25/27Διαδικτυακή Οπτικοποίηση Διασυνδεδεμένων Δεδομένων Από Κοινωνικά Δίκτυα
26. Μελλοντικές επεκτάσεις
• Εισαγωγή παραμέτρων από το χρήστη
• Παράλληλη οπτικοποίηση δεδομένων τη στιγμή που δημοσιεύονται
• Διασύνδεση λογαριασμών χρηστών
26/27Διαδικτυακή Οπτικοποίηση Διασυνδεδεμένων Δεδομένων Από Κοινωνικά Δίκτυα
Data visualization vs. scientific visualization : σύνολο δεδομένων στο οποίο τα δεδομένα συσχετίζονται vs. οπτικοποίηση συνόλων στα οποία τα σημεία των δεδομένων δεν σχετίζονται
Αναπαράσταση δικτύου -> οπτικοποίηση αντίστοιχου γράφου -> η πρόκληση βρίσκεται στην αναπαράσταση: σχεδίαση που να έχει κάποιο νόημα για το χρήστη
Βασικές τεχνικές στην οπτικοποίηση δικτύων
Σχεδίαση: 2Δ- 3Δ, δέντρα , υπερβολική σχεδίαση
Πλοήγ. & αλληλεπ. : zoom & pan, focus , fisheye, αυξητική διερεύνηση
Ομαδοποίηση
Σύνδεση κοινωνικών και βιολογικών δικτύων
Ετερογένεια δεδομένων (προέρχονται από πολλά πεδία εφαρμογών άρα είναι απαραίτητο να καταστούν σαφείς μορφές αρχείων πχ xml)και μεγάλος όγκος: άρα ο σκοπός είναι να αποκαλυφθούν οι επιμέρους σχέσεις και να επικοινωνήσουν τα ευρήματα με κατάλληλο και αποτελεσματικό τρόπο
Εισαγωγή λέξεων κλειδιών από το διαχειριστή της εφαρμογής και σύνδεση στα endpoints ( σημεία σύνδεσης που εκτίθενται ενεργές οι σελίδες των servers)
Φιλτράρισμα του stream ανάλογα με τις λέξεις και διαδοχικό φιλτράρισμα από το σύστημα συλλογής ώστε να εξαχθούν τα tweets με mentions/ retweets
Εισαγωγή μη ιεραρχικού γράφου στους 4 πίνακες της βάσης
RDBMS vs NO- RDBMS
Στις βάσεις γράφων οι σχέσεις αποθηκεύονται σε ατομικό επίπεδο εγγραφών , ενώ σε μια σχεσιακή ΒΔ η δομή ορίζεται στο επίπεδο ορισμού των πινάκων=>
Υψηλότερη ταχύτητα σε μεγάλο αριθμό εγγραφών, ενώ σε ΒΔ για γράφους κάθε εγγραφή πρέπει να εξεταστεί ατομικά κατά τη διάρκεια ενός ερωτήματος ώστε να οριστεί η δομή των δεδομένων, κάτι γνωστό εκ των προτέρων σε μια RDBMS.
Οι RDBMS απαιτούν λιγότερο αποθηκευτικό χώρο καθώς δεν αποθηκεύουν κάθε εγγραφή ξεχωριστά.
Το να αποθηκευθούν όλες οι συσχετίσεις σε επίπεδο ατομικής εγγραφής έχει νόημα μόνο αν πρόκειται να υπάρξει μεγάλο εύρος στο είδος των συσχετίσεων, διαφορετικά επαναλαμβάνονται οι εγγραφές. Κάτι τέτοιο σημαίνει πως οι βάσεις γράφων είναι κατάλληλες για μη κανονικές, πολύπλοκες δομές. Στον πραγματικό κόσμο όμως απαιτούνται κανονικές και σχετικά απλές δομές, και αυτός είναι ο βασικός λόγος που rdbms κυριαρχούν.
Μοντέλο γράφου:
Γράφος
Ακμή
Κόμβος
Το μοντέλο αποτελεί είσοδο στον αλγόριθμο Louvain και έχει σχεδιαστεί βάσει του αντίστοιχου API του gephi
Μετά την ανίχνευση κοινοτήτων καλούνται μέθοδοι που υπολογίζουν τα στατιστικά και τις μετρικές του μετα γράφου και των κοινοτήτων. Γίνεται εισαγωγή των δεδομένων στο στιγμιότυπο του γράφου στην ίδια βάση.
Ροή πληροφορίας
Αλγόριθμος Louvain:
Μεγέθη ως 100 εκατ. κόμβων και δισεκ. ακμών
Η μέθοδος αποκαλύπτει ιεραρχίες κοινοτήτων και επιτρέπει το ζουμ μέσα τους με σκοπό την ανακάλυψη περεταίρω υπο-κοινοτήτων, υπο-υπο-κοινοτήτων κοκ. Πρόκειται για έναν άπληστο αλγόριθμο βελτιστοποίησης που επιχειρεί να βελτιστοποιήσει την τμηματοποίηση (modularity) μιας διαμέρισης του δικτύου. Η βελτιστοποίηση επιτυγχάνεται σε δύο βήματα
(Ένας άπληστος αλγόριθμος είναι ένας αλγόριθμος που ακολουθεί την επίλυση προβλημάτων ευριστικά κάνοντας την τοπικά βέλτιστη επιλογή σε κάθε στάδιο με την ελπίδα να βρει μια βέλτιστη επιλογή. Σε πολλά προβλήματα, μια άπληστη στρατηγική γενικά δεν παράγει μια βέλτιστη λύση, αλλά παρ 'όλα αυτά ένας άπληστος ευριστικός μπορεί να δώσει τοπικά βέλτιστες λύσεις που προσεγγίζουν μια βέλτιστη λύση σε ένα εύλογο χρονικό διάστημα.)
Αρχικά, η μέθοδος αναζητά «μικρές» κοινότητες βελτιστοποιώντας το modularity τοπικά. Αυτό επιτυγχάνεται αναθέτοντας μία κοινότητα σε κάθε κόμβο του δικτύου, οπότε σε αυτή την πρώτη διαμέριση έχουμε τόσες κοινότητες όσες και κόμβους. Στη συνέχεια, για κάθε κόμβο i θεωρούνται j γείτονες του και αξιολογείται το κέρδος του modularity που θα προκύψει αφαιρώντας τον κόμβο i από την κοινότητά του και τοποθετώντας τον στην κοινότητα j. Ο κόμβος i τότε τοποθετείται στην κοινότητα για την οποία αυτό το κέρδος είναι το μέγιστο, αλλά μόνο αν αυτό είναι θετικό. Αν δεν είναι εφικτή μία θετική τιμή του κέρδους, ο κόμβος i παραμένει στην αρχική κοινότητα. Αυτή η διαδικασία επαναλαμβάνεται σειριακά για όλους τους κόμβους εώς ότου δεν μπορεί να υπάρξει περαιτέρω βελτίωση, οπότε και ολοκληρώνεται η πρώτη φάση. Ένα τμήμα της αποτελεσματικότητας του αλγορίθμου απορρέει από το γεγονός ότι το κέρδος του modularity, ΔQ, το οποίο αποκτάται μετακινώντας έναν απομονωμένο κόμβο i σε μια κοινότητα C, μπορεί να υπολογισθεί εύκολα από την παραπάνω σχέση
(Όπου Σin είναι το άθροισμα των βαρών των συνδέσεων μέσα στην κοινότητα C, Σtott είναι το άθροισμα των βαρών των συνδέσεων που ενώνουν στους κόμβους στην κοινότητα C, και kin είναι το άθροισμα των βαρών που έχουν οι συνδέσεις στον κόμβο i, ki,in είναι το άθροισμα των βαρών των συνδέσεων από τον κόμβο i σε κόμβους στο C και m είναι το άθροισμα των βαρών όλων των ακμών στο δίκτυο.)
Στη δεύτερη φάση, ο αλγόριθμος συναθροίζει τους κόμβους που ανήκουν στην ίδια κοινότητα και κατασκευάζει ένα νέο δίκτυο του οποίου οι κόμβοι είναι οι κοινότητες. Για να επιτευχθεί αυτό τα βάρη των ακμών μεταξύ των νέων κόμβων δίνονται από το άθροισμα των βαρών των ακμών μεταξύ των κόμβων στις αντίστοιχες δύο κοινότητες. Ακμές μεταξύ κόμβων της ίδιας κοινότητας οδηγούν σε αυτό- βρόχους για αυτή την κοινότητα στο νέο δίκτυο. Μόλις ολοκληρωθεί το δεύτερο στάδιο, είναι πλέον εφικτό να εφαρμοστεί ξανά η πρώτη φάση του αλγορίθμου στο νέο σταθμισμένο δίκτυο και να επαναληφθεί. Ως «πέρασμα» του αλγορίθμου θεωρείται ο συνδυασμός των δύο φάσεων. Εκ κατασκευής, ο αριθμός των μετα- κοινοτήτων μειώνεται σε κάθε πέρασμα και ως αποτέλεσμα, ο περισσότερος υπολογιστικά χρόνος δαπανάται κατά το πρώτο πέρασμα. Αυτά τα βήματα επαναλαμβάνονται εώς ότου επιτευχθεί ένα μέγιστο modularity και παραχθεί μία νέα ιεραρχία κοινοτήτων. Παρόλο που η ακριβής υπολογιστική πολυπλοκότητα της μεθόδου δεν είναι γνωστή, ο αλγόριθμος φαίνεται να τρέχει σε O(n log n) χρόνο με μεγαλύτερο υπολογιστικό φόρτο για τη βελτιστοποίηση στο πρώτο επίπεδο. Η ακριβής βελτιστοποίηση για την τμηματοποίηση είναι γνωστό ότι είναι NP-hard.
Σχεδίαση: τυχαία, κυκλική , force atlas2
Αλληλεπίδραση: pop up labels , zoom, fisheye, highlight
Φιλτρα: ακμές, κόμβοι , αναδημοσιεύσεις, λέξεις κλειδιά, χρόνος
Επεξεργασία: χρώματα, εξαγωγή γράφου