2. Τι είναι το twitter;
Δημοφιλές κοινωνικό δίκτυο
• ~340M tweet (μηνύματα) Μ.Ο. ανά ημέρα (2012)
• 274M ενεργοί χρήστες (Ιούλιος 2014)
Μήκος tweet έως 140 χαρακτήρες
Πλεονεκτήματα σε σχέση με παραδοσιακά μέσα ενημέρωσης
• Γρηγορότερη διάδοση ειδήσεων
• Παρουσίαση από διάφορες οπτικές γωνίες
• Σύνδεσμοι και σε παραδοσιακά μέσα
Πρόσβαση σε tweets μέσω
• Twitter REST API
• Streaming API
3. Εμπόδια εκμετάλλευσης δεδομένων
twitter
Μεγάλος όγκος δεδομένων
Αποσπασματικός χαρακτήρας
• Μικρό μέγεθος
• Πολλές ανομοιογενείς πηγές
Θόρυβος
• Κοινωνική βαβούρα
• Spam
[www.pearanalytics.com]
5. Φίλτρα
Κρατάμε tweet που
◦ Είναι σε υποστηριζόμενη γλώσσα
◦ Δεν είναι retweet (προαιρετικά)
◦ Είναι μεγαλύτερο από 5 λέξεις και 20 χαρακτήρες
◦ Έχει λιγότερα από 4 hashtags και 4 urls
◦ Δεν έχει mentions (προαιρετικά)
◦ Έχει ουσιαστικό ακολουθούμενο από ρήμα
6. Προεπεξεργασία
Part-of-speech tagger
◦ Χρήση για τελευταία συνθήκη φίλτρου
◦ Αυτόματη εξαγωγή κυρίων ονομάτων
Προαιρετική επέκταση ερωτήματος
◦ Εξαγωγή υποψηφίων keywords με Rapid Automatic Keyword Extraction (RAKE)
◦ Αγνόηση αυτών που περιέχουν επιρρήματα, επίθετα και ρήματα
◦ Επιλογή αυτών που ξεπερνούν κάποια συχνότητα εμφάνισης
◦ Εξάλειψη unigrams που εμφανίζονται σε digrams, trigrams κλπ
◦ Το επεκταμένο ερώτημα = σύζευξη των επιλεγμένων keywords
◦ Αποτ: korea -> north korea OR south korea OR kim jong OR north korean
leader kim Jong
[S. Rose et al., Text Mining: Theory and Applications. 2010]
[http://www.nltk.org/book/ch05.html]
8. Χρονική κατάτμηση
Δημιουργία ιστογράμματος όγκου tweets
Δημιουργία κρίσιμης καμπύλης από ιστόγραμμα μέσω φίλτρου βασισμένο σε κινούμενη
διάμεσο
◦ Αντί για διάμεσο, μέσο όρο σε 0.45 – 0.55 percentiles
◦ filter_length/2 δείγματα πριν και filter_length/2 μετά
◦ Συνυπολογισμός διαφορών επόμενων δειγμάτων
◦ Συνυπολογισμός πλάτους «κυμάτωσης»
Δημιουργία χρονικών περιοχών
◦ min_points συνεχόμενα σημεία πάνω από κρίσιμη καμπύλη
◦ περιοχή υψηλής κίνησης
◦ Οι ενδιάμεσες περιοχές
◦ περιοχές χαμηλής κίνησης
10. Λεξικογραφική ομαδοποίηση
Κατασκευή bag-of-words
◦ Λεξικό από stemmed όρους
◦ Στάθμισμη με tf-idf
◦ Ενίσχυση βαρών κυρίων ονομάτων (πολλαπλασιασμός με b)
◦ Κανονικοποίηση
Χρήση αλγορίθμου density-based spatial clustering of applications with noise (DBSCAN) σε κάθε
χρονική περιοχή
◦ Cosine distance μεταξύ bag-of-words ως απόσταση
◦ Παράμετρος eps, μέγιστη απόσταση γειτονικών σημείων
◦ Παράμετρος minPts, ελάχιστο μέγεθος μη θορυβικής γειτονιάς
◦ Τετραγωνική πολυπλοκότητα
[Martin Ester et al. 1996]
11. Δειγματοληψία
Τυχαία επιλογή time_segment_limit tweet από κάθε χρονική περιοχή
◦ Ορισμός άνω φράγματος χρόνου εκτέλεσης
◦ Κανονικοποίηση παραμέτρων DBSCAN
◦ Κανονικοποίηση μεγέθους παραγόμενων ομάδων
Εικόνα:
◦ 70K max ανά χρονική περιοχή
◦ 5 χρονικές περιοχές
◦ 2 υψηλής, 3 χαμηλής
12. Επεξεργασία ομάδων
Περίληψη ομάδων
◦ Κεντρικό bag-of-words: κανονικοποιημένο διανυσματικό άθροισμα επιμέρους bag-of-words
◦ Όροι: το από πάνω σε αναγνώσιμη μορφή
◦ Κείμενα: Επιλογή των 10 unique tweet πιο κοντά στο κέντρο
◦ Τίτλος: Το κείμενο από πάνω με την καλύτερη κατάταξη
◦ Χρόνος: Ελάχιστος – Μέγιστος χρόνος επιμέρους, μίνι ιστόγραμμα κίνησης
◦ Informal: Πόσα tweet έχουν ανεπίσημη μορφή
◦ Μέγεθος: Πλήθος tweet ομάδας, κανονικοποιημένο αν από δειγματοληψία
Ένωση όμοιων ομάδων μέσω σχέσης
13. Επιλογή ομάδων
Κατάταξη tweet με ευρετικό κανόνα
Προτιμάμε:
◦ μεγαλύτερο μέγεθος
◦ Μικρότερη διάρκεια
◦ 1-2 urls
◦ Περισσότερους όρους
◦ Έχει λιγότερα informal ανά μέγεθος
Επιλέγουμε αυτά:
◦ Που ξεπερνούν κάποιο κατώφλι στο βάρος κατάταξης
◦ Έχουν λιγότερο από ένα κατώφλι ανεπίσημα tweet ανά μέγεθος
14. Δημιουργία Συσχετίσεων
Δημιουργία κατευθυνόμενου γράφου
◦ Ομάδες γεγονότα ως κορυφές
◦ Συσχετίσεις με ακμές
◦ Η φορά δείχνει χρόνο
Οι ακμές προκύπτουν
◦ Cosine distance <= Κατώφλι
◦ Φορά προς αυτό που έπεται χρονικά
Απλοποίηση γράφου
◦ Αφαίρεση ακμών εάν υπάρχει μακρύτερο μονοπάτι
16. Μελλοντική εργασία
Αντικατάσταση ευρετικών με τεχνικές Machine Learning
◦ Ranking των tweet
◦ Ranking των cluster
Υποστήριξη άλλων γλωσσών
◦ Χρήση POS tagger για άλλες γλώσσες
◦ Προαιρετικά stemmer
Μετατροπή σε σύστημα πραγματικού χρόνου
◦ REST API -> Stream API
◦ DBSCAN -> Agglomerative
◦ Χρήση ανατροφοδότησης από τον χρήστη (relevance feedback)
Βελτίωση δημιουργίας συσχετίσεων
Υποστήριξη άλλων κοινωνικών δικτύων
17. Ευχαριστώ για την προσοχή σας!
Επιλεγμένη βιβλιογραφία
◦ M. Ester, H.-P. Kriegel, J. Sander, and X. Xu, “A density-based algorithm for discovering clusters in large
spatial databases with noise”, 1996, http://is.muni.cz/publication/884893/en.
◦ R. Řehůřek and P. Sojka, “Software Framework for Topic Modelling with Large Corpora,” 2010,
http://is.muni.cz/publication/884893/en.
◦ R. Nallapati, A. Feng, F. Peng, and J. Allan, “Event threading within news topics,” 2004.
◦ C. Lin, C. Lin, J. Li, D. Wang, Y. Chen, and T. Li, “Generating event storylines from microblogs,” 2012.
◦ L. Shou, Z. Wang, K. Chen, and G. Chen, “Sumblr: Continuous summarization of evolving tweet streams,”
2013.
◦ R. D. Santos, S. Shah, F. Chen, A. Boedihardjo, P. Butler, C.-T. Lu, and N. Ramakrishnan, “Spatio-temporal
storytelling on twitter,” 2013.
◦ G. P. C. Fung, J. X. Yu, and H. Liu, “Time-dependent event hierarchy construction,” 2007.
◦ L. Huang and L. Huang, “Optimized Event Storyline Generation based on Mixture-Event-Aspect Model,”
2013.