Semantische Suche für den digitalen Handel

Präsentiert auf der Activate Product Discovery 2021. Im Kontext des digitalen Handels bezieht sich die semantische Suche auf eine Reihe von Techniken zum Auffinden von Produkten anhand ihrer Bedeutung, im Gegensatz zur lexikalischen Suche, bei der Produkte anhand von passenden Wörtern und deren Varianten gefunden werden. Erfahren Sie, wie die semantische Suche genutzt werden kann, um Null-Ergebnisse zu eliminieren und die Ergebnisse von Suchanfragen mit geringer Performance zu verbessern.
Sprecher:
Eric Redman, Lucidworks Principal Search Architect, Digitaler Handel
Abschrift
Eric Redman:
Hallo, mein Name ist Eric Redman, ich bin Principal Search Architect im Bereich Digital Commerce bei Lucidworks. Heute werde ich über die semantische Suche für den digitalen Handel sprechen.
Lassen Sie uns also damit beginnen, was ich meine. Was meine ich mit semantischer Suche? In Gesprächen mit Kollegen, Kunden usw. kommt dies häufig zur Sprache. Sie sehen einfach viele verschiedene Perspektiven, wenn sie sich die Websites von Anbietern und akademische Diskussionen usw. ansehen. Ich habe also mit der semantischen Suche und der Suche nach der Bedeutung begonnen, aber das ist nicht sehr hilfreich. Es ist nur ein Ausgangspunkt. Eine Antwort, die ich oft bekomme, wenn ich so anfange, ist: „Ja, aber wo stehen Sie denn? Sind Sie ein Anhänger des Wissensgraphen oder sind Sie der Meinung, dass die semantische Suche eine Vektorraumsuche beinhalten muss?“ Und ich sage, dass wir beides verwenden und dass es keine Einbahnstraße gibt und dass es noch nicht das eine Modell für alle gibt.
Wir verwenden mehrere Techniken, um die semantische Suche zu realisieren. Und das ist es, was wir heute haben: Es ist besser, Techniken zu kombinieren, um bestimmte Aspekte der semantischen Suche zu lösen. Woher kommt also diese… nicht Meinungsverschiedenheit, sondern einfach die Variabilität in der Perspektive, die die Leute einnehmen, wenn sie den Begriff semantische Suche verwenden, woher kommt das?
Nun, die Techniken, die für die semantische Suche zur Verfügung stehen, haben sich in den letzten 10 Jahren, genauer gesagt in mehr als 10 Jahren, ziemlich stark weiterentwickelt. Ich habe mir den Wikipedia-Artikel über die semantische Suche angesehen und wie er sich seit etwa 2007 entwickelt hat. Sie können das Diagramm unten auf dieser Folie sehen, das die Aktivitäten der Redakteure zeigt, die diesen Artikel immer wieder neu verhandeln. Und hier sehen Sie einige der Entwicklungen des ersten Satzes dieses Artikels, die ich aus der alten Maschine herausgezogen habe. Ich finde diese interessant.
Damals, 2007, lag der Schwerpunkt auf der Verknüpfung von Daten und Web und der Nutzung des Webs für die Forschung in XML und RDF. Wir werden also Daten im Web besser organisieren, und das wird unsere Möglichkeiten für die Forschung verbessern. Im Jahr 2010 hat sich dieser erste Satz des Wikipedia-Artikels dann weiterentwickelt und konzentriert sich nun mehr auf die Absicht des Suchenden und die kontextuelle Bedeutung der Begriffe in einer Suchanfrage.
Gehen wir neun Jahre weiter ins Jahr 2019 und wir sehen, dass die Suche nach der Bedeutung zurückkehrt und die semantische Suche von der lexikalischen Suche unterschieden wird, da bei der semantischen Suche versucht wird, die Gesamtbedeutung der Abfrage zu verstehen, anstatt zu versuchen, einzelne Begriffe zu finden. Damit schließt sich der Kreis, denn in der Vergangenheit ging es bei der semantischen Suche um die Suche nach der Bedeutung und nicht unbedingt um ein bestimmtes Protokoll oder eine bestimmte Art von Modell.
Google entwickelte auch seine Ansätze, Modelle und die Art und Weise, wie es über die Suche dachte, schnell weiter. Im Jahr 2012 kam der Google Knowledge Graph auf den Markt und das Unternehmen begann, dieses Motto zu verwenden – „Things not strings“. Ich fand, das war eine clevere Art und Weise, um das Wesentliche dessen, was sie zu tun versuchten, auf den Punkt zu bringen. Im Jahr 2015 gab Google bekannt, dass RankBrain, eine Sache namens RankBrain, verwendet wurde. Dabei handelte es sich um einen Ansatz des maschinellen Lernens, mit dem das Ranking von Seiten in den Suchergebnissen verbessert werden sollte.
Und 2019 kündigte Google BERT an und gab es für die Community frei. Sie nennen es neuronales Matching. Das ist der Punkt, an dem die semantische Vektorsuche, über die ich gesprochen habe, wirklich in Gang kam. Ich denke also, dass es sinnvoll ist, sich vorzustellen, dass die semantische Suche heute aus einer Kombination von Techniken besteht und dass jede Technik spezifische Probleme löst. Aber das übergeordnete Ziel bei der Kombination dieser Techniken im digitalen Handel ist es, auf eine Anfrage mit Produkten zu antworten, die für die Aufgabe oder das Interesse des Käufers relevant sind.
Ich höre also ständig von der Suchabsicht. Wir müssen die Absicht von Suchanfragen verstehen, und wir werden bei der Suche bessere Arbeit leisten, aber ich mag diese Formulierung nicht. Der Grund dafür ist, dass ich nicht glaube, dass Abfragen eine Absicht haben, sondern dass Käufer eine Absicht haben. Wir müssen eine Sprache verwenden, die uns das vor Augen führt. In meinem Beispiel auf der Folie: Wenn ich nach „OO“ Mehl suche, möchte ich vielleicht eine Pizza backen. Das ist eine große Sache bei der Pizza für zu Hause, jetzt, wo es um das Handwerk geht, dreht sich alles um das „OO“ Mehl. Bieten wir also nicht eine bessere Erinnerung oder relevantere Ergebnisse, wenn wir andere Produkte einbeziehen, die mit dem Backen oder der Zubereitung einer Pizza zu tun haben.
Ich habe also über mehrere Techniken gesprochen und möchte nun über zwei Beispiele oder zwei spezifische Techniken sprechen und darüber, wie wir sie in Kombination verwenden können. Die eine ist die semantische Vektorsuche, die andere das Parsen semantischer Abfragen.
Okay, semantische Vektorsuche. Es handelt sich um einen Deep Learning-Ansatz, bei dem das Modell anhand des Einkaufsverhaltens trainiert wird. Es erstellt einen gemeinsamen Vektorraum, in dem es Produkte und Suchanfragen so positionieren kann, dass sehr ähnliche Produkte und Suchanfragen nahe beieinander liegen und unähnliche Produkte und Suchanfragen weit voneinander entfernt sind. Und das ist sozusagen die Aufgabe dieses Modells. Wir nennen diese Art von Modell einen Kodierer, weil es Produktnamen, Beschreibungen und Abfragen in den gemeinsamen Vektorraum kodiert. Seine Aufgabe ist es, ähnliche Dinge nahe beieinander und unähnliche Dinge weit auseinander zu halten.
Was nun ähnlich und was unähnlich ist – das ist es, was aus dem Einkaufsverhalten gelernt wird. Und ich mochte die Analogie zu einem Lebensmittelgeschäft, um ein Beispiel aus der realen Welt zu geben: Lebensmittelgeschäfte bemühen sich wirklich sehr, die Produkte in den Regalen so zu organisieren, dass, wenn Sie nach einer Sache suchen, die nächste Sache, die zu dem passt, was Sie interessiert, in der Nähe ist. Wenn ich also nach Bio-Limonade suche, gibt es in meinem Umkreis andere Produkte, die
mich auch interessieren könnten.
Das Ziel des Lebensmittelladens ist es, Ihnen nicht nur genau das zu geben, was Sie gewünscht haben, sondern Sie auch dazu zu bringen, mit zwei oder drei anderen Artikeln zu gehen, von denen Sie nicht einmal dachten, dass Sie sie brauchen, als Sie kamen. Diese Art von Modell, der Encoder, über den ich gesprochen habe, kann auch aus anderen Signalen lernen. So kategorisieren Händler ihre Produkte, damit das Stöbern richtig funktioniert, sie ordnen die Produkte auf den Landing Pages an und diese Dinge können ebenfalls als Trainingsdaten für das Modell verwendet werden. Es geht also nicht nur um das Kaufverhalten der Kunden, aber das ist eine echte Primärquelle.
Okay, ich habe also gesagt, dass ich für jede Technik ein paar Probleme erläutern werde, die sie löst, und die semantische Vektorsuche ist wirklich gut darin, die Auffindbarkeit zu verbessern. Die Idee der Wiederauffindbarkeit hängt natürlich von einer Definition der Relevanz ab. Eine intuitivere Interpretation von Relevanz ist, dass Produkte für das Ziel oder das Interesse des Käufers relevant sind, und die semantische Vektorsuche ist darin besser als die lexikalische Suche. Und das ohne Kuratierung, das ist eine große Sache. Mit der lexikalischen Suche können wir mit genügend Zeit ziemlich gut arbeiten, aber sie erfordert eine Menge Synonyme, Rechtschreibkorrekturen, Formulierungen und andere Arten von Regeln, damit sie funktioniert. Und das Kuratieren – es ist kein „mach es richtig, oh puh, ich bin fertig“. Sie müssen ständig daran arbeiten, denn Ihr Produktsortiment ändert sich und das Vokabular, das die Kunden verwenden, ändert sich. Die semantische Vektorsuche lernt einfach aus den eingehenden Signalen und erfordert nicht diese ganze Kuratierung.
Es gibt noch ein weiteres Problem, mit dem die semantische Vektorsuche gut umgehen kann, und zwar Null-Ergebnisse. Mit der semantischen Faktorsuche können Sie Ihre Null-Ergebnis-Rate deutlich reduzieren. Und auch das hängt mit der Idee einer intuitiveren Darstellung des Abrufs zusammen, aber die semantische Vektorsuche macht eine Menge Kuratierung möglich, die sich speziell auf Null-Ergebnisse bezieht. Denken Sie vor allem an die Long-Tail-Anfragen, die Sie nie erreichen, weil sich die Suchteams und E-Commerce-Teams natürlich auf die Null-Ergebnisse konzentrieren, die häufiger vorkommen. Es gibt einen großen Pool von Long-Tail-Suchanfragen, die keine Ergebnisse liefern, und die semantische Faktorsuche wird diese ohne die ganze Kuratierung bearbeiten. Die Idee dahinter ist, dass der Merchandiser und der Suchingenieur entlastet werden und das E-Commerce-Team sich auf wichtigere Ziele konzentrieren kann.
Okay, semantisches Abfrage-Parsing. Wir haben über die semantische Vektorsuche gesprochen. Jetzt möchte ich über das Parsen von semantischen Abfragen und einige Probleme sprechen, mit denen es gut zurechtkommt. Semantisches Query Parsing ist im Grunde eine Art von Disambiguierung der Wortbedeutung und diese Idee oder Aufgabe gibt es schon lange und es wurden viele verschiedene Ansätze entwickelt, um einen Begriff zu disambiguieren. Wissen Sie, wenn ich das Wort Jaguar sehe, meine ich das Auto oder das Tier oder was, und es gibt viel Konkurrenz in diesem Bereich und einen Wettbewerb um den Stand der Technik, aber der Ansatz, viele der Ansätze, die gut funktionieren, basieren auf einer Art Wissensgraphen, und dieser Wissensgraph kann aus Ihren Produktdaten generiert werden. Er kann aus externen Daten wie Wikidata, Wikipedia und so weiter, DBpedia, stammen und er kann auch ein gewisses Maß an Kuratierung beinhalten.
Was können wir also mit semantischem Query Parsing tun? Nun, da wir mit semantischem Query Parsing in der Lage sind, Konzepte in einer Abfrage zu identifizieren, ich sage mal, Erwähnungen von Konzepten in einer Abfrage, können wir einige spezielle Verarbeitungen für verschiedene Konzepte vornehmen. Wir können sagen, dass einige Konzepte verhandelbar sind und andere nicht. In diesem Beispiel suche ich also nach „sour cream pint“. Ich möchte einen halben Liter saure Sahne und der Teil mit der sauren Sahne ist nicht verhandelbar. Wenn Sie keinen Liter saure Sahne haben, ist es für mich nicht hilfreich, wenn Sie mir einen Liter Schlagsahne zeigen. Ich brauche saure Sahne. Vielleicht ist das Konzept des Pint, also des Volumenkonzepts, verhandelbar, denn wenn Sie keine 16 Unzen saure Sahne mehr haben, könnte ich zwei acht Unzen besorgen oder die 24 Unzen und versuchen, herauszufinden, was ich mit den Resten machen soll.
Das Parsen semantischer Abfragen verbessert also die Präzision, weil wir die Abfragen auf intelligente Weise entspannen können, indem wir die nicht verhandelbaren Konzepte beibehalten und die verhandelbaren Konzepte ein wenig lockern. Stellen Sie sich dies in Kombination mit der semantischen Vektorsuche vor. Die semantische Vektorsuche ist sehr gut im Recall, aber etwas ungenau in der Präzision. Sie können sich also vorstellen, dass das Parsen semantischer Abfragen den Ergebnissen der semantischen Vektorsuche eine Dosis Präzision hinzufügt.
Hier ist eine zweite Idee. Sie ist ziemlich eng mit dem verwandt, was ich gerade über das Parsen semantischer Abfragen gesagt habe. Da wir aber Konzepte in der Abfrage identifizieren, benötigen einige dieser Konzepte vielleicht eine spezielle Verarbeitung, z.B. ein Modell, das speziell auf das Konzept zugeschnitten ist.
Und einige Beispiele, die ich hier anführe: Was ist, wenn die Abfrage sagt: „preiswert“ oder „preiswerte blaue Jeans“ oder „hellblaues Oberteil“ oder „legere Leggings“ oder etwas Ähnliches? Nun, diese Konzepte werden vielleicht nicht in einem allgemeinen Vektorraummodell behandelt. Ich sage es immer wieder – wir haben noch nicht wirklich ein Modell, das für alle gilt. Wir stellen fest, dass wir einige Probleme haben, die besondere Aufmerksamkeit erfordern. Ich denke, Farbe ist eines dieser Beispiele. Wir könnten semantisches Query Parsing verwenden, um diese Art von schwierigen Konzepten an ein spezialisiertes Modell zur weiteren Verarbeitung weiterzuleiten.
Wenn ich also von Farben spreche, dann meine ich damit Farbnamen und die Bedeutung von Farbnamen. Das ist schon seit langem ein Problem. Die Zuordnung von Farben auf der Grundlage von Namen ist in vielen Branchen, z.B. in der Bekleidungsindustrie, sehr wichtig. Seit mehr als hundert Jahren arbeiten die Menschen daran, eine Art Modell der menschlichen Wahrnehmung zu erstellen. Eines der berühmtesten und am häufigsten verwendeten Modelle ist der CIELab-Farbraum. Die Idee dabei ist, dass, wenn ich einen Farbnamen einem Punkt in diesem Farbraum zuordne und solange ich innerhalb dieses Punktes im Raum bleibe und mich nicht zu weit davon entferne, die meisten Menschen diese Farben in diesem Farbraum als gleich oder passend zu dem Farbnamen, den ich gerade gegeben habe, wahrnehmen werden.
Sie wissen schon, ein Mensch könnte sagen, dass diese beiden Farben, Farbe A und B, ein wenig unterschiedlich sind, aber für meine Zwecke, wenn ich ein Outfit zusammenstelle oder mein Haus dekoriere, was auch immer, sind sie nahe genug. Nun, diese Wahrnehmung von „nahe genug“ variiert stark, wenn Sie sich in diesem dreidimensionalen CIELab-Farbraum bewegen, und er leistet keine gute Arbeit bei diesem Problem.
Und um nur ein paar Beispiele zu nennen: Pink ist präziser und hat eine engere Begrenzung. Wenn wir Pink in diesem Modell lokalisieren, können wir uns nicht sehr weit davon entfernen, bevor die Leute sagen: Nein, das ist nicht Pink, aber Rot hat eine viel breitere Grenze.
Marineblau und Dunkelblau, das ist ein weiteres Beispiel für eine Variation der Präzision. Vielleicht brauchen wir also einen anderen Ansatz für den digitalen Handel. Und vielleicht sollten wir uns nicht zu sehr darum kümmern, die menschliche Wahrnehmung direkt zu modellieren, sondern eher das menschliche Verhalten.
Zurück zu unseren Einkaufssignalen: Wenn Menschen einkaufen und bei ihrer Suche einen Farbnamen in ihre Anfrage einfügen, dann ist das etwas, was wir mit unseren semantischen Abfrageteilen aufgreifen können. Wir könnten Trainingsdaten erstellen und sagen: „Hier sind die Farbnamen, die die Leute bei ihren Suchanfragen verwenden. Was legen sie dann tatsächlich in den Warenkorb? Oder was haben sie in den Suchergebnissen dafür angeklickt? Und dann können wir vielleicht einen Vektorraum trainieren, der das Vokabular des Käufers, wenn er Farbe sagt, sehr gut mit dem Katalog, den wir uns ansehen, in Verbindung bringt.
Was ist also unsere Meinung? Ich habe viele Optionen genannt – Sie könnten dies tun, Sie könnten das tun. Nun, es ist an der Zeit, eine Meinung zu äußern, und hier ist unsere Meinung bei Lucidworks. Heute haben wir also eine Implementierung der semantischen Vektorsuche und eine besondere Lösung für Null-Ergebnisse oder Anfragen mit geringer Leistung, die wir never null nennen. Never null ist eine Implementierung der semantischen Vektorsuche. Und wir können Ihnen auch bei anderen Anwendungen der semantischen Vektorsuche helfen. Das ist es, was wir heute haben. In Kürze werden wir eine Implementierung von semantischem Query Parsing haben, die in die semantische Vektorsuche integriert wird. Wie ich bereits sagte, werden wir also in der Lage sein, die hohe Trefferquote der Vektorsuche mit einer Art Präzisionsleitplanke zu versehen.
Und wenn wir darüber hinausblicken, sind wir in der Forschung, und zwar in dem Bereich, wie wir konzeptspezifische semantische Modelle integrieren können. Ich habe das Beispiel mit den Farben genannt, aber es gibt noch viele weitere. Und ich denke, dies ist auch eine echte Gelegenheit zur Zusammenarbeit, bei der Sie
Ihr eigenes Modell einbringen können. Vielleicht helfen wir Ihnen bei einigen grundlegenden Konzepten, aber vielleicht haben Sie in Ihrem Unternehmen Datenwissenschaftler, die sich mit bestimmten Konzepten besonders gut auskennen. Und Sie könnten dieses Modell mitbringen und es einbinden. Die Idee ist also, dass wir eine semantische Abfrageanalyse haben, die Konzepte identifiziert, und dann diese verschiedenen Konzepte für spezialisierte Prozesse weiterleitet.
Das war meine Präsentation. Ich danke Ihnen für Ihre Aufmerksamkeit und bitte Sie, sich nach der Sitzung für Fragen und Antworten zur Verfügung zu stellen.