L'Afrique francophone ne parle pas un français uniforme. À Dakar, les conversations WhatsApp mélangent naturellement le wolof et le français en une danse linguistique appelée le "wolof-français". À Abidjan, le nouchi s'immisce dans chaque message. À Casablanca, la darija (arabe marocain) s'intercale entre des phrases françaises. Ces mélanges ne sont pas des erreurs — c'est la vraie langue de vos clients.
Un chatbot WhatsApp qui ne comprend que le français académique rate l'essentiel. Ce guide technique vous explique comment entraîner vos modèles NLP à comprendre les vraies langues de l'Afrique francophone.
Portrait des 3 principales variantes linguistiques
Le wolof-français (Sénégal, Gambie)
Le wolof est la lingua franca du Sénégal, parlé par plus de 80% de la population comme langue principale ou secondaire. Dans les messages WhatsApp sénégalais, le français et le wolof alternent librement au sein de la même phrase.
Exemples de messages WhatsApp réels :
- "Baal ma, j'ai vu votre soldes mais naka nga def ça ?" (Excuse-moi, j'ai vu vos soldes mais comment vous avez fait ça ?)
- "J'ai commandé maa ngi atte command bi" (J'ai commandé, j'attends ma commande)
- "Waaw, prix bi dafa torop pour moi" (Oui, le prix est trop cher pour moi)
Mots wolof fréquents dans les messages WhatsApp :
| Mot wolof | Sens | Contexte fréquent |
|---|---|---|
| waaw | oui | Confirmation |
| déedéet | non | Refus |
| baal ma | excuse-moi | Politesse |
| atte | attendre | Suivi |
| torop | trop/beaucoup | Intensité |
| naka | comment | Question |
| dafa | c'est / il/elle | Narration |
Le nouchi (Côte d'Ivoire)
Le nouchi est un créole urbain né à Abidjan qui mélange le français, le dioula, le malinké et d'autres langues locales. C'est la langue des jeunes Abidjanais et elle est omniprésente dans les messages WhatsApp.
Glossaire nouchi essentiel pour les chatbots :
| Nouchi | Équivalent français | Catégorie |
|---|---|---|
| binguez | cherchez | Verbe |
| garer | partir / arriver | Verbe |
| gnan | mentir / exagérer | Verbe |
| côté | maison / chez | Lieu |
| frèrot | ami / frère | Appellatif |
| gbê | noir | Couleur |
| on est ensemble | on est en accord | Expression |
| sinon c'est comment ? | comment ça va ? | Salutation |
| wari | argent | Nom |
| djon | dur / courageux | Adjectif |
La darija (Maroc, Algérie)
La darija marocaine et l'arabe algérien dialectal s'écrivent souvent en caractères latins (on parle d'"arabizi" ou de "romanisation") dans les messages WhatsApp. C'est un défi unique pour les NLP car les mêmes sons peuvent être transcrits de multiples façons.
Exemples de darija romanisée dans les messages WhatsApp :
- "wach kayn delivery à Tanger ?" (y a-t-il de la livraison à Tanger ?)
- "ma3ndich lmezian f lflous" (je n'ai pas assez d'argent)
- "labas 3lik, j'ai un problème avec ma commande" (comment vas-tu, j'ai un problème avec ma commande)
Stratégies NLP pour gérer le code-switching
Stratégie 1 : La normalisation par dictionnaire
La méthode la plus pragmatique : maintenir un dictionnaire de traduction qui normalise les expressions dialectales en français standard avant de les passer au NLP.
# Normaliseur linguistique africain
class AfricanFrenchNormalizer:
def __init__(self):
self.dictionaries = {
'wolof': {
'waaw': 'oui',
'déedéet': 'non',
'baal ma': 'excuse-moi',
'atte': 'attendre',
'torop': 'trop',
'naka': 'comment',
'dafa': 'c\'est',
'maa ngi': 'je suis en train de',
'bi': 'le/la (article)',
'sa': 'votre',
},
'nouchi': {
'binguez': 'cherchez',
'garer': 'partir',
'wari': 'argent',
'côté': 'chez moi',
'on est ensemble': 'je suis d\'accord',
'sinon c\'est comment': 'comment allez-vous',
'frèrot': 'ami',
'gbê': 'noir',
'caillou': 'téléphone',
},
'darija_romanized': {
'wach': 'est-ce que',
'kayn': 'il y a',
'labas': 'ça va',
'mzyan': 'bien',
'ma3ndich': 'je n\'ai pas',
'l3mer': 'jamais',
'bghit': 'je veux',
'3lik': 'sur toi',
}
}
def normalize(self, text: str, market: str = None) -> dict:
"""
Normalise un message en français africain vers le français standard.
Retourne le texte normalisé et les informations de contexte.
"""
normalized = text.lower()
replaced_words = []
detected_languages = set(['fr'])
# Appliquer les dictionnaires selon le marché ou tous
dicts_to_apply = [self.dictionaries.get(market)] if market else self.dictionaries.values()
for lang_dict in [d for d in dicts_to_apply if d]:
for original, replacement in lang_dict.items():
if original in normalized:
normalized = normalized.replace(original, replacement)
replaced_words.append({'original': original, 'replaced_by': replacement})
# Identifier la langue source
for lang, d in self.dictionaries.items():
if original in d:
detected_languages.add(lang)
return {
'original': text,
'normalized': normalized,
'languages_detected': list(detected_languages),
'replacements': replaced_words,
'has_code_switching': len(detected_languages) > 1
}
Stratégie 2 : L'entraînement multi-dialectal
Pour les systèmes NLP plus avancés, entraînez directement sur des données multilingues :
# Exemples d'entraînement NLP incluant les dialectes africains
training_data = {
"suivi_commande": [
# Français standard
"Je veux suivre ma commande",
"Où est ma livraison ?",
# Wolof-français
"Maa ngi atte li ngay jox ma, waaw ?",
"J'attends command bi depuis 3 jours",
# Nouchi
"Mon colis là, il a garé ?",
"Je binguez mon truc, où ça en est ?",
# Darija romanisée
"wach kayn news sur commande dyali ?",
"labas, j'ai commandé mais rien reçu"
],
"probleme_paiement": [
# Français standard
"Mon paiement n'a pas fonctionné",
# Wolof-français
"Xalis bi dekkul, que faire ?", # L'argent est parti mais rien reçu
# Nouchi
"Le wari là, il a quitté mon téléphone mais rien",
# Darija
"ma3ndich confirmation et on a débité mon compte"
]
}
Construire un corpus d'entraînement africain
La qualité de votre NLP dépend directement de la qualité de votre corpus. Pour le français africain :
Sources de données à exploiter :
- Vos conversations WhatsApp passées (les plus précieuses)
- Groupes Facebook/WhatsApp publics dans les marchés cibles
- Commentaires sur les pages d'e-commerce africains
- Partenariats avec des universités africaines (linguistique)
Processus d'annotation :
# Format d'annotation pour corpus africain
annotation_example = {
"text": "J'ai commandé depuis 3 jours et rien garé encore",
"intent": "suivi_commande",
"language": ["fr", "nouchi"],
"normalized": "J'ai commandé depuis 3 jours et rien n'est arrivé encore",
"entities": [
{"text": "3 jours", "type": "duration", "value": 3, "unit": "days"}
],
"annotated_by": "annotator_ci_01", # Annotateur Côte d'Ivoire
"validated": True,
"market": "ci" # Côte d'Ivoire
}
Pour approfondir, consultez notre article sur les variantes linguistiques de Côte d'Ivoire et notre guide sur l'argot sénégalais pour chatbot WhatsApp.
FAQ
Q: Combien d'expressions dialectales faut-il inclure dans un dictionnaire de normalisation ?
A: Commencez avec les 100-200 expressions les plus fréquentes dans vos conversations réelles. Un dictionnaire de 100 expressions bien ciblées réduit de 60-70% les problèmes de compréhension. Enrichissez progressivement en analysant les messages non-reconnus chaque semaine.
Q: Les modèles GPT-4 et Claude comprennent-ils nativement le nouchi et le wolof-français ?
A: GPT-4 comprend le contexte général des messages nouchi et wolof-français (l'intention derrière "mon colis a pas garé" est claire), mais ne maîtrise pas tous les termes dialectaux. Pour les applications critiques, combinez une couche de normalisation avec le LLM pour de meilleurs résultats.
Q: Comment gérer l'évolution du nouchi qui crée constamment de nouveaux mots ?
A: Le nouchi est une langue vivante qui évolue rapidement. Mettez en place une pipeline de collecte des "mots inconnus" : quand votre NLP ne reconnaît pas un token, logguez-le. Analysez ces logs hebdomadairement pour identifier les nouveaux termes populaires et enrichissez votre dictionnaire.
Q: Existe-t-il des datasets publics de textes en nouchi ou wolof-français pour l'entraînement ?
A: Ils sont rares mais existent. Le projet Masakhane (masakhane.io) propose des datasets pour les langues africaines dont certaines variantes. L'Université Félix Houphouët-Boigny a des ressources linguistiques sur le nouchi. Pour le wolof-français, l'UCAD (Dakar) et l'IRD ont produit des corpus linguistiques. Ces ressources sont un point de départ, vos données client restent la source la plus précieuse.
Le NLP adapté aux langues africaines est un avantage compétitif durable. Investissez dans ce travail de qualité de données pour construire un chatbot WhatsApp vraiment différencié sur vos marchés.
Créez votre compte Whakup et accédez à nos outils de configuration NLP optimisés pour les marchés africains francophones.

Co-fondateur et Chief Product Officer de Whakup, Pablo conçoit les fonctionnalités qui permettent aux marques africaines de maximiser leur impact sur WhatsApp.
Prêt à passer à l'action ?
Essayez Whakup gratuitement pendant 15 jours. Aucune carte bancaire requise.
Démarrer l'essai gratuitArticles similaires
Abandon de flows WhatsApp : comprendre et réduire le taux d'abandon
Analyser et réduire l'abandon de flows dans votre chatbot WhatsApp. Identifier les étapes problématiques, comprendre les causes et appliquer les corrections pour améliorer la complétion.
Benchmark WhatsApp Marketing en Afrique par secteur : données 2025
Benchmarks WhatsApp Marketing par secteur d'activité en Afrique : e-commerce, banque, santé, tourisme, immobilier. Taux d'ouverture, conversion et satisfaction pour vous situer.
Conversation analytics WhatsApp : créer un tableau de bord de pilotage
Construire un tableau de bord analytics pour piloter votre chatbot WhatsApp. Métriques clés, visualisations, alertes automatiques et reporting pour décideurs africains.