SaaS · support client

Analyse des conversations du support : des exports de chat aux problèmes, aux tendances et aux lacunes de la base de connaissances

Un pipeline qui transforme des exports de chat en analyses produit : épisodes de contact, problèmes classés, sujets en hausse, incidents potentiels et lacunes de la base de connaissances, avec une couche déterministe qui audite le modèle.

Secteur
SaaS · support client
Technologies
Python · scikit-learn · rapidfuzz

Le défi

Les équipes produit, support et documentation d'un éditeur de logiciels voulaient que leurs chats de support leur disent ce qui ne fonctionne pas, ce qui prend de l'ampleur, ce que les clients ne trouvent pas et où passe le temps du support. La matière première compliquait la tâche. L'outil de chat conserve un seul fil par visiteur, qui court sur des mois : un fil n'est donc pas un ticket. Une même conversation contient souvent plusieurs problèmes sans rapport entre eux. Et un modèle qui étiquette des milliers de conversations a besoin d'un contrôle qui ne vienne pas du modèle lui-même.

La solution

Nous avons construit un pipeline de traitement par lots en Python. Les fils sont découpés en épisodes de contact dès qu'un silence dépasse 12 heures, un seuil tiré du creux de la distribution des intervalles, et les rôles des interlocuteurs sont reconstitués par une suite fixe de règles. Chaque épisode est décomposé en unités de problème, et chaque unité est classée sur 21 champs, dont le symptôme, la cause racine et le fait qu'une fonctionnalité manque ou soit seulement difficile à trouver. Une couche d'expressions régulières couvrant une dizaine de langues extrait des faits indépendamment du modèle et sert à l'auditer. Le clustering, la détection de croissance et des scores d'impact fondés sur des percentiles produisent ensuite le rapport.

Comment tout s'enchaîne

  1. 01 Découper les épisodes
  2. 02 Signaux déterministes
  3. 03 Classification par LLM
  4. 04 Clustering
  5. 05 Scoring et audit
  6. 06 Rapport et transmission

Ce que nous avons livré

  • Segmentation en épisodes et attribution des interlocuteurs pour des fils de chat de longue durée
  • Unités de problème classées sur 21 champs par un modèle rapide, avec nommage, résumés et audits par un modèle plus puissant
  • Couche de signaux déterministe dans une dizaine de langues, utilisée comme référence face au modèle
  • Clustering des sujets, détection de croissance et incidents potentiels : de nombreux clients différents qui signalent le même problème en moins de 90 minutes
  • Scores d'impact et d'opportunité construits à partir de composantes classées en percentiles
  • Entonnoir des lacunes de la base de connaissances avec des briefs d'articles pour les rédacteurs, plus des signaux d'attrition et de concurrence
  • File de revue de la qualité des agents, qui n'est explicitement pas un classement des personnes
  • Rapport HTML, pages de transmission par sujet pour les ingénieurs et questions en langage courant sur l'ensemble du corpus

Fonctionnalités

  • Chaque chiffre conserve les identifiants de ses épisodes sources : n'importe quel nombre permet de remonter aux conversations qui le fondent
  • Un échantillon reclassé à l'aveugle par un autre modèle pour mesurer la concordance champ par champ
  • Appels au modèle mis en cache par hash du prompt : une exécution interrompue reprend sans payer deux fois
  • Détection des réponses d'agents qui affirment qu'une fonctionnalité n'existe pas, un signal pour les équipes produit et documentation
  • Tests unitaires sur la couche déterministe

Intégrations

  • Exports des conversations de chat en direct
  • Modèles Claude d'Anthropic : un modèle rapide pour le passage principal, un modèle plus puissant pour le nommage et l'audit

Technologies

  • Python
  • scikit-learn
  • rapidfuzz
  • langdetect
  • Claude (Haiku and Sonnet)
  • HTML reports

Résultat

Exécuté sur un mois complet de conversations de support réelles ; le rapport et les pages de transmission pour l'équipe technique ont été livrés. Le pipeline tourne à la demande en traitement par lots ; un tableau de bord ne fait pas partie de cette phase.

Pourquoi garder une couche de règles à côté du modèle ?

Parce qu’un modèle qui note son propre travail ne peut pas vous dire quand il se trompe. La couche d’expressions régulières repère des faits vérifiables directement, comme un code d’erreur, une demande de remboursement ou un agent qui affirme qu’une fonctionnalité n’existe pas, dans une dizaine de langues et indépendamment du modèle. Quand les deux divergent, le désaccord est signalé plutôt que lissé. Le modèle reste ainsi utile pour ce que lui seul sait faire, saisir le sens, tandis que les chiffres restent traçables.

Parlons de votre projet

Présentez-nous votre projet