Wie erstelle ich ein Empfehlungssystem, das sowohl kollaborative Filter- als auch Inhaltsfunktionen integriert?

10

Ich erstelle ein Empfehlungssystem und möchte sowohl die Bewertungen "ähnlicher" Benutzer als auch die Funktionen der Elemente berücksichtigen. Die Ausgabe ist eine vorhergesagte Bewertung [0-1]. Ich erwäge ein neuronales Netzwerk (zu Beginn).

Die Eingaben sind also eine Kombination aus den Merkmalen der Elemente und den Bewertungen jedes Benutzers. Für Punkt A und Benutzer 1 könnte das System auf die kombinierten Daten A1 trainiert werden. Dies wäre ein Trainingsbeispiel.

Was ist, wenn Benutzer 1 auch Film B bewertet? Wären die Daten B1 dann auch ein Trainingsbeispiel? Gibt es ein Problem beim Wiederholen des Trainings mit den Funktionen von Benutzer 1 auf diese Weise?

Haben Sie Vorschläge, wie Sie das Problem besser angehen können?

B Sieben
quelle

Antworten:

11

Warum erwägen Sie ein neuronales Netzwerk, bevor Sie das Problem vollständig verstanden haben?

Standardmethoden zur Matrixfaktorisierung für die kollaborative Filterung können Inhaltsfunktionen problemlos nutzen. Ein Beispiel dafür, wie dies in einer Bayes'schen Umgebung durchgeführt werden kann, finden Sie im Matchbox-Papier .

Alexandre Passos
quelle
6

Drei Artikel zur Integration der Matrixfaktorisierung in Inhaltsfunktionen (hier speziell das Themenmodell):

  • Deepak Agarwal und Bee-Chung Chen. 2010. fLDA: Matrixfaktorisierung durch latente Dirichlet-Allokation. In Proceedings der dritten internationalen ACM-Konferenz zu Websuche und Data Mining (WSDM '10). ACM, New York, NY, USA, 91-100.
  • Hanhuai Shan und Arindam Banerjee. 2010. Verallgemeinerte probabilistische Matrixfaktorisierungen für die kollaborative Filterung. In Proceedings der IEEE International Conference on Data Mining 2010 (ICDM '10). IEEE Computer Society, Washington, DC, USA, 1025-1030.
  • Chong Wang und David M. Blei. 2011. Kollaborative Themenmodellierung zur Empfehlung wissenschaftlicher Artikel. In Proceedings der 17. internationalen ACM SIGKDD-Konferenz über Wissensentdeckung und Data Mining (KDD '11). ACM, New York, NY, USA, 448-456.

Ich würde auch meinen eigenen Blogeintrag bewerben, in dem dieses Problem ein wenig behandelt wird: Themenmodelle treffen auf Lantent-Faktor-Modelle

Liangjie Hong
quelle
3

Ein neuronaler Netzwerkansatz ist nicht erforderlich. Die kollaborative Filterung ist ein Algorithmus für sich. Speziell für Ihr Problem gibt es eine gute Beschreibung des CF- und Empfehlungssystems auf:

ml-class.org

(Suchen Sie nach XVI: Recommender Systems). Es ist elegant, einfach und wenn Sie es richtig machen (dh vektorisierte Form, schnelle Minimierer und vorbereitete Verläufe verwenden), kann es ziemlich schnell sein.

vonPetrushev
quelle
Ich habe diesen Ansatz verwendet, aber er verwendet nicht die Funktionen der Elemente. Ich möchte auch Funktionen hinzufügen.
B Sieben