|
--- |
|
title: Truthfulness Checker |
|
emoji: 📰 |
|
colorFrom: blue |
|
colorTo: green |
|
sdk: gradio |
|
sdk_version: 5.4.0 |
|
app_file: app.py |
|
pinned: false |
|
license: apache-2.0 |
|
--- |
|
|
|
### **Implementation Steps: Validating Information with Context** |
|
|
|
Validating the accuracy or degree of truthfulness of a given piece of information requires **context**—factual and relevant details surrounding the claim. Here’s how we approach this process step-by-step: |
|
|
|
--- |
|
|
|
### **Step 1: Retrieving Context from Knowledge Graph Substitute - FAISS with Semantic Search** |
|
Instead of relying on a **traditional Knowledge Graph (KG)**, we use **FAISS (Facebook AI Similarity Search)**, a **faster, scalable, and flexible alternative** for semantic search. |
|
|
|
#### **Why FAISS is Better than a Traditional KG** |
|
1. **Sentence-Level Retrieval**: Unlike traditional KGs that often rely on pre-defined **entities and relationships**, FAISS uses dense **embeddings** to directly match the **semantic meaning** of entire sentences. |
|
2. **Scalable and High-Speed Retrieval**: FAISS efficiently handles **millions of embeddings**, making it highly scalable for real-world applications. |
|
3. **Flexibility**: It works with **unstructured text**, removing the need to pre-process information into entities and relations, which is often time-consuming. |
|
4. **Generalization**: FAISS enables **approximate nearest neighbor (ANN) search**, allowing retrieval of contextually related results, even if they are not exact matches. |
|
|
|
#### **Dataset Used** |
|
We leverage the **News Category Dataset** ([Kaggle Link](https://www.kaggle.com/datasets/rmisra/news-category-dataset)), which contains **news headlines and short descriptions** across various categories. |
|
|
|
- **Why This Dataset?** |
|
It covers a **wide range of topics**, making it useful for general-purpose context building. |
|
- Headlines and descriptions provide **rich semantic embeddings** for similarity searches. |
|
- Categories allow filtering relevant results if required (e.g., "science" or "technology"). |
|
|
|
**Process:** |
|
1. We use **SentenceTransformer (all-MiniLM-L6-v2)** to generate embeddings for the query (the input news). |
|
2. We search against pre-computed embeddings stored in a **FAISS index** to retrieve the **top-K most relevant entries**. |
|
3. These results form the **initial context**, capturing related information already present in the dataset. |
|
|
|
--- |
|
|
|
### **Step 2: Online Search for Real-Time Context** |
|
To **augment** the context retrieved from FAISS, we incorporate **real-time online search** using an API. |
|
|
|
#### **Why Online Search is Critical?** |
|
- **Fresh Information**: News and facts evolve, especially in areas like **science, technology, or politics**. Online search ensures access to the **latest updates** that may not exist in the static dataset. |
|
- **Diverse Sources**: It broadens the scope by pulling information from **multiple credible sources**, reducing bias and enhancing reliability. |
|
- **Fact-Checking**: Search engines often index **trusted fact-checking websites** that we can incorporate into the context. |
|
|
|
**Process:** |
|
1. Use an API with a **search query** derived from the input news. |
|
2. Retrieve relevant snippets, headlines, or summaries. |
|
3. Append these results to the **context** built using FAISS. |
|
|
|
--- |
|
|
|
### **Step 3: Building Context from Combined Sources** |
|
Both FAISS-based retrieval and **online search results** are combined into a **single context string**. This provides a **comprehensive knowledge base** around the input information. |
|
|
|
- **Why Combine Both?** |
|
- FAISS offers **pre-indexed knowledge**—ideal for **static facts** or concepts. |
|
- Online search complements it with **dynamic and up-to-date insights**—perfect for verifying **recent developments**. |
|
|
|
This layered context improves the model’s ability to assess the **truthfulness** of the given information. |
|
|
|
--- |
|
|
|
### **Step 4: Truthfulness Prediction with Zero-Shot Classification Model** |
|
We use the **Facebook/BART-Large-MNLI** model, a **zero-shot classification** model, for evaluation. |
|
|
|
#### **Why BART-Large-MNLI?** |
|
1. **Zero-Shot Capability**: It can handle claims and hypotheses without needing **task-specific training**—perfect for this flexible, multi-domain use case. |
|
2. **Contextual Matching**: It compares the input claim (news) with the constructed context to assess **semantic consistency**. |
|
3. **High Accuracy**: Pre-trained on **natural language inference tasks**, making it adept at understanding relationships like **entailment** and **contradiction**. |
|
4. **Multi-Label Support**: Can evaluate multiple labels simultaneously, ideal for **degrees of truthfulness**. |
|
|
|
**Process:** |
|
1. Input the **news** as the claim and the **context** as the hypothesis. |
|
2. Compute a **truthfulness score** between **0 and 1**, where: |
|
- **0**: Completely **false**. |
|
- **1**: Completely **true**. |
|
3. Generate **explanations** based on the score and suggest actions (e.g., further verification if uncertain). |
|
|
|
--- |
|
|
|
### **End-to-End Example** |
|
**Input News:** |
|
"Scientists Demonstrate 'Negative Time' In Groundbreaking Quantum Experiment." |
|
|
|
**Context Built:** |
|
- **FAISS Search:** Finds prior research on **quantum time reversal** and **entanglement theories**. |
|
- **Online Search:** Retrieves recent articles discussing **quantum breakthroughs** and expert views. |
|
|
|
**Model Evaluation:** |
|
- Model compares the news with the combined context and outputs: |
|
**Score: 0.72** (Likely True). |
|
|
|
**Result Explanation:** |
|
```plaintext |
|
News: "Scientists Demonstrate 'Negative Time' In Groundbreaking Quantum Experiment." |
|
Truthfulness Score: 0.72 (Likely true) |
|
Analysis: You can reasonably trust this information, but further verification is always recommended for critical decisions. |
|
``` |
|
|
|
--- |
|
|
|
### **Why This Approach Works?** |
|
1. **Balanced Context**: Combines static knowledge (KG substitute) and dynamic knowledge (real-time search). |
|
2. **Model Flexibility**: Zero-shot model adapts to diverse topics without retraining. |
|
3. **Scalable and Cost-Effective**: Uses pre-trained models, FAISS indexing, and simple APIs for implementation. |
|
4. **Interpretability**: Outputs include confidence scores and explanations for transparency. |
|
|
|
This modular approach ensures that the **truthfulness assessment** is **scalable**, **explainable**, and **adaptable** to new domains. |