Dans les coulisses de notre outil d’analyse de sentiment

· · Produit · 3 min de lecture

Étiquettes: #analyse de sentiment #machine learning #produit

Lorsque nous avons décidé de créer un analyseur de sentiment, la demande venait de personnes qui avaient besoin de comprendre rapidement le ton des avis ou des messages clients, sans dépendre de services externes. L’objectif principal était la confidentialité : nous voulions que chaque évaluation reste sur l’ordinateur de l’utilisateur.

De l’idée au prototype

Nous avons commencé par étudier des jeux de données publics avec des phrases étiquetées comme positives, neutres ou négatives. Il ne s’agissait pas de publier un article scientifique : nous voulions un modèle léger, préentraîné, facile à charger dans le navigateur. TensorFlow.js s’est imposé naturellement, car il permet d’exploiter le GPU sans installation.

Pour limiter les erreurs liées aux différences linguistiques, nous avons construit un petit pipeline de nettoyage du texte (suppression des emojis dupliqués, normalisation des caractères spéciaux, gestion des majuscules). Ce n’est qu’après cette étape que le texte arrive au modèle, qui renvoie la probabilité de chaque tonalité.

Comment l’app fonctionne aujourd’hui

Dans le Classificateur de texte, vous pouvez vous concentrer uniquement sur le sentiment ou récupérer aussi la langue principale du message. Tout se fait en local : le navigateur télécharge le modèle lors de la première utilisation et le réutilise ensuite, ce qui rend les analyses suivantes quasi immédiates.

Quand vous saisissez un texte, l’interface affiche :

  • une étiquette qualitative (positif, neutre, négatif) basée sur la probabilité la plus élevée ;
  • un score de 0 à 1 pour évaluer la confiance de la prédiction ;
  • un histogramme comparant les trois valeurs.

Ces informations sont pensées pour des décisions opérationnelles rapides : répondre à une réclamation, mettre en avant des témoignages enthousiastes, prioriser les tickets selon l’urgence.

Limites à garder en tête

Même avec toute notre attention, un modèle généraliste ne peut pas saisir chaque nuance. Les expressions ironiques ou les références culturelles peuvent être interprétées à contre-sens. Les textes très courts (par exemple « ok ») offrent peu de contexte et risquent d’être classés comme neutres.

Le modèle a été entraîné sur des données multilingues, mais privilégie l’italien et l’anglais : pour les langues moins représentées dans le jeu de données, la confiance diminue. Dans les contextes très réglementés (finance, santé), nous recommandons toujours une validation humaine avant de s’appuyer sur les prédictions.

Enfin, nous utilisons des bibliothèques JavaScript publiques exécutées localement sur votre ordinateur ou smartphone, avec les contraintes que cela implique en matière de puissance de calcul.

La suite

Nous testons déjà trois évolutions :

  1. Fine tuning sur des données propres : permettre aux entreprises de charger leurs exemples pour entraîner un profil linguistique cohérent avec leur marque.
  2. Reconnaissance d’émotions spécifiques : aller au-delà du simple positif/négatif pour distinguer colère, joie ou frustration.
  3. Intégration dans les workflows : exporter les résultats vers les CRM et help desks via webhooks ou fichiers CSV.

Tant que le modèle reste léger et transparent sur ses limites, nous pensons qu’il est utile pour obtenir un premier aperçu du sentiment sans dépendre de plateformes externes. L’essentiel est de l’utiliser comme un allié, pas comme l’unique arbitre.

← Retour au blog