Skip to content

Latest commit

 

History

History
executable file
·
227 lines (186 loc) · 11.3 KB

File metadata and controls

executable file
·
227 lines (186 loc) · 11.3 KB

The Sentimental Analyzer Pro

Software Engineering Project for CSC 510

DOI GitHub Release Build License: MIT Python GitHub contributors GitHub Issues GitHub closed issues GitHub Issues or Pull Requests GitHub language count GitHub repo size github workflow codecov PEP8 autopep8 Static Badge


The Sentimental Analyzer Pro is a versatile tool that can perform sentiment analysis on different types of data, including text, audio, reviews, and news articles. Sentiment analysis is one of the fastest-growing research areas in computer science, making it challenging to keep track of all the activities in the area. In our project, we aim to achieve our goal of accurately predicting a user's sentiment by analyzing the data provided using different types of input data.

Working Demo

Watch the video


Table of Contents

  1. Introduction
  2. Sentimental Analyzer Pro Features
  3. How to use Sentimental Analyzer Pro?
  4. Roadmap and Progress
  5. Case Study
  6. Contributing to the product
  7. Connect with us
  8. Team Members

Introduction

What is Sentimental Analyzer Pro?

Sentiment analysis, also known as opinion mining, is the process of determining the sentiment or emotional tone in a piece of text, audio, or other forms of data. It involves identifying whether the sentiment expressed is positive, negative, or neutral.

Why is it important?

  • Sentiment analysis can help businesses and organizations understand how their customers or users feel about their products, services, or experiences.
  • Companies can gauge public opinion about their products or services, track trends, and identify emerging issues or opportunities in the market.
  • News agencies and media companies use sentiment analysis to analyze public sentiment towards news articles or events. This helps in generating content that aligns with the interests of the audience.
  • Sentiment analysis is used in politics to understand public sentiment towards political candidates, parties, or policies. It is also used to gauge public opinion on social issues.

Why use Sentimental Analyzer Pro?

The Sentimental Analyzer provides the following:

  • Comprehensive Insights: Different types of data sources provide diverse perspectives. An all-encompassing tool can provide a more comprehensive understanding of public sentiment.
  • Multichannel Data Analysis: In today's world, opinions and sentiments are expressed across various channels, including social media, customer reviews, audio recordings, and news articles. A tool that can analyze these diverse data sources offers a more accurate picture of public sentiment.
  • Cost-Efficiency: Instead of using multiple specialized tools, a single tool that can handle multiple data types is cost-effective and streamlines the analysis process.

meme

How was Sentimental Analyzer Pro developed?

The complete development was achieved using the following technologies:

  • Python3
  • Django
  • HTML
  • CSS
  • Scrapy
  • Vader Analysis Tool
  • Tensorflow

Although HTML and CSS are used for the front end, the users can merge the backend logic with any of the front end frameworks they wish to use such as React, and AngularJS.


What can Sentimental Analyzer Pro do?

Feature Description
Product Analysis Sentimental analysis of Amazon product reviews
News Analysis Sentimental analysis of any recent news topic
Text Analysis Sentimental analysis of text input
Audio Analysis Sentimental analysis of audio file
File Analysis Sentimental analysis of text file
Live Sentimental Analysis Sentimental analysis of live recorded audio
Facebook Post Analysis Sentimental analysis of Facebook Post
Twitter Post Analysis Sentimental analysis of Twitter Post

How to use Sentimental Analyzer Pro?

Installation

  1. Clone this project:
git clone https://github.com/ychen-207523/Sentimental-Analyzer-Pro.git 
  1. Make sure you are using Python 3.10 or higher. You can get it here: https://www.python.org/downloads/release/python-3115/

  2. Create a Virtual Environment

python3.10 -m venv env
source env/bin/activate
  1. Install dependencies for the project from the root directory of the project:
pip3 install -r requirements.txt
python -c "import nltk; nltk.download('punkt'); nltk.download('stopwords')"
  1. Install ffmpeg:
    For Windows:
winget install ffmpeg

For Linux (Ubuntu):

sudo apt install ffmpeg

For Mac:

brew install ffmpeg
  1. Run Django Server using manage.py (Note: Make sure you are in root directory of the project.)
python3 .\sentimental_analysis\manage.py runserver
  1. Next, open your browser and type in localhost:8000 in the search bar to open the user interface of the application.

Now, you are good to go.

Tests

To run the frontend tests, use the following command:

python3 sentimental_analysis/manage.py test realworld

To run the backend tests, use the following command:

pytest

Usage

  • Start the django server to get to the homepage

    First

  • Facebook Analysis

    Second

  • Product Analysis

    Third

  • Twitter Analysis

    Fourth

  • Text Analysis

    Fifth

  • Image to Document

    Sixth


Roadmap and Progress

Past Achievement(Previous Work)

  • Live Sentiment Analysis Feature inclusion
  • News Analysis Feature inclusion
  • Fixed and enhanced Amazon Product Analysis
  • Unit Tests were written and Test Coverage was improved

Current Achievements

☑️ Implement User Authentication to store the login history of each User
☑️ Visualize the sentiment distribution by each user comment for product analysis
☑️ Upgraded news analysis by transitioning from Google Search to Google News scraping, yielding more relevant insights
☑️ UI Improvement for enriching User interaction with the Application
☑️ Enhance the Product Analysis by considering the number of users rated for each Product!
☑️ Documentation Improvement for reflecting project's value accurately
☑️ Addition of Builds and Workflows for better development activities
☑️ Public facing webpage to get feedbacks, Raise and handle issues, Discuss & Grow with enthusiasts and supportive community

Future Scope

  • Recommendation System based on Product Analysis Results
  • Add support for web scraping of dynamic, JavaScript-heavy sites to enhance data extraction
  • Provide support for more platforms for social media analysis

Case Study: Amazon Product Review Sentiment and Text Analysis

We have done a Case Study for our Sentiment Analysis Project. It can be found here.


Eager to Contribute?

To Contribute to our application, please refer to CONTRIBUTING.md


Connect with us

  • Want to share your feedback or raise any issue click here
  • Need instant help? discuss over community chat to get help from other community members
  • Join our mailing list for regular updates
  • Join our discord forum for updates or support or discussions. Join Here!
  • Or just want to be part of our journey and get to know more about the Sentiment Analyser Pro and its team

Visit our web page to be part of Sentiment Analyser Pro community


Team Members

  • Yunfei Chen
  • Tanuj Kulkarni
  • Shubham Vijay Tidke

Citation

This project is a fork of Sentimental-Analyzer-Pro by NehaSJ99.
Forked on: 08 Oct 2024
Original Commit Hash: d11a4871660aa0a26f31764d150c87f2bd5d0586

Note: This is an unfunded, non-profit project created for educational purposes.