Ein Empfehlungssystem führt ein Protokoll darüber, welche Empfehlungen an einen bestimmten Benutzer gerichtet wurden und ob dieser Benutzer die Empfehlung akzeptiert. Es ist wie
user_id item_id result
1 4 1
1 7 -1
5 19 1
5 80 1
Dabei bedeutet 1, dass der Benutzer die Empfehlung akzeptiert hat, während -1 bedeutet, dass der Benutzer nicht auf die Empfehlung reagiert hat.
Frage: Wie soll ich mit den impliziten Daten (1 oder -1) umgehen, wenn ich basierend auf der oben beschriebenen Art von Protokoll Empfehlungen an eine Reihe von Benutzern richten und die MAP @ 3-Werte maximieren möchte?
Meine Idee ist es, 1 und -1 als Bewertungen zu behandeln und die Bewertung unter Verwendung von Algorithmen vom Typ Faktorisierungsmaschinen vorherzusagen. Dies scheint jedoch angesichts der Asymmetrie der impliziten Daten nicht richtig zu sein (-1 bedeutet nicht, dass der Benutzer die Empfehlung nicht mag).
Bearbeiten 1 Lassen Sie uns im Kontext eines Matrixfaktorisierungsansatzes darüber nachdenken. Wenn wir -1 und 1 als Bewertungen behandeln, gibt es ein Problem. Zum Beispiel mag Benutzer 1 Film A, der in einem Faktor (z. B. mit herrlicher Hintergrundmusik) im Raum des latenten Faktors eine hohe Punktzahl erzielt. Das System empfiehlt Film B, der auch bei "herrlicher Hintergrundmusik" eine hohe Punktzahl erzielt. Aus irgendeinem Grund ist Benutzer 1 jedoch zu beschäftigt, um die Empfehlung zu prüfen, und wir haben einen Film B mit der Bewertung -1. Wenn wir nur 1 oder -1 gleich behandeln Dann wird das System möglicherweise davon abgehalten, Benutzer 1 einen Film mit herrlicher Hintergrundmusik zu empfehlen, während Benutzer 1 Filme mit herrlicher Hintergrundmusik immer noch liebt. Ich denke, diese Situation ist zu vermeiden.