Vorschläge

Produkte & Ressourcen

Zurück zu allen Ressourcen

Vom Suchbegriff zur multimodalen Suche

Früher bedeutete „Suche“ „Textsuche“, und Suchbegriffe wurden als „Schlüsselwörter“ bezeichnet. Diese Einschränkungen wirken mittlerweile überholt, da wir unsere Computer und Smartphones für so viele andere Zwecke nutzen. Wir identifizieren Songs mit Shazam, um herauszufinden, wie diese eingängige Melodie heißt. Wir hinterlassen uns Sprachnotizen. Wir machen Fotos, um uns an Orte und Dinge zu erinnern – und finden sie in anderen Zusammenhängen wieder.

Unsere jüngste Herausforderung bestand darin, über die Text- und Stichwortsuche hinauszugehen, um Ihr Kundenerlebnis multimodal zu gestalten. In den letzten zwölf Monaten haben wir eine leistungsstarke API zur Bildsuche entwickelt. 

Dieses E-Book beschreibt diesen Entwicklungsprozess.

Von Anfang an war es unser oberstes Ziel, die Bedürfnisse der Nutzer zu verstehen und das Design an deren Wünschen auszurichten. 

Wir haben drei Technologien genutzt, die das Herzstück des Bildempfehlungs-API-Dienstes bilden – Bildvektorisierung, Vektor-Hashing und Vektor-Abfrage –, um die Bildsuche in großem Maßstab durchzuführen.

Das Ergebnis ist mehr als nur eine Bild-API. Wir haben einen leistungsstarken Dienst zur Bildsuche und -empfehlung entwickelt, der sich für eine unendliche Vielzahl von geschäftlichen Anwendungsfällen eignet.

 

Das Geschäft mit den Bildern

Wir sind von Bildern umgeben. Die Geschäftswelt überlebt und gedeiht dadurch, dass sie Produkte visuell darstellt. Um Informationen darzustellen. Um zu berichten. Um Farbe, Textur, Stil, Ort und Stimmung zu vermitteln. Um die Fantasie anzuregen, zum Träumen anzuregen und die Neugier zu wecken.

All das mit Bildern. Und doch sind unsere digitalen Geräte erst seit relativ kurzer Zeit in der Lage, Bilder wirklich gut zu verarbeiten. Je besser unsere Apps und Benutzeroberflächen darin werden, Bilder zu erkennen und zu sortieren, desto schneller kommen uns neue und potenzielle Anwendungsfälle für Bildempfehlungen in den Sinn – und desto schneller arbeiten Entwickler daran, Technologien zu entwickeln, die diese Möglichkeiten nutzen.

Diese Beispiele kratzen nur an der Oberfläche.

Anwendungsfall

Lösung

Haben Sie einen Marktplatz mit einer großen Auswahl an verschiedenen, kurzlebigen Artikeln?

Stellen Sie Bildvorschläge bereit, die schnell, relevant und auf bestimmte Nutzerpfade zugeschnitten sind. 

Möchten Sie Ihren Kunden ein bildbasiertes „ Find-Me-This “-Einkaufserlebnis bieten?

Geben Sie den Kunden die Möglichkeit, Bilder (die im Geschäft oder im Alltag aufgenommen wurden) mit Produktkatalogen zu vergleichen, um gewünschte Artikel online leicht zu finden und das Online-Einkaufserlebnis zu verbessern.

Möchten Sie ein System, das im Laufe der Suchvorgänge des Nutzers immer besser lernt ?

Beziehen Sie den aktuellen Suchverlauf in die Suchergebnisse ein, um bessere visuelle Empfehlungen zu geben. Gewichten Sie die Ergebnisse zugunsten der zuletzt gesuchten Kategorie oder weg von Produkten, die bereits angezeigt wurden.

Welche Anwendungen würden Sie entwickeln, wenn Sie beliebige, vom Nutzer bereitgestellte visuelle Hinweise mit den Inhalten Ihres Unternehmens abgleichen könnten?

 

Entwicklung einer API zur Bildempfehlung für die Nutzer von heute

