Um einige Einschränkungen des inhaltsbasierten Filterns zu umgehen, kollaboratives Filtern nutzt Ähnlichkeiten zwischen Elemente, um Empfehlungen zu geben. Dadurch können Sie für Zufallsempfehlungen. also kollaboratives Filtern können Modelle Nutzenden A einen Artikel basierend auf den Interessen ähnliche Nutzende B. Außerdem können die Einbettungen automatisch ohne manuelles Engineering von Funktionen.
Beispiel für eine Filmempfehlung
Nehmen wir als Beispiel ein Filmempfehlungssystem, in dem die Trainingsdaten Feedback-Matrix mit:
- Jede Zeile steht für einen Nutzer.
- Jede Spalte steht für ein Element (einen Film).
Das Feedback zu Filmen kann in zwei Kategorien eingeteilt werden:
- Explizit: Nutzer geben an, wie sehr ihnen ein bestimmter Film gefallen hat. durch eine numerische Bewertung.
- Implizit: Wenn ein Nutzer einen Film ansieht, leitet das System ab, dass der interessiert sind.
Zur Vereinfachung gehen wir davon aus, dass die Feedback-Matrix binär ist. also einen Wert 1 bedeutet, dass Interesse an dem Film besteht.
Wenn ein Nutzer die Startseite besucht, sollten vom System Filme empfohlen werden. basierend auf beiden:
- Ähnlichkeit mit Filmen, die der Nutzer in der Vergangenheit mag
- Filme, die ähnlichen Nutzern gefallen haben
Zur Veranschaulichung sollen einige Funktionen für die Filme von Hand entwickelt werden. wie in der folgenden Tabelle beschrieben:
Film | Bewertung | Beschreibung |
---|---|---|
Der dunkle Ritter | PG-13 | Batman muss Gotham City vor der nuklearen Vernichtung retten in dieser Fortsetzung The Dark Knight, spielt in der Washington D.C. Comic-Universum. |
Harry Potter und der Stein der Weisen | PG | Ein Waisenkind entdeckt, dass er ein Zauberer ist, und meldet sich für Hogwarts-Schule Hexenkunst und Zauberei, bei der er seinen ersten Kampf dem bösen Lord Voldemort. |
Shrek | PG | Ein liebenswerter Oger und sein Esel-Begleiter machen sich auf den Weg um Prinzessin Fiona zu retten, wird von einem Drachen in ihrem Schloss festgehalten. |
Die Triplets von Belleville | PG-13 | Wenn ein Fahrradprofi entführt wird, die Tour de France seine Großmutter und sein übergewichtiger Hund nach Übersee, um ihn zu retten. um Hilfe von drei älteren Jazzsängern. |
Erinnerung | R | Ein Amnesiekranker will den Mord an seiner Frau aufklären indem er Hinweise auf seinen Körper tätowiert. |
1D-Einbettung
Angenommen, wir weisen jedem Film einen Skalar in \([-1, 1]\) zu, der Gibt an, ob der Film für Kinder (negative Werte) oder Erwachsene (positive Werte) ist Angenommen, wir weisen jedem Nutzer in \([-1, 1]\) auch einen Skalar zu, der das Interesse des Nutzers an Kinderfilmen (ähnlich -1) oder an Erwachsenen Filme (genäher an +1) Das Produkt der Filmeinbettung und der Nutzer sollte die Einbettung für Filme, von denen wir erwarten, dass der Nutzer sie anspricht, höher sein (näher an 1). .
In der folgenden Abbildung kennzeichnet jedes Häkchen einen Film, der von einem bestimmten angesehen. Die dritte und vierte nutzende Person haben Präferenzen, die gut erklärt ist – der dritte Nutzer bevorzugt Filme für Kinder. und die vierte Person bevorzugt Filme für Erwachsene. Das erste und das zweite des Nutzers Einstellungen werden von dieser Funktion nicht gut erklärt.
2D-Einbettung
Eine Funktion reichte nicht aus, um die Präferenzen aller Nutzenden zu erklären. Überwinden fügen wir eine zweite Funktion hinzu: den Grad, in dem jeder Film Blockbuster oder Arthouse-Film. Mit einer zweiten Funktion können wir jeden Film mit der folgenden zweidimensionalen Einbettung:
Wir platzieren unsere Nutzer wieder in derselben Einbettung, um ihnen Feedback-Matrix: Für jedes Paar (Nutzer/Artikel) soll die Zwischenprodukt der Nutzereinbettung und der Artikeleinbettung naheliegend auf 1, wenn sich der Nutzer den Film angesehen hat, andernfalls auf 0.
In diesem Beispiel haben wir die Einbettungen von Hand entwickelt. In der Praxis werden die Einbettungen können automatisch erlernt werden, was die Leistungsfähigkeit des kollaborativen Filterns Modelle. In den nächsten beiden Abschnitten beschäftigen wir uns mit verschiedenen und wie Sie sie trainieren.
Der gemeinschaftliche Charakter dieses Ansatzes wird deutlich, wenn das Modell lernt, Einbettungen. Angenommen, die Einbettungsvektoren für die Filme sind fest. Gehen Sie dann so vor: kann das Modell einen Einbettungsvektor lernen, den die Nutzenden am besten ihre Präferenzen. Einbettungen von Nutzenden mit ähnlichen Präferenzen werden nah beieinander sein. Wenn die Einbettungen für die Nutzer unveränderlich sind, können wir Filmeinbettungen lernen, um die Feedbackmatrix am besten zu erklären. Folglich liegen die Einbettungen von Filmen, die ähnliche Nutzer mögen, nahe bei im Einbettungsbereich befinden.