Wie funktioniert die Amazon-Empfehlungsfunktion?


144

Welche Technologie steckt hinter den Bildschirmen der Amazon-Empfehlungstechnologie? Ich glaube, dass die Amazon-Empfehlung derzeit die beste auf dem Markt ist, aber wie liefern sie uns solche relevanten Empfehlungen?

Vor kurzem waren wir an ähnlichen Empfehlungsprojekten beteiligt, möchten aber sicherlich technisch über die Vor- und Nachteile der Amazon-Empfehlungstechnologie Bescheid wissen.

Alle Eingaben wären sehr dankbar.

Aktualisieren:

Dieses Patent erklärt, wie personalisierte Empfehlungen erstellt werden, ist jedoch nicht sehr technisch. Daher wäre es sehr schön, wenn einige Erkenntnisse geliefert werden könnten.

Aus den Kommentaren von Dave geht hervor, dass die Affinitätsanalyse die Grundlage für solche Empfehlungs-Engines bildet. Auch hier sind einige gute Lektüren zum Thema

  1. Analyse des entmystifizierenden Warenkorbs
  2. Warenkorbanalyse
  3. Affinitätsanalyse

Vorgeschlagene Literatur:

  1. Data Mining: Konzepte und Techniken

3
Haben Sie versucht, ihren Stapel von Patenten zu sichten? google.com/patents
Dolph

Ja, ich habe das Patent durchlaufen, aber es ist nicht sehr technisch und würde daher einige Einblicke in den technischen Aspekt des Mechanismus
Rachel

1
@ Dave: Diese Frage ist jetzt offen und ich würde mich sehr freuen, wenn Sie weitere Einblicke in die Technologie hinter der Architektur und Funktionalität der Empfehlungs-Engine geben können, die Amazon für die Bereitstellung von Empfehlungen verwendet.
Rachel

1
Ich würde das Amazon-Empfehlungssystem nicht als "das Beste" oder sogar als nützlich bezeichnen. Wenn Sie eine Maus bestellen, empfiehlt es sich, auch eine andere zu kaufen. Warum sollte ein normaler Benutzer zwei Mäuse gleichzeitig benötigen?

1
@Rachel: Da Sie wissen, dass das System von Amazon patentiert ist und Sie etwas Ähnliches entwickeln möchten, würde ich nicht einmal einen Blick auf ihre Patente werfen - und natürlich schützt es Sie auch nicht, wenn Sie sie nicht ansehen, aber es ist ein Anfang.

Antworten:


104

Es ist sowohl eine Kunst als auch eine Wissenschaft. Typische Studienbereiche drehen sich um die Warenkorbanalyse (auch Affinitätsanalyse genannt), die eine Teilmenge des Bereichs Data Mining darstellt. Typische Komponenten in einem solchen System umfassen die Identifizierung von primären Treiberelementen und die Identifizierung von Affinitätselementen (Zubehör-Upsell, Cross-Selling).

Denken Sie an die Datenquellen, die sie abbauen müssen ...

  1. Gekaufte Einkaufswagen = echtes Geld von echten Menschen, die für echte Gegenstände ausgegeben wurden = leistungsstarke Daten und vieles davon.
  2. Artikel, die zu Einkaufswagen hinzugefügt, aber aufgegeben wurden.
  3. Online-Preisexperimente (A / B-Tests usw.), bei denen dieselben Produkte zu unterschiedlichen Preisen angeboten werden und die Ergebnisse angezeigt werden
  4. Verpackungsexperimente (A / B-Tests usw.), bei denen verschiedene Produkte in verschiedenen "Bündeln" angeboten werden oder verschiedene Artikelpaarungen rabattiert werden
  5. Wunschliste - was speziell für Sie darauf steht - und insgesamt kann sie ähnlich wie ein anderer Strom von Korbanalysedaten behandelt werden
  6. Empfehlungsseiten (die Identifizierung, woher Sie gekommen sind, kann auf andere interessante Elemente hinweisen)
  7. Verweilzeiten (wie lange dauert es, bis Sie zurückklicken und einen anderen Artikel auswählen)?
  8. Bewertungen von Ihnen oder denen in Ihrem sozialen Netzwerk / in Ihren Einkaufskreisen - Wenn Sie Dinge bewerten, die Ihnen gefallen, erhalten Sie mehr von dem, was Sie mögen, und wenn Sie mit der Schaltfläche "Ich besitze es bereits" bestätigen, erstellen sie ein sehr vollständiges Profil von Ihnen
  9. Demografische Informationen (Ihre Lieferadresse usw.) - Sie wissen, was in Ihrer Region für Ihre Kinder, sich selbst, Ihren Ehepartner usw. beliebt ist.
  10. Benutzersegmentierung = Haben Sie 3 Bücher in getrennten Monaten für ein Kleinkind gekauft? wahrscheinlich ein Kind oder mehr haben .. etc.
  11. Direktmarketing-Klickdaten - Haben Sie eine E-Mail von ihnen erhalten und sich durchklickt? Sie wissen, um welche E-Mail es sich handelt und worauf Sie geklickt haben und ob Sie sie als Ergebnis gekauft haben.
  12. Klicken Sie in der Sitzung auf Pfade - was haben Sie angezeigt, unabhängig davon, ob es in Ihren Warenkorb gelegt wurde?
  13. Häufigkeit, mit der ein Artikel vor dem endgültigen Kauf angesehen wurde
  14. Wenn Sie es mit einem stationären Geschäft zu tun haben, kann es sein, dass Ihre physische Kaufhistorie ebenfalls abläuft (z. B. Spielzeug für uns oder etwas, das online ist, und auch ein physisches Geschäft).
  15. usw. usw. usw. usw.