Als wir uns daran machten, eine API für die Bildsuche zu entwickeln, war uns klar, dass wir uns mit neuen Fragen und anderen Parametern auseinandersetzen würden.
Eines würde jedoch gleich bleiben: die Nutzer und ihre Erwartungen.

Geschwindigkeit ist unverzichtbar

Im Jahr 2023 erwarten Nutzer von ihren Apps und Diensten Echtzeit-Reaktionen, sofortige Antworten und nahtlose Interaktionen. Die Internetgiganten haben in Sachen Geschwindigkeit den Weg geebnet und verfügen über die Daten, die belegen, was Nutzer wollen und erwarten. 

Google hat gezeigt, dass eine Verzögerung von einer halben Sekunde ausreicht, um 20 % der Besucher von Websites abzuschrecken. Untersuchungen von Netflix ergaben, dass Zuschauer sich innerhalb von weniger als 2 Sekunden für einen Film entscheiden. Amazon stellte fest, dass eine Verzögerung von nur 100 Millisekunden zu einem Verlust von 1 % seines weltweiten Gesamtumsatzes führte.

Relevanz ist unverzichtbar

Ganz gleich, wie schnell Sie sind – die Anzeige falscher Ergebnisse ist ebenso schädlich. Nutzer wollen, brauchen und erwarten relevante Ergebnisse. Diese Erwartung wird durch Googles Statistiken zur Desktop-Suche bestätigt. Das oberste Ergebnis erhält ein Drittel aller Klicks. Das zehnte Ergebnis, das sich am unteren Rand der ersten Seite befindet, erhält zehnmal weniger Klicks. Zwei Drittel der Nutzer sind frustriert, wenn sie aufgrund irrelevanter Ergebnisse lange suchen müssen, und blättern niemals zur zweiten Seite weiter.

Auf Mobilgeräten, wo der Platz auf dem Bildschirm noch knapper ist, zählt oft nur das erste Ergebnis.

Das Gleiche gilt für neuere Suchmethoden, wie beispielsweise Sprachabfragen über dialogorientierte Schnittstellen. Wenn ein Sprachassistent nur ein einziges Ergebnis liefert, kommt eine irrelevante Antwort einem Fehlschlag gleich. Derzeit steht die Welt im Bann von ChatGPT. 

Die Nutzer haben extrem hohe Erwartungen an die Fähigkeiten ihrer Apps und Benutzeroberflächen im Bereich der natürlichen Sprache. Sie erwarten, dass sie auf Anhieb richtig verstanden werden.

Eine Studie von Ewa Luger und Abigail Sellen von Microsoft Research aus dem Jahr 2016 zeigte, dass die Nutzer höhere Erwartungen an die Systeme hatten, als realistisch zu erfüllen waren. Anstatt Fehler auf den aktuellen Stand der Technik im Bereich der künstlichen Intelligenz zurückzuführen, beurteilten die Nutzer die Systeme negativ, wenn diese falsche oder unverständliche Antworten lieferten.

„Wir stellen fest, dass die Erwartungen der Nutzer in keinem Verhältnis zur Funktionsweise der Systeme stehen, insbesondere was die bekannte künstliche Intelligenz, die Systemfähigkeiten und die Ziele betrifft.“

– EWA LUGER UND ABIGAIL SELLEN (2016),
„Als hätte man einen wirklich schlechten persönlichen Assistenten“: Die Kluft zwischen den Erwartungen der Nutzer und ihren Erfahrungen mit Dialogagenten

 

Multimodalität istunverzichtbar

Heutzutage erwarten Nutzer, dass die von ihnen genutzten Systeme Text und Bilder gemeinsam verstehen.
Das Empfehlungssystem „PinSage“ von Pinterest hilft Nutzern beispielsweise dabei, „Pins“ (Bild-Lesezeichen) zu finden, die sich auf Themen beziehen, für die sie sich interessieren. Es nutzt ein neuronales Netzwerk, das sowohl visuelle als auch textuelle Annotationen verarbeitet, um die Relevanz der Ergebnisse zu erhöhen. Indem PinSage Einbettungen von benachbarten Pins „übernimmt“, kann es Pins voneinander unterscheiden, die zwar visuelle Merkmale gemeinsam haben (z. B. Zaunpfahl und Bettpfosten), sich jedoch semantisch und kontextuell unterscheiden (Garten, aber nicht Schlafzimmer). 

