Τα τελευταία χρόνια έχει σημειωθεί μια έκρηξη δεδομένων στο Internet. Στην έκρηξη αυτή
σημαντικό ρόλο παίζουν τα κοινωνικά δίκτυα, τα οποία κερδίζουν συνεχώς όλο και περισσότερους
χρήστες. Ένα από τα πλέον γνωστά κοινωνικά δίκτυα είναι το Twitter. Τα δεδομένα, που υπάρχουν στο
Twitter, αποτελούν σημαντική πηγή πληροφοριών, που για να αξιοποιηθεί όμως, θα πρέπει πρώτα να
οργανωθεί με κάποιο αποτελεσματικό τρόπο.
Ο όγκος των δεδομένων που υπάρχουν στο Twitter, αλλά και ο ρυθμός με τον οποίον παράγονται
καθιστά τη διαχείρισή τους ιδιαίτερα προκλητική κι ενδιαφέρουσα. Σκοπός της παρούσας
διπλωματικής είναι η ανάπτυξη εφαρμογής που θα διαχειρίζεται τα δεδομένα του Twitter σε
πραγματικό χρόνο με τη χρήση κατανεμημένων τεχνικών.
Η λογική που ακολουθείται στην εφαρμογή μας είναι η εξής. Αρχικά γίνεται συλλογή δεδομένων
από το Twitter σε πραγματικό χρόνο. Στη συνέχεια τα δεδομένα αυτά αναλύονται με NLP εργαλεία για
την εξαγωγή πληροφοριών σχετικών με τις γραμματικές και συντακτικές ιδιότητες των tweets. Οι
πληροφορίες που εξάγονται από την ανάλυση χρησιμοποιούνται μαζί με αυτές που προσφέρει το
Twitter API, για την δεικτοδότηση των δεδομένων. Αφού δεικτοδοτηθούν τα δεδομένα αποθηκεύονται
σε μια κατανεμημένη βάση δεδομένων. Με τον τρόπο αυτό δημιουργείται μια υπηρεσία έξυπνης
αναζήτησης.
Η εφαρμογή αναπτύχθηκε σε περιβάλλον Cloud και συγκεκριμένα στο Google App Engine, την
κατανεμημένη πλατφόρμα της Google. Με τη χρήση του App Engine, η εφαρμογή εκμεταλλεύεται όλα
τα πλεονεκτήματα του Cloud Computing όπως η ανοχή σε σφάλματα, η διαθεσιμότητα και κυρίως η
κλιμακωσιμότητα του συστήματος, στοιχείο ιδιαίτερα σημαντικό για μια εφαρμογή διαχείρισης
δεδομένων, αφού απαιτείται να ανταποκρίνεται σε αυξανόμενο όγκο δεδομένων. Επιπλέον, το Google
App Engine επιτρέπει τη διάθεση της αναπτυχθείσας εφαρμογής ως υπηρεσίας ιστού.
Μελετώντας χαρακτηριστικά σενάρια χρήσης αποδεικνύεται ότι η υπηρεσία αυτή που
δημιουργήσαμε προσφέρει όντως μια πιο έξυπνη αναζήτηση από αυτήν του Advanced Twitter Search,
καθώς τα αποτελέσματα που επιστρέφει βρίσκονται εννοιολογικά πιο κοντά σε αυτό που αναζητούν
κάθε φορά οι χρήστες της εφαρμογής μας.
In the last few years, a data explosion has been noticed on the Internet. Social networks, as they
gain more and more users, have contributed a lot in this overload of data. One of the most popular
social networks is Twitter. The data that exist in Twitter can be considered as a valuable source of
information. In order to exploit this information though, it must firstly be organised in an efficient way.
The amount of Twitter's data and the fact that these data are produced in real-time makes their
management really challenging. Thus, there is a need for the development of data management
applications. In the present thesis, we present such an application. The aim of our application is to
manage real-time data that come from Twitter.
The sequence of steps that is followed in our application is the following. In the beginning, data are
collected from Twitter. After that, the collected data are processed with NLP tools, as we want to
retrieve information relative to the grammatical and syntactic properties of the tweets. The information,
that is retrieved from this analysis, as well as the one that Twitter API offers, are used for the data
indexing. Once the data are indexed, they are stored in a distributed database. In this way, we have
created a clever search service.
Our application is developed in Cloud environment and specifically in Google AppEngine which is
Google's distributed platform for the development of web applications. By using AppEngine, our
application takes advantage of all Cloud Computing benefits, such as fault tolerance, availability and
scalability. Especially scalability is very important for data management applications, since they are
supposed to respond to huge amount of data. We also mention that our application belongs to the
Software as a Service category and is provided as a service through the web.
As a result, we showed that the application we created, offers a more intelligent search than the one
that Advanced Twitter Search offers.