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`. | |