Im sich schnell verändernden Bereich der natürlichen Sprachverarbeitung (NLP) ist die semantische Suche für Anwendungen wie Chatbots und Faktenprüfer unverzichtbar geworden. Diese Technologie kann auch Suchmaschinen verbessern und es Benutzern ermöglichen, relevante Informationen durch Fragen in natürlicher Sprache zu finden. Embedding-Modelle sind dabei zentral – sie wandeln Text in hochdimensionale Vektoren um, die die Bedeutungen von Wörtern und Phrasen erfassen. Cloudflight verfügt über ein Jahr Erfahrung in der Feinabstimmung dieser Modelle, um das Content Retrieval für unsere Kunden relevanter zu machen.

Cloudflight verfügt über ein Jahr Erfahrung in der Feinabstimmung dieser Modelle, um die Inhaltsabrufbarkeit für unsere Kunden relevanter zu gestalten. Zum Beispiel haben wir mit der Austria Presse Agentur (APA) an eigenen Embedding-Modellen gearbeitet, um die Wissenserschließung in der schnelllebigen Nachrichtenbranche zu verbessern. In Zusammenarbeit mit der G39-Gruppe europäischer Nachrichtenagenturen machen wir das entwickelte System nun mehrsprachig, damit Benutzer relevante Nachrichten in neun Sprachen durch Abfragen in jeder Sprache abrufen können, was es einfacher macht, über Berichte verschiedener Nachrichtenagenturen informiert zu bleiben.

Mehrsprachige semantische Suche ist nicht auf Nachrichten beschränkt; sie kann auch in Bereichen wie internationalem E-Commerce oder Buchungsplattformen nützlich sein. Die Erstellung eines wirklich mehrsprachigen Systems ist jedoch herausfordernd, da Modelle oft Ergebnisse in der Sprache der Abfrage bevorzugen. In diesem Blogbeitrag möchten wir dieses Problem hervorheben, erklären und erörtern, wie wir es abgemildert haben.

Was ist Sprachverzerrung?

Sprachverzerrung tritt auf, wenn mehrsprachige semantische Suchsysteme Ergebnisse in derselben Sprache wie die Benutzerabfrage gegenüber Ergebnissen in anderen Sprachen bevorzugen, auch wenn letztere relevanter sind. Diese Verzerrung ist problematisch, insbesondere wenn die Antwort auf eine Abfrage nicht in der Abfragesprache verfügbar ist, aber in einer anderen Sprache existiert. In solchen Fällen kann das System viele irrelevante Texte in der Abfragesprache zurückgeben, bevor es die relevanten in einer anderen Sprache anzeigt. Der Begriff Sprachverzerrung wurde von Roy et al. (2020) in dem Artikel LAReQA: Language-agnostic answer retrieval from a multilingual pool [2] geprägt. Die Autoren definieren sprachübergreifende Ausrichtung und beschreiben zwei Szenarien – schwache und starke Ausrichtung:

Schwache Ausrichtung: Für jedes Element in Sprache L1 ist der nächste Nachbar in Sprache L2 das semantisch relevanteste Element.

Starke Ausrichtung: Für jedes Element sind alle semantisch relevanten Elemente näher als alle irrelevanten Elemente, unabhängig von ihrer Sprache. Entscheidend ist, dass relevante Elemente in verschiedenen Sprachen näher sind als irrelevante Elemente in derselben Sprache.

Two diagrams compare Weak Alignment and Strong Alignment of English (blue) and Spanish (red) answers to questions within semantic search systems, illustrating arrows for correct/incorrect responses and demonstrating how language bias can influence clustering based on alignment strength.

Grafik entnommen aus LAReQA: Language-agnostic answer retrieval from a multilingual pool [2]

Schwach ausgerichtete mehrsprachige Embedding-Modelle funktionieren gut, wenn dasselbe Embedding-Modell für die Inhalte jeder Sprache separat verwendet werden soll (z. B. nur einen Embedding-Endpunkt hosten, aber viele Inhaltsdatenbanken in verschiedenen Sprachen haben) oder wenn in der eigenen Sprache (z. B. Deutsch) in einer französischen Inhaltsdatenbank gesucht werden soll, ohne die Abfrage zu übersetzen.

Wenn jedoch eine semantische Suche in einer Inhaltsdatenbank mit Texten in verschiedenen Sprachen durchgeführt werden muss, werden nur Modelle mit starker Ausrichtung Ergebnisse ohne Sprachverzerrung liefern und so sicherstellen, dass die relevantesten Kandidaten am höchsten eingestuft werden und nicht diejenigen, die mit der Abfragesprache übereinstimmen.

Visualisierung des Embedding-Raums

Eine einfache Möglichkeit, das Vorhandensein von Sprachverzerrung in einem mehrsprachigen Modell zu erkennen, besteht darin, die Embeddings einer Reihe paralleler Sätze in zwei Sprachen in 2D zu visualisieren. Das könnte wie folgt aussehen, wobei das Diagramm Embeddings von intfloat/multilingual-e5-large zeigt, einem sehr beliebten mehrsprachigen Open-Source-Modell mit Sprachverzerrung.

Scatter plot with two clusters: purple points at the top labeled en, and red points at the bottom labeled de. Both clusters are spread along the x-axis, with minimal overlap—highlighting potential language bias in multilingual semantic search.

