Spaces:
Sleeping
Sleeping
| language: en | |
| tags: | |
| - sentiment-analysis | |
| - modernbert | |
| - imdb | |
| datasets: | |
| - imdb | |
| metrics: | |
| - accuracy | |
| - f1 | |
| title: IMDb Sentiment Analyzer | |
| emoji: 🤗 | |
| colorFrom: blue | |
| colorTo: green | |
| sdk: gradio | |
| sdk_version: "5.29.0" # Verify this matches your Gradio version in requirements.txt | |
| app_file: app.py | |
| pinned: false | |
| hf_oauth: false | |
| disable_embedding: false | |
| # ModernBERT IMDb Sentiment Analysis Model | |
| ## Model Description | |
| Fine-tuned ModernBERT model for sentiment analysis on IMDb movie reviews. Achieves 95.75% accuracy on the test set. | |
| ## Usage | |
| ```python | |
| from transformers import AutoModelForSequenceClassification, AutoTokenizer | |
| model = AutoModelForSequenceClassification.from_pretrained("voxmenthe/modernbert-imdb-sentiment") | |
| tokenizer = AutoTokenizer.from_pretrained("answerdotai/ModernBERT-base") | |
| # Input processing | |
| inputs = tokenizer("This movie was fantastic!", return_tensors="pt") | |
| outputs = model(**inputs) | |
| # Get the predicted class | |
| predicted_class_id = outputs.logits.argmax().item() | |
| # Convert class ID to label | |
| predicted_label = model.config.id2label[predicted_class_id] | |
| print(f"Predicted label: {predicted_label}") | |
| ``` | |
| ## Model Card | |
| ### Model Details | |
| - **Model Name**: ModernBERT IMDb Sentiment Analysis | |
| - **Base Model**: answerdotai/ModernBERT-base | |
| - **Task**: Sentiment Analysis | |
| - **Dataset**: IMDb Movie Reviews | |
| - **Training Epochs**: 5 | |
| ### Model Performance | |
| - **Test Accuracy**: 95.75% | |
| - **Test F1 Score**: 95.75% | |
| ### Model Architecture | |
| - **Base Model**: answerdotai/ModernBERT-base | |
| - **Task-Specific Head**: ClassifierHead (from `classifiers.py`) | |
| - **Number of Labels**: 2 (Positive, Negative) | |
| ### Model Inference | |
| - **Input Format**: Text (single review) | |
| - **Output Format**: Predicted sentiment label (Positive or Negative) | |
| ### Model Version | |
| - **Version**: 1.0 | |
| - **Date**: 2025-05-07 | |
| ### Model License | |
| - **License**: MIT License | |
| ### Model Contact | |
| - **Contact**: [email protected] | |
| ### Model Citation | |
| - **Citation**: voxmenthe/modernbert-imdb-sentiment | |
| ## IMDb Sentiment Analyzer - Gradio App | |
| This repository contains a Gradio application for sentiment analysis of IMDb movie reviews. | |
| It is hosted on Hugging Face Spaces at [voxmenthe/imdb-sentiment-demo](https://huggingface.co/spaces/voxmenthe/imdb-sentiment-demo). | |
| It uses a fine-tuned ModernBERT model hosted on Hugging Face. | |
| **Space Link:** [voxmenthe/imdb-sentiment-demo](https://huggingface.co/spaces/voxmenthe/imdb-sentiment-demo) | |
| **Model Link:** [voxmenthe/modernbert-imdb-sentiment](https://huggingface.co/voxmenthe/modernbert-imdb-sentiment) | |
| ## Features | |
| * **Text Input**: Analyze custom movie review text. | |
| * **Random IMDb Sample**: Load a random review from the IMDb test dataset. | |
| * **Sentiment Prediction**: Classifies sentiment as Positive or Negative. | |
| * **True Label Display**: Shows the actual IMDb label for loaded samples. | |
| ## Setup & Running Locally | |
| 1. **Clone the repository (or your Space repository):** | |
| ```bash | |
| git clone https://huggingface.co/spaces/voxmenthe/imdb-sentiment-demo | |
| cd imdb-sentiment-demo | |
| ``` | |
| 2. **Install dependencies:** | |
| Ensure you have Python 3.11+ installed. | |
| ```bash | |
| pip install -r requirements.txt | |
| ``` | |
| 3. **Run the application:** | |
| ```bash | |
| python app.py | |
| ``` | |
| The application will be available at `http://127.0.0.1:7860`. | |
| ## Model Information | |
| The sentiment analysis model is a `ModernBERT` architecture fine-tuned on the IMDb dataset. The specific checkpoint used is `mean_epoch5_0.9575acc_0.9575f1.pt` before being uploaded to `voxmenthe/modernbert-imdb-sentiment`. | |