KI, bitte übernehmen!

Seit 20 Jahren befassen uns mit der Idee, dass Software verstehen können soll, was ein Kunde will. Unsere ersten Versuche , das Kategorisieren von Kundenanliegen mit Hilfe von künstlicher Intelligenz zu automatisieren, waren ernüchternd. Die Klassifizierungsfähigkeiten der verfügbaren Algorithmen waren ungenügend und die benötigten Rechenressourcen zu hoch, um Künstliche Intelligenz (KI) produktiv einzusetzen.

Mit der Weiterentwicklung der Technologie und der heute zur Verfügung stehenden Rechenpower war es an der Zeit, diesen Versuch zu wiederholen und auszuprobieren, ob mit Hilfe von Machine Learning (ML) die Aufgabe der Zuordnung von unstrukturierten Kundentexten zu Kategorien automatisiert werden kann.

Während wir in unserem ersten Artikel zu KI und ML die allgemeine Entwicklung und Einsatzmöglichkeiten dargestellt haben, beschreiben wir in diesem Beitrag unsere aktuellen Ansätze, wie die Aufgabe „Kategorisieren von Kundenfeedback“ durch den Computer unterstützt bzw. übernommen werden kann. Bevor wir allerdings auf unsere konkreten Experimente eingehen, möchten wir vorab darstellen, welche Bedeutung das Kategorisieren von Sachverhalten im Kontext „Kundenservice“ hat.

Warum Kategorienbildung?

In jedem Augenblick, in jeder Konfrontation, suchen wir instinktiv nach Wegen, unsere Umwelt zu strukturieren, zu durchschauen oder zumindest einen Überblick über sie zu gewinnen. Hierbei helfen uns Modelle, die die Komplexität reduzieren, indem sie einen Teil der Wirklichkeit ausblenden oder verdrängen und uns so erlauben, dass wir uns auf das Wesentliche konzentrieren. Erst mit Hilfe dieser Modelle, die Simplifizierungen der Realität sind, sind wir in der Lage, in einer an sich chaotischen Umwelt sinnvolle Entscheidungen zu treffen.

Das fundamentalste Modell, zu dem das menschliche Denken fähig ist, ist dabei die Kategorisierung oder Kategorienbildung, bei der Objekte und Situationen in Gruppen, Untergruppen oder Begriffsklassen eingeteilt werden. Im Gegensatz zum bloßen Speichern von einzelnen Erfahrungsinhalten geht dem Kategorisieren ein Denkprozess voraus, der die Ähnlichkeit von Objekten und Situationen untersucht und bewertet. Durch die Kategorisierungsfähigkeit unserer Gehirne erreichen wir eine größere Verhaltensflexibilität bei gleichzeitiger zeitökonomischer Verbesserung des Entscheidungsprozesses.

Was folgt daraus für Ihr Unternehmen: Das organisationale Urteilsvermögen, die Fähigkeit, schnell, zuverlässig und wiederholbare Entscheidungen zu treffen, wird befähigt (und begrenzt) durch die Denkmodelle, die – bewusst oder unbewusst – in Ihrem Unternehmen vorherrschen. Vor diesem Hintergrund ist das zuverlässige Kategorisieren essentiell, um optimale Entscheidungen in Ihrem Unternehmen treffen zu können. Mit diesem Wissen ergibt sich die herausfordernde Aufgabe, ein Kategoriensystem für Ihr Unternehmen mit Bedacht und Weitsicht zu entwickeln und anzuwenden.

Die Notwendigkeit eines solchen umfassenden Kategoriensystems ergibt sich insbesondere im Kundenservice, da hier in besonderem Maße unstrukturierte Informationen aus einer Vielzahl von unterschiedlichen Quellen zusammenlaufen und verarbeitet werden müssen. Ein „energiesparendes“ Entscheiden ist nur möglich, wenn das Zuordnen zu Kategorien schnell, einfach und zuverlässig erfolgen kann.

Anforderungen an ein Kategorisierungssystem

An das im Kundenservice eingesetzte Kategoriensystem ergeben sich damit folgende Anforderungen: Das Kategoriensystem, also das Set an Merkmalen muss benennbar und minimal hinreichend sein, also möglichst wenige Merkmale enthalten und dennoch ausreichend umfangreich sein, um alle Sachverhalte, mit denen der Kundenservice konfrontiert wird, zu beschreiben.

Das Kategoriensystem muss sicherstellen, dass die relevanten Handlungsfelder ausreichend repräsentiert sind, um so eine hinreichende Informationsgrundlage für Entscheidungen der Geschäftsleitung zu ermöglichen. Am Beispiel einer Airline bedeutet dies konkret, dass der Kundenservice auskunftsfähig sein muss zu den „großen“ Themen: Wie viele Fluggäste haben sich bezüglich einer Flugverspätung beschwert? Wie viele Gäste haben einen Kofferschaden erlitten und wie viele Anfragen zu Umbuchungen mussten bearbeitet werden?

