Στέφανος Μπουρτζούδης

Post on 18-Jan-2017

22 views 0 download

Transcript of Στέφανος Μπουρτζούδης

Μπουρτζούδης Στέφανος,Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών, Α.Π.Θ

Υπό την επίβλεψη του Καθηγητή κ. Περικλή Α. Μήτκα

Εντοπισμός Γεγονότων σε Δεδομένα Κοινωνικών Μέσων με Χρήση Τεχνικών Αναγνώρισης ΣυναισθήματοςΔιπλωματική Εργασία

1. Περιγραφή του προβλήματος

2. Στόχοι της εργασίας

3. Περιγραφή της μεθοδολογίας

4. Αποτελέσματα της μεθοδολογίας

5. Συμπεράσματα & Μελλοντική εργασία

Δομή της παρουσίασης

• Μεγάλος όγκος δεδομένων

• Συνεχής ροή νέων δεδομένων

• Μεγάλο ποσοστό θορύβου στα δεδομένα

Περιγραφή του προβλήματος

Δύσκολος ο εντοπισμός γεγονότων σε σύντομο χρονικό διάστημα από τη χρονική στιγμή που αυτά συμβαίνουν.

Πιο αποτελεσματική αναπαράσταση των γεγονότων που περιέχονται σε ένα σύνολο δεδομένων

Στόχος της εργασίας

Προκλήσεις:• Εντοπισμός υποψήφιων γεγονότων μέσα σε περιοχές υψηλής πόλωσης• Περίληψη των υποψήφιων γεγονότων• Ομαδοποίηση υποψήφιων γεγονότων

Συλλογή tweets:• Twitter REST API• Twitter Streaming API

Μεθοδολογία (1/6)

Προ-επεξεργασία:• Διατήρηση Αγγλικών tweets• Σύμπτυξη ή αφαίρεση

χαρακτηριστικών• Εξαγωγή οντοτήτων• Συντακτική ανάλυση• Εισαγωγή στη MongoDB

Πεδίο Περιγραφήtext Το αρχικό κείμενο του tweet

publicationTime Ο χρόνος δημιουργίας του tweet σε milliseconds

username Το όνομα του χρήστη που δημοσίευσε το tweet

hashtags Η λίστα των hashtags που περιέχει το tweetentities Η λίστα των οντοτήτων που περιέχονται

στο tweetreposts Ο αριθμός των αναδημοσιεύσεων του

συγκεκριμένου tweet από άλλους χρήστεςoriginal Μεταβλητή τύπου boolean που δίνει αν το

tweet είναι πρωτότυπο ή αν είναι retweetproperNouns Η λίστα των κύριων ονομάτων που

περιέχονται στο tweetposTags Η λίστα περιγραφής του μέρους του λόγου

για κάθε λέξη του κειμένου του tweetcleanText Το κείμενο του tweet επεξεργασμένο

accepted Μεταβλητή τύπου boolean που δίνει αν το tweet είναι αποδεκτό

Ανάλυση συναισθήματος στο αρχικό κείμενο του κάθε tweet:•Βιβλιοθήκη SentiStrength (Thelwall et al. 2012)•Αποτέλεσμα 2 ακέραιοι. π.χ (3,5)•Υπολογισμός πόλωσης

Μεθοδολογία (2/6)

Μείωση θορύβου στο κείμενο των tweets:• Όλες οι διευθύνσεις URL αντικαταστάθηκαν• Τα mentions σε άλλους χρήστες αντικαταστάθηκαν• Το σύμβολο # των hashtags αφαιρέθηκε• Αφαιρέθηκαν επαναλαμβανόμενα γράμματα

Δημιουργία ευρετηρίου όρων:• Δημιουργία ευρετηρίου με τη βιβλιοθήκη Lucene• Προσαρμοσμένος αναλυτής κειμένου (n-grams)

Μεθοδολογία (3/6)

Χρονική κατάτμηση:• Με βάση το χρόνο δημιουργίας των tweets• Δημιουργία μη επικαλυπτόμενων χρονικών

περιοχών (timeslots) με χρονική διάρκεια σε λεπτά

Αυξητικό μοντέλο :• Υπολογισμός της σταθμισμένης συχνότητας

εμφάνισης των όρων μέσα σε κάθε χρονική περιοχή• Η βαρύτητα των όρων προσαρμόζεται με το

πέρασμα του χρόνου

Μεθοδολογία (4/6)

