Git Product home page Git Product logo

twitelizer's Introduction

Welcome to Twitelizer.

Twitelizer is a web application that helps you understand yourself better just from your tweets. It mainly focuses on Sentiment Analysis such that you know what is your overall mood in year 2013 as an example. This is part of a module's project in my university - Singapore Management University. Hence, its robustness and reliability might not be sufficient.

Technology

  • ExpressJS - Backend code that performs the actual sentiment analysis
  • Natural - general natural language facility for node.js
  • Twit - Twitter API Client for node (REST & Streaming API)
  • AngularJS - Frontend Library
  • Twitter Bootstrap - Frontend Library

Theory/Concepts Applied

  1. Naive Bayes Classifier
  2. Supervised Learning

If you would like to develop similar application for education purpose, here is a high level guide that you can follow:

  1. Start by looking for ways of retrieving the data needed and store it somewhere. There are 2 possible ways that you can consider depending on the type of data: web scraping or API. (e.g. in my case I use twitter API - please do not abuse my API key.. tyvm! =D )
  2. Develop the classification engine. If you are a Python guy, NLTK is the best library out there related to Natural Language Processing stuffs. If you are not, you can always Google it like this: Natural Language Processing <Java,C#,Javascript,replace with the language that you prefer>. For me I use Natural, it is the Javascript version of NLTK. NOTE: you might not be able to find it in your preferred language, but keep searching because I believe someone somewhere out there in this world is developing it - you could be that person if want to. ;)
  3. Prepare train dataset and start training the classification engine. Type of Train Dataset is dependent on your objective. As an example, if you want classify certain string to either "good" or "bad", the possible train dataset would be:
  • [i,dislike,you] = bad
  • [you,are,so,kind] = good The format would be different depending on the library that you used to develop the classification engine. The above format is for the library that I am using - Natural. Few things to take Note: each word in the array is called features and the result ("good", "bad") is called class variable or the actual classification that you want to achieve.
  1. Start classifying the retrieved data using the trained classification engine. This could be achieved by several means, some of them could be through scripts that can be configured to run the classification engine during certain time or a web interface that interacts with backend server or any other method. In my case, I developed a front-end interface that interacts with a backend server and pass certain command depending on the button that the user click.
  2. You can format the classification output and play with it as much as you want. If you visit the front-end page of Twitelizer, it actually represent those results in graph. This could not be achieved through scripting as example; Hence I chose to build the overall application in Javascript because my end goal is to have an interface that interacts with the backend server and visualise the output nicely in a web page.

Demo

You could visit the backend page here and frontend page here. It is hosted at AWS EC2 and S3.

Contact Me

Confused with the guide? Need clarification? or Would like to take this application further? You can drop me an email at [email protected] or you could visit my github profile here (@neoborn) to see what I have been doing lately. Thank you for visiting this page.

Cheers, Kawi

twitelizer's People

Contributors

neoborn avatar

Watchers

 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.