Wie soll man mit impliziten Daten in der Empfehlung umgehen?

9

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.

wdg
quelle
Es gibt kein Problem, dass -1 nicht Abneigung bedeutet. Es ist einfach eine Möglichkeit zu unterscheiden, dass jemand den Gegenstand gesehen hat. In diesem Sinne enthält es mehr Informationen als einen fehlenden Wert. Dies kann die Genauigkeit Ihrer Empfehlung tatsächlich erhöhen. Abhängig von Ihrer Entfernungsmetrik, die Sie empfehlen, können Sie sie von -1 auf einen leichten Metrikwert ändern, damit die Entfernung nicht so stark beeinflusst wird.
cwharland
1
Das kanonische Papier für implizites Feedback ist Hu, Koren und Volinsky . Es gibt viele gute Empfehlungen, einschließlich der Einschätzung Ihres Vertrauens, bei dem -1 eine Abneigung oder nur ein "nicht gesehen" anzeigt.
Trey

Antworten:

5

Ihr System ist nicht nur auf empfohlene Elemente geschult, oder? Wenn ja, haben Sie hier eine große Rückkopplungsschleife. Sie möchten aus allen Klicks / Ansichten lernen, hoffe ich.

Sie schlagen vor, dass das Nicht-Betrachten eines Gegenstands ein negatives Signal ist. Ich empfehle dringend, dass Sie es nicht so behandeln. Nicht mit etwas zu interagieren wird fast immer am besten als keine Information behandelt. Wenn Sie ein explizites Signal haben, das auf eine Abneigung hinweist, z. B. eine Abwertung (oder vielleicht 10 Sekunden eines Videos angesehen und gestoppt), ist dies möglicherweise gültig.

Ich würde diese Eingabe nicht als bewertungsähnliche Daten interpretieren. (Obwohl Sie in Ihrem Fall möglicherweise damit durchkommen.) Stellen Sie sich diese stattdessen als Gewichte vor. Dies ist genau die Behandlung in dem Artikel von Hu Koren Volinsky über ALS, den @Trey in einem Kommentar erwähnt. Auf diese Weise können Sie die relative Stärke positiver / negativer Wechselwirkungen aufzeichnen.

Abschließend möchte ich darauf hinweisen, dass dieses Papier, obwohl es sehr wahrscheinlich das ist, wonach Sie suchen, keine negativen Gewichte enthält. Es ist einfach, auf diese Weise zu erweitern. Wenn Sie so weit kommen, kann ich Sie auf die einfache Erweiterung verweisen, die bereits in zwei mir bekannten Implementierungen in Spark und Oryx vorhanden ist .

Sean Owen
quelle
2
Ich denke, es ist vernünftig, leicht negative Werte für Gegenstände zu berechnen, die oft gesehen, aber nie ausgewählt wurden. Das OP gibt nicht an, dass sie Zugriff auf Daten haben, die diese negativen Zuschreibungen qualifizieren, aber ich würde diese Taktik nicht vollständig ausschließen. Die optimale Größe des negativen Wertes kann aus den Daten bestimmt werden. Ich habe in recsys-Szenarien kleine Vorteile daraus gezogen. Auf jeden Fall ... würden Sie andere Möglichkeiten vorschlagen, zwischen einmal gesehenem und nicht ausgewähltem Gegenstand und N-mal gesehenem und nie gewähltem Gegenstand außer negativer Anrechnung zu unterscheiden?
cwharland