Spaces:
Runtime error
Runtime error
metadata
title: FactSight
emoji: π
colorFrom: blue
colorTo: purple
sdk: docker
FactSight: Advanced Fake News Detection System
π Table of Contents
- Overview
- Architecture
- Installation
- Usage
- Services & Models Deep Dive
- Model Performance
- Demo Media Files
- Configuration
- API Endpoints
- Contributing
- License
π― Overview
FactSight is a comprehensive fake news detection system that combines multiple AI/ML technologies to analyze news content for authenticity. The system performs multi-modal analysis using both text and image content to determine if news articles are genuine or fabricated.
Key Features
- π Multi-Modal Analysis: Combines text and image analysis for comprehensive fact-checking
- π€ AI Content Detection: Identifies AI-generated text and images
- π§ Deep Learning Models: Uses state-of-the-art neural networks for classification
- π External Fact-Checking: Integrates with Google Fact Check Tools API
- π Emotion Analysis: Detects sensationalism in news content
- π€ Face Analysis: Analyzes faces in images for deepfake detection
- π Web Interface: User-friendly web application for easy analysis
ποΈ Architecture
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β FactSight System β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β βββββββββββββββ βββββββββββββββ βββββββββββββββ β
β β Flask β β Core β β Services β β
β β Web App β β Manager β β & Models β β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β βββββββββββββββ βββββββββββββββ βββββββββββββββ β
β β Text β β Image β β Fact β β
β β Analysis β β Analysis β β Checking β β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β βββββββββββββββ βββββββββββββββ βββββββββββββββ β
β β LSTM β β EfficientNetβ β Google β β
β β Classifier β β B3 β β Fact Check β β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
π Installation
Prerequisites
- Python 3.11+
- CUDA-compatible GPU (recommended for faster inference)
- 8GB+ RAM
- 4GB+ free disk space
Setup Instructions
Clone the repository
git clone <repository-url> cd FactSightInstall dependencies
pip install -r requirements.txtDownload required models from HUGGINGFACE (if not included)
# Models will be automatically downloaded on first run # or placed in the models/ directoryConfigure environment
# Set your Google Fact Check API key in config.py FACT_API_KEY = "your-api-key-here"Run the application
python app.pyAccess the web interface
Open http://localhost:5000 in your browser
π Usage
Web Interface
- Navigate to the homepage (
/) - Paste news text in the text area (max 10,000 characters)
- Upload images related to the news (drag & drop or browse)
- Click "Analyze" to start the fact-checking process
- View detailed results including:
- Overall authenticity score
- Text analysis breakdown
- Image analysis results
- Fact-checking verification
- Emotion analysis
API Usage
import requests
# Submit for analysis
response = requests.post('http://localhost:5000/analyze', json={
'text': 'Your news article text here...',
'images': [
{'data': 'base64-encoded-image-data'}
]
})
analysis_id = response.json()['analysis_id']
# Get results
results = requests.get(f'http://localhost:5000/analysis/{analysis_id}')
π¬ Services & Models Deep Dive
Text Analysis Services
1. AI Text Detection (ai_text_service.py)
- Model: Custom-trained classifier [placeholder for url]
- Architecture: Joblib-based scikit-learn model
- Performance: 99% F1-Score
- Purpose: Distinguishes between AI-generated and human-written text
- Features: Text preprocessing, feature extraction, binary classification
2. Fake News Classification (fake_text_news_service.py)
- Model: Custom LSTM Neural Network [placeholder for url]
- Architecture:
- Embedding layer (100 dimensions)
- Bidirectional LSTM (128 hidden units)
- Dropout regularization (0.5)
- Sigmoid output layer
- Performance: 99% F1-Score
- Purpose: Classifies news as fake or real
- Features:
- Text cleaning and preprocessing
- Contraction expansion
- Stopword removal
- Sequence padding/truncation (300 tokens)
3. Emotion Analysis (text_emotion_service.py)
- Model:
j-hartmann/emotion-english-distilroberta-base - Architecture: DistilRoBERTa transformer model
- Purpose: Detects emotional tone (anger, fear, joy, etc.)
- Features:
- Chunked processing for long texts
- Confidence-weighted aggregation
- Sensationalism detection
4. Search Query Extraction (search_queries_service.py)
- Model:
transformerspipeline for question generation - Purpose: Extracts key claims from text for fact-checking
- Features: NLP-based query generation
Image Analysis Services
1. AI Image Detection (ai_image_service.py)
- Model: Custom EfficientNet-B3 [placeholder for url]
- Architecture:
- EfficientNet-B3 backbone
- Custom classification head
- Binary classification (AI vs Real)
- Performance: 99% F1-Score
- Purpose: Identifies AI-generated vs real images
- Features:
- 300x300 input resolution
- Batch normalization
- GPU acceleration
2. Face Detection (face_detection_service.py)
- Model:
scrfd(pre-trained ONNX model) - Purpose: Detects and locates faces in images
- Features:
- Multi-scale face detection
- Landmark extraction (eyes, nose, mouth)
- Confidence scoring
- NMS (Non-Maximum Suppression)
3. Deepfake Detection (deepfake_service.py)
- Model: Meso4 architecture (two variants)
Meso4_DF.h5: Trained on DeepFake datasetMeso4_F2F.h5: Trained on Face2Face dataset
- Architecture:
- 4 convolutional layers
- Batch normalization
- Max pooling
- Dropout (0.5)
- Sigmoid classification
- Purpose: Detects manipulated faces in images
- Features:
- Dual-model ensemble
- Face cropping integration
- Confidence threshold adjustment
Fact-Checking Integration
Fact Check Service (fact_search_service.py)
- API: Google Fact Check Tools API v1alpha1
- Purpose: External verification of claims
- Features:
- Multi-source fact-checking
- Verdict aggregation
- Confidence scoring
- Source credibility assessment
π Model Performance
| Model | Type | F1-Score | Dataset | Purpose |
|---|---|---|---|---|
| AI Text Detector | Custom Classifier | 99% | Custom | AI vs Human Text |
| Fake News LSTM | LSTM Neural Network | 99% | Custom | Fake vs Real News |
| AI Image Detector | EfficientNet-B3 | 99% | Custom | AI vs Real Images |
| Emotion Detector | DistilRoBERTa | N/A | Pre-trained | Emotion Analysis |
| Face Detector | SCRFD | N/A | Pre-trained | Face Detection |
| Deepfake Detector | Meso4 | N/A | Custom | Deepfake Detection |
π¬ Demo Media Files
The demo/ folder contains sample media:
Videos
Images
βοΈ Configuration
Environment Variables
# config.py
class Config:
flask: FlaskConfig = FlaskConfig(
SECRET_KEY = os.environ.get('SECRET_KEY', 'dev-secret-key'),
UPLOAD_FOLDER = 'static/uploads',
MAX_CONTENT_LENGTH = 50 * 1024 * 1024 # 50MB
)
service: ServiceConfig = ServiceConfig(
FACT_API_KEY = "your-google-fact-check-api-key",
FAKENESS_SCORE_THRESHOLD = 0.6,
FACE_DETECTION_THRESHOLD = 0.5
)
Model Paths
# Model file locations
AI_TEXT_DETECTOR = "./models/ai_text_detector.joblib"
FAKE_NEWS_DETECTOR = "models/fake_news_detector.pt"
EFFICIENTNET_AI_IMAGE = "./models/efficientnet_b3_full_ai_image_classifier.pt"
FACE_DETECTION = "models/face_det_10g.onnx"
MESO4_DF = "models/Meso4_DF.h5"
MESO4_F2F = "models/Meso4_F2F.h5"
π API Endpoints
| Method | Endpoint | Description |
|---|---|---|
| GET | / |
Main analysis interface |
| POST | /analyze |
Submit content for analysis |
| GET | /analysis/<id> |
View analysis results |
| GET | /health |
System health check |
π€ Contributing
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Development Guidelines
- Follow PEP 8 style guidelines
- Add tests for new features
- Update documentation
- Ensure model compatibility
π License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- Hugging Face for transformer models and pipelines
- Google for Fact Check Tools API
- PyTorch Team for deep learning framework
- OpenCV for computer vision utilities
- SCRFD for face detection models
Support
For support and questions:
- Create an issue in the repository
- Contact: [your-email@example.com]
Version History
v1.0.0
- Initial release with full multi-modal fake news detection
- 99% F1-scores on custom trained models
- Comprehensive web interface
- Integration with external fact-checking services
FactSight - Bringing truth to the digital age through advanced AI-powered analysis. π‘οΈ






