In deinem persönlichen Profilbereich kannst du den Status deiner Bewerbung einsehen, unvollständige Bewerbungen zwischenspeichern und aktuelle News und Events einsehen
In den letzten Jahren hat sich die semantische Produktsuche im globalen E-Commerce weit verbreitet. Viele Systeme haben jedoch Probleme, Suchanfragen mit ungewöhnlichen Schreibweisen zu verstehen. In diesem Blogpost zeigen wir dir, wie das Otto Team Turing ein neues System entwickelt hat, das diese Probleme beseitigt. Es ist live und hat die Click-Through-Rates (CTR) in den Low-Recall-Segmenten von otto.de um mehr als 25% und die Conversion Rate (CvR) im Low-Hit-Segment um mehr als 90% gesteigert.
Die ausführliche Präsentation dieses Artikels kannst du dir auch auf der diesjährigen Otto's MAIN-Konferenz anschauen.
Einleitung
"Iphone" ist eine beliebte Suchanfrage auf otto.de. Aufgrund von Unsicherheiten bei der Schreibweise geben viele Kunden jedoch unterschiedliche Varianten von "aifonpromax13" bis "eifon" ein. Dies stellt eine große Herausforderung für das Suchsystem auf otto.de dar. Herkömmliche lexikalische Suchsysteme können mit Suchanfragen mit Rechtschreibfehlern nicht gut umgehen. Deshalb hat Otto ein neues Team, das Team Turing, auf die Entwicklung einer robusten semantischen Suchmaschine angesezt. In diesem Blogpost stellen wir unser neues System vor.
Semantische Suchsysteme zeigen Produkte an, die dem Sinn, d. h. der Semantik, der Anfrage entsprechen. Lexikalische Systeme hingegen gleichen die Ähnlichkeit der Schreibweise einer Suchanfrage mit relevanten Produkten ab. Aufgrund der unterschiedlichen Ansätze können semantische Systeme besser als lexikalische Systeme auf ungewöhnliche Schreibweisen abgestimmt werden.
Abbildung 1 zeigt, wie die Ergebnisse unseres lexikalischen und neuen semantischen Systems auf otto.de dargestellt werden. Gibt ein Kunde eine schwierige Abfragevariante in das Suchfeld ein (grüner Kasten), kann das lexikalische System kein Ergebnis liefern und zeigt eine entsprechende Meldung an (lila Kasten). Das neue semantische System hingegen kann relevante Ergebnisse finden und zeigt 18 Produkte unter der Überschrift "Ähnliche Artikel" oder "Kunden suchen auch" auf der Website an (roter Kasten).
Bildbeschreibung: Eine Null-Treffer-Seite auf otto.de. Während das lexikalische System für die Suchanfrage "aifon13promax" keine Produkte findet (lila Kasten), findet der neue semantische Retriever die richtigen Ergebnisse (roter Kasten).
Semantic product search
Lexikalische Systeme haben den Markt für Suchsysteme lange Zeit dominiert. Mit dem Vormarsch der künstlichen Intelligenz hat die semantische Produktsuche in den letzten Jahren jedoch an Bedeutung gewonnen. Da diese Systeme jedoch noch relativ neu sind, wurden viele Aspekte bisher noch nicht vollständig erforscht. Einer dieser Aspekte ist die Frage, inwieweit semantische Systeme so angepasst werden können, dass sie schwierige Suchanfragen mit Rechtschreibfehlern besser beantworten können. Das neue System, das wir vorstellen, fällt in dieses Forschungsgebiet und überschreitet dessen Grenzen.
Um die Vorteile unserer neuen Architektur zu verstehen, müssen wir zunächst erklären, wie die semantische Produktsuche funktioniert. Die semantische Produktsuche basiert auf Abfrage-Produkt-Klickdaten. Wenn ein Benutzer eine Suchanfrage "q1" eingibt, definiert er die Bedeutung, d. h. die Semantik des Suchbegriffs, indem er auf Produkte wie "p1" oder "p2" klickt. Wir wissen nur, dass die Abfrage "eiphone" "iphone" bedeutet, wenn ein Nutzer auf das entsprechende Produkt klickt. Die Hauptidee der Verteilungssemantik, die auf dieses Klick-Problem angewandt wird, ist, dass die Bedeutung einer Anfrage durch den Kontext der angeklickten Produkte definiert wird. Diese Interpretation definiert die Semantik der Anfrage unabhängig von ihrer Schreibweise.
Sobald wir die Bedeutung einer Suchanfrage ermittelt haben, müssen wir die relevanten Produkte für die Suche bestimmen. Dazu verwenden wir einen geclusterten bipartiten Graphen, den wir aus den Abfrage-Produkt-Klickdaten aus dem Clickstream unseres E-Commerce-Shops erstellen. Die Kanten definieren positive Klicks zwischen einer Anfrage und einem Produkt. Der Vorteil der Verwendung eines solchen Produkt-Anfrage-Klick-Graphen als Grundlage für ein semantisches Suchsystem ist, dass man ihn clustern und so alle relevanten Produkte in Bezug auf eine Anfrage aufdecken kann, auch wenn sie nicht direkt in Bezug auf die Anfrage angeklickt wurden (siehe Abbildung 2). Aus dem Abfrage-Produkt-Graphen kann man z.B. ableiten, dass p3 für die Abfrage q1 relevant ist. Die Suche nach relevanten Produkten aus benachbarten Clustern relevanter Produkte für eine bestimmte Anfrage ist die Grundlage der semantischen Produktsuche.
Bildbeschreibung: Ein zweiseitiger Abfrage-Produkt-Klick-Graph. Der rote Kreis zeigt den Cluster der relevanten Produkte. Der Cluster definiert die Relevanzgrenze für die Suche nach einem zusätzlichen Produkt p3 in Relation zu q1, das nicht direkt verlinkt ist. Die Links sind über die Zeit aggregiert. Unterschiedliche Zeitpunkte sind durch t1 und t2 gekennzeichnet. Abbildung teilweise basierend auf Graph in: Zhang et.al (2019): Neural IR meets Graph Embedding. In: WWW Conference 2019, pp. 2390-2400.
Eine semantische Abfrage-Produkt-Klick-Grafik hat jedoch einen Nachteil. Sie basiert ausschließlich auf historischen Klickdaten und kann nicht auf ungesehene Suchanfragen verallgemeinert werden, für die noch keine solchen Daten existieren. Um einen Klickgraphen zu verallgemeinern, kann er in einen semantisch dichten Vektorraum projiziert werden. Diese Projektion erfolgt durch die Einbettung textueller Repräsentationen der Anfrage- und Produktknoten in den Vektorraum und durch die Anpassung der Semantik des Vektorraums an die Struktur des Anfrage-Produkt-Klickgraphen. Genauer gesagt werden Kanten des Graphen in der Form "Anfragetext"-"Produkttitel" eingebettet und deren Klickdistanzen gelernt. Auf der Grundlage dieser sekundären Semantik können bekannte Anfragen und Produkte verallgemeinert werden. Mit anderen Worten: Das System kann darauf trainiert werden, neu eingegebene Anfragetexte zu verstehen und relevante Produkte für eine solche unbekannte Anfrage abzuleiten.
Durch die explizitere Verwendung der textuellen Repräsentationen von Abfragen wird das System jedoch anfällig für Rechtschreibfehler. Sprachmodelle, die dichte semantische Vektorräume untermauern, lernen die Semantik eines Wortes auf der Grundlage von Token dieses Wortes. Sie zerlegen zum Beispiel das Wort "iphone" in "I" und "phone". Wenn sie jedoch in einem bekannten längeren Token wie "phone" auf einen Rechtschreibfehler stoßen, können sie oft nicht auf die Bedeutung des ganzen Wortes schließen. Man kann diese Probleme anhand unseres nicht optimierten Testsystems demonstrieren. Nachdem ein Kunde "Duscharmatur" mit einem Rechtschreibfehler eingegeben hat, ruft das System Hundekostüme ab.
Bildbeschreibung: Generalisierungsproblem eines semantischen Suchsystems der vorherigen Generation in den Segmenten mit niedrigem Abrufwert: Das System wird durch Rechtschreibfehler bei Anfragen verwirrt.
Um dieses Problem zu beheben, muss man das Sprachmodell grundlegend in Richtung einer stärkeren Anfragezentrierung verändern. Traditionell wurden Sprachmodelle, die die semantische Produktsuche unterstützen, oft mit Produkt- und Anfragetexten trainiert. Da Produkttexte jedoch in der Regel sehr viel länger sind, bleibt in diesen Modellen oft nicht genug Bandbreite, um alle möglichen Varianten von Anfragen zu lernen.
Wir haben dieses Problem entschärft, indem wir das Modell nur auf Suchanfragen trainiert und alle Suchanfragen mit Rechtschreibfehlern einbezogen haben. Außerdem haben wir die Tokenisierungsstrategie grundlegend geändert und weitere sowie kleinere Token für das Training des Sprachmodells verwendet, damit es trotz Variationen in der Schreibweise die korrekte Semantik lernen kann. Dies macht das Modell wesentlich robuster.
Unser neuer abfrageorientierter Lösungsansatz: ein Drei-Module-System
Anschließend haben wir das Sprachmodell in eine Pipeline-Architektur für die semantische Suche integriert. Für die Lösungsarchitektur haben wir unser System in drei Module unterteilt: einen Aggregator, ein Modul zum Verstehen von Anfragen mit dem neuen Sprachmodell und einen semantischen Retriever.
Bildbeschreibung: Die Lösungsarchitektur besteht aus drei Modulen und einem zusätzlichen Ranking-System.
Die Hauptaufgabe des Aggregators besteht darin, Klickdaten aus dem Clickstream zu sammeln. In diesem Modul sammeln wir falsch geschriebene Suchanfragen und verknüpfen sie mit den angeklickten Produkten pro Sitzung. Auf diese Weise können wir die Bedeutung von falsch geschriebenen Suchanfragen durch die angeklickten Produkte im Kontext lernen.
Das zweite Modul in der Pipeline ist eine Komponente zum Verstehen von Suchanfragen. In dieser Komponente werden unbekannte Suchanfragen auf bekannte Suchanfragen abgebildet. Außerdem haben wir dem Modul eine Komponente für die Suche nach dem k-nächsten Nachbarn hinzugefügt. Für jede eingehende Anfrage suchen wir in einem dichten Vektorraum nach den k-nächsten bekannten Anfragen.
Schließlich verwenden wir die gefundenen k ähnlichen Abfragen, um relevante Produkte zu finden, die in einer graphbasierten Nachschlagetabelle gespeichert sind. Wir stellen fest, dass gut geformte Cluster von Produkten und Abfragen im Abfrage-Produkt-Klick-Graphen oft ein hohes Maß an textuell-semantisch ähnlichen Abfragen aufweisen. Daher verwenden wir die k ähnlichen Abfragen, um Produkte in Clustern aus einem Abfrage-Produkt-Klick zu sammeln. Dies ist eine neue und effektive Methode zur Aggregation von Clustern, sogar von fragmentierten Clustern, in einem spärlichen Klick-Graphen mit unterschiedlichen Schreibweisen der Suchanfragen. Wie in Abbildung 1 zu sehen ist, kann unser System die korrekten iPhone-Modelle abrufen, nachdem ein Benutzer die Anfrage "aifon13promax" eingegeben hat.
Online evaluation: A/B test
Nach der Entwicklung haben wir das neue System im Webshop otto.de für einen Live-A/B-Test eingesetzt. Das Ergebnis war, dass unser neues Modell in der Lage war, die Konversionsrate im 0-Treffer-Segment um25% und im Low-Treffer-Segment um mehr als 90% zu steigern. Wir sind sehr zufrieden mit diesem Ergebnis, das die Fruchtbarkeit unserer Problemanalyse und unseres neuen robusten, abfragezentrierten Lösungsansatzes unterstreicht.
In diesem Artikel erfahrt ihr mehr über ein modernes Terminal-Setup, moderne Alternativen zu klassischen Shell-Programmen und fortgeschrittene Git-Befehle.
OTTO und drei Partner brauchen deine Einwilligung (Klick auf "OK") bei einzelnen Datennutzungen, um Informationen auf einem Gerät zu speichern und/oder abzurufen (IP-Adresse, Nutzer-ID, Browser-Informationen).
Die Datennutzung erfolgt für personalisierte Anzeigen und Inhalte, Anzeigen- und Inhaltsmessungen sowie um Erkenntnisse über Zielgruppen und Produktentwicklungen zu gewinnen. Mehr Infos zur Einwilligung gibt’s jederzeit hier. Mit Klick auf den Link "Cookies ablehnen" kannst du deine Einwilligung jederzeit ablehnen.
Datennutzungen
OTTO arbeitet mit Partnern zusammen, die von deinem Endgerät abgerufene Daten (Trackingdaten) auch zu eigenen Zwecken (z.B. Profilbildungen) / zu Zwecken Dritter verarbeiten. Vor diesem Hintergrund erfordert nicht nur die Erhebung der Trackingdaten, sondern auch deren Weiterverarbeitung durch diese Anbieter einer Einwilligung. Die Trackingdaten werden erst dann erhoben, wenn du auf den in dem Banner auf otto.de wiedergebenden Button „OK” klickst. Bei den Partnern handelt es sich um die folgenden Unternehmen: Google Ireland Limited, Meta Platforms Ireland Limited, LinkedIn Ireland Unlimited Company
Weitere Informationen zu den Datenverarbeitungen durch diese Partner findest du in der Datenschutzerklärung auf otto.de/jobs. Die Informationen sind außerdem über einen Link in dem Banner abrufbar.