AI-Powered Media Analysis is A full-stack AI platform that uses semantic search and NLP to reveal bias, blindspots, and hidden narratives in African news coverage.
# 🌍 AfriNews Watch: AI-Powered Media Analysis Platform
> **"Breaking the Bubble"**: A full-stack AI platform that uses semantic search and NLP to reveal bias, blindspots, and hidden narratives in African news coverage.
---
## 🚀 The Problem
Searching for African news often yields two disconnected realities:
1. **Western Media**: Focuses on conflict, geopolitics, and crisis.
2. **African Media**: Focuses on development, local impact, and national pride.
Traditional keyword search fails to connect these dots. It sees "GERD" and "Nile Dam" as different strings, missing the bigger picture.
## 💡 The Solution: Semantic AI
**AfriNews Watch** moves beyond keywords. It uses **Vector Embeddings** to understand the *meaning* of articles, grouping them into coherent "Story Clusters" regardless of the specific words used.
### Key Features
* **🧠 Semantic Search**: Uses `all-MiniLM-L6-v2` transformer models to find conceptually related stories.
* **📊 Bias Detection**: Automatically quantifies the balance of Western vs. African sources for every story.
* **🎭 Sentiment Analysis**: NLP-powered "Mood Meters" (Positive/Neutral/Negative) reveal how different regions frame the same event.
* **⚠️ Blindspot Alerts**: Warns you when a major story is being ignored by one side of the media divide.
* **🔓 AI Internals Mode**: A "Glass Box" feature for engineers that visualizes the raw vector embeddings and model data in real-time.
---
## 🛠️ Technical Architecture
### 1. The "Brain" (ML Engine)
* **Embeddings**: Every article is converted into a **384-dimensional vector** using `sentence-transformers`.
* **Clustering**: We use **DBSCAN** (Density-Based Spatial Clustering) to dynamically group these vectors into stories without predefined topics.
* **Sentiment**: `TextBlob` analyzes the polarity and subjectivity of the content.
### 2. The Backend (FastAPI)
* **High-Performance**: Async Python API handling ML inference and data processing.
* **Vector Store**: In- …