Détecter si un message est en kreyòl, français ou anglais pour répondre dans la bonne langue
poze 2 months ago416 gadefr
Mon application reçoit des messages dans les trois langues, souvent mélangées. Les bibliothèques de détection de langue classent beaucoup de messages kreyòl comme du français. Que faire ?
Dyagnostik IA
Se IA ki fè l. Se pa yon repons — kominote a anba a konfime oswa korije l. Toujou verifye anvan ou fye l.
1 Repons
C'est un problème connu : le kreyòl partage beaucoup de vocabulaire avec le français, et les messages sont courts et souvent sans accents. Les détecteurs génériques (entraînés surtout sur des textes longs et « propres ») se trompent souvent.
Approche en couches :
1. Préférence explicite d'abord. La langue choisie dans le profil ou l'interface est le meilleur signal. Détectez seulement quand elle manque, ou pour signaler un changement.
2. Heuristique kreyòl rapide. Quelques marqueurs très fréquents en kreyòl, rares en français :
const HT_MARKERS = /\b(mwen|ou|nou|yo|pa|ap|kijan|kisa|poukisa|kounye a|anpil|bagay|fè|pou m|sa k|m ap)\b/i;
const FR_MARKERS = /\b(je|vous|nous|est|sont|pourquoi|comment|avec|aussi|très)\b/i;
function quickGuess(text: string): "ht" | "fr" | "en" | null {
const ht = (text.match(new RegExp(HT_MARKERS, "gi")) ?? []).length;
const fr = (text.match(new RegExp(FR_MARKERS, "gi")) ?? []).length;
if (ht > fr && ht >= 2) return "ht";
if (fr > ht && fr >= 2) return "fr";
return null; // incertain → étape suivante
}
3. Modèle en dernier recours. Pour les cas incertains, un petit appel à un LLM (« Réponds uniquement par ht, fr ou en ») est très fiable, y compris sur les messages mélangés, et peu coûteux avec un modèle léger.
4. Répondre intelligemment. Pour un message mélangé kreyòl/français, répondre en kreyòl est généralement le bon choix. Proposez toujours un moyen simple de changer de langue.
Constituez un petit jeu de test (vrais messages anonymisés, étiquetés à la main) pour mesurer chaque amélioration.
Konekte pou di lòt moun si li te mache.
Sign in and verify your email to post an answer.