Darüber hinaus muss das Kategoriensystem es ebenfalls ermöglichen, „kleinere“ Themen angemessen abzubilden. Bei diesen Kategorien geht es weniger darum, die reine Anzahl der betroffenen Kunden und Vorgänge zu ermitteln, als vielmehr aus der Menge der Vorgänge ohne großen Aufwand diejenigen Vorgänge zu identifizieren, an denen einzelne Stakeholder ein besonderes Interesse haben.

Schließlich muss das Kategoriensystem es ebenso ermöglichen, die Vorgänge zu kennzeichnen, zu denen Unternehmen aufgrund gesetzlicher Vorschriften verpflichtet sind, gesondert Auskunft zu geben. So fordert etwa die kanadische Luftaufsichtsbehörde, dass Airlines Auskunft über die Anzahl von Beschwerden mit Musikinstrumenten geben. Hintergrund für diese kuriose Anforderung ist wohl der Vorfall, bei dem der kanadische Musikers David Carroll die Zerstörung seiner Gitarre während einer Flugreise mit United Airlines selbst mit ansehen musste.

Auch wenn das Kategorisieren primär den Informationsinteressen der Entscheidungsträger im Unternehmen dient, ist ein durchdachtes und gut strukturiertes Kategoriensystem ebenfalls hilfreich für den Mitarbeiter im Kundenservice, der die Aufgabe des Kategorisierens von Vorgängen hat. Beim Reflektieren über die richtige Zuordnung eines Vorgangs zu einer Kategorie, verschafft sich der Mitarbeiter für sich selbst Klarheit und Verständnis über den Vorgang. Dieses „Durchdenken“ erleichtert dem Mitarbeiter die Bearbeitung des Vorgangs und unterstützt das Treffen von angemessenen Entscheidungen. Zusätzlich kann der Mitarbeiter nach Feststellen der Kategorie in der Vorgangsbearbeitung durch targenio entlastet werden, indem targenio den Mitarbeiter etwa auf ähnliche Bearbeitungen hinweist, relevante Informationen zur ausgewählten Kategorie anzeigt oder passende Textbausteine für das Beantworten eines Vorgangs vorschlägt.

Kategoriensystem im Kundenservice

Der Wert eines Kategoriensystems ergibt sich aus der Nützlichkeit der Informationen, die mit Hilfe der Kategorien codiert werden. Allein hieraus ergibt sich, dass es keine allgemeingültigen Aussagen für den Aufbau eines Kategoriensystems geben kann. Allerdings haben wir durch die jahrelange Beschäftigung mit dem Thema „Kundenservice“ Erfahrungen gesammelt, wie ein Kategoriensystem aufgebaut und entwickelt werden sollte, die wir hier gerne teilen:

„Ex ante“ oder „Ex post“

Zunächst stellt sich die Frage, was und wann kategorisiert werden soll. Grob vereinfacht finden wir folgenden typischen Ablauf im Kundenservice:

  •  Input: Der Kunde richtet sein Anliegen an den Kundenservice per E-Mail, über ein Kontaktformular oder per Telefon.
  • Processing: Ein Kundenservicemitarbeiter versucht das Anliegen des Kunden zu verstehen, prüft und validiert die Angaben des Kunden, wägt ab und trifft dann eine Entscheidung.
  • Output: Anschließend führt der Mitarbeiter die getroffene Entscheidung aus, wählt beispielsweise eine Lösung und informiert den Kunden.

Üblicherweise verbessert sich Art, Qualität und Umfang der Informationen, je weiter eine Bearbeitung voranschreitet. Ist die Bearbeitung abgeschlossen, die Entscheidungen vollzogen und vom Kunden akzeptiert, werden die bis dahin fluiden Informationen fix. Daraus könnte abgeleitet werden, dass eine Kategorisierung erst nach der Bearbeitung – also ex post – erfolgen sollte.

Tatsächlich ist es aber so, dass sehr häufig bereits am Beginn einer Bearbeitung eine Kategorisierung erfolgt und diese meistens nur auf Basis der vom Kunden übermittelten Informationen. Das frühe Kategorisieren wird sofort verständlich, wenn man bedenkt, welchen Informationsbeitrag der Kundenservice innerhalb eines Unternehmens leisten kann: Der Kundenservice macht die Stimme des Kunden für das Unternehmen sichtbar. Durch die Besetzung der Schnittstelle Kunde zu Unternehmen bringt der Kundenservice die Kundenwelt in den Entscheidungskosmos des Unternehmens ein.

Zur Verdeutlichung ein anschauliches Beispiel aus der Airline Branche: Ob ein Flugzeug verspätet ist und den Passagieren Ansprüche auf Ausgleichszahlungen nach Fluggastrechte-Verordnung zustehen, weiß eine Airline meist schon bevor das Flugzeug überhaupt gelandet ist. Diese Informationen ergeben sich aus den operativen Systemen (z.B. Fluginformationssystem). Der Impact der Verspätung auf die Passagiere, die Wahrnehmung der Passagiere zum Handeln der Airline bei der Verspätung und ihre Reaktionen darauf – diese Informationen besitzt der Kundenservice exklusiv.

