1. Μια έξυπνη μηχανή αναζήτησης σημείων ενδιαφέροντος στη
Θεσσαλονίκη με δυνατότητες αξιολόγησης βάσει αναγνώρισης
συναισθημάτων σχολίων
Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης
Πολυτεχνική Σχολή
Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
Τομέας Ηλεκτρονικής και Υπολογιστών
Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών (ΕΠΥ)
Θεσσαλονίκη, Ιούνιος 2016
Διπλωματική Εργασία του: Υπό την επίβλεψη του καθηγητή:
Παρασκευά Λαγάκη Ανδρέα Λ. Συμεωνίδη
ΑΕΜ: 7200
3. Εισαγωγή
• Ραγδαία εξάπλωση διαδικτύου και μέσων κοινωνικής δικτύωσης
• Παραγωγή τεράστιου όγκου δεδομένων
• Πρόβλημα: εξαγωγή χρήσιμης πληροφορίας
• Η ανάλυση συναισθήματος ή sentiment analysis αξιοποιεί τα δεδομένα για
την εύρεση τάσεων, απόψεων και συναισθημάτων των χρηστών του
διαδικτύου
• Ευκαιρίες για εφαρμογές τόσο σε ερευνητικό όσο και σε εμπορικό επίπεδο
4. Σκοπός Διπλωματικής
• Εφαρμογή sentiment analysis σε real-world δεδομένα
• Δημιουργία συστήματος αξιολόγησης σχολίων χρηστών του
Foursquare
• Σε ελληνικά, αγγλικά και greeklish
• Hand-tagging και προεπεξεργασία των δεδομένων
• Εφαρμογή ενός δοκιμασμένου αλγορίθμου ταξινόμησης
• Πειραματικά αποτελέσματα
• Δημιουργία μιας web εφαρμογής που θα ενσωματώνει το παραπάνω
σύστημα - Venuetrack
5. Βιβλιογραφική επισκόπηση
• Τύποι ανάλυσης συναισθήματος
• Ανάλυση πόλωσης (polarity analysis)
• Αναγνώριση υποκειμενικότητας/αντικειμενικότητας (subjectivity/objectivity recognition)
• Επίπεδα ανάλυσης
• Ανάλυση σε επίπεδο κειμένου (document level analysis) ή σε επίπεδο πρότασης (sentence level analysis)
• Ανάλυση με βάση χαρακτηριστικά οντοτήτων (feature/aspect-based analysis)
• Μέθοδοι επεξεργασίας φυσικής γλώσσας για ανάλυση
συναισθήματος
• Μέθοδοι επιβλεπόμενης μηχανικής μάθησης
• Μέθοδοι βασισμένες σε λεξικά
• Τεχνικές βελτίωσης ακρίβειας (Stemming, POS Tagging, Αφαίρεση
Stopwords κ.α.)
6. Ανάλυση συστήματος ταξινόμησης
• Σύστημα επιβλεπόμενης μηχανικής μάθησης για εξαγωγή πόλωσης
• Hand-tagging ενός σετ 2,000 σχολίων σε ελληνικά, αγγλικά και
greeklish
• 1,000 θετικά και 1,000 αρνητικά σχόλια
• Προεπεξεργασία δεδομένων
• Εφαρμογή μεθόδων βελτίωσης ακρίβειας
• Naive Bayes αλγόριθμος ταξινόμησης
8. Προεπεξεργασία δεδομένων
• Απομάκρυνση Stopwords
• Αφαίρεση τονισμών για τα ελληνικά
Ελληνικά και, το, με, για, να, τα, σε, η
Αγγλικά the, and, u, in, a, of, for, place, to
Χαρακτήρας με τονισμό
Χαρακτήρας με τον οποίο
αντικαταστάθηκε
ά, έ, ή, ό, ί, ύ, ώ α, ε, η, ο, ι, υ, ω
ϋ, ϊ υ, ι
ΰ, ΐ υ, ι
10. Προεπεξεργασία δεδομένων
• Αφαίρεση σημείων στίξης και επαναλαμβανόμενων χαρακτήρων
• Εξομάλυνση πεζών/κεφαλαίων
• Αφαίρεση κάποιων ειδικών χαρακτήρων
Αρχική λέξη
Λέξη μετά την
αντικατάσταση
Ηρεμιαααα!!!!!! ηρεμια
χαλλλλααραααα χαλαρα
ΛΟΟΟΟΛ λολ
Yaaaay yay
11. Πειραματικά αποτελέσματα – ακρίβεια
ταξινομητή
Accuracy
Χωρίς εξομάλυνση
πεζών/κεφαλαίων
0,8085
Χωρίς αφαίρεση τονισμών για
τα ελληνικά
0,7965
Χωρίς ομαδοποίηση emoticons 0,8214
Χωρίς αφαίρεση σημείων στίξης 0.823
Χωρίς αφαίρεση
επαναλαμβανόμενων
χαρακτήρων
0.794
Χωρίς stemming 0.8125
Με όλες τις μεθόδους
βελτίωσης ακρίβειας
0,8255
12. Πειραματικά αποτελέσματα – ακρίβεια
ταξινομητή
Accuracy
Χωρίς προεπεξεργασία
και χωρίς stopwords
0,73
Χωρίς προεπεξεργασία
και με stopwords
0,74
Με προεπεξεργασία και
χωρίς stopwords
0,802
Με όλες τις μεθόδους
βελτίωσης ακρίβειας
0,8255
14. Ανάλυση web εφαρμογής –
Χρησιμοποιούμενες τεχνολογίες/frameworks
• Backend: Java Servlets και Google App Engine
• Frontend: AngularJS και Google Maps Javascript API
• Άλλα εργαλεία (Objectify, Bootstrap κ.α.)
16. Ανάλυση web εφαρμογής - Frontend
• Custom service επικοινωνεί με
τα endpoints του backend και
αντλεί τα δεδομένα των venues
• Ο βασικός controller της
εφαρμογής σχεδιάζει το χάρτη
και τοποθετεί τους
αντίστοιχους markers
• Δημιουργείται ένας listener για
κάθε marker
18. Μελλοντικές επεκτάσεις
• Δοκιμή διαφορετικών ταξινομητών
• Επέκταση εφαρμογής και εκτός Θεσσαλονίκης
• Χρήση περισσότερων γλωσσών στο σετ εκπαίδευσης
• Άντληση δεδομένων από περισσότερα κοινωνικά δίκτυα (π.χ. Facebook,
TripAdvisor)