NLP · ML

NLP Sentiment Analysis

Compare sentiment and emotion predictions across multiple pre-trained transformer models, with rich visualisations.

Technical Information

Project Type
Sentiment AnalysisEmotion DetectionModel Comparison
Tech Stack
PythonFlaskTransformersPyTorchspaCyNLTKDistilBERTRoBERTaGoEmotionsSQLiteChart.jsWordCloud
Topics / Modules
Binary SentimentFine-grained EmotionsModel ComparisonVisual Analytics
Links

Project Summary

An app that analyses text sentiment and emotions using multiple pre-trained models – DistilBERT, RoBERTa and a GoEmotions model – and visualises the differences between them with charts and word clouds.

Skills Demonstrated

Transformer InferenceSentiment ClassificationEmotion DetectionModel BenchmarkingData Visualisation

Solution

Text is run through several transformer models in parallel; results are normalised, stored in SQLite, and presented side-by-side with Chart.js visualisations and word clouds so you can compare model behaviour.

Approach

  1. Select: Choose complementary pre-trained models (DistilBERT, RoBERTa, GoEmotions).
  2. Infer: Run text through each model and capture scores.
  3. Store: Persist analyses in SQLite for history.
  4. Visualise: Render comparisons with Chart.js and word clouds.
  5. Deploy: Host the Flask app on Hugging Face Spaces.