muame-amr / EmoTwit

Real-time Malay Tweet Sentiment Analysis Web Application using RNN with DL4J

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Contributors Forks Stargazers Issues MIT License LinkedIn


Logo

Sentiment Analysis Web Application

Real time sentiment analysis web application
Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. License
  5. Contact
  6. Acknowledgments

About The Project

Logo

EmoTwit builds and uses classifiers based on neural networks to analyze tweets for emotions in real time and classifies them as positive or negative. Then it generates a sentiment score based and percentage of positiveor negative tweets. No more filling out spreadsheets for sentiment analysis. Read more details on neural network here. API Docs can be find here.

Built With


Getting Started

All datasets, vector models and neural network models can be downloaded here.

Prerequisites

NextJS & ChakraUI

  • NodeJS
  • Any code editor e.g. VSC, Atom

Deeplearning4J & Quarkus

  • Java Developer Version
  • Apache Maven
  • IntelliJ IDEA or Eclipse
  • Git

Installation

  1. Clone the repo
    git clone https://github.com/muame-amr/EmoTwit.git
  2. Insert datasets and models into sentiment-analysis-model\src\main\resources folder (create directory if doesn't exist)
  3. Open project in IntelliJ IDEA
    • Train model:
      1. Open sentiment-analysis-model/ project
      2. Ensure the dataset and models path in sentiment-analysis-model\src\main\java\model\word2vec\UptrainingWord2Vec.java and sentiment-analysis-model\src\main\java\model\RNN\SentimentClassifier.java files are correct.
      3. Run UptrainingWord2Vec.java to train word vectors and SentimentClassifier.java to train text classification model
    • Start back-end server:
      1. Open twitter-rest-api project
      2. Create twitter4j.properties files in project root directory
      3. Write these details inside that file:
      oauth.consumerKey= <your-consumer-key>
      oauth.consumerSecret= <your-consumer-secret>
      oauth.accessToken= <your-access-token>
      oauth.accessTokenSecret= <your-token-secret>
      1. Open terminal in IntelliJ and start quarkus server:
      quarkus dev
  4. Launch website
    1. Open webapp folder and install all packages
    npm install
    1. Launch web server
    npm run dev

Usage

Logo

EmoTwit is a twitter analyzer powered by Artificial Intelligence to read the emotions in your tweets. Simply input the tweet you want to analyse to discover what kind of mood it suggests. You don't even have to have an account or write a new tweet, just copy and paste it into the app and we'll analyze it for you. It's that easy!


License

Distributed under the MIT License. See LICENSE.txt for more information.

Contact

Your Name - @mu4m3 - email@gmail.com

Project Link: https://github.com/muame-amr/EmoTwit

Acknowledgments

  • Malaya Semi-Supervised Malay Tweets Datasets by Husein Zolkepli
  • Malaysian Text from Twitter Datasets by Husein Zolkepli
  • Malaysia Wiki Word Vectors by Asyraf Azlan

(back to top)

About

Real-time Malay Tweet Sentiment Analysis Web Application using RNN with DL4J

License:MIT License


Languages

Language:HTML 71.8%Language:Java 19.4%Language:JavaScript 6.9%Language:Jupyter Notebook 1.5%Language:CSS 0.5%