Logo Lanfrica

abdiqani110/Somali-News-Extractive-Text-Summarization

Domaine:

natural language processing

Type de record:

software
Créateur:
abd
Hôte:
Somali News Extractive Text Summarization # Somali Summarization Monorepo Reusable Somali extractive summarization project split into a Vercel-ready frontend, a Docker-ready API, and a shared Python NLP package. ## Research Artifact `Master's Thesis Project` `SIMAD University` `Somali NLP Research` `Dataset: 500 Somali News Articles` `Evaluation: ROUGE Benchmark` `Methods: TF-IDF, TextRank, LexRank` ## Quick Start Clone the repository: ```bash git clone github.com cd Somali-News-Extractive-Text-Summarization ``` Run backend: ```bash uvicorn main:app --reload --host 127.0.0.1 --port 8000 --app-dir apps/api ``` Run frontend: ```bash cd apps/web npm install npm run dev ``` Open: ```text localhost ``` ## System Architecture The project is composed of four layers: - Problem: Somali news summarization lacks transparent baseline systems that are easy to inspect, rerun, and compare. - Core: `packages/nlp-core` provides a method-agnostic summarization interface and evaluation helpers for reproducible NLP work. - Service: `apps/api` exposes stable FastAPI endpoints with request IDs, timing headers, deterministic compare behavior, and typed error responses. - Product: `apps/web` provides an interactive workbench with compare mode, sentence highlighting, and local run history. - Evaluation: the metrics and reproducibility docs make the repository usable as both a demo system and a benchmark starting point. ## Quickstart (Local) 1. Install Python dependencies: ```bash python -m pip install -e "packages/nlp-core[dev,eval]" -e "apps/api[dev]" ``` 2. Start the API: ```bash uvicorn main:app --reload --host 127.0.0.1 --port 8000 --app-dir apps/api ``` 3. In a second terminal, start the web app: ```bash cd apps/web npm ci npm run dev ``` 4. Create `apps/web/.env.local` with: ```env NEXT_PUBLIC_API_BASE_URL=127.0.0.1 ``` 5. Open `127.0.0.1`. 5. Before a deploy, run the web validation sequence: ```bash c …