Skip to content

TimotheosAvgerinos/twitter-stream-globe

 
 

Repository files navigation

Sentiment Analysis on Twitter

Εκφώνηση

Μέρος Α

Παράδειγμα της αρχικής real-time εφαρμογής θα βρείτε στον σύνδεσμο: http://twitter-stream-globe.herokuapp.com/. Στο συγκεκριμένο παράδειγμα, εάν το συναίσθημα είναι θετικό, η ακτίνα που εκπέμπεται είναι κίτρινη, ενώ εάν είναι αρνητικό, είναι κόκκινη. Στόχος του μέρους Α αυτής της εργασίας είναι να τροποποιήσετε τον κώδικα ανάλογα με αυτά που σας ζητούνται σε κάθε παραδοτέο. Για παράδειγμα, στη διαβάθμιση των θετικών ή αρνητικών συναισθημάτων που οπτικοποιούνται (τμήμα του Παραδοτέου 2), μια πρόταση θα μπορούσε να είναι: έντονα αρνητικό συναίσθημα με κόκκινο χρώμα, αρνητικό συναίσθημα με πορτοκαλί χρώμα, θετικό συναίσθημα με κίτρινο χρώμα, έντονα θετικό συναίσθημα με πράσινο χρώμα.

Ο κώδικας που θα επεξεργαστούμε παρακάτω προέρχεται από το αποθετήριο: https://github.com/twitterdev/twitter-stream-globe.

Μέρος Β

Στο μέρος Β αυτής της εργασίας θα πρέπει να μεταφράσετε στα ελληνικά και να ενσωματώσετε (pull request) τις λέξεις που υποδηλώνουν συναισθήματα στο αρχείο AFINN-translateToGreek165.txt (τμήμα του Παραδοτέου 2). Αναλυτικές οδηγίες παρέχονται παρακάτω.

Οδηγίες εκπόνησης της εργασίας (βήμα προς βήμα)

forkRepository

Για να τρέξετε αρχικά την εφαρμογή:

  • Δημιουργήστε ένα νέο κλαδί (branch) στο αντίγραφο του αποθετηρίου στον λογαριασμό σας.
  • Δημιουργήστε μια νέα εφαρμογή στο twitter.
  • Θα χρειαστείτε να αξιοποιήσετε την πλατφόρμα PubNub (είναι δωρεάν).
  • Μπείτε στον λογαριασμό σας στο Heroku και δημιουργήστε μια νέα εφαρμογή. Η πλατφόρμα Heroku, η οποία συνεργάζεται και με το Github https://blog.heroku.com/heroku_github_integration προσφέρει δωρεάν υπηρεσίες web hosting σε ssl.

herokuapps

  • Στο αποθετήριο που έχετε αντιγράψει στον λογαριασμό σας (βλ. προηγούμενα βήματα), οι μεταβλητές-ετικέτες (KEYS): TWITTER_CONSUMER_KEY, TWITTER_CONSUMER_SECRET, TWITTER_ACCESS_TOKEN και TWITTER_TOKEN_SECRET θα πρέπει να αντικατασταθούν με τις τιμές (VALUES) των αντίστοιχων μεταβλητών της εφαρμογής σας στο twitter που δημιουργήσατε στο προηγούμενο βήμα και οι PUBNUB_PUBLISH_KEY και PUBNUB_SUBSCRIBE_KEY με τις αντίστοιχες τιμές από το PubNub.

Συμβουλή: Για λόγους ασφαλείας, καλό θα είναι αυτές οι τιμές των 6 μεταβλητών που περιγράψαμε παραπάνω (TWITTER_CONSUMER_KEY, TWITTER_CONSUMER_SECRET κ.λπ.) να μην είναι δημόσια στο github. Μια καλή λύση θα ήταν να τις αποκρύψετε καταχωρώντας τις κατευθείαν στην εφαρμογή σας στο Heroku (Settings -> Config Variables).

Βήμα 1 herokuConfigp1 Βήμα 2 herokuConfigp2

Όσον αφορά στην πλατφόρμα PubNub, για να βρείτε τις τιμές των 2 μεταβλητών ακολουθήστε τα εξής βήματα:

