Skip to content

MovieSense, an NLP project that provides sentiment analysis, summarisation, and translation services for movie reviews.

Notifications You must be signed in to change notification settings

yjyuwisely/MovieSense_NLP

Repository files navigation

MovieSense: Sentiment Analysis, Summarisation, and Translation

Welcome to MovieSense, an advanced Natural Language Processing project that provides sentiment analysis, summarization, and translation services for movie reviews.


Overview

Designed with an AI and NLP focus, this project aims to assist in understanding the sentiments behind movie reviews, provide a concise summary for lengthy reviews, and translate them from English to French.


Features

  1. Sentiment Analysis: This feature leverages the Naive Bayes Classifier to discern whether reviews are positive or negative, utilising data from Rotten Tomatoes.
  2. Summarisation: The application employs the BART model from Facebook to generate concise summaries for extended reviews.
  3. Translation: Reviews can be translated into French to cater to a diverse audience.

Technologies Used

  • Languages: Python
  • NLP Techniques & Models:
    • Sentiment Analysis: Naive Bayes Classifier
    • Summarisation: BART (from Hugging Face's Transformers)
    • Translation: Helsinki-NLP's model (from Hugging Face's Transformers)
  • Frameworks/Libraries:
    • NLTK
    • Transformers (Hugging Face)
    • Flask (for Backend development)
  • Frontend: HTML, CSS, JavaScript.

Installation

  1. Clone the repository:
    git clone https://github.com/yjyuwisely/Sentiment_Analysis.git
  2. Navigate to the project directory:
    cd Sentiment_Analysis
  3. Install the required packages:
    pip install -r requirements.txt
  4. Run the main script:
    python app.py
  5. Run the main script:
    Open a web browser and go to http://127.0.0.1:5000/to use MovieSense.


Optional: Setting up a virtual environment

While the project runs without a virtual environment, it's recommended to use one for isolation:

  1. Install virtualenv if you haven't:
    pip install virtualenv
  2. Clone the repository:
    git clone https://github.com/yjyuwisely/Sentiment_Analysis.git
  3. Create a virtual environment:
    virtualenv .env
  4. Activate the virtual environment:
    • On macOS and Linux:
      source .env/bin/activate
    • On Windows:
      .\.env\Scripts\activate
  5. When you're done working on the project, you can deactivate the virtual environment:
    deactivate

Usage

  1. Sentiment Analysis: Reviews are categorised into 'positive' or 'negative' using the Naive Bayes Classifier and represented with emojis.
  2. Summarisation: Input the desired text to receive a concise summary.
  3. Translation: Translate reviews into French.

Future Scope

  • Extend translation support to other languages.
  • Integration with online platforms or databases for automated review analysis.
  • Enhanced prediction capabilities using Deep Learning.
  • User accounts to save and manage past reviews.

References

  1. Natural Language Processing with Transformers, Revised Edition
  2. Artificial Intelligence with Python: Your complete guide to building intelligent apps using Python 3.x, 2nd Edition
  3. Python Deep Learning Projects: 9 projects demystifying neural network and deep learning models for building intelligent systems

Page Screenshot

Positive Sentiment Example:

Negative Sentiment Example:

About

MovieSense, an NLP project that provides sentiment analysis, summarisation, and translation services for movie reviews.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published