Glücklicherweise verhalten sich die Menschen insgesamt ähnlich. Je mehr sie über die kaufende Bevölkerung im Allgemeinen wissen, desto besser wissen sie, was verkauft wird und was nicht. Mit jeder Transaktion und jeder Bewertung / Wunschliste, die sie hinzufügen / durchsuchen, wissen sie, wie sie Empfehlungen persönlicher anpassen können. Denken Sie daran, dass dies wahrscheinlich nur eine kleine Auswahl der gesamten Einflüsse dessen ist, was in Empfehlungen usw. endet.

Jetzt habe ich keine Insider-Kenntnisse darüber, wie Amazon Geschäfte macht (hat dort nie funktioniert), und ich spreche nur über klassische Ansätze für das Problem des Online-Handels. Früher war ich der PM, der für Microsoft an Data Mining und Analytics gearbeitet hat Produkt namens Commerce Server. Wir haben in Commerce Server die Tools ausgeliefert, mit denen Benutzer Websites mit ähnlichen Funktionen erstellen können. Je größer das Verkaufsvolumen, desto besser die Daten, desto besser das Modell - und Amazon ist GROSS. Ich kann mir nur vorstellen, wie viel Spaß es macht, mit Modellen mit so vielen Daten auf einer handelsorientierten Website zu spielen. Jetzt sind viele dieser Algorithmen (wie der Prädiktor, der in Commerce Server gestartet wurde) direkt in Microsoft SQL integriert .

Die vier großen Möglichkeiten, die Sie haben sollten, sind:

  1. Amazon (oder ein beliebiger Einzelhändler) untersucht aggregierte Daten für Tonnen von Transaktionen und Tonnen von Menschen. Dies ermöglicht es ihnen, anonyme Benutzer auf ihrer Website sogar recht gut zu empfehlen.
  2. Amazon (oder ein anspruchsvoller Einzelhändler) verfolgt das Verhalten und die Einkäufe von angemeldeten Personen und verwendet diese, um die Daten der Massenaggregate weiter zu verfeinern.
  3. Oft gibt es ein Mittel, um die gesammelten Daten zu überschreiben und die "redaktionelle" Kontrolle über Vorschläge für Produktmanager bestimmter Linien zu übernehmen (wie eine Person, die die Vertikale "Digitalkameras" oder die Vertikale "Romane" oder ähnliches besitzt), wo sie wirklich sind sind Experten
  4. Es gibt oft Sonderangebote (z. B. Sony oder Panasonic oder Nikon oder Canon oder Sprint oder Verizon, die dem Einzelhändler zusätzliches Geld zahlen oder bei größeren Mengen oder anderen Dingen in diesen Bereichen einen besseren Rabatt gewähren), die dazu führen, dass bestimmte "Vorschläge" auftauchen häufiger als andere - es steckt immer eine vernünftige Geschäftslogik und ein vernünftiger Geschäftsgrund dahinter, der darauf abzielt, bei jeder Transaktion mehr zu erreichen oder die Großhandelskosten usw. zu senken.

