Natural Language Processing and Understanding Julius Bär nutzt effektiv automatisiertes Textverständnis

Autor / Redakteur: Christian Jauch und Peter Neckel * / Nico Litzel

„Daten sind das neue Öl“ – spätestens seit dem Economist-Artikel von 2017 ist das Zitat von Clive Humby nicht nur unter Data Scientists, sondern auch beim Executive Management eine Überzeugung. Genau wie das fossile Pendant sind aber auch die wertvollen Daten nicht überall gleich einfach zu extrahieren: Es gibt Datenquellen, die wie im Mittleren Osten leicht zu erschließen sind und andere, bei denen es – analog zum Fracking – mehr Aufwand und Wissen bedarf, um zu guten Ergebnissen zu kommen.

Firmen zum Thema

Im Bankenumfeld sind zahlreiche wertvolle Informationen in Texten enthalten, die sich mit Machine-Learning-Methoden auswerten lassen, um aus ihnen entscheidungsrelevante Erkenntnisse abzuleiten.
Im Bankenumfeld sind zahlreiche wertvolle Informationen in Texten enthalten, die sich mit Machine-Learning-Methoden auswerten lassen, um aus ihnen entscheidungsrelevante Erkenntnisse abzuleiten.
(Bild: © Funtap - stock.adobe.com)

Das Thema „Natural Language Processing and Understanding“ (NLP / NLU), also das maschinelle/automatisierte Verarbeiten und Verstehen von Text(-elementen), gehört in die Kategorie der schwerer nutzbaren Daten. Gerade im Bankenumfeld sind zahlreiche wertvolle Informationen z. B. in geschriebenen Texten enthalten, die sich mit Machine-Learning-Methoden auswerten lassen, um aus ihnen entscheidungsrelevante Erkenntnisse abzuleiten.

Daher hat sich auch Julius Bär, die führende Schweizer Wealth-Management-Gruppe, gefragt, welcher konkrete Anwendungsfall im NLP/NLU-Umfeld den größten Nutzen stiftet. Da bei Julius Bär als Vermögensverwalter die individuelle Beziehung der weltweit 1.500 Kundenberater zu ihren Kunden höchste Priorität hat, bezwecken alle Bestrebungen, die Beratung durch eine Datenanalyse im Hintergrund noch besser zu gestalten. Erklärtes Ziel ist, verfügbare Daten effizienter zu nutzen – zum Beispiel zur besseren Kundenbetreuung – und somit dem Kundenberater noch individuellere Interaktionen zum Ausbau der persönlichen Beziehung mit dem Kunden zu ermöglichen.

Das 2018 gegründete Data-Science-Lab „Target Insights“ war der folgerichtige nächste Entwicklungsschritt, nachdem die ersten Use Cases im Data-Science-Umfeld erfolgreich umgesetzt, eingeführt und genutzt werden.

Ein Weg in Etappen

Der Weg vom „klassischen“ Data Science zum NLP/NLU war ein Weg in Etappen: Bereits Mitte 2019 wurden erste Ideen geprüft und Erfahrungen mit Technologie und Daten gesammelt. Im weiteren Jahresverlauf wurde dieses Wissen im Rahmen eines gemeinsam mit der Positive Thinking Company organisierten, mehrtägigen „BootCamps“ gezielt vertieft und um zahlreiche Praxisbeispiele angereichert.

Mit diesem Rüstzeug konnte sich das Team im Jahr 2020 einem neuen Use Case zuwenden: Es galt einen großen Datensatz in unterschiedlicher Form und Sprache zu analysieren. Um diesen über die klassischen BI-Mittel hinausgehend weiter auswertbar zu machen, mussten modernere Ansätze angewandt werden. Dafür bietet sich als NLP-Verfahren eine „Named Entity Recognition“ (NER) an.

Wo liegen die Fallstricke?

