​Von Wortwolken und Suchalgorithmen

Wir meinen es ernst, wenn wir sagen: Unsere Kunden bestimmen die BSI Software Roadmap aktiv mit. Am Retail User Group Meeting 2018 war die Klassifizierung von E-Mails ein vieldiskutiertes Thema. E-Mails werden häufig regelbasiert den verantwortlichen Teams zugeordnet. Viele Entscheidungen muss dann aber doch der Agent treffen: Welcher Prozess, welcher Text? Das geht einfacher. BSI und Walbusch haben sich des Anliegens angenommen.

Der Algorithmus sortiert Wörter und E-Mails im gleichen Kontext zu Wort-wolken und sucht
die Grenzen zwischen ihnen.

Die Vision

Mit Machine Learning E-Mails fehlerfrei zuordnen, automatisch eine passende Antwort aus Textbausteinen zusammenstellen, diese nach Prüfung an den Kunden versenden – und so viel mehr Zeit für das haben, was wirklich wichtig ist: echte Kundeninteraktionen.

Das Vorgehen

Walbusch stellte uns rund 700 000 anonymisierte Kunden-E-Mails zur Verfügung. Diese wurden 20 Teams teils regelbasiert, teils manuell zugeordnet. Die Zuordnung benutzten wir als Input zur Generierung von Paragraph Vectors («Doc2Vec»): Damit E-Mail-Texte technisch bearbeitbar sind, wird aus jedem Wort ein Vektor generiert. Wörter im gleichen Kontext wurden zu Wortwolken sortiert. Die E-Mails ordneten wir in die gleichen Wortwolken ein. E-Mails mit ähnlichem Inhalt sind dort also nah beieinander. So liegen z. B. E-Mails zu Adressänderungen nah beisammen, überschneiden sich aber hoffentlich möglichst wenig mit den Positionen der Bestelländerungen. Für die korrekte E-Mail-Zuordnung sucht der Algorithmus die Grenzen dieser Kategorien. Dabei gilt: Je mehr Dimensionen für die Wortwolken verwendet werden, desto besser die Abgrenzung der Kategorien.

«Mit 700 000 E-Mails und 100 Durchläufen in 2 Tagen trainierten wir den Algorithmus.»

Christoph BräunlichBSI

Wir arbeiteten beim Training des Suchalgorithmus mit 150 Dimensionen (schwer vorstellbar für uns Menschen, da wir nur 3-D kennen…) und sortierten die Wörter und E-Mails in über 100 Durchläufen in die Wortwolken. Um eine E-Mail einem Team zuzuweisen, ermittelte der Algorithmus die Position in den Wortwolken. Befindet sich die Mail innerhalb der Grenzen einer Kategorie, zählt sie als Treffer. So erreichten wir, dass die E-Mails in der Hälfte der Fälle korrekt den Teams zugeordnet wurden. Der Grund für das 50/50-Ergebnis: Anliegen aus den E-Mails betrafen oft mehrere Teams. Im nächsten Schritt trainieren wir des- halb statt Teamzuordnungen Prozesszuordnungen, weil diese bei Walbusch aussagekräftiger sind.

Das Fazit

Da geht noch was. Das erste Proof of Concept stellt eine gute Grundlage für weitere Trainingsdurchläufe dar. Ist ein Wort-Vektor-Netz erst einmal trainiert, lässt es sich vielseitig einsetzen. Das Wissen wird auch in die Entwicklung neuronaler Netzwerke für BSI Studio fliessen. Fortsetzung folgt. Versprochen.