Spaces:
Runtime error
Runtime error
import gradio as gr | |
from transformers import pipeline | |
import pandas as pd | |
# Load dataset from Hugging Face Hub | |
dataset_path = "hf://datasets/ucirvine/sms_spam/plain_text/train-00000-of-00001.parquet" | |
df = pd.read_parquet(dataset_path) | |
# Load a spam classification model | |
classifier = pipeline("text-classification", model="mrm8488/bert-tiny-finetuned-sms-spam-detection") | |
def spam_detector(text): | |
"""Detect if a message is spam or not, with confidence filtering.""" | |
result = classifier(text) | |
# Debugging: Print the raw output from the classifier | |
print("Model Output:", result) | |
# Extract label and confidence score | |
label = result[0]['label'].lower().strip() | |
confidence = result[0]['score'] # Confidence score (0 to 1) | |
# Confidence threshold (adjustable, 0.5 is standard) | |
threshold = 0.7 | |
# Return based on confidence | |
if label == "spam" and confidence >= threshold: | |
return f"Spam (Confidence: {confidence:.2f})" | |
else: | |
return f"Not Spam (Confidence: {confidence:.2f})" | |
# Create Gradio UI with enhanced styling | |
app = gr.Interface( | |
fn=spam_detector, | |
inputs=gr.Textbox(label="Enter a message", placeholder="Type your message here..."), | |
outputs=gr.Textbox(label="Prediction"), | |
title="AI-Powered Spam Detector", | |
description="Enter a message to check if it's spam or not, using a fine-tuned BERT model.", | |
) | |
# Run the app | |
if __name__ == "__main__": | |
print("Loaded dataset preview:") | |
print(df.head()) | |
app.launch | |