Βήμα 1 pubnub1 Βήμα 2 pubnub2

  • Στην καρτέλα Deploy στο Heroku dashboard, συνδέστε την εφαρμογή που μόλις δημιουργήσατε με το repository που μεταφέρατε στο github μέσω fork (κάντε την απαραίτητη ρύθμιση στο πεδίο Connect to GitHub -> Search -> Connect). herokudeploy1
  • Πατήστε το κουμπί Deploy Branch για να ανέβει ο κώδικας από το github στην εφαρμογή σας. Αυτή η κίνηση θα πρέπει να γίνεται κάθε φορά που θα αλλάζετε κάτι στο github, προκειμένου να ενημερώνεται η εφαρμογή σας στο Heroku. herokudeploy2
  • Πατήστε το κουμπί Open app στο Dashboard της εφαρμογής σας στο Heroku και στην καρτέλα που ανοίγει εκτελείται η εφαρμογή σας.

Για το Μέρος Α:

  • Δημιουργήστε ένα νέο κλαδί (branch).
  • Εφαρμόστε τις αλλαγές στον κώδικα του κατάλληλου κάθε φορά αρχείου, ανάλογα με το παραδοτέο. Π.χ. για τη διαβάθμιση των συναισθημάτων, τροποποιήστε το αρχείο /public/javascripts/TweetBeacon.js.

Για το Μέρος Β:

  • Δημιουργήστε ένα νέο κλαδί (branch).
  • Στο αρχείο AFINN-translateToGreek165.txt προσθέστε τις μεταφρασμένες ελληνικές λέξεις. Θα πρέπει να υπάρχουν εντός σχολίων, στα λατινικά, τα εξής στοιχεία: ο Α.Μ. σας, το ονοματεπώνυμο και ο τίτλος του μαθήματος.
  • Το σύνολο των μεταφρασμένων λέξεων θα πρέπει να είναι τουλάχιστον 30.
  • Προκειμένου να αποφευχθεί μεγάλος αριθμός μεταφράσεων σε λίγες λέξεις, προτείνουμε κάθε φοιτητής/τρια να επιλέγει κατά προτεραιότητα τις λέξεις εκείνες που ξεκινούν με το αρχικό γράμμα του επωνύμου του/της, ελέγχοντας παράλληλα και τις δηλώσεις-δεσμεύσεις λέξεων των υπολοίπων.

Παρακάτω φαίνεται ένα ενδεικτικό παράδειγμα του 2016000 πριν και μετά την προσθήκη των μεταφρασμένων λέξεων:

Πριν τη μετάφραση

accomplish 2
accomplished 2
accomplishes 2

Μετά τη μετάφραση

accomplish 2
ολοκληρώνω 2
// 2016000 Giorgos Αnomeritis CSCW
accomplished 2
ολοκλήρωσα 2
ολοκληρώθηκε 2
// 2016000 Giorgos Αnomeritis CSCW
accomplishes 2
ολοκληρώνει 2
// 2016000 Giorgos Αnomeritis CSCW
  • Όταν έχετε ολοκληρώσει το τμήμα του τελικού παραδοτέου που σας ζητείται σε αυτήν τη φάση της εργασίας, κάντε pull request με τίτλο τον Α.Μ. σας, το ονομετεπώνυμο και τα αρχικά του μαθήματος (CSCW ή SW) - όλα με λατινικούς χαρακτήρες.

Προσοχή: Δεν θα πρέπει να διαγράψετε κάτι στο αρχείο AFINN-translateToGreek165.txt, ΜΟΝΟ να κάνετε τις κατάλληλες προσθήκες.

Η κάθε αλλαγή/τροποποίηση στον κώδικα και τα αρχεία (μετάφραση λέξεων, αλλαγή υφής κ.λπ.) ενδείκνυται να γίνεται σε νέο κλαδί (branch) στο αντίγραφο του αποθετηρίου σας.

About

Η ιστοσελίδα της υλοποίησης:

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 67.8%
  • HTML 20.7%
  • CSS 11.5%