Aspect-based multi-agent consumer analytics project for e-commerce reviews. Uses Jumia Nigeria mobile accessories as a case study, combining web scraping, rules-based NLP, LLM-powered aspect extraction, VADER comparison, and a Streamlit dashboard to reveal product-level sentiment insights beyond star ratings.
# Aspect-Based Multi-Agent Consumer Analytics
Research project for COSC878 - Web and Social Media Analytics.
## Title
An Aspect-Based Multi-Agent Framework for Consumer Behavior Analytics: A Case Study of the Mobile Phone Accessories Market on Jumia Nigeria
## Project Goal
This project collects product review data from Jumia Nigeria's mobile phone accessories market, processes the unstructured review text through a multi-agent NLP pipeline, and visualizes aspect-level consumer sentiment in a Streamlit dashboard.
The implementation is organized to match the research methodology:
1. Data collection from public product review pages.
2. Text cleaning and product routing.
3. Aspect extraction from review text.
4. Aspect-specific sentiment classification.
5. Dashboard visualization and VPS deployment.
## Repository Structure
```text
.
|-- app/
| `-- streamlit_app.py # Phase 4 dashboard entrypoint
|-- data/
| |-- processed/ # Cleaned/enriched review datasets
| `-- raw/ # Raw scraped review datasets
|-- deployment/
| |-- Dockerfile # Phase 5 container image
| `-- docker-compose.yml # Phase 5 Traefik/VPS setup
|-- notebooks/ # Optional exploration for the paper
|-- reports/
| `-- figures/ # Exported plots for the research paper
|-- scripts/
| |-- run_pipeline.py # Phase 3 batch processing CLI
| `-- scrape_jumia.py # Phase 2 scraping CLI
|-- src/
| `-- jumia_aspect_agents/
| |-- agents/ # Multi-agent NLP components
| |-- analysis/ # Sentiment/aspect aggregation logic
| |-- config.py # Environment-based settings
| |-- data_collection/ # Jumia scraping modules
| |-- models/ # Pydantic data contracts
| `-- utils/ # Loguru, IO, retry helpers
|-- tests/ # Unit and integration tests
|-- .env.example …