Kollaboratives Filtern:

Zur Lösung einiger Einschränkungen des inhaltsbasierten Filters werden bei der kollaborativen Filterung Ähnlichkeiten zwischen Nutzern und Elementen gleichzeitig angewendet, um Empfehlungen zu geben. So können Sie beliebige Empfehlungen erhalten, d. h., Modelle für die Zusammenarbeit können Nutzer A basierend auf den Interessen eines ähnlichen Nutzers B ein Element empfehlen. Außerdem können die Einbettungen automatisch erlernt werden, ohne dass manuelle Features erforderlich sind.

Beispiel für eine Filmempfehlung

Stellen Sie sich ein Filmempfehlungssystem vor, in dem die Trainingsdaten aus einer Feedbackmatrix bestehen, in der:

  • Jede Zeile steht für einen Nutzer.
  • Jede Spalte steht für ein Element (einen Film).

Das Feedback zu Filmen fällt in zwei Kategorien:

  • Explizit: Nutzer geben mit einer numerischen Bewertung an, wie sehr ihnen ein bestimmter Film gefallen hat.
  • Impliziert: Wenn sich ein Nutzer einen Film ansieht, leitet das System ab, dass der Nutzer interessiert ist.

Zur Vereinfachung gehen wir davon aus, dass die Feedbackmatrix binär ist. Das bedeutet, der Wert 1 gibt das Interesse an dem Film an.

Wenn ein Nutzer die Startseite besucht, sollte das System Filme auf der Grundlage folgender Kriterien empfehlen:

  • Ähnlichkeit mit Filmen, die der Nutzer in der Vergangenheit positiv bewertet hat
  • Filme, die ähnlichen Nutzern gefallen haben

Zur Veranschaulichung möchten wir einige Funktionen für die in der folgenden Tabelle beschriebenen Filme manuell entwickeln:

Film Bewertung Beschreibung
Der dunkle Ritter PG-13 Batman rettet Gotham City vor der nuklearen Vernichtung in dieser Fortsetzung bis zum The Dark Knight, der im DC Comics-Universum spielt.
Harry Potter und der Stein der Weisen PG Ein verwaister Junge findet einen Zauberer und meldet sich an der Hogwarts-Schule für Hexerei und Zauberei an, wo er seinen ersten Kampf gegen den bösen Lord Voldemort wagt.
Shrek PG Eine liebenswerte Oger-Dame und sein Esel als Begleiter begeben sich auf eine Mission, um Prinzessin Fiona zu retten, die von einem Drachen in ihrer Burg gefangen gehalten wird.
Die Triplets of Belleville PG-13 Als der Profi-Fahrermeister während der Tour de France entführt wird, begleitet seine Großmutter und seine übergewichtige Hunderundreise durch drei ältere Sänger aus dem Ausland.
Erinnerung R Ein Amnesie versucht, den Mord an seiner Frau zu töten, indem er Hinweise auf seinen Körper tätowiert.

1D-Einbettung

Angenommen, wir weisen jedem Film einen Skalar in \([-1, 1]\) zu, der beschreibt, ob der Film für Kinder (negative Werte) oder Erwachsene (positive Werte) bestimmt ist. Angenommen, wir weisen jedem Nutzer in \([-1, 1]\) auch einen Skalar zu, der das Interesse des Kindes an Filmen (näher an -1) oder an nicht jugendfreien Filmen (näher an +1) beschreibt. Für Filme, die dem Nutzer gefallen könnten, sollte das Produkt der Filmeinbettung und der Nutzereinbettung höher (nahe 1) sein.

Bild mit mehreren Filmen und Nutzern, die in einem eindimensionalen Einbettungsbereich angeordnet sind. Die Position der einzelnen Filme auf dieser Achse gibt an, ob es sich um einen Film für Kinder (links) oder einen Film für Erwachsene (rechts) handelt. Die Position eines Nutzers beschreibt das Interesse an Kindern oder Filmen nur für Erwachsene.

