A full-stack application combining a DistilBERT-based classification model with fact-checking capabilities and explainable AI (XAI) features.
- 🧠 DistilBERT model for real/fake news classification
- 🔍 Integrated Google Fact Check API verification
- 📊 LIME (Local Interpretable Model-agnostic Explanations) for predictions
- 📈 Confidence metrics and probability distributions
- 💾 Feedback system for model improvement
- 🌓 Dark mode support
- 📚 Search history tracking
Backend:
- Python/Flask
- Transformers (DistilBERT)
- LIME
- Google Fact Check API
Frontend:
- React.js
- CSS3 (with CSS Variables)
- React Icons
-
Clone the repository
git clone https://github.com/pulk17/Fake-News-Detector cd Fake-News-Detector -
Install Python dependencies
pip install -r requirements.txt
-
Environment Variables
Create .env file:
FACT_CHECK_API_KEY=your_google_api_key FLASK_APP=app.py
-
Setting up Frontend
Make sure node is installed on your device.
cd fake-news-detector npm install npm run dev -
Setting up backend
Make sure you have python installed and have installed the dependencies (Step 2). Open a new terminal.
cd Fake-News-Detector flask run --host=0.0.0.0 --port=5000