Collaborative Filtering: Wege implizite Noten für Produkte für jeden Benutzer zu bestimmen?

StackOverflow https://stackoverflow.com/questions/1243726

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

War es hilfreich?

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

  1. Sie können Benutzern erlauben, explizit ihre Präferenzen angeben, erlaubt es die Art und Weise netflix Benutzer Sterne zu vergeben.
  2. 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
  3. 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"
  4. Sie könnten auch einigen kleineren Zahlenwert für Elemente zuweisen, die Benutzer bei aussahen, aber nicht kaufen.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top