SaaS · Kundensupport

Analyse von Support-Gesprächen: von Chat-Exporten zu Problemen, Trends und Lücken in der Wissensdatenbank

Eine Pipeline, die Live-Chat-Exporte in Produktanalysen verwandelt: Kontaktepisoden, klassifizierte Probleme, wachsende Themen, Incident-Kandidaten und Lücken in der Wissensdatenbank, mit einer deterministischen Ebene, die das Modell prüft.

Branche
SaaS · Kundensupport
Technologien
Python · scikit-learn · rapidfuzz

Ausgangslage

Die Produkt-, Support- und Dokumentationsteams eines Softwareunternehmens wollten aus ihren Support-Chats erfahren, was nicht funktioniert, was zunimmt, was Kunden nicht finden und wohin die Zeit im Support fliesst. Das Rohmaterial machte das schwierig. Das Chat-Tool führt pro Besucher einen einzigen Thread, der über Monate läuft; ein Thread ist also kein Ticket. Ein Gespräch enthält oft mehrere voneinander unabhängige Probleme. Und ein Modell, das Tausende Gespräche labelt, braucht eine Kontrolle, die nicht vom Modell selbst stammt.

Lösung

Wir haben eine Batch-Pipeline in Python gebaut. Threads werden bei Pausen von 12 Stunden in Kontaktepisoden aufgeteilt; dieser Schwellenwert ergibt sich aus dem Tal in der Verteilung der Pausen. Die Rollen der Beteiligten werden über eine feste Reihenfolge von Regeln rekonstruiert. Jede Episode wird in Problemeinheiten zerlegt, und jede Einheit wird in 21 Feldern klassifiziert, darunter Symptom, Grundursache und die Frage, ob eine Funktion fehlt oder nur schwer zu finden ist. Eine Regex-Ebene für rund zehn Sprachen extrahiert Fakten unabhängig vom Modell und dient zu dessen Prüfung. Clustering, Wachstumserkennung und perzentilbasierte Impact-Scores erzeugen anschliessend den Bericht.

Wie es zusammenhängt

  1. 01 Episoden parsen
  2. 02 Deterministische Signale
  3. 03 LLM-Klassifizierung
  4. 04 Clustering
  5. 05 Scoring & Audit
  6. 06 Bericht & Übergabe

Was wir geliefert haben

  • Segmentierung in Episoden und Zuordnung der Beteiligten für langlebige Chat-Threads
  • Problemeinheiten, von einem schnellen Modell in 21 Feldern klassifiziert, mit Benennung, Zusammenfassungen und Audits durch ein stärkeres Modell
  • Deterministische Signalebene in rund zehn Sprachen, die als Referenz (Ground Truth) für das Modell dient
  • Themen-Clustering, Wachstumserkennung und Incident-Kandidaten: viele verschiedene Kunden, die innerhalb von 90 Minuten dasselbe Problem melden
  • Impact- und Opportunity-Scores aus Komponenten, die nach Perzentilen gerankt sind
  • Funnel für Lücken in der Wissensdatenbank mit Artikel-Briefings für Autorinnen und Autoren sowie Signale zu Abwanderung und Wettbewerbern
  • Prüf-Warteschlange zur Qualität der Support-Antworten, ausdrücklich kein Ranking von Personen
  • HTML-Bericht, Übergabeseiten pro Thema für die Entwicklung und Fragen in natürlicher Sprache über den gesamten Korpus

Funktionen

  • Jede Zahl behält die IDs ihrer Quell-Episoden, sodass sich jeder Wert bis zu den zugrunde liegenden Gesprächen aufschlüsseln lässt
  • Eine Stichprobe wird von einem anderen Modell blind neu klassifiziert, um die Übereinstimmung Feld für Feld zu messen
  • Modellaufrufe werden per Prompt-Hash zwischengespeichert, sodass ein unterbrochener Lauf fortgesetzt wird, ohne doppelt zu bezahlen
  • Erkennung von Support-Antworten, laut denen eine Funktion nicht existiert: ein Signal für Produkt- und Dokumentationsteams
  • Unit-Tests für die deterministische Ebene

Integrationen

  • Exporte von Live-Chat-Gesprächen
  • Anthropic-Claude-Modelle: ein schnelles Modell für den Massendurchlauf, ein stärkeres für Benennung und Audit

Technologien

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

Ergebnis

Mit einem vollen Monat echter Support-Gespräche durchgeführt; der Bericht und die Übergabeseiten für die Entwicklung wurden geliefert. Die Pipeline läuft bei Bedarf als Batch-Job, ein Dashboard ist nicht Teil dieser Phase.

Warum eine regelbasierte Ebene neben dem Modell?

Weil ein Modell, das seine eigene Arbeit bewertet, nicht erkennen kann, wann es falsch liegt. Die Regex-Ebene findet Fakten, die sich direkt prüfen lassen, etwa einen Fehlercode, eine Rückerstattungsanfrage oder eine Support-Antwort, laut der eine Funktion nicht existiert, und zwar in rund zehn Sprachen und unabhängig vom Modell. Wo die beiden sich widersprechen, wird die Abweichung ausgewiesen statt geglättet. So bleibt das Modell für den Teil nützlich, den nur es leisten kann, nämlich Bedeutung zu erfassen, während die Zahlen nachvollziehbar bleiben.

Projekt besprechen

Erzählen Sie uns von Ihrem Projekt