Hinzu kommt, dass eine „frühe“ Kategorisierung zu einer Versachlichung der Bearbeitung im Kundenservice führt. Durch die Kategorien werden die Emotionen aus der Kundenäußerung subtrahiert, so dass eine faktenbasierte, rationale Entscheidung möglich wird. Zusätzlich lässt sich nach dem Zuordnen der Kundenartikulation zu Kategorien die Fallbearbeitung leicht durch IT unterstützen.

Aufgrund dieser Überlegungen erfolgt das Kategorisieren regelmäßig ex ante – also am Anfang der Fallbearbeitung; Gegenstand der Kategorisierung ist dabei die Äußerung des Kunden.

(An dieser Stelle soll nicht unerwähnt bleiben, dass es häufig auch am Ende der Bearbeitung noch Kategorisierungen vorgenommen werden. Hier wird dann festgehalten, ob das Anliegen des Kunden berechtigt war, gelöst werden konnte oder welche Organisationseinheit als Problemverantwortlicher im identifiziert werden konnte. Diese Informationen werden für Qualitätssicherungen oder Root cause analysis benötigt. Das Kategorisieren von Problemursachen bleibt einem eigenen Beitrag vorbehalten).

Entwicklung eines Kategoriensystems für den Kundenservice

Nachdem nun feststeht, welche Informationen überhaupt kategorisiert werden sollen, stellt sich die Frage, wie ein sinnvolles und nützliches Kategoriensystem entwickelt werden kann. In der Theorie werden induktive und deduktive Methoden zur Kategorienbildung beschrieben – in der Praxis zeigt sich jedoch, dass keine der Methoden und Ablaufmodelle streng zur Anwendung kommen. Dieses undogmatische Vorgehen ist nachvollziehbar, da jedes Kategoriensystem im Unternehmen das Ergebnis von Verhandlungen ist, bei dem widerstreitende Interessen ausgeglichen werden müssen.

Zum einem erfordern die oben skizzierten Interessen („große“ und „kleine“ Themen, Erfüllung gesetzlicher Anforderung), dass Informationen mit unterschiedlicher Granularität zu Kategorien verdichtet und zusammengefasst werden. Zum anderen bewerten die verschiedenen Stakeholder im Unternehmen die Nützlichkeit der Aggregationen unterschiedlich. Zum Beispiel: Wenn es für das Bearbeiten eines Kundenanliegens im Kundenservice keinen Unterschied macht, ob der Kunde das Produkt A oder B gekauft hat – weil die Bearbeitung bei beiden Produkten identisch abläuft, so macht es für die Produktmanager von A und B doch einen erheblichen Unterschied, ob „ihr“ Produkt Gegenstand eines Kundenanliegens ist.

Hinzu kommen weitere Aspekte: Der Kundenservice benötigt ein Kategoriensystem, das schnell, einfach und zuverlässig das Kategorisieren der verschiedenen Kundenanliegen erlaubt. Da die Kategorien aus der Kundenartikulation abgeleitet werden müssen, ist es einfacher ein System zu nutzen, das aus Kundenperspektive heraus aufgebaut ist. Ein anderes Interesse hat unter Umständen das Management, das die Kundenanliegen aus Sicht der Aufbau- oder Ablauforganisation kategorisiert haben möchte.

Ein Kategoriensystem im Kundenservice ist ein Kompromiss: Ein Kategoriensystem, dass die „Order to Cash“ Kette abbildet oder entlang einer Customer Journey orientiert, hat sich nach unserer Wahrnehmung bewährt. Ein solches System lässt sich leicht erlernen (wichtig für den Kundenservice) und jeder Stakeholder findet sich ausreichend repräsentiert.

Daneben hat sich bewährt, die Sicht der Kunden mit der Wertschöpfungskette des Unternehmens zu „kreuzen“. So lassen sich die Kundenperspektive und die Unternehmenssicht zur Deckung bringen.

Struktur eines Kategoriensystems im Kundenservice

Für targenio haben wir für das Kategorisieren von Kundenanliegen – insbesondere für das Beschwerde- und Reklamationsmanagement – eine Methodik entwickelt, die den oben genannten Aspekten ausreichend Rechnung trägt und sich in der Praxis bewährt hat: Für das Kategorisieren sehen wir einen mehrstufigen Baum vor, der in vier Entitäten gruppiert ist:

  • Art des Kundenanliegens
  • Ort des Problemauftritts
  • Bezugsbereich
  • Kundenartikulation

Jede Entität kann wiederum mehrere Ebenen haben, damit auch umfangreiche Kategoriensysteme abgebildet werden können. „Art des Kundenanliegens“, „Bezugsbereich“ und „Kundenartikulation“ sowie die einzelnen Ebenen sind miteinander verkettet, so dass ausgehend von einem Blattelement alle vorhergehenden Knoten rekursiv ermittelt werden können. targenio ermöglicht es, eine Kundenartikulation mehreren Kategorien zuzuordnen. Dies vereinfacht die Pflege und Handhabung des Kategoriensystems und berücksichtigt, dass Kunden in ihrer Nachricht mehrere Themen an den Kundenservice adressieren können.

