Spaces:
Sleeping
A newer version of the Gradio SDK is available:
5.19.0
title: BulkSentimentAnalysis
app_file: app.py
sdk: gradio
sdk_version: 5.5.0
Bulk Sentiment Analysis for Reviews
This project provides a tool for bulk sentiment analysis of store reviews. Using various sentiment analysis models, including VADER and Hugging Face's Transformers, users can analyze reviews in CSV or Excel format to understand the overall sentiment. Results can be downloaded in CSV format, making it easy to leverage insights for decision-making.
Features
- Bulk Upload: Upload CSV or Excel files of reviews for analysis.
- Model Options: Choose from multiple sentiment analysis models:
- VADER for rule-based sentiment analysis.
- SpaCy (Static Embeddings) and SpaCy (Contextual Embeddings) for improved flexibility (coming soon).
- Transformers for deep learning-based sentiment analysis using pretrained models from Hugging Face.
- Download Results: Export analyzed reviews with sentiment scores and labels as a CSV.
Installation
To get started, clone this repository and install the dependencies.
git clone https://github.com/yourusername/bulk-sentiment-analysis
cd bulk-sentiment-analysis
pip install -r requirements.txt
Ensure your environment supports GPU processing, especially for Transformer-based models, to handle large datasets more efficiently.
Dependencies
- Python 3.7+
- Streamlit for building the user interface
- Pandas for data handling
- NLTK and VADER for sentiment analysis
- SpaCy (optional, for static and contextual embedding-based analysis)
- Transformers by Hugging Face for deep learning sentiment models
To install these, you can run:
pip install streamlit pandas nltk torch transformers spacy
For GPU support, install the appropriate CUDA version of PyTorch, following instructions from the official PyTorch website.
Usage
Run the Application
Launch the Streamlit app with:
streamlit run app.py
Upload Your File
Upload a CSV or Excel file containing reviews. Make sure there is a column labeled
Review
with the text you want to analyze.Choose a Model
Select one or more sentiment analysis models:
- VADER for quick, rule-based analysis.
- Transformers for more accurate, context-based sentiment detection.
Analyze and Download Results
After processing, the app will display results in the UI. You can download the full results as a CSV file.
Example of CSV Output
The output CSV will contain the original reviews alongside new columns with sentiment scores and labels, depending on the models chosen.
Folder Structure
app.py
: Main Streamlit application script.sentiment_analysis/
: Contains modular functions for each sentiment analysis model (e.g.,vader_analyzer.py
,spacy_static.py
, etc.).requirements.txt
: List of required dependencies.
Future Enhancements
- Integrate SpaCy models for static and contextual embedding-based sentiment analysis.
- Improved preprocessing to handle non-English text and non-standard review formats.
- Performance optimization with caching and batch processing for large datasets.
Contributing
Feel free to open issues or submit pull requests for improvements. All contributions are welcome!
This README should give users a clear understanding of what the project does, how to set it up, and how to use it. Let me know if you'd like any more specific instructions or additional sections!