Die Nutzer bemerken allmählich, dass diese Interaktionen zwischen Text und Bild bei ihren Lieblingsdiensten immer häufiger auftauchen. Netflix passt die Miniaturbilder individuell an, um jene flüchtigen zwei Sekunden zu optimieren, die Zuschauer bei der Auswahl einer Sendung verbringen. 

Die Menschen in einer bestimmten Stadt oder einem bestimmten Land sehen für dieselbe Ausstellung ganz andere „Box“-Motive als ihre Freunde und Verwandten, die anderswo leben. 

Die Nutzer erwarten Multimodalität nicht um ihrer selbst willen. 

Das Ziel besteht darin, die für den jeweiligen Kontext des Nutzers relevanteste Antwort zu liefern. Das bedeutet, dass sowohl Text als auch Bilder berücksichtigt und die Ergebnisse anhand weiterer Faktoren wie Suchverlauf und Standort personalisiert werden.

 

Vektorisierung: eine leistungsstarke Kerntechnologie

Die Kerntechnik, die diese Empfehlungen erst möglich macht, ist die Bildvektorisierung. Bei diesem Verfahren werden die Pixelwerte eines Bildes in numerische Werte, sogenannte Vektoren, umgewandelt.

Um ein Bild zu vektorisieren, wird es durch einen fortschrittlichen Deep-Learning-Algorithmus – ein konvolutionelles neuronales Netzwerk (CNN) – geleitet, das die relevanten Merkmale extrahiert. Auf diese Weise lernt das Modell, Bilder für Klassifizierungszwecke, zur Sortierung, zum Abruf und für andere bildbezogene Aufgaben zu unterscheiden.

Der „tiefe“ Aspekt des Deep Learning ist entscheidend. Je tiefer das Netzwerk ist, desto mehr Schichten gibt es, desto mehr Merkmale werden extrahiert und desto besser sollte die Leistung bei der Bildverarbeitung sein.

Im Zuge der Weiterentwicklung von CNNs wurden diese immer tiefer. Es stellte sich jedoch heraus, dass das Hinzufügen weiterer Schichten nicht nur den Trainingsprozess verlangsamte. Ab einem bestimmten Punkt verschlechterte es die Modellleistung und führte zu mehr Fehlern.

Residual Learning – der Schlüssel zum Erfolg

Glücklicherweise half 2015 eine bahnbrechende Veröffentlichung von Microsoft Research den Bildforschern, diese Hürde zu überwinden. Die Autoren von „Deep Residual Learning for Image Recognition“ entwarfen ein spezielles CNN, ein ResNet (Residual Neural Network), das mehr tiefe Schichten (bis zu 152) verarbeiten konnte, ohne die Komplexität zu erhöhen. Die Innovation bestand darin, Abkürzungen zwischen den Schichten einzufügen , um die Kompression zu erhöhen und den Prozess zu optimieren. Nach der Untersuchung verschiedener Tiefen kamen die Autoren zu dem Schluss, dass der „Sweet Spot“ entweder bei 18 oder bei 34 Schichten lag, wobei beide eine ähnliche Genauigkeit erzielten.

ResNet 18 konvergierte schneller und lieferte für die Zwecke von Algolia eine angemessene Leistung, ohne die Trainingszeit zu verlängern. Unsere Bild-API nutzt ResNet 18, um Bilder in Vektoren mit einer festen Länge von 512 umzuwandeln. Auch wenn dieses Detail für Endnutzer vielleicht nicht besonders auffällig ist, ist es für Marktplatzbetreiber von großem Wert. Es bedeutet, dass sie Bilder mit stark variierenden Größen vergleichen können, ohne sich um Größenunterschiede sorgen zu müssen – eine häufige Herausforderung bei nutzergenerierten Bildern.

Diese Vektoren – im Wesentlichen Koordinaten (eine Gleitkommazahl fester Größe) – werden dann in einem mehrdimensionalen grafischen Raum dargestellt. Wenn Gleitkomma-Vektoren hinzugefügt werden, entsteht ein weiteres Problem. Wie lässt sich dieser Prozess skalieren? Wenn sich Millionen von Gleitkomma-Vektoren im selben grafischen Raum befinden, wie kann man dann eine effiziente Klassifizierung, Zuordnung, Vergleich und Abfrage gewährleisten?

 