Abbildung 1: Named entity recognition am Beispiel
Abbildung 1: Named entity recognition am Beispiel
(Bild: https://spacy.io/usage/visualizers)

Abbildung 2: NER-Prozess am Beispiel
Abbildung 2: NER-Prozess am Beispiel
(Bild: Julius Bär)

Abildung 2 zeigt das im erwähnten Projekt angewandte Vorgehen: Nach Import und Harmonisierung der Daten musste als erstes die Sprache korrekt bestimmt werden. Dies war vor allem erforderlich, weil die Texte in unterschiedlichen Sprachen verfasst waren und auch multilinguale Phrasen und Passagen enthielten. Zu diesem Zweck wurden verschiedene Bibliotheken miteinander verglichen (siehe Abb. 3). Es stellte sich heraus, dass die Ergebnisqualität von allen Kandidaten auf einem annähernd gleichen Niveau war – sich hingegen die Verarbeitungszeit deutlich unterschied. Unter Berücksichtigung der vorliegenden Datenmenge, der Vorhersagequalität sowie der Latenz fiel die Wahl auf FastText.

Abbildung 3: Laufzeit auf einer ausgewählten Stichprobe
Abbildung 3: Laufzeit auf einer ausgewählten Stichprobe
(Bild: Julius Bär)

Als nächster Vorverarbeitungsschritt stand ein Domain Transfer an, da die meisten vortrainierten Modelle zwar auf einem großen, aber sehr speziellen Corpus trainiert werden, in dem die Domäne „Finanzindustrie“ nur rudimentär berücksichtigt wird. Hinzu kommen weitere Besonderheiten der deutschen Sprache, etwa die der fachspezifischen Komposita (z. B. „Geldflussrechnung“), die nicht im Vokabular vortrainierter Standardmodelle enthalten sind. Um diese Diskrepanzen des Vokabulars und der Modellgewichte mit der Zieldomäne zu vermeiden, ist ein Domänentransfer mittels Finetunings der Modellgewichte anhand von repräsentativen Textbeispielen erforderlich.

Labeling

Als nächstes wurden einige zufällig ausgewählte Dokumente per Hand den neu zu trainierenden Entitäten zugeordnet („labeling“). Dank spezieller, selbstgeschriebener Konverter ließen sich diese Beispiele dann später in verschiedenen NLP-Frameworks verwenden und dienten als Ausgangsbasis für Modeltraining sowie -validierung.

Die Erfahrung zeigt, dass man eine strikte Daten-Annotationsguideline erstellen sollte, in der klar definiert ist, wie das Labeling im Detail zu erfolgen hat, sobald man die Arbeit auf mehrere Personen aufteilt. Ansonsten würden selbst einfach erscheinende Zuordnungen im Detail unterschiedlich vergeben und später die Modelqualität negativ beeinflussen (Beispiel: Beträge mit Währungsangabe „x m CHF“ oder nur „x m“?)

Das manuelle Labeln von Daten ist sehr zeitaufwendig, weshalb es meist nur für eine enge Auswahl an Datensätzen vorgenommen wird. Für die Güte des Models ist jedoch eine größere Menge von Daten hilfreich. Ein Ausweg ist das künstliche Erschaffen neuer Datensätze („data augmentation“) – zum Beispiel, indem man in den manuell gelabelten Datensätzen die Ausprägung der Entitäten tauscht. So wird mit wenig Aufwand und schnell ein Vielfaches der ursprünglich gelabelten Daten erzeugt.

Abbildung 4: Data Augmentation am obigen Beispielsatz
Abbildung 4: Data Augmentation am obigen Beispielsatz
(Bild: Julius Bär)

Augmentation verbessert die Modelqualität

Nach unseren Erfahrungen verbessert diese Augmentation grundsätzlich die Modelqualität. Allerdings profitiert jedes Framework in unterschiedlichem Maße davon – und man riskiert rasch Overfitting, indem das Modell die Beispielsatzstruktur auswendig lernt. Eine systematische Augmentierung berücksichtigt zum Beispiel auch die Wortlänge, die Anzahl der Entitätswörter sowie Groß- und Kleinschreibung, um die linguistische Diversität zu erhöhen und das beschriebene Overfitting zu vermeiden.

Bei der Augmentierung von Daten lässt sich eine Besonderheit zunutze machen: Sollten die später zu untersuchenden Dokumente unterschiedliche Schreibweisen und Tippfehler beinhalten, kann man das Model bereits darauf trainieren, indem man einen gewissen Prozentsatz der auszutauschenden Ausprägungen bewusst mit kleinen Fehlern versieht (z. B. zusätzliche Zeichen, Zeichendreher etc.). Falls solche Varianz auch später in der Anwendungsmenge vorhanden ist, erhöht dies in der Regel die Modellqualität.

Für die Datensatzaugmentierung haben wir das Sprachmodell GPT-2 verwendet und erwartet, dass mit GPT-3 sogar noch bessere Ergebnisse erzielt werden können. Dabei wurden in den Trainingsdaten systematisch Substantive, Verben, Adjektive und Adverbien durch Part-of-Speech (POS) Tagging erkannt und ein Teil dieser Wörter durch einen [MASK]Token ersetzt. Diese Sätze werden dann von den genannten Sprachmodellen entmaskiert, indem die [MASK]Token durch wahrscheinliche Wörter ersetzt werden. So wird die Diversität der Trainingsdaten weiter erhöht. Der Vorteil dieser Augmentierungsmethode besteht in ihrer Fähigkeit, auch die Formulierungen rund um die Entität selbst anzureichern.

Abbildung 5: Data Augmentation mit Tippfehlern am obigen Beispielsatz
Abbildung 5: Data Augmentation mit Tippfehlern am obigen Beispielsatz
(Bild: Julius Bär)

Training und Gegenüberstellung

Auf den so vorbereiteten Daten wurden mit verschiedenen Parametern und Frameworks Modelle trainiert und gegenübergestellt. Im Endergebnis konnte mit einem moderaten Labelingaufwand ein Modell erstellt werden, das alle gewünschten Entitäten mit einer Precision von mindestens 93 Prozent und einem Recall von mindestens 92 Prozent auf den Validierungsdaten erkennt.

Nach Analyse der Ergebnisse ließ sich beobachten, dass einige Ausprägungen mit annährend 100 Prozent erkannt wurden, während es bei anderen – eher selten auftretenden und mit unterschiedlichen Schreibweisen – nur um die 75 Prozent waren. Via Pattern Matching lässt sich die Erkennungsrate einzelner Ausprägungen somit weiter steigern. Dabei können auch Synergien zwischen den einzelnen Modellen pro Sprache genutzt werden. Allerdings muss hierfür die Balance zwischen Kuratierungs- und Wartungsaufwand der Patterns und der möglichen Automatisierung durch das generische NER-Modell berücksichtigt werden. Wie bei klassischen Data-Mining-Modellen auch werden sich die Texte im Zeitablauf ändern, sodass sich die Erkennungsqualität verschlechtert. Active Learning via Spacy und Prodigy bietet in diesem Fall ein gezieltes Retraining mit moderatem Relabeling-Aufwand.

Das beste Gesamtmodell ergibt sich somit aus einem hybriden Ansatz aus regelbasiertem Patternmatching für spezielle Formulierungen und einem performanten Deep-Learning-Modell, das sich durch seine Generalisierungsfähigkeit auszeichnet. In diesem Punkt deckt sich die Erfahrung aus dem NLP-Umfeld mit derjenigen aus anderen Data-Science-Teildisziplinen: oft gibt die Kombination aus Algorithmus und menschlicher Intelligenz das beste Resultat.

* Christian Jauch ist für Julius Bär tätig und Peter Neckel ist Leiter Customer Analytics bei der Positive Thinking Company

Artikelfiles und Artikellinks

(ID:47101172)