Bei „Art des Kundenanliegens“ wird der Wunsch, das Ersuchen oder Antrag des Kunden erfasst. Im Beschwerdemanagement sind dies die klassischen Anliegenarten: „Beschwerde“, „Wiederholungsbeschwerde“ und „Folgebeschwerde“. In anderem Kontext können dies beispielsweise die Anliegen „Anfrage“, „Bestellung“ oder „Lob“ sein.

Beim „Ort des Problemauftritts“ wählt der targenio Anwender die Organisationseinheit aus, die vom Anliegen des Kunden betroffen ist. Diese Entität ist optional, empfiehlt sich aber bei Flächenorganisationen bzw. Dienstleistungsunternehmen, wenn Zuordnungen von Anliegen zu Kunden-Touchpoints relevant sind. Alternativ kann an dieser Stelle ein konkretes Produkt oder eine Dienstleistung angegeben werden.

Der „Bezugsbereich“ repräsentiert die Wertkette des Unternehmens und kennzeichnet die konkrete Aktivität, auf die sich das Kundenanliegen bezieht. Gerade hier empfiehlt sich eine Nachbildung der Tätigkeiten in der Reihenfolge „Order to Cash“, da dies die Verortung im Kundenservice erheblich vereinfacht.

Nach dem „Bezugsbereich“ wird die Kategorisierung mit der Erfassung der „Kundenartikulation“ abgeschlossen. Hier wird das Kondensat des Kundenfeedbacks in konkreten Kategorien dokumentiert.

Kategorisierung eines Fluges mit targenio bei einer Airline
Kategorisierung eines Fluges mit targenio bei einer Airline

Diese Struktur erlaubt eine schnelle und einfache Zuordnung von Kundenfeedback und berücksichtigt die Auswertungs- und Informationsinteressen der verschiedenen Stakeholder im Unternehmen.

Anwendung des Kategoriensystems

Nachdem das Kategoriensystem entwickelt worden ist, bleibt die herausfordernde Aufgabe, das Kategoriensystem auch in der täglichen Praxis anzuwenden. Selbst wenn Kunden ihr Anliegen unterschiedlich artikulieren, sollen Sachverhalte durch die Mitarbeiter im Kundenservice einheitlich und neutral kategorisiert werden. Hierbei helfen Ankerbeispiele und ausführliche Kodierregeln, die zu einem Kodierleitfaden zusammengefasst werden. Mit Hilfe von Stichprobenauswertungen und qualitativen Analysen muss die Genauigkeit bzw. Verlässlichkeit der Kategorisierung durch die Mitarbeiter im Kundenservice kontinuierlich überwacht werden. Durch Schulungen und Anpassungen des Kategoriensystems sind ständige Nachjustierungen notwendig.

Um den Kundenservice beim Kategorisieren von Kundensachverhalten zu unterstützen und gleichzeitig weitere Automatisierungspotentiale zu realisieren, beschäftigen wir uns intensiv mit Machine Learning. Die Überlegungen dabei sind, dass die artikulierten Kundenanliegen mit Hilfe von künstlicher Intelligenz analysiert werden und mittels trainierter Algorithmen dem definierten Kategoriensystem zugeordnet werden.

Welche Erfahrungen wir hierzu gemacht haben, werden im folgenden Kapitel dargestellt.

Forschungsfrage und Versuchsaufbau

Damit wir beim Experimentieren mit Machine Learning fokussiert bleiben und aussagekräftige Ergebnisse erarbeiten, haben wir zunächst eine konkrete Forschungsfrage formuliert. Diese diente uns während unseres Forschungsprojekts als Leitfaden und als Gradmesser für Erfolg und Misserfolg.

Folgende Forschungsfrage haben wir formuliert: In welcher Qualität lassen sich Kundenschreiben mit Hilfe mithilfe von überwachtem Maschinellem Lernen kategorisieren?

Ausgangspunkt unseres Versuchsaufbaus sind Schreiben von Fluggästen, die an den Kundenservice einer unserer Airline-Kunden gerichtet worden sind. Diese Texte werden von Kunden über ein Kontaktformular im Internet eingegeben. Zusätzlich wählt der Kunde aus einer Liste aus, welches Anliegen er hat (zum Beispiel „Flugstornierung“ oder „Überbuchung / Nichtbeförderung“). Der Text sowie die getroffene Auswahl werden in unserer Kundenserviceanwendung targenio übernommen und an einen zuständigen Sachbearbeiter geleitet. Ein Mitarbeiter liest den Sachverhalt und kategorisiert das Anliegen im Kategoriensystem von targenio, das in Summe circa 230 Ausprägungen hat – bestehend aus Anliegenart, zwei Ebenen Bezugsbereich und zwei Ebenen Artikulation.

