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
Vorgeschlagene Literatur:
Antworten:
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 ...
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:
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.
quelle
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.
quelle
Ich bin heute auf dieses Papier gestoßen:
Möglicherweise bietet es zusätzliche Informationen.
quelle
(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 .])
quelle
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.
quelle
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.
quelle
Jemand hat letzte Woche an unserer Universität einen Vortrag über etwas Ähnliches gehalten und auf das Amazon-Empfehlungssystem verwiesen. Ich glaube, dass es eine Form von K-Means Clustering verwendet um Menschen in ihre unterschiedlichen zu gruppieren. Hoffe das hilft :)
Überprüfen Sie dies auch: http://www.almaden.ibm.com/cs/people/dmodha/ml02.ps und als HTML .
quelle
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
quelle