Εξαγωγή οντοτήτων:

Μεθοδολογία (5/6)Ιστόγραμμα της πόλωση:

Εντοπισμός κορυφών στο ιστόγραμμα της πόλωση:• Αλγόριθμος Palshikar (2009)• Παράμετροι windowSize, strigency

Περίληψη υποψήφιων γεγονότων:• Υπολογισμός συσχέτισης όρων• Συντελεστής συσχέτισης Erdem et al. (2011)

Ομαδοποίηση υποψήφιων γεγονότων:• Μη κατευθυνόμενος γράφος• Ομαδοποίηση γράφου μέσω του

αλγόριθμου SCAN (Xu et al. 2007)

Μεθοδολογία (6/6)

Εύρεση αντιπροσωπευτικών tweets για κάθε γεγονός:• Αναζήτηση των όρων στη Lucene• Αποτελέσματα με την υψηλότερη βαθμολογία

• 12 Ιουνίου έως τις 13 Ιουλίου• 32 εθνικές ομάδες• 64 αγώνες• Διαδικτυακά συμμετείχαν πάνω από 1

δισ. χρήστες απ’ όλο τον κόσμο

Παγκόσμιο Κύπελλο ποδοσφαίρου 2014

Σύνολο δεδομένων:• 12.835.386 tweets • Όλα γραμμένα στα Αγγλικά• Από 1η Απριλίου 2007 έως 18η Ιουλίου 2014

• Χρονική κατάτμηση (30, 60 και 90 λεπτά)

• Εξαγωγή οντοτήτων (γ = 10)

• Εύρεση υποψήφιων γεγονότων (180 λεπτά, stringency = 2)

• Περίληψη υποψήφιων γεγονότων ()

• Ομαδοποίηση υποψήφιων γεγονότων (μ=3, ε=[0,65 0,70 0,75])

Εύρεση γεγονότων στη διάρκεια του Παγκοσμίου Κυπέλλου ποδοσφαίρου

Αποτελέσματαtimeslot ε Precision Recall F1 TP P30 0,65 0,7412 0,8873 0,8077 63 8530 0,7 0,7317 0,8824 0,8000 60 8230 0,75 0,9333 1,0000 0,9655 14 1560 0,65 0,8302 1,0000 0,9072 44 5360 0,7 0,8077 1,0000 0,8936 42 5260 0,75 0,9333 1,0000 0,9655 14 1590 0,65 0,8696 1,0000 0,9302 20 2390 0,7 0,8571 1,0000 0,9231 18 2190 0,75 0,7500 1,0000 0,8571 3 4

• Χρονική κατάτμηση (1, 2, 5 λεπτά)

• Εξαγωγή οντοτήτων (γ = 10)

• Εύρεση υποψήφιων γεγονότων (10 λεπτά, stringency = 1)

• Περίληψη υποψήφιων γεγονότων ()

• Ομαδοποίηση υποψήφιων γεγονότων (μ = 3, ε = [0,45 0,50 0,55

0,60 0,65])

Εύρεση γεγονότων στη διάρκεια ενός ποδοσφαιρικού αγώνα

Αποτελέσματα για τον αγώνα Γαλλία - ΟνδούραTimeslot ε Precision Recall F1 TP P

1 0.45 0,7333 0,7857 0,7586 11 151 0.5 0,7273 0,8000 0,7619 8 111 0.55 0,8571 1,0000 0,9231 6 71 0.6 0,8571 1,0000 0,9231 6 71 0.65 1,0000 1,0000 1,0000 2 22 0.45 0,8000 1,0000 0,8889 12 152 0.5 0,8182 1,0000 0,9000 9 112 0.55 0,8000 1,0000 0,8889 8 102 0.6 0,8000 1,0000 0,8889 4 52 0.65 0,6667 1,0000 0,8000 2 35 0.45 1,0000 1,0000 1,0000 2 25 0.5 1,0000 1,0000 1,0000 1 15 0.55 1,0000 1,0000 1,0000 1 15 0.6 1,0000 1,0000 1,0000 1 15 0.65 1,0000 1,0000 1,0000 1 1

• Γεγονότα σε κοντινή χρονική απόσταση & χρονικά επικαλυπτόμενα

• Πολυγλωσσική υποστήριξη του συστήματος

• Λειτουργία σε πραγματικό χρόνο

Συμπεράσματα & Μελλοντική εργασία

Ερωτήσεις;

Σας ευχαριστώ