Sanjayraju30's picture
Create app.py
b7302da verified
raw
history blame
1.09 kB
import gradio as gr
from transformers import pipeline
# Load fake news classifier
classifier = pipeline("text-classification", model="mrm8488/bert-tiny-finetuned-fake-news", return_all_scores=True)
def detect_fake_news(text):
results = classifier(text)[0]
results = sorted(results, key=lambda x: x['score'], reverse=True)
label = results[0]['label']
confidence = results[0]['score']
explanation = f"This article is classified as **{label.upper()}** with a confidence of **{confidence*100:.2f}%**.\n\n"
explanation += "### Full Scores:\n"
for r in results:
explanation += f"- {r['label']}: {r['score']*100:.2f}%\n"
return explanation
# Gradio Interface
demo = gr.Interface(
fn=detect_fake_news,
inputs=gr.Textbox(lines=12, placeholder="Paste your news article here...", label="📰 News Article"),
outputs=gr.Markdown(label="🧠 Fake News Analysis"),
title="🕵️‍♀️ Fake News Detector",
description="Paste a news article. This app will classify it as FAKE or REAL using a BERT-based model."
)
demo.launch()