Code Monkey home page Code Monkey logo

twitter-stream-globe's Introduction

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) στο αντίγραφο του αποθετηρίου σας.

twitter-stream-globe's People

Contributors

diogenisal avatar jcipriano avatar achkap avatar dimitrischl avatar rakoon12 avatar kalalex avatar giannis-aggelis avatar orestis-kaplan avatar sotirispetsidimos avatar p15mega avatar andypiper avatar gmargaritis avatar magvarv avatar p13papa1 avatar p15kalo avatar ryanj avatar sakis475 avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.