Skip to content

Sentiment analysis webapp that allows to analyse sentiments in batches using csv file and plot visualizations

Notifications You must be signed in to change notification settings

eviack/insocial

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 

Repository files navigation

InSocial: 📊 Sentiment Analysis Web Application

image

⭐⭐ Project Showcase at SIH 2023, Bennett University

Deployed Application: https://insocial.streamlit.app/

Video Demo

InSocial.Tutorial.mp4

Table of Contents

Background

With the increasing importance of understanding public sentiment on social media platforms, InSocial aims to provide users with a tool for analyzing sentiment across various online platforms. Our application utilizes state-of-the-art machine learning techniques to provide insightful sentiment analysis on user-specified topics.

Description of Project

The InSocial web application provides users with an intuitive interface to perform sentiment analysis on text data or social media posts. Users can input their desired text or specify social media platforms for analysis. The application utilizes cutting-edge machine learning algorithms to generate insightful sentiment analysis reports, including sentiment scores and visualizations.

Features

  • Real-time sentiment analysis of user-provided text or social media posts.
  • Visualizations of sentiment trends over time.
  • Customizable sentiment analysis based on specific topics or keywords.
  • Integration with popular social media platforms for seamless analysis.
What does InSocial do? Product Infographics

ML Algorithm

Flow of Program

Input

User-provided text or social media posts.

Data Preprocessing

  • Employed natural language processing (NLP) techniques for data preprocessing, including:
    • Stop words removal
    • Stemming
    • Lemmatization

Sentiment Analysis Techniques

  • Utilized advanced NLP techniques, including sentiment lexicons and machine learning models.
  • Developed an ML model to classify textual data into positive, negative, or neutral sentiment categories.
  • Leveraged NLP models from Hugging Face transformers to achieve exceptional accuracy in sentiment classification.
  • Utilized VADER (NLP-based model) for bulk data analysis.
  • Trained a naive Bayes classifier specifically for analyzing reviews.

Dataset

  • Size ranges from 40,000 to 50,000 samples.

Output

Sentiment scores and visualizations depicting sentiment trends.

Instructions to Run

To run this project locally, follow these steps:

  • Install Requirements pip install -r requirements.txt

  • Run the application streamlit run Home.py

Requirements

pandas
numpy
nltk
scikit-learn
streamlit
matplotlib
plotly==5.17.0
pygwalker==0.4.8
scipy==1.13.0
st_annotated_text==4.0.1
stqdm==0.0.5
streamlit==1.26.0
streamlit_extras==0.4.2
transformers==4.33.2
wordcloud==1.9.2
torch==2.2.2

Contributions and Acknowledgments

This project is open for contributions, and we welcome any feedback or suggestions for improvement. If you find this project useful, feel free to use it for your needs. When attributing this project, please mention:

About

Sentiment analysis webapp that allows to analyse sentiments in batches using csv file and plot visualizations

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages