This project focuses on performing multi-label subtheme sentiment analysis using BERT (Bidirectional Encoder Representations from Transformers). Each input text (e.g., a customer review) is analyzed to detect multiple subthemes (like garage service, ease of booking, value for money, etc.) and their corresponding sentiments (positive/negative).
- Classify multiple subtheme-sentiment labels per review
- Fine-tune
bert-base-uncasedfor multi-label text classification - Prepare the model for deployment or reuse in other projects
- The input is a structured CSV file where:
- Column
textcontains customer reviews - Other columns are binary labels (0/1) representing sentiment for each subtheme.
- Column
| text | garage_service_positive | ease_of_booking_positive | value_for_money_positive |
|---|---|---|---|
| "Tyres delivered quickly, smooth experience" | 1 | 1 | 0 |
bert-base-uncasedfrom HuggingFace- Fine-tuned for
multi_label_classification - Uses sigmoid activation and binary cross-entropy loss
git clone https://github.com/Aswin-Cheerngodan/Subtheme-Sentiment-Analysis.git
cd subtheme-sentiment-analysispython -m venv myenv
myenv\Scripts\activate
pip install -r requirements.txtstreamlit run src/main.pysubtheme-sentiment-analyzer: http://localhost:8501
- Type a customer review related to the garage.
- It finds the subthemes along withe their sentiment.
- Optionally you can view scores of all subthemes.
Questions or contributions? Open an issue or reach out at aachu8966@gmail.com