Vektor-Hashing: Der Schlüssel zur Skalierbarkeit

Wir stützten uns auf einen weiteren wichtigen Fortschritt: eine clevere Technik namens „Hashing“. Das Konzept wurde erstmals 1999 in einer Arbeit von Ruslan Salakhutdinov und Geoffrey Hinton als „semantisches Hashing“ vorgestellt.

Bei diesem Verfahren werden ähnliche Elemente näher beieinander gruppiert, sodass ihr Abruf auch bei großen Datenmengen effizient erfolgt.

„Wir zeigen, wie man ein tiefes grafisches Modell der aus einer großen Dokumentensammlung gewonnenen Worthäufigkeitsvektoren trainiert. Die Werte der latenten Variablen in der tiefsten Schicht lassen sich leicht ableiten und liefern eine wesentlich bessere Darstellung jedes Dokuments als die Latent Semantic Analysis. Wenn die tiefste Schicht gezwungen wird, eine kleine Anzahl binärer Variablen (z. B. 32) zu verwenden, führt das grafische Modell ein ‚semantisches Hashing‘ durch: Dokumente werden so auf Speicheradressen abgebildet, dass semantisch ähnliche Dokumente an nahe beieinander liegenden Adressen gespeichert werden.“

- Ruslan Salakhutdinov und Geoffrey Hinton, Semantic Hashing

Die eigentliche Erkenntnis, zu der Salakhutdinov und Hinton mit dieser Forschung gelangen, ist, dass visuellen Deep-Learning-Modellen die Bedeutung dessen, was sie betrachten, beigebracht werden kann und dass sie lernen, verwandte Objekte einander näher zu bringen. Sie werden beispielsweise den Zusammenhang zwischen einer Mütze und einem Hut verstehen.

Unsere Bild-API berücksichtigt diese Erkenntnisse und nutzt eine spezielle Art des Hashings, die 1999 von Aristides Gionis, Piotry Indyk und Rajeev Motwani vorgeschlagen wurde.

Dieses als „Locality Sensitive Hashing“ (LSH) bezeichnete Hashing-Verfahren wandelt Float-Vektoren in binäre Hashwerte um.

Nahezu jedes System zur schnellen Informationssuche stützt sich in gewisser Weise auf eine binäre Unterteilung des Datensatzes. Selbst ein Verfahren wie das Faceting funktioniert wie ein binärer Filter. Ist ein Artikel vorrätig oder nicht? Auch bei der Stichwortübereinstimmung kommt ein binärer Filter zum Einsatz. Entweder gibt es eine Übereinstimmung oder nicht.

Auch fortschrittliche Kataloganalysen – wie beispielsweise die Vorhersage, welche Artikel vor Ablauf eines Verkaufs möglicherweise nicht mehr vorrätig sein werden – fungieren ebenfalls als binärer Filter (wahr/falsch). Liegt der Absatz dieses Artikels über oder unter den Erwartungen für den aktuellen Zeitraum? 

Bei LSH läuft die binäre Funktion auf die Nähe ab. Die Elemente im Datensatz sind – basierend auf ihren Vektorwerten – entweder einander ähnlich oder unähnlich. 

„Die Grundidee besteht darin, die Punkte aus der Datenbank zu hashen, um sicherzustellen, dass die Kollisionswahrscheinlichkeit bei Objekten, die nahe beieinander liegen, deutlich höher ist als bei solchen, die weit voneinander entfernt sind.“

Aristides Gionis, Piotr Indyk, Rajeev Motwani,
„Ähnlichkeitssuche in hohen Dimensionen mittels Hashing“

Bei LSH weisenwir keine binären Merkmale zu, die ähnliche Dokumente von unterschiedlichen unterscheiden,
sonderntrainieren ein Deep-Learning-Modell, um diese Merkmale zu ermitteln. Dabei erstellen wir eine effiziente semantische binäre Hash-Funktion. 