Im Diagramm unten wird mit jedem Häkchen ein Film gekennzeichnet, den sich ein bestimmter Nutzer angesehen hat. Der dritte und vierte Nutzer haben Präferenzen, die durch diese Funktion gut erklärt werden: Der dritte Nutzer bevorzugt Filme für Kinder, der vierte für Erwachsene. Allerdings sind die Präferenzen des ersten und zweiten Nutzers in dieser einen Funktion nicht ausreichend erklärt.

Bild einer Feedbackmatrix, wobei eine Zeile einem Nutzer und eine Spalte einem Film entspricht. Jeder Nutzer und jeder Film ist einer eindimensionalen Einbettung zugeordnet (wie in der vorherigen Abbildung beschrieben), sodass das Produkt der beiden Einbettungen den Ground-Truth-Wert in der Feedbackmatrix ungefähr erreicht.

2D-Einbettung

Eine Funktion reichte nicht aus, um die Präferenzen aller Nutzer zu erklären. Um dieses Problem zu lösen, fügen wir eine zweite Funktion hinzu, d. h. den Grad eines Blockbusters oder Arthouse-Films. Mit einer zweiten Funktion können wir jetzt jeden Film mit der folgenden zweidimensionalen Einbettung darstellen:

Bild mit mehreren Filmen und Nutzern in einer zweidimensionalen Einbettung Die Position der einzelnen Filme entlang der horizontalen Achse gibt an, ob es sich um einen Film für Kinder (links) oder einen Film für Erwachsene (rechts) handelt. Die Position auf der vertikalen Achse bestimmt, ob es sich um einen Blockbuster (oben) oder einen Arthouse-Film (unten) handelt. Die Position der Nutzer spiegelt ihre Interessen in jeder Kategorie wider.

Wir platzieren wieder unsere Nutzer im selben Einbettungsbereich, um die Feedbackmatrix am besten zu erklären: Wir möchten, dass das Punktprodukt der Nutzereinbettung und der Artikeleinbettung für jedes (Nutzer-, Artikel-)Paar 1 ist, wenn der Nutzer den Film angesehen hat, und andernfalls 0.

Bild derselben Feedbackmatrix. Dieses Mal werden jeder Nutzer und jeder Film einer zweidimensionalen Einbettung zugeordnet (wie in der vorherigen Abbildung beschrieben), sodass das Punktprodukt der beiden Einbettungen dem Ground-Truth-Wert in der Feedbackmatrix entspricht.

In diesem Beispiel haben wir die Einbettungen manuell entwickelt. In der Praxis können die Einbettungen automatisch erlernt werden. Das ist das Potenzial von kollaborativen Filtermodellen. In den nächsten beiden Abschnitten werden verschiedene Modelle erläutert, um diese Einbettungen kennenzulernen und zu trainieren.

Dieser kollaborative Ansatz lässt sich erkennen, wenn das Modell die Einbettungen lernt. Angenommen, die Einbettungsvektoren für die Filme sind festgelegt. Das Modell lernt dann einen Einbettungsvektor, mit dem die Nutzer ihre Präferenzen am besten erklären können. Daher sind Einbettungen von Nutzern mit ähnlichen Einstellungen nah beieinander. Wenn wiederum die Einbettungen für die Nutzer festgelegt sind, können wir Filmeinbettungen lernen, um die Feedbackmatrix am besten zu erklären. Daher sind Einbettungen von Filmen, die von ähnlichen Nutzern mit „Mag ich“ bewertet wurden, im Einbettungsbereich nahe gelegen.

Wissenstest

Das Modell empfiehlt Nutzern eine Shopping-App, weil sie vor Kurzem eine ähnliche App installiert haben. Für welche Art von Filterung ist dies ein Beispiel?
Inhaltsbasiertes Filtern
Klasse! Bei der inhaltsbasierten Filterung werden keine anderen Nutzer berücksichtigt.
Kollaboratives Filtern
Bei der kollaborativen Filterung werden andere Nutzer berücksichtigt. Im gegebenen Szenario ist uns nur ein Nutzer wichtig.