Aller au contenu principal
Guides & Stratégie• 7 min de lecture

NLP en français africain pour WhatsApp : comprendre le wolof, le nouchi, le darja

Le français africain intègre des mots wolof, nouchi ivoirien et darja marocain. Comment entraîner vos modèles NLP à comprendre ces variantes linguistiques pour WhatsApp.

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 :

  1. Vos conversations WhatsApp passées (les plus précieuses)
  2. Groupes Facebook/WhatsApp publics dans les marchés cibles
  3. Commentaires sur les pages d'e-commerce africains
  4. 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.

#whatsapp-business-api-guide#automatisation-whatsapp-flows#chatbot-whatsapp-guide
Pablo Lenormand
Pablo LenormandCo-fondateur & CPO

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 gratuit