Sobald das Modell weiß, welche Vektoren diese verschiedenen Partitionen unserer Daten gut repräsentieren, können wir sie mithilfe der Suche nach dem nächsten Nachbarn (NNS) oder der approximativen Suche nach dem nächsten Nachbarn (ANN) effizient abrufen, um schnellere Ergebnisse zu erzielen.

Vektorabfrage, die auf Geschwindigkeit ausgelegt ist

Dazu nutzt unsere Bildabruf-API eine hochmoderne ANN-Methode, die als „Hierarchical, Navigable, Small World“ (HNSW)-Graphen bezeichnet wird. Zunächst erstellen wir einen Proximity-Graphen. Anschließend ordnen wir unsere Vektoren im Raum an. Schließlich verbinden wir sie mit ihren Nachbarn. Der Graph lässt sich schnell durchlaufen, um die besten Empfehlungen mit unglaublicher Effizienz abzurufen. Während dies bei den meisten Systemen für kleine Kataloge zu erwarten wäre, stellt unser neues System bei riesigen Katalogen eine bahnbrechende Neuerung dar und erreicht dieselbe Effizienz auch bei Tausenden von Artikeln.

Als letzten Schritt verknüpfen wir die entsprechenden Vektoren mit den Objektmetadaten – Bild, Beschreibung, Preis usw. – und liefern dem Endnutzer sofortige Ergebnisse.

 

Kontextsensitive Bildsuche – leistungsstark, flexibel und benutzerfreundlich

Bildvektorisierung, binäres Hashing und Vektorabfrage mithilfe von HNSW ermöglichen schnelle, relevante Empfehlungen.
Zusammen ergeben sie eine leistungsstarke, vielseitigeAPI für Bildempfehlungen, die sich an unzählige Anwendungsfälle anpassen lässt:

  • Schlagen Sie den Kunden ähnlich aussehende Produkte vor, wenn die von ihnen gesuchten Artikel (Kleidung, Videos, Artikel) nicht verfügbar sind
  • Bestimmte Produkte (Bilder) bewerben, die mit bestimmten Orten oder Themen in Verbindung stehen.
  • Ermutigen Sie die Nutzer, Ihren Katalog zu erkunden, indem Sie ähnlich aussehende Artikel anzeigen.

Nachdem ein Kunde in Ihrem Katalog nach der bekannten Marke „A“ gesucht hat, nutzen Sie die Vorteile der Vektorsuche, um ihm ähnlich aussehende Alternativen der Marke „B“ anzubieten ( vielleicht eine Eigenmarke mit besseren Margen für Sie oder eine kostengünstigere Option für Ihren Kunden).

Schnell und flexibel

Auch unter dem Gesichtspunkt der Benutzerfreundlichkeit ist die API von enormem Wert. Da bei ihrer Entwicklung der Schwerpunkt auf effizienten Abfragen lag, erfolgt der Abruf schnell. Im Praxistest zeigen auch die Indizierung und die Latenzzeiten überzeugende Ergebnisse. 

Indexing ~50k images in <1 hour
Handling up to half-a-million images in a few hours

Dank der verteilten Indizierung lassen sich diese Ergebnisse auf Hunderte von Bildern pro Sekunde skalieren, um den Anforderungen der Nutzer bei umfangreichen Bildkatalogen gerecht zu werden.

Einfache Filterung mit Abfrageparametern

Um die Sache einfach zu halten, umfasst die API eine begrenzte Anzahl variabler Parameter, wodurch Unternehmen folgende Möglichkeiten haben:

  • Legen Sie den Schwellenwert für die „Qualität“ der Bildübereinstimmungen fest, um nach Ähnlichkeit zu filtern
  • Geben Sie an, wie viele Empfehlungen angezeigt werden sollen
  • Stellen Sie sicher, dass die Bildübereinstimmungen eine bestimmte Qualität aufweisen, damit Sie die Ergebnisse mit einer Reihe optionaler Filter weiter verfeinern können, zum Beispiel:
    • Bestimmte Ergebnisse stärker hervorheben, wenn sie einer bestimmten Kategorie entsprechen
    • Nutzen Sie erweiterte Funktionen wie die Deduplizierung (behandeln Sie jede der 5 T-Shirt-Empfehlungen in 5 verschiedenen Farben als eigenständigen Vorschlag)
    • Empfehlungen filtern, um eine einzelne Artikelkategorie anzuzeigen (z. B. Accessoires)
    • Ergebnisse nach vorrätigen Artikeln filtern
    • Ergebnisse nach vorrätigen Artikeln an einem bevorzugten Standort filtern

 