In Bezug auf die tatsächliche Umsetzung? Nahezu alle großen Online-Systeme beschränken sich auf eine Reihe von Pipelines (oder eine Filtermusterimplementierung oder einen Workflow usw., wie Sie es nennen), die es ermöglichen, einen Kontext durch eine Reihe von Modulen zu bewerten, die irgendeine Form von anwenden Geschäftslogik.

Normalerweise wird jeder einzelnen Aufgabe auf der Seite eine andere Pipeline zugeordnet. Möglicherweise haben Sie eine, die "Pakete / Upsells" empfiehlt (dh diese mit dem Artikel kaufen, den Sie sich ansehen), und eine, die "Alternativen" ausführt (dh kaufen) Dies anstelle der Sache, die Sie sich ansehen) und eine andere, die Artikel, die am engsten verwandt sind, von Ihrer Wunschliste abruft (nach Produktkategorie oder ähnlichem).

Die Ergebnisse dieser Pipelines können auf verschiedenen Teilen der Seite platziert werden (über der Bildlaufleiste, unter dem Bildlauf, links, rechts, verschiedene Schriftarten, Bilder unterschiedlicher Größe usw.) und getestet werden, um festzustellen, welche Leistung erzielt wird Beste. Da Sie nette, einfach zu Plug-and-Play-Module verwenden, die die Geschäftslogik für diese Pipelines definieren, erhalten Sie das moralische Äquivalent von Legoblöcken, mit denen Sie einfach die Geschäftslogik auswählen können, die beim Erstellen einer anderen Pipeline angewendet werden soll Dies ermöglicht schnellere Innovationen, mehr Experimente und letztendlich höhere Gewinne.

Hat das überhaupt geholfen? Ich hoffe, das gibt Ihnen einen kleinen Einblick, wie dies im Allgemeinen für nahezu jede E-Commerce-Website funktioniert - nicht nur für Amazon. Amazon (von Gesprächen mit Freunden, die dort gearbeitet haben) ist sehr datengetrieben und misst kontinuierlich die Effektivität seiner Benutzererfahrung sowie die Preisgestaltung, Werbung, Verpackung usw. - sie sind ein sehr hoch entwickelter Online-Händler und wahrscheinlich an der Spitze von Viele der Algorithmen, mit denen sie den Gewinn optimieren - und das sind wahrscheinlich geschützte Geheimnisse (Sie kennen die Formel für die geheimen Gewürze von KFC) und werden als solche geschützt.


1
Ja. Es hat mir sehr geholfen und ich schätze Ihre Beiträge zu diesem Thema sehr.
Rachel

erstaunliche Einsichten
Shobi

28

Dies hängt nicht direkt mit dem Empfehlungssystem von Amazon zusammen, aber es kann hilfreich sein, die Methoden zu untersuchen, die von Personen verwendet werden, die am Netflix-Preis teilgenommen haben , einem Wettbewerb zur Entwicklung eines besseren Empfehlungssystems unter Verwendung von Netflix-Benutzerdaten. In ihrer Community gibt es viele gute Informationen zu Data Mining-Techniken im Allgemeinen.

Das Team, das gewonnen hat, verwendete eine Mischung aus den Empfehlungen, die von vielen verschiedenen Modellen / Techniken generiert wurden. Ich weiß, dass einige der Hauptmethoden die Hauptkomponentenanalyse, die Methoden des nächsten Nachbarn und neuronale Netze waren. Hier sind einige Beiträge des Gewinnerteams:

R. Bell, Y. Koren, C. Volinsky, " Die BellKor 2008-Lösung für den Netflix-Preis ", (2008).

A. Töscher, M. Jahrer, „ Die BigChaos-Lösung für den Netflix-Preis 2008 “, (2008).

A. Töscher, M. Jahrer, R. Legenstein, " Verbesserte nachbarschaftsbasierte Algorithmen für Empfehlungssysteme im großen Maßstab ", SIGKDD-Workshop zu großen Empfehlungssystemen und der Netflix-Preiswettbewerb (KDD'08), ACM Press (2008) .

Y. Koren, " Die BellKor-Lösung für den Netflix-Hauptpreis ", (2009).

A. Töscher, M. Jahrer, R. Bell, " Die BigChaos-Lösung für den Netflix-Hauptpreis ", (2009).

M. Piotte, M. Chabbert, " Die pragmatische theoretische Lösung für den Netflix-Hauptpreis ", (2009).

Die Arbeiten von 2008 stammen aus dem Fortschrittspreis des ersten Jahres. Ich empfehle, zuerst die früheren zu lesen, da die späteren auf den vorherigen Arbeiten aufbauen.


2
Was mir an dieser Antwort gefällt, ist, dass sie darauf hinweist, dass es keine "perfekte" Antwort gibt und dass die Menschen in diesem Bereich ständig innovativ sind - es gibt immer Raum für Verbesserungen, und wenn sich die Zeiten ändern und neue Methoden auf die Probleme angewendet werden wird immer wieder anders gelöst. Und wenn Sie die detaillierten Links lesen, können Sie sehen, wie es eine "Mischung" mehrerer Ansätze zur Vorhersage in jedem der großen Anwärter auf den Preis gibt. Tolle Referenzen.
Dave Quick


20

(Disclamer: Ich habe früher bei Amazon gearbeitet, obwohl ich nicht im Empfehlungsteam gearbeitet habe.)

Die Antwort von ewernli sollte die richtige sein - das Papier verweist auf das ursprüngliche Empfehlungssystem von Amazon, und nach allem, was ich sagen kann (sowohl aus persönlicher Erfahrung als Amazon-Käufer als auch aus der Arbeit an ähnlichen Systemen bei anderen Unternehmen), hat sich sehr wenig geändert: at Im Kern basiert die Empfehlungsfunktion von Amazon immer noch sehr stark auf der kollaborativen Filterung von Artikel zu Artikel.

Schauen Sie sich nur an, wie die Empfehlungen aussehen: Auf meiner Startseite haben sie entweder die Form "Sie haben X ... Kunden, die dies auch gesehen haben, haben auch ..." gesehen, oder eine Mischung aus ähnlichen Elementen Ich habe schon einmal gekauft oder angesehen. Wenn ich speziell zu meiner Seite "Für Sie empfohlen" gehe, beschreibt jeder Artikel, warum er für mich empfohlen wird: "Empfohlen, weil Sie gekauft haben ...", "Empfohlen, weil Sie X zu Ihrer Wunschliste hinzugefügt haben ..." usw. Dies ist Ein klassisches Zeichen für die kollaborative Filterung von Artikel zu Artikel.

Wie funktioniert die kollaborative Filterung von Artikel zu Artikel? Grundsätzlich erstellen Sie für jeden Artikel eine "Nachbarschaft" verwandter Artikel (z. B. indem Sie sich ansehen, welche Artikel die Benutzer zusammen angesehen oder welche Artikel zusammen gekauft haben. Um die Ähnlichkeit zu bestimmen, können Sie Metriken wie den Jaccard-Index verwenden Korrelation verwenden ist eine andere Möglichkeit, obwohl ich vermute, dass Amazon Bewertungsdaten nicht sehr stark verwendet). Wenn ich dann einen Artikel X ansehe oder einen Kauf Y tätige, schlägt Amazon mir Dinge in derselben Nachbarschaft wie X oder Y vor.

Einige andere Ansätze, die Amazon möglicherweise verwenden könnte, aber wahrscheinlich nicht, werden hier beschrieben: http://blog.echen.me/2011/02/15/an-overview-of-item-to-item-collaborative-filtering -mit-Amazonas-Empfehlungssystem /

Vieles, was Dave beschreibt, wird bei Amazon mit ziemlicher Sicherheit nicht gemacht. (Bewertungen von Personen in meinem sozialen Netzwerk? Nein, Amazon hat keine meiner sozialen Daten. Dies wäre auf jeden Fall ein massives Datenschutzproblem, daher wäre es für Amazon schwierig, dies zu tun, selbst wenn sie diese Daten hätten: Die Leute möchten nicht, dass ihre Freunde wissen, welche Bücher oder Filme sie kaufen. Demografische Informationen? Nein, nichts in den Empfehlungen deutet darauf hin, dass sie sich das ansehen. [Im Gegensatz zu Netflix, wer taucht auf, was andere Leute in meiner Umgebung sehen .])


Amazon hat jahrelang Kaufkreise aufgedeckt - anonymisierte Kauftrends basierend auf dem Domainnamen und der Postleitzahl des Unternehmens. Es mussten mindestens 50 verschiedene Käufer in einem Kaufkreis sein, bevor Sie Informationen darüber erhalten konnten. Amazon hat diese Informationen also auf jeden Fall gespeichert, verfolgt und verwendet, um sich selbst (und anderen) zu helfen, zu verstehen, was beliebt war. Sie können sich CDs, Elektronik und Buchkäufe in Ihrer Nähe oder in Ihrem Unternehmen ansehen. Sie wurden von 1999 bis 2002 ausgesetzt. forum.dvdtalk.com/archive/t-122436.html enthält sogar eine Kopie des Textes von Amazon, in dem sie beschrieben werden.
Dave Quick

3

Ich habe keine spezifischen Kenntnisse über den Amazon-Algorithmus, aber eine Komponente eines solchen Algorithmus würde wahrscheinlich darin bestehen, häufig zusammen bestellte Artikelgruppen zu verfolgen und diese Daten dann zu verwenden, um andere Artikel in der Gruppe zu empfehlen, wenn ein Kunde eine Teilmenge des Algorithmus kauft Gruppe.

Eine andere Möglichkeit wäre, die Häufigkeit der Bestellung von Artikel B innerhalb von N Tagen nach Bestellung von Artikel A zu verfolgen, was auf eine Korrelation hindeuten könnte.


2

Soweit ich weiß, handelt es sich um fallbasiertes Denken als Motor dafür verwendet.

Sie können in diesen Quellen sehen: hier , hier und hier .

Es gibt viele Quellen in Google, die nach Amazon und fallbasiertem Denken suchen.



0

Wenn Sie ein praktisches Tutorial (mit Open Source R) möchten, können Sie es schlechter machen, als dies durchzugehen : https://gist.github.com/yoshiki146/31d4a46c3d8e906c3cd24f425568d34e

Es ist eine zur Laufzeit optimierte Version einer anderen Arbeit: http://www.salemmarafi.com/code/collaborative-filtering-r/

Die Variation des Codes auf dem ersten Link läuft jedoch VIEL schneller, daher empfehle ich die Verwendung (ich fand, dass der einzige langsame Teil des Codes von yoshiki146 die letzte Routine ist, die die Empfehlung auf Benutzerebene generiert - es dauerte ungefähr eine Stunde, bis meine Daten aktiviert waren meine Maschine).

Ich habe diesen Code so angepasst, dass er als Empfehlungs-Engine für den Händler fungiert, für den ich arbeite.

Der verwendete Algorithmus ist - wie andere oben gesagt haben - kollaboratives Filtern. Diese CF-Methode berechnet eine Kosinus-Ähnlichkeitsmatrix und sortiert dann nach dieser Ähnlichkeit, um den "nächsten Nachbarn" für jedes Element zu finden (Musikband im angegebenen Beispiel, Einzelhandelsprodukt in meiner Anwendung).

Die resultierende Tabelle kann ein Band / Produkt empfehlen, das auf einem anderen ausgewählten Band / Produkt basiert.

Der nächste Abschnitt des Codes geht noch einen Schritt weiter mit der auf USER (oder Kunden) basierenden kollaborativen Filterung.

Das Ergebnis ist eine große Tabelle mit den 100 besten Bändern / Produkten, die für einen bestimmten Benutzer / Kunden empfohlen werden


1
Während dieser Link die Frage beantworten kann, ist es besser, die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz bereitzustellen. Nur-Link-Antworten können ungültig werden, wenn sich die verknüpfte Seite ändert. - Von der Überprüfung
Kos

Richtig ... Der verwendete Algorithmus ist - wie andere oben gesagt haben - kollaboratives Filtern. Diese CF-Methode berechnet eine Kosinus-Ähnlichkeitsmatrix und sortiert dann nach dieser Ähnlichkeit, um den "nächsten Nachbarn" für jedes Element zu finden (Musikband im angegebenen Beispiel, Einzelhandelsprodukt in meiner Anwendung). Die resultierende Tabelle kann ein Band / Produkt empfehlen, das auf einem anderen ausgewählten Band / Produkt basiert. Der nächste Abschnitt des Codes geht noch einen Schritt weiter mit der auf USER (oder Kunden) basierenden kollaborativen Filterung. Die Ausgabe davon ist eine große Tabelle mit den 100 besten Bändern / Produkten, die für einen bestimmten Benutzer / Kunden empfohlen werden
ChrisD

Bitte bearbeiten Sie Ihre Antwort und fügen Sie diese Informationen dort hinzu, nicht im Kommentarbereich, danke
Kos
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.