SentiMeter: Ανάπτυξη εφαρμογής sentiment analysis με χρήση της αρχιτεκτονικής των microservices

Αντικείμενο της διπλωματικής εργασίας του Δημήτρη Καλλιβωκά από το Τμήμα Μηχανικών Η/Υ και Πληροφορικής του Πανεπιστημίου Πατρών, είναι ένα πληροφοριακό σύστημα το οποίο εκτελεί ανάλυση συναισθήματος από δεδομένα χρηστών στο internet, όπως social media, forums, κ.λ.π. Η ανάλυση συναισθήματος ή αλλιώς εξόρυξη γνωμών (sentiment analysis – opinion mining) είναι η διαδικασία κατά την οποία ένα σύστημα καλείται να αναγνωρίσει το συναίσθημα που εκφράζει ένα άτομο μέσα από κάποιο κείμενο του.

Το σύστημα που αναπτύχθηκε αποτελείται από δύο υποσυστήματα. Το πρώτο είναι η FrontEnd Web εφαρμογή SentiMeter, στην οποία οι χρήστες μπορούν να δημιουργούν και να διαχειρίζονται τέτοια αιτήματα για ανάλυση συναισθήματος. Αυτή δημιουργήθηκε χρησιμοποιώντας .NET τεχνολογίες και εδώ μπορείτε να δείτε ένα video demonstration των βασικών της λειτουργιών:

Το δεύτερο και βασικότερο υποσύστημα είναι ένας BackEnd Server με έργο να ικανοποιεί τα αιτήματα που λαμβάνει από την εφαρμογή. Σε πρώτο στάδιο εκτελεί εξόρυξη κειμένων από τις διαδικτυακές πηγές που επέλεξε ο χρήστης, στην συνέχεια ανάλυει και κατατάσσει καθένα από αυτά ως θετικό, αρνητικό ή ουδέτερο, και τελός υπολογίζει αποτελέσματα τα οποία στέλνει πίσω στην εφαρμογή. Το υποσύστημα αυτό, προκειμένου να είναι scalable και reliable σχεδιάστηκε ως cloud application χρησιμοποιώντας το Micrososft Service Fabric με την αρχιτεκτονική των microservises. Επιπλέον, το σύστημα είναι επεκτάσιμο (extensible) με την έννοια της εύκολης υποστήριξης επιπλέον πηγών, σε προγραμματιστικό επίπεδο. Ακολουθεί ένα video demonstration που καταδεικνύει το χαρακτηριστικό της αξιοπιστίας – ανθεκτικότητας (reliability – durability), που του προσδίδει η υλοποίηση του με χρήση του Service Fabric.

Ο κώδικας της διπλωματικής εργασίας είναι διαθέσιμος εδώ.

Αν κάποιος θέλει να επικοινωνήσει με τον Καλλιβωκα Δημήτρη μπορεί εδώ:
kallivokas{AT}ceid[DOT]upatras[DOT]gr

Leave a Reply

Your email address will not be published. Required fields are marked *