Logo Lanfrica

bachir2k/tokeniseur-wolof

Domain:

natural language processing

Record type:

software
Creator:
bac
Host:
# Tokenisation du wolof basée sur le RAG Système de **tokenisation morphologique du wolof** s'appuyant sur une approche **RAG (Retrieval-Augmented Generation)**. **Base de connaissance du RAG = `dictionary.json`** (liste de ~8595 mots wolof). **Évaluation = couverture lexicale, sans référence** : un token produit est jugé valide s'il correspond à une entrée du dictionnaire. Intuition : les formes de surface agglutinées (« Demna », « Liggéeynañu ») ne figurent pas telles quelles dans le dictionnaire ; seuls les morphèmes le font (« dem », « na »…). Donc plus la segmentation est correcte, plus la **couverture** est haute (et le **taux d'OOV** bas). Voir `src/dict_lexicon.py`. Projet académique — voir `data/raw/Roadmap_Tokenisation_Wolof_RAG.pdf` (feuille de route). Les 250 phrases de `data/eval_dataset.jsonl` servent de corpus d'entrée à tokeniser (leurs `reference_tokens` annotés ne sont plus utilisés pour le score). ## Objectif Comparer la qualité de tokenisation à travers 4 configurations et produire deux tableaux : - **Tableau A** — LLM seuls via Groq (`qwen/qwen3-32b`, `llama-3.1-8b-instant`, `llama-3.3-70b-versatile`), sans base de connaissance. - **Tableau B** — Meilleur LLM seul → RAG (dico) → RAG optimisé → RAG + agent IA. ## Architecture Voir **ARCHITECTURE.md** : arborescence, schémas de données et contrats partagés par tous les modules. | Étape | Module | Livrable | |------|--------|----------| | 1 — Dataset | `src/data_loader.py`, `data/eval_dataset.jsonl` | 250 paires entrée→tokens | | 2 — Métriques | `src/metrics.py` | EM, F1 token, RAGAS, DeepEval | | 3 — LLM seuls | `experiments/run_baseline.py` | `results/tableau_A.csv` | | 4 — Base vectorielle | `src/knowledge_base.py` | index ChromaDB | | 5 — RAG | `src/rag_pipeline.py` | RAG fonctionnel | | 6 — RAG optimisé | `src/rag_optimized.py` | hybride + reranker + few-shot | | 7 — Agent IA | `src/agent_pipeline.py` | générer→vérifier→corriger | | 8 — Comparaison | `experiments/run_final.py` | `resu …