„Wir verlassen das Zeitalter der Information und treten in das Zeitalter der Empfehlung ein“
Wie viele Techniken des maschinellen Lernens macht ein Empfehlungssystem Vorhersagen auf der Grundlage des historischen Verhaltens der Benutzer. Konkret geht es darum, die Präferenzen der Benutzer für eine Reihe von Produkten auf der Grundlage früherer Erfahrungen vorherzusagen. Die beiden populärsten Ansätze zur Erstellung eines Empfehlungssystems sind die inhaltsbasierte und die kollaborative Filterung.
Der inhaltsbasierte Ansatz erfordert eine große Menge an Informationen über die eigenen Merkmale der Artikel, anstatt die Interaktionen und Rückmeldungen der Benutzer zu verwenden. Dies können zum Beispiel Filmattribute wie Genre, Jahr, Regisseur, Schauspieler usw. oder Textinhalte von Artikeln sein, die durch Anwendung von Natural Language Processing extrahiert werden können. Die kollaborative Filterung hingegen benötigt nichts weiter als die historischen Präferenzen der Benutzer für eine Reihe von Elementen. Da es auf historischen Daten basiert, ist die Grundannahme, dass die Benutzer, die in der Vergangenheit zugestimmt haben, auch in der Zukunft zustimmen werden. Die Benutzerpräferenz wird in der Regel durch zwei Kategorien ausgedrückt. Das explizite Rating ist eine Bewertung, die ein Nutzer einem Artikel auf einer gleitenden Skala gibt, z. B. 5 Sterne für Titanic. Dies ist das direkteste Feedback von Nutzern, um zu zeigen, wie sehr sie einen Artikel mögen. Implizite Bewertungen geben indirekte Hinweise auf die Präferenzen der Nutzer, wie z. B. Seitenaufrufe, Klicks, Kaufdatensätze, ob sie einen Musiktitel anhören oder nicht, usw. In diesem Artikel werde ich einen genauen Blick auf die kollaborative Filterung werfen, die ein traditionelles und leistungsstarkes Werkzeug für Empfehlungssysteme ist.
Die Standardmethode der kollaborativen Filterung ist als Nearest Neighborhood-Algorithmus bekannt. Es gibt benutzerbasiertes CF und objektbasiertes CF. Schauen wir uns zunächst die benutzerbasierte CF an. Wir haben eine n × m-Matrix von Bewertungen, mit Benutzer uᵢ, i = 1, …n und Artikel pⱼ, j=1, …m. Nun wollen wir die Bewertung rᵢⱼ vorhersagen, wenn der Zielnutzer i einen Artikel j nicht angesehen/bewertet hat. Das Verfahren besteht darin, die Ähnlichkeiten zwischen dem Zielnutzer i und allen anderen Nutzern zu berechnen, die X ähnlichsten Nutzer auszuwählen und den gewichteten Durchschnitt der Bewertungen dieser X Nutzer mit Ähnlichkeiten als Gewichte zu nehmen.
Während verschiedene Personen bei der Vergabe von Bewertungen unterschiedliche Ausgangspunkte haben, neigen einige Personen dazu, generell hohe Punktzahlen zu vergeben, andere sind ziemlich streng, obwohl sie mit den Gegenständen zufrieden sind. Um diese Verzerrung zu vermeiden, können wir bei der Berechnung des gewichteten Durchschnitts die durchschnittliche Bewertung jedes Nutzers für alle Artikel abziehen und für den Zielnutzer wieder addieren (siehe unten).
Zwei Methoden zur Berechnung der Ähnlichkeit sind die Pearson-Korrelation und die Cosinusähnlichkeit.