Den Nutzern zu ermöglichen, die Produkte zu finden, die sie suchen, ist die Kernaufgabe des Suchteams von otto.de. Aber nicht nur die relevanten Artikel zu finden, sondern auch die relevantesten Produkte an die Spitze der Liste zu setzen, ist eine der größten Herausforderungen, denen wir uns in unserem Job stellen. In diesem und den folgenden Beiträgen zeigen wir Ihnen, wie wir Learning to Rank implementiert haben, um unser Ranking zu verbessern, wie wir die eCommerce-spezifischen Herausforderungen meistern, die Suchqualität messen und wie wir die technische Umsetzung realisiert haben.
Da sich OTTO zu einem Marktplatz wandelt, nimmt die Anzahl und Vielfalt der angebotenen Produkte täglich zu. Eine größere Anzahl führt zu einer höheren Komplexität, insbesondere für das Suchsystem. Diese steigende Komplexität und die schiere Menge an Daten auf otto.de (siehe Abb. 1) sind mit traditionellen Ansätzen nicht zu bewältigen. Stattdessen nutzen wir Modelle des maschinellen Lernens (ML) für einen datengetriebenen Ansatz, der den größten Nutzen für unsere Kunden bietet. Für unser Ranking implementieren wir ein Learning-to-Rank-Modell (LTR). LTR hilft uns, den Recall zu erhöhen (angesichts der steigenden Produktzahlen werden wir eine immer größere Anzahl von Produkten pro Suchanfrage mit unterschiedlicher Relevanz für den Kunden zurückgeben), ohne das Risiko einzugehen, die Präzision bei sichtbaren Rängen zu verlieren.
Ranking-Modelle lernen Abstraktionen von Relevanzabhängigkeiten für Produkte bei einer bestimmten Anfrage. Bekannte LTR-Modelle verwenden punktweise, paarweise und listenweise Ansätze zur Optimierung des Rankings (für weitere Details siehe: https: //medium.com/swlh/pointwise-pairwise-and-listwise-learning-to-rank-baf0ad76203e). Wir verwenden LambdaMART, das als eine Kombination aus einem paarweisen und einem listenweisen Ansatz betrachtet werden kann. LambdaMART berechnet die Gradienten auf der Grundlage eines paarweisen Vergleichs der Elemente in der Liste, gefolgt von einer Gewichtung auf der Grundlage der NDCG (einer gängigen Ranking-Metrik) und kombiniert so die Vorteile beider Ansätze. Wie bereits erwähnt, haben diese Modelle ein großes Potenzial für den elektronischen Handel. Allerdings gibt es auch verschiedene sektorspezifische Herausforderungen zu berücksichtigen, von denen wir einige im nächsten Abschnitt behandeln werden.
Eine Herausforderung, mit der wir aufgrund unserer E-Commerce-Umgebung konfrontiert sind, besteht darin, dass wir keine Relevanzkennzeichnungen über Crowd Sourcing oder ähnliche Ansätze generieren können. Die Einschätzung der Relevanz eines Produkts in einer Crowd-Sourcing-Umgebung unterscheidet sich stark von der Kaufabsicht und der Einschätzung der Relevanz aus dieser Perspektive. Wir müssen daher die Bewertungen automatisch auf der Grundlage von Kundendaten modellieren. Wie das genau gemacht wird, hängt von dem KPI ab, für den wir optimieren wollen.
Ursprünglich wollten wir unser Modell nur für die Maximierung der Klicks optimieren. Wir haben jedoch bald herausgefunden, dass andere KPIs genauso wichtig, wenn nicht sogar wichtiger sind. Die Verfügbarkeit von Produkten zum Beispiel spielt eine große Rolle bei der Kaufentscheidung eines Kunden, genauso wie andere wichtige Faktoren auch. Mit diesem Wissen sind viele verschiedene Definitionen der Zielkennzahl denkbar
Die Modellintegrationspipeline ist in Abbildung 3 dargestellt. Zur Erstellung der Trainingsdaten verwenden wir eine Stichprobe von Abfragen. Für die Abfragen in diesem Satz berechnen wir Beurteilungen (unseren Ranking-Goldstandard) und Merkmale pro Abfrage-Produkt-Paar. Die Features werden im Solr-Feature-Store generiert. Durch die Kombination von Bewertungen und Merkmalen stellen wir die Trainingsdaten zusammen, die zur Erstellung unseres Ranking-Modells verwendet werden. Das Training des LambdaMART-Modells wird mit einem Fork von RankLib namens RankyMcRankface durchgeführt (siehe https://github.com/o19s/RankyMcRankFace). Das Modell wird dann in den Solr-Modellspeicher hochgeladen und in Solr für das Reranking verwendet. Wir können die Leistung des Modells mit einem Testabfrage-Set und unserem Offline Metrics Analyzer validieren. Mit diesem Tool können wir die NDCGs für verschiedene Konfigurationen unseres Suchsystems berechnen. So können wir ein LTR-Ranking mit dem Status Quo vergleichen oder verschiedene Modellleistungen analysieren.
Wenn du Erfahrung mit der Erstellung von Relevanzurteilen hast oder eine andere Meinung zur Erstellung von gelabelten Daten hast, würden wir dieses Thema gerne mit dir diskutieren. Bitte kontaktiere uns daher unter JARVIS@otto.de. In den folgenden Beiträgen werden wir erörtern, welche Daten wir für die Implementierung von LTR verwendet haben, wie wir die Suchqualität in unserer täglichen Arbeit messen und wie wir die Pipeline für die Datensammlung und das Modelltraining gestaltet haben.
Es gibt eine Menge zu tun: Lass uns gemeinsam etwas bewegen: Bewirb dich!
We have received your feedback.