--- title: VeriDex emoji: πŸ›‘οΈ colorFrom: blue colorTo: indigo sdk: gradio sdk_version: 4.19.2 app_file: app.py pinned: false short_description: Multimodal Claim Verification Engine --- # VeriDex: A Fake News Detection System Using Text Classification and Image Forensics **Author:** Rakesh Kumar Raut --- ## πŸ“– Abstract & Overview AI-generated misinformation has exploded, and automated fact-verification systems are struggling to keep up. Modern Large Language Models (LLMs) churn out text that is almost impossible to tell apart from real language, while diffusion-based image synthesis creates deepfakes so realistic they make false claims look credible. These combined threats create a crucial "Zero-Day window" right after a big event, where independent fact-checks are missing, and evidence-based systems are helpless. **VeriDex (Verified Deception Index)** is a Hybrid Multi-Modal Credibility Assessment System designed to tackle text from LLMs, AI-generated images, and the Zero-Day problem in one principled and transparent package. VeriDex runs three independently trained deep-learning pipelines and brings their results together through a mathematically derived **Hybrid Resolution Engine**. Tested on a custom 500-claim adversarial benchmark, VeriDex achieves state-of-the-art results, significantly outperforming text-only and retrieval-only baselines. --- ## πŸ—οΈ Core Architecture (The Three Pipelines) VeriDex takes a modular approach, with three parallel pipelines feeding into a central Hybrid Resolution Engine. This complementary redundancy ensures that each pipeline thrives exactly where the others fall short. ### 1. Pipeline A: Linguistic Deception Analyzer (HierFND) Catches linguistic deception based on writing style and text artifacts. * **Model:** Fine-tuned RoBERTa-base sequence classifier. * **Training Data:** LIAR, ISOT, and WELFake datasets. * **Output:** A Linguistic Risk Score ($R_{ling}$) reflecting the probability of the text being machine-generated or stylistically deceptive. ### 2. Pipeline B: Retrieval-Augmented Stance Aggregator (StanceFormer) Verifies claims against actual evidence via real-time web retrieval. * **Model:** Fine-tuned DeBERTa-v3-base Natural Language Inference (NLI) model. * **Mechanism:** The claim triggers a web search API, pulling the top $k=10$ articles. * **Domain-Credibility RAG:** Each article’s domain gets mapped to a Media Bias/Fact Check (MBFC) credibility multiplier (1.5 for high-credibility, 1.0 for neutral, 0.2 for questionable/satire). * **Output:** An Evidence Consensus Score ($E_{pro}$) indicating the factual support for the claim. ### 3. Pipeline C: AI Image Forensics (CRAFT) Pinpoints AI-generated images (deepfakes). * **Architecture:** Combines a CLIP ViT-B/32 semantic branch with LoRA adapters and a 2D FFT-based **FrequencyBranch**. * **Mechanism:** Merges 512-dimensional semantic features with 128-dimensional spectral features to catch checkerboard artifacts from GANs and diffusion models. * **Output:** Image forensic classification (AI-Generated vs. Authentic) powered by a two-layer MLP head. --- ## βš™οΈ Hybrid Resolution Engine The core blend mixes linguistic risk with evidence-based risk using an empirically derived blending weight ($\alpha^* = 0.40$): $$R_{total} = (R_{ling} \times 0.40) + ((1 - E_{pro}) \times 0.60)$$ This 40/60 split keeps pure text classifiers from missing LLM-generated fakes, while also countering the failures of retrieval-only approaches during the Zero-Day window. ### Fail-Safe Override Mechanisms Two formal override rules ensure system robustness: 1. **Explicit Debunk Override:** If a highly credible article (weight $\ge 1.4$) strongly refutes the claim and uses terms like `"fact check"`, `"debunked"`, or `"false"`, the system forces $R_{total} \leftarrow \max(R_{total}, 0.90)$. This stops a clever lie from outweighing legitimate fact-checking. 2. **Image Forensics Override:** If an image is flagged as AI-Generated with $\ge 85\%$ confidence, the system forces $R_{total} \leftarrow \max(R_{total}, 0.85)$. --- ## πŸ“Š Empirical Results & Benchmarks VeriDex was rigorously evaluated on a custom **500-claim adversarial benchmark** encompassing Standard Fake News, Standard Real News, Zero-Day Claims, and LLM-Generated Fakes. ### Integrated System Performance | Metric | Score | Category Accuracy Breakdown | | :--- | :--- | :--- | | **Accuracy** | 94.80% | Standard Fake: 97.5% | | **AUC-ROC** | 0.965 | Standard Real: 98.0% | | **Precision (Fake)** | 0.9751 | Zero-Day: 89.3% | | **Recall (Fake)** | 0.9352 | LLM-Generated: 86.7% | | **Macro-F1** | 0.9468 | | > **Comparison to State-of-the-Art (SOTA):** VeriDex beats FakeBERT by +4.8 pp, VeraCT Scan by +3.3 pp, and classical TF-IDF+SVM approaches by +12.8 pp. ### Image Forensics (CRAFT) Performance Tested on a rigorous cross-generator protocol against 50,000 images (DALL-E 2, Midjourney v5, ProGAN, StyleGAN). * **In-Distribution Accuracy:** 91.5% * **Cross-Generator Accuracy:** 84.3% (Outperforming GenDet CVPR 2024 by 4.9 pp) * **AUC-ROC:** 0.921 --- ## 🌟 Novel Contributions 1. **Empirical 40/60 Weighting:** The first systematic grid search (101 configurations) over blending weights for linguistic and evidence information, backed by a bootstrapped 95% confidence interval [0.340, 0.462]. 2. **Domain-Credibility RAG:** MBFC credibility multipliers act as continuous weights in evidence aggregation, boosting accuracy by +1.8 pp and blocking echo-chamber manipulation. 3. **Explicit Debunk Override:** A formal fail-safe ensuring high-credibility explicit fact-checks cannot be diluted by text model confidence (+1.4 pp accuracy). 4. **CLIP + LoRA + FrequencyBranch:** A novel parameter-efficient deepfake detector that slashes generalization degradation by 32% compared to CLIP-only setups. --- ## πŸš€ Setup & Installation ### Prerequisites - Python 3.9+ - CUDA-enabled GPU (Highly Recommended for inference speed) ### 1. Clone & Install ```bash git clone https://github.com/RakeshRautDev/VeriDex.git cd VeriDex pip install -r requirements.txt ``` ### 2. Environment Variables Copy `.env.example` to `.env` inside `VeriDex_WebApp` and configure your API keys. ```bash cd VeriDex_WebApp cp .env.example .env ``` Edit `.env` to include your search API keys: `TAVILY_API_KEY=your_key_here` ### 3. Model Weights Setup > [!IMPORTANT] > Due to GitHub's file size constraints (100MB max per file), heavy binary model weights are **NOT included** in this repository. > > You must download the pre-trained weights separately and place them in their respective model directories: > - `models/fakeNewsModel/pytorch_model.bin` > - `models/stanceModel/model.safetensors` > - `models/imageDetectionModel/best_model.pth` ### 4. Run the Web Application ```bash cd VeriDex_WebApp uvicorn app:app --host 0.0.0.0 --port 8000 --reload ``` Open `http://localhost:8000/static/index.html` in your browser to access the verification dashboard. --- ## πŸ“ License MIT License