Collaborative Filtering: Wege implizite Noten für Produkte für jeden Benutzer zu bestimmen?
-
12-09-2019 - |
Frage
einen Algorithmus implementiert Nachdem Produkte mit einigem Erfolg zu empfehlen, ich suche jetzt nach Möglichkeiten, die ersten Eingangsdaten für diesen Algorithmus zu berechnen.
Mein Ziel ist es, eine Bewertung für jedes Produkt zu berechnen, dass ein Benutzer eine Art von Geschichte mit.
Die Daten, die ich zur Zeit bin Aufnahme:
- Benutzerbestellhistorie
- Produktseitenzugriff Geschichte für beide anonyme und registrierte Benutzer
Alle diese Daten timestamped ist.
Was ich suche
Es gibt ein paar Dinge, die ich bin auf der Suche nach Anregungen auf, und im Idealfall soll diese Frage mehr zur Diskussion behandelt werden, anstatt das Ziel für eine einzige ‚richtige‘ Antwort.
- Jede zusätzliche Daten, die ich für einen Benutzer sammeln können, die direkt ein Interesse an einem Produkt bedeuten kann
- Algorithmen / Gleichungen für für jedes Produkt dieser Daten in Partituren drehen
Was ich suche nicht für
Genau um diese Frage zu vermeiden, mit der falschen Art von Antworten entgleiste, hier ist das, was einmal ich tue habe ich diese Daten für jeden Benutzer:
- eine Anzahl von Benutzergruppen Erzeugen (21 zur Zeit), um den k-means Clustering-Algorithmus verwendet, die Pearsons Koeffizient für den Abstand Punktzahl mit
- Für jeden Benutzer (on demand) ihren einen Graph des Benutzers ähnlichen Berechnung, indem sie nach ihren am meisten und am wenigsten ähnlichen Benutzern innerhalb ihres Clusters und für eine beliebige Tiefe zu wiederholen.
- Berechnen einer Punktzahl für jede von den Vorlieben anderer Nutzer basierten Produkt innerhalb des Benutzers Graph
- die Partituren Sortieren einer Liste von Empfehlungen zurück
Grundsätzlich bin ich nicht auf der Suche nach Ideen, was zu tun ist, wenn I Haben die Eingangsdaten (I weitere Hilfe mit, dass später brauchen kann, aber es ist nicht der Sinn dieser Frage), nur für Ideen, wie diese Eingangsdaten in erster Linie erzeugen
Lösung
Hier ist ein haymaker einer Antwort:
- verbrachte Zeit an einem Produkt suchen
- semantische Interpretation der Kommentare über das Produkt links
- Erstellen Sie eine Diskussionsseite über ein Produkt, Marke oder Produktkategorie und interpretieren semantisch die Kommentare
- , wenn sie eine Produktseite Gemeinschafts (E-Mail, del.icio.us, etc.)
- Browser (mobile könnte sie weniger Zeit auf der Seite gegenüber Laptop verbringen machen, während großes Interesse an) und die Verbindungsgeschwindigkeit (betrifft amt. Zeit auf der Seite ausgegeben)
- Facebook-Profil Ähnlichkeit
- heatmap Daten (z à la Kissmetrics)
Welche Produkte verkaufen Sie? Das könnte uns Ihnen helfen, besser zu beantworten. (Da dies eine alte Frage ist, wende ich mich sowohl @ Andrew Ingram und alle anderen, die die gleiche Frage hat und fand diesen Thread über die Suche.)
Andere Tipps
- Sie können Benutzern erlauben, explizit ihre Präferenzen angeben, erlaubt es die Art und Weise netflix Benutzer Sterne zu vergeben.
- Sie können einen positiven numerischen Wert für all die Dinge zuweisen sie gekauft, weil Sie sagen, Sie ihre Einkaufshistorie verfügen. Weisen Sie Null für Dinge, die sie nicht kaufen
- Sie könnten eine Art gewichteter Wert für Sachen haben sie gekauft, angepasst für das, was populär ist. (Wenn fast jeder einen Artikel gekauft haben, ist es Ihnen nicht sagen, viel über eine Person, die sie gekauft haben, haben es auch) Siehe "Zeitfrequenz-inverse Dokumenthäufigkeit"
- Sie könnten auch einigen kleineren Zahlenwert für Elemente zuweisen, die Benutzer bei aussahen, aber nicht kaufen.