Das Diagramm zeigt die Datenverteilung im Modell, wobei deutsche Daten in Rot und englische Daten in Blau dargestellt sind. Wir können sehen, dass die Sprache die Embedding-Verteilung stark beeinflusst. Eine starke Trennung zwischen den farbigen Clustern bedeutet, dass eine Sprachverzerrung vorhanden ist.

Im Gegensatz dazu zeigt das folgende Diagramm blaue und rote Punkte gut vermischt, was bedeutet, dass englische und deutsche Embeddings auf denselben semantischen Raum abgebildet werden und nicht leicht nach Sprache unterschieden werden können.

Scatter plot with two clusters of overlapping pink and purple points labeled de (pink) and en (purple), illustrating three main groupings and some scatter, with a legend in the top right. This visualization highlights patterns of language bias that can emerge within multilingual semantic search or other semantic search systems.

Zu beachten ist, dass diese Visualisierungstechnik nur ein illustrativer Ausgangspunkt ist und uns nicht erlaubt, den Grad der Ausrichtung zu quantifizieren.

Wie misst man es?

Um die Sprachverzerrung verschiedener Modelle zu quantifizieren und zu vergleichen, können folgende Ansätze verfolgt werden:

Eine Option ist die Bewertung des Modells auf dem LAReQA-Datensatz, wie im Artikel LAReQA: Language-agnostic answer retrieval from a multilingual pool von Roy et al. [2] beschrieben. Neben einer Methode zur Quantifizierung der Verzerrung schlägt der Artikel eine nützliche Heatmap-Visualisierung vor, anhand derer der Grad der Ausrichtung zwischen allen Sprachpaaren erkennbar ist. Der Nachteil ist, dass der LAReQA-Datensatz nicht aus sehr vielen Sprachen besteht.

Als Alternative kann der Ansatz aus Making Monolingual Sentence Embeddings Multilingual using Knowledge Distillation von Nils Reimers und Iryna Gurevych [1] verfolgt werden. Sie schlagen vor, das Modell auf einer semantischen Textähnlichkeitsaufgabe (STS) unter Verwendung eines mehrsprachigen STS-Datensatzes zu bewerten und zu sehen, wie viel schlechter das Modell abschneidet, wenn nicht jede Sprache einzeln getestet wird, sondern ein Kandidatensatz mit allen Sprachen gleichzeitig.

Zusätzlich zu quantifizierbaren Maßen ist es auch ratsam, manuell auf Sprachverzerrung zu testen. Einige Abfragen auswählen, in verschiedene Sprachen übersetzen und für jede Übersetzung eine Suche durchführen. Für jede Übersetzung derselben Abfrage sollten ungefähr dieselben Ergebnisse gefunden werden. Wenn stattdessen Ergebnisse erscheinen, die der Sprache der Abfrage folgen, liegt ein verzerrtes Modell ohne starke Ausrichtung vor.

Sprachverzerrung abmildern

Für das G39-Projekt haben wir große Feinabstimmungsdatensätze aus Nachrichtenartikeln verschiedener Länder aufgebaut, damit das Modell verschiedene Nachrichtenkontexte erlernen kann. Aufgrund unserer Erfahrung mit dem Training einsprachiger Embedding-Modelle waren wir zuversichtlich, ein Modell erstellen zu können, das den aktuellen Nachrichtenkontext mehrerer Länder kennt. Eine weitere zentrale Frage war jedoch, ob dieses trainierte Modell für mehrsprachige semantische Suche verwendbar wäre. Wir recherchierten und erarbeiteten viele Ideen, aber die Lösung war am Ende überraschend einfach: Der Basis-Trainingsansatz lieferte bereits zufriedenstellende Ergebnisse. Das heißt, wir fusionierten unsere neun großen einsprachigen Feinabstimmungsdatensätze zu einem einzigen, der Abfragen und Nachrichtenartikel-Chunks in neun verschiedenen Sprachen enthält (aber jedes Abfrage-Artikel-Paar verwendete immer noch nur eine Sprache). Das Training auf diesem Datensatz mit einem Standard-Contrastive-Loss mit In-Batch-Negativen eliminierte den größten Teil der Sprachverzerrung, die wir gemessen und im Basismodell negativ bemerkt hatten.

Warum funktioniert das? Wir sind noch dabei, das herauszufinden, können aber bereits zwei beitragende Faktoren nennen: Erstens verfügen wir über eine große Menge hochwertiger mehrsprachiger Feinabstimmungsdaten, und zweitens gibt es eine beträchtliche thematische Überlappung zwischen den verschiedenen Sprachen im Datensatz, da ein guter Teil der Nachrichten international ist.

Wir nannten unseren Ansatz „Brute-Force-Abmilderung“, da offensichtlich schon eine große Menge hochwertiger Trainingsdaten den Ausschlag gab. Wenn keine großen Mengen mehrsprachiger Feinabstimmungsdaten vorhanden sind, sondern vielleicht nur Daten in einer Sprache, könnte der Ansatz von Reimers und Gurevych [1] einen Blick wert sein. Der Artikel erklärt, wie die Fähigkeiten eines bestehenden Embedding-Modells auf neue Sprachen mit einem Trainingsziel erweitert werden können, das auf gleiche Embeddings in allen Sprachen abzielt (d. h. starke Ausrichtung).

Referenzen

[1] Nils Reimers and Iryna Gurevych, 2020, Making Monolingual Sentence Embeddings Multilingual using Knowledge Distillation https://arxiv.org/pdf/2004.09813

[2] Roy et al., 2020, LAReQA: Language-agnostic answer retrieval from a multilingual pool https://arxiv.org/abs/2004.05484