Die Möglichkeiten visualisieren: Mit einer ausdrucksstarken API unendliche Anwendungsfälle erschließen

Die Herausforderung bei Bildempfehlungen besteht darin, dass es nicht allein auf das Bild ankommt. Damit Unternehmen einen Nutzen daraus ziehen können, müssen wir die Bildsignale mit textuellen und geschäftlichen Signalen kombinieren, wie beispielsweise der textuellen Relevanz der Beschreibung, der Preisspanne oder der Verfügbarkeit. Die „richtige“ Kombination kann je nach Anwendungsfall, Kunde und Suchanfrage sehr unterschiedlich ausfallen. Das sind entscheidende geschäftliche Entscheidungen.

Unser oberstes Ziel ist es, Unternehmen die Möglichkeit zu geben, die kontextbezogene Bildersuche so umfassend wie möglich zu nutzen. Um dies zu unterstützen, nutzt unsere API das Rohbildmodell. An dieser Stelle übernimmt das Unternehmen. Sie können die Eigenschaften auf Objektebene nutzen, um diese Ergebnisse nach Bedarf zu filtern, neu zu ordnen und nachzubearbeiten. Sie kennen Ihren Anwendungsfall und Ihre Kunden besser als jeder andere.

Genau das macht die API so vielseitig. Durch die Kombination aus Rohbildmodell, Filterfunktionen und Fallback-Funktionen können Sie mit ein und demselben Tool eine unbegrenzte Vielzahl von Anforderungen erfüllen.

Ein Online-Schuhshop könnte beispielsweise auf seiner Startseite „Bestseller und ähnlich aussehende Artikel von Top-Marken“ anzeigen. Gleichzeitig könnte die Produktseite der Marke „A“ „ähnlich aussehende Artikel von weniger bekannten Marken“ zeigen, wobei Filter in gegensätzlicher Weise eingesetzt werden, um das Nutzererlebnis präzise zu gestalten.

Ein anderer Shop möchte vielleicht, dass auf seiner Startseite „ähnliche Artikel der Marke ‚X‘“ angezeigt werden, allerdings nur, wenn diese vorrätig sind, während auf einer Inspirationsseite zur „kommenden Kollektion“ „ähnliche Artikel der Marke X“ angezeigt werden, die sowohl der Kategorie „nicht vorrätig“ als auch der Kategorie „Winterkollektion 2024“ entsprechen.    

 

Verschaffen Sie sich mit Bildempfehlungen einen umfassenden Überblick

Vorbei sind die Zeiten, in denen „Suchen“ gleichbedeutend mit „Suchbegriffe“ und „Suchergebnisse“ gleichbedeutend mit „Seiten voller Text“ und Links war.

Kunden wünschen sich schnelle, relevante Ergebnisse von Schnittstellen, die sie in einer Weise verstehen, die für die jeweilige Anfrage und den jeweiligen Moment sinnvoll ist.

Nehmen Sie Kontakt mit uns auf, um mehr über die Bildempfehlungs-API von Algolia zu erfahren. Kurz gesagt handelt es sich um ein leistungsstarkes und effizientes System zur Bildsuche mittels Vektor-Hashing, das in einer flexiblen API verpackt und als Managed Service bereitgestellt wird.

Unsere Entwickler unterstützen Sie gerne dabei, einen Anwendungsfall für Ihren Bildkatalog zu entwickeln, der für Ihr Unternehmen sinnvoll ist und schnell relevante Ergebnisse liefert. Fordern Sie noch heute eine Demo an und entdecken Sie eine Welt voller Möglichkeiten, um Ihre Kunden mit Produkten und Dienstleistungen zu verbinden.

Jeden in die Lage versetzen, hervorragende Such- und Entdeckungsfunktionen zu entwickeln