Damit liegen also zwei aufeinander bezogene Entitäten vor: Zum einen der unstrukturierte Kundentext, in dem der Kunden sein Anliegen artikuliert hat, zum anderen die durch einen Sachbearbeiter vorgenommene Klassifizierung dieses Textes. Der Sachbearbeiter hat also aufgrund seiner Erfahrungen und seines Expertenwissens den unstrukturierten Text in ein strukturiertes System überführt.

Auf Aufgabenstellungen dieser Art wird bei KI-Systemen üblicherweise überwachtes Maschinelles Lernen angewandt. Durch das Trainieren der KI „lernt“ die die Maschine, die Gesetzmäßigkeiten nachzubilden und das Expertenwissen aufzubauen, so dass die KI dieses Wissen auch auf unbekannte Texte anwenden und eine passende Kategorisierung finden kann.

Beim Machine Learning spricht man dabei von Features (hier: Kundentexte) und Labels (Kategorisierung).  Dem Machine Learning Algorithmus werden beim Training Paare aus Features and Labels “gezeigt” und der Algorithmus erlernt das zugrunde liegende Mapping. Er lernt also die Kategorien, die in den Texten stecken, zu generalisieren und nutzbar zu machen. Dieses generalisierte Mapping von Feature auf Label ist dann die eigentliche KI. Die Menge an Feature-Label Paaren, die einem ML Algorithmus zur Verfügung gestellt werden, um davon zu lernen, werden Lerndaten genannt. Nach dem Training kann die KI auf neue, ungesehene Features angewandt werden und ermittelt so das passende Label.

Lerndaten bereitstellen

Das Bereitstellen von Lerndaten für das ML Modell durchlief mehrere Arbeitsschritte: Zunächst haben wir festgelegt, mit welchen Daten wir den Algorithmus trainieren wollen. Um bereits in den Lerndaten möglichst wenig „Rauschen“ zu haben, wurden Kundentexte extrahiert, die von Fluggästen in deutscher Sprache verfasst worden sind und durch die Sachbearbeiter lediglich mit einer Kategorie klassifiziert worden sind (monothematische Kundenanliegen).

Nach Prüfung, ob für verschiedene Versuchsreihen eine ausreichend große Anzahl von Daten vorhanden ist, wurden die Daten in der Datenbank selektiert und anonymisiert und um schützenswerte Kunden- und Mitarbeiterdaten bereinigt. Ebenso wurden interne Bearbeitungsvermerke gelöscht, um für das Training möglichst unverfälschte Daten zu erhalten. Anschließend wurden die Daten aus der Datenbank im CSV-Format exportiert und an einem sicheren Speicherort für das Training der ML-Modelle bereitgestellt.

Das Kundenfeedback vor verarbeiten

Computer und Algorithmen arbeiten grundsätzlich mit Zahlen. Bevor die Kundenschreiben von der KI verarbeitet werden können, müssen die Texte vor-verarbeitet und in Vektoren umgewandelt werden (“preprocessing). Ein Vektor kann vereinfacht als eine Liste fixer Länge, die Nummern enthält, beschrieben werden. Beispielsweise lassen sich Ortsangaben als zweidimensionaler Vektor, bestehend aus Längen- und Breitengrad in einem Koordinatensystem, definieren. Ein Datenpunkt (ein Sample) fürs Machine Learning ist also ein Vektor, der den Datenpunkt mithilfe numerischer Werte möglichst gut beschreibt.

Für das Umwandeln von Texten in Vektoren werden verschiedene Verfahren angewandt und miteinander kombiniert: Eine Möglichkeit besteht darin, die Häufigkeit jedes Wortes des gesamten Vokabulars im umzuwandelnden Text zu zählen. Zusätzlich lassen sich die Worte noch nach ihrer umgekehrten, relativen Häufigkeit gewichten. Bestimmte und unbestimmte Artikel, Konjunktionen und häufig gebrauchte Präpositionen (sog. Stopwords), die in vielen Texten vorkommen und wenig Relevanz für das Textverständnis haben, werden dabei schwach gewichtet während seltenerer Begriffe (z.B. Fachbegriffe) höher gewichtet werden. Diese Gewichtung erleichtert dem Machine Learning Algorithmus, die wirklich relevanten Charakteristiken des Textes zu erkennen und zu verwenden. Dieses Verfahren nennt man TF-IDF (kommt von term frequency und inverse document frequency). Zusätzlich werden verbleibende Worte auf ihren Wortstamm beschränkt (Stemming). Durch das Einschränken des Vokabulars wird das ML-Modell weniger von sogenanntem Noise abgelenkt, und “kann sich darauf konzentrieren, was wirklich wichtig ist“.

CountVectorizer: Ein Text wird in eine Vektor durch Zählen der enthaltenen Worte in einen Vektor umgewandelt.

Diese Verfahren sind robust und liefern regelmäßig brauchbare Ergebnisse. Allerdings geht durch das einfache Zählen der Wörter die Reihenfolge der Wörter, Grammatik und Kontext verloren. Für anspruchsvolle Natural Language Processing Aufgaben wie Übersetzung oder Question-Answering kommen andere Methoden zur Anwendung. Bei modernen Deep Learning Modellen, die auf der Transformers-Architektur basieren, kommen sog. Tokenizer zum Einsatz. Dabei wird jedem möglichen Wort im Vokabular ein fester Ganzzahlwert (das Token) zugeordnet. Diese Modelle verarbeiten den Eingabetext dann in seiner Ursprungsform, nur dass Wort-Teile durch ihre jeweiligen Tokens ersetzt sind. Auf diese Weise wird die Reihenfolge bewahrt und der Sinn erhalten. Modelle, die solche Sätze aus Tokens verarbeiten und verstehen können, müssen allerdings ziemlich groß und leistungsfähig sein. Sie benötigen erhebliche Rechenleistungen sowei eine große Mengen an Lern- und Trainingsdaten.

Bei der Wahl des passenden Vektorizers und dem eigentlichen Machine Learning Modell muss zwischen Kosten und Nutzen abgewogen. Bei unserem Forschungsvorhaben, dem Mapping von Texten auf Kategorien – eine Aufgabe, die zu den einfacheren NLP-Task gezählt werden kann –, haben wir uns entschieden, das Vektorisieren durch Zählen in Kombination mit einem Nicht-Deep-Learning ML-Algorithmus zu verproben.

Auswahl eines ML Algorithmus

Sind die Daten exportiert, bereinigt und vektorisiert kann man einen geeigneten ML Algorithmus darauf trainieren. Die Auswahl eines geeigneten ML Algorithmus erfordert eine Erfahrung. Diese Erfahrungen kann man durch Ausprobieren sammeln oder man nutzt hierzu Entscheidungshilfen, mit denen eine Vorauswahl getroffen werden kann. Mit zahlreichen Programmier-Bibliotheken (z.B. diese Erweiterung für scikit-learn) lässt sich der Auswahl-Prozess auch automatisieren.

So nützlich solche automatisierten Auswahlverfahren auch sind, sollte nicht übersehen werden, dass möglicherweise Lernerfahrungen über die Daten und das Verhalten der einzelnen Algorithmen verloren gehen können. Erst beim mühevollen Ausprobieren der verschiedenen Algorithmen sammelt man die Erfahrung, welcher Algorithmus für die Aufgabenstellung und die eigenen Daten besser oder schlechter geeignet ist.

Für das Kategorisieren von Texten haben sich u.a. Naive Bayes und Support-Vector-bewährt. Oftmals werden auch sog. Ensembles verwendet. Dabei werden mehrere unterschiedliche ML Modelle trainiert und der Durchschnitt über deren einzelne Ausgaben gebildet, um die Ausgabe des Ensembles zu erhalten. Dadurch sollen die Vorhersagen robuster werden.

Grundsätzlich gilt: keine noch so gute Wahl des Modells kann schlechte Datenqualität kompensieren. Umgekehrt – das zeigen auch unsere Versuche – können bei guter Datenqualität mit mehreren verschiedenen ML Algorithmen brauchbare Ergebnisse erzielt werden können.

Wir haben uns nach mehreren Iterationen entschieden, unser Forschungsprojekt mit (lineare) Support-Vector-Machine fortzuführen, da diese gut performt und gleichzeitig noch relativ effizient ist. Für das Trainieren der Modelle fiel unsere Wahl auf scikit-learn. Das ist eine open-source Programmierbibliothek für die Programmiersprache Python. Python gilt als der quasi Standard unter ML Entwicklern und bietet eine sehr große und gute Palette an Frameworks und Toolkits für Maschinelles Lernen.

Das Training der Support Vector Machine

Support-Vector-Machines erlernen das Kategorisieren (im ML Kontext würde man sagen zu Klassifizieren), indem sie die optimale “Trennung” zwischen Datenpunkten (dargestellt als Vektoren) verschiedener Kategorien in den Trainingsdaten errechnen. Diese Trennung kann dann nach dem Training benutzt werden, um neue, zuvor ungesehene Datenpunkte einzuordnen.

Wir haben für jede der Kategorienebenen (Art des Anliegens, Bezugsbereich und Artikulation) ein eigenes Modell trainiert, also insgesamt fünf Stück. Damit haben wir bessere Ergebnisse erzielt als mit unserem zunächst gewählten Ansatz, ein Modell für alle Ebenen zu bauen.

Ergebnisse quantitativ auswerten

Um die Qualität der fünf Modelle bewerten zu können, haben wir ausführliche Tests gemacht, wobei das erste Testszenario aus ca. 100.000 Datensätzen bestand. Dazu haben wir 30% der Daten beim Trainieren zunächst zurückgehalten und als das Training mit den übrigen Datensätzen (ca. 70%) beendet war, konnten wir diese zum Testen heranziehen. Durch dieses Vorgehen konnten wir überprüft, ob das ML Modell wirklich die den Trainingsdaten zugrundeliegenden Konzepte erlernt hat und nicht bloß die Trainingsdaten auswendig gelernt hat (dieser Effekt würde als “Overfitting” bezeichnet)

Die Tabelle zeigt anhand eines Ausschnitts beispielhaft wie die Auswertung der Testdaten vereinfacht aussehen.

Jede Zeile gehört zu einer Kategorie und die Spalte Support enthält die Anzahl der Testdaten zur jeweiligen Kategorie. Die unterste Zeile gibt die Metriken für die Kategorien gemeinsam an. Diese exemplarische Auswertung bezieht sich auf das Modell, das wir für die Kategorisierungsebene Bezugsbereich 1 trainiert haben.

Mit den Metriken Precision und Recall lässt sich die Qualität von vorhergesagten Kategorisierungen quantifizieren. Precision ist ein Maß für die Genauigkeit und wird definiert als die relative Häufigkeit, dass eine Klasse richtig ist, wenn sie vorhergesagt wird. Recall hingegen ist die Trefferquote. Sie gibt die relative Häufigkeit an, dass ein Klasse auch als solche vorhergesagt wird. Der F1-Score ist eine Art Kombination von Precision und Recall. Gemeinsam geben diese Metriken soliden Aufschluss über die Performance bei Klassifikatoren.

                  precision    recall  f1-score   support

         Airport       0.81      0.82      0.81      4060
Customer Service       0.74      0.83      0.78       118
          Flight       0.81      0.75      0.78      8670
     Reservation       0.61      0.72      0.66      2416
     ...               ...       ...       ...       ...
     
        accuracy                           0.68     19145
    weighted avg       0.69      0.68      0.68     19145

Zudem sind beispielsweise 81% der Texte, die von der KI mit Label “Airport“ versehen wurden, auch tatsächlich (also vom Sachbearbeiter klassifiziert) “Airport”. Recall von 82% bei “Airport” bedeutet, dass 82% aller Texte, die tatsächlich “Airport” sind von der KI auch als solche erkannt worden.

Nachdem wir beobachten konnten, dass die Modelle gute Ergebnisse liefern, haben wir die Menge der Lerndaten vervierfacht und die Schritte von oben wiederholt. Dadurch wurden die Modelle besser und vor allem robuster gegenüber Sonderfällen.

Leistungsfähigkeit der KI nachvollziehbar machen

Für Menschen, die sich nicht täglich mit den Themen Künstliche Intelligenz und Automatisierung beschäftigen, ist Machine Learning „Voodoo“. Um Vertrauen in die Leistungsfähigkeit des ML Systems aufzubauen und die Ergebnisse nachvollziehbar und persönlich testbar zu machen, haben wir ein kleines Programm erstellt, mit dem

  • der Text des Kunden und die erfasste Kategorisierung eingefügt,
  • das ML Modell mit den Daten ausgeführt,
  • die Kategorisierung durch das Modell und vom Sachbearbeiter ausgegeben und
  • das Ergebnis kommentiert

werden kann.

Zu Beginn wird der Kundentext und die vom Sachbearbeiter in targenio erfasste Kategorisierung in das Feld „Sachverhalt“ kopiert. Der ML Algorithmus wendet dann sein antrainiertes Wissen an und es wird in der linken Spalte die Kategorisierung des ML angezeigt. In der rechten Spalte wird diese die vom Sachbearbeiter erfasste Kategorisierung gegenübergestellt, so dass ein unmittelbarer Vergleich zwischen Mensch und Maschine möglich ist:

Dieses Video zeigt einen Ausschnitt aus unserem Frontend zum Erkennen von Kundenanliegen aus Text, mit einem Beispiel, in dem die Vorhersage und die menschliche Kategorisierung identisch sind.

Da wir dieses Programm auch für unsere qualitativen Tests verwendet haben, kann zusätzlich zu jedem Testlauf der Name des Testers, das Testergebnis und eine Referenz auf den Original-Vorgangsdatensatz dokumentiert werden.

Das komplette Testsetup ist in folgendem Architekturbild dargestellt:

Die Architektur des KI Systems

Nach einigen Testläufen hat sich für uns folgendes Bild herauskristallisiert: Das von uns trainierte Modell kategorisiert einen Großteil der Kundentexte genauso wie die Sachbearbeiter im Kundenservice. Bei einem geringen Anteil der Testdatensätze ermittelte die KI eine fehlerhafte Kategorie. Und bei einem weiteren Großteil der getesteten Sachverhalte wich das Ergebnis der KI zwar von der Kategorisierung des Kundenservicemitarbeiters ab, war aber fachlich nicht falsch, sondern nur anders.

Als Ursachen für fehlerhaft klassifizierte Sachverhalte haben wir eine zu geringe Anzahl an Testfällen in den Lerndaten und redundante Einträge im Kategoriensystem identifiziert; daraus haben wir zwei Optimierungsschritte abgeleitet: Signifikante Erhöhung der Lerndaten und Priorisierung der Ergebnisse anhand der Struktur des Kategorienbaums in targenio.

ML Anwendung optimieren

Wie oben beschrieben hatten wir uns entschieden, für jede Ebene der Kategorisierung ein eigenes Modell zu trainieren. Dadurch war es möglich, dass der Algorithmus Kombinationen von Kategorien erlernen konnte, die in der Baumstruktur des Kategoriensystems von targenio gar nicht auswählbar sind.

Um dieses Problem zu heilen, haben wir uns eine Funktion der Modelle zunutze gemacht, dass nämlich die Modelle eine Wahrscheinlichkeit für alle möglichen Kategorien der jeweiligen Kategorienebene ausgeben. Diese Wahrscheinlichkeitsangaben habe wir einfließen lassen, indem wir für Gesamtvorhersagen diejenige Kategorisierung wählen, die größtmögliche Gesamtwahrscheinlichkeit (das Produkt der fünf einzelnen Wahrscheinlichkeiten) hat und gleichzeitig mit dem Kategorienbaum konsistent ist. Durch diesen Abgleich der Vorhersagen mit dem Kategoriensystem wurde die KI als Ganzes robuster.

Nach dieser Optimierung des Modells durch den Abgleich mit dem targenio Kategorienbaum und der Ausweitung der Lerndaten haben wir ein Modell realisiert, mit dem weit über 80% der Kundentexte richtig (in Sinne: entspricht der vom Sachbearbeiter vorgenommenen Kategorisierung) klassifiziert werden kann:

Beantwortung der Forschungsfrage, Lessons learned und Perspektive

Unser Projekt hat gezeigt, dass mit der heute verfügbaren Machine Learning Technologie unstrukturierte Kundentexte auf ein umfangreiches Kategoriensystem gemappt werden können und hierbei die Ergebnisse der KI zu mehr als 80 % mit den von Sachbearbeitern erfassten Kategorisierung übereinstimmen.

Sind > 80 % Übereinstimmung ausreichend, um ML produktiv im Kundenservice einzusetzen und die Mitarbeiter bei der Bearbeitung von Kundenanliegen zu entlasten? Ist die Qualität der ML Algorithmen also hoch genug?

Nach unserer Meinung ein eindeutiges JA!

Dieses “JA” stützt sich auf Überlegungen und Erkenntnissen, die wir im Laufe des Projekts und mit der intensiven Beschäftigung der Daten gesammelt haben:

  • Der verwendete Kategorienbaum ist in sich nicht eindeutig und widerspruchsfrei. Zudem ist er nicht ausreichend ausgewogen und “überbetont” bestimmte Sachverhalte bei gleichzeitigem Negligieren ganzer Bereiche.
  • Die Anwendung des Kategorienbaums erfolgt durch eine große Anzahl von Sachbearbeitern mit unterschiedlichen Skills und Erfahrungen. Von daher ist nicht anzunehmen, dass ein- und derselbe Kundentext durch verschiedene Mitarbeiter identisch klassifiziert wird.
  • Selbst bei gleich hoher Qualifikation und Motivation der Mitarbeiter verbleiben Zweifelsfälle, die legitimerweise unterschiedlich interpretiert und ausgelegt werden können.

Stellt man diese Überlegungen der aktuell ermittelten Übereinstimmung von 80 % gegenüber, dann ergibt sich ein akzeptables Niveau, zumal die KI Texte neutral, reproduzierbar und in gleichförmig klassifiziert.

Welche sonstigen Erkenntnisse haben wir durch unser Projekt gewonnen?

Wie zu erwarten, bestimmt die Menge und Qualität der Daten die Leistungsfähigkeit der KI. So konnten wir durch eine Erhöhung der Lerndaten von 100.000 auf 400.000 Datensätze eine signifikante Verbesserung der Ergebnisse erzielen. Die eingesetzten, frei verfügbaren open source Modelle erlauben einen wirtschaftlichen Einsatz von künstlicher Intelligenz für Aufgabenstellungen im Kundenservice. Durch geeignete Maßnahmen können die Ansprüche des Datenschutzes eingehalten werden.

Wie sind nun die Perspektiven?

Künstliche Intelligenz und Machine Learning sind bereit für den produktiven Einsatz. Die Treffsicherheit unseres ML Modells ist ausreichend hoch, um damit die nächste Ebene der Automatisierung zu erreichen und neue Use Cases umzusetzen. Welche das sind, zeigen wir in unserem nächsten Artikel dieser Serie auf.

Takeaway

  • Das Entwickeln eines Kategoriensystems, das zugleich nützlich und einfach ist, ist eine herausfordernde Aufgabe.
  • Unsere Versuche zeigen, dass KI-Algorithmen heute sehr gut und treffsicher unstrukturierte Texte zu Kategorien zuordnen können.
  • Mit dem Einsatz von Open Source Modellen kann KI heute leicht in Anwendungen integriert werden und die Effizienz bei der Bearbeitung von Kundenanliegen steigern.
SUNBEAM PHOTOGRAPHY on Unsplash