Benutzerprodukt positiv (Klickdaten) verfügbar. Wie generiere ich negative (No-Click-Daten)?

10

Es ist sehr häufig, dass wir Benutzerproduktdaten haben, die als "Klick" gekennzeichnet sind. Um das Modell zu lernen, benötige ich Klick- und No-Click-Daten.

Der einfachste Ansatz zum Generieren besteht darin, Benutzer-Produkt-Paare zu verwenden, die nicht in Klickdaten enthalten sind. Dies kann jedoch irreführend sein. Beispiel:

user1, product1 (click) user2, product2 (click) user2, product3 (click) user3, product2 (click)

Ich kann Benutzer1 mit allen Produkten außer Produkt1 nehmen und sie als "no_click" usw. kennzeichnen. Dies kann jedoch nicht wahr sein. Vielleicht hätte Benutzer1 auf Produkt2 geklickt, wenn ihm Produkt2 gezeigt worden wäre. Aber nur weil ihm andere Produktgruppen gezeigt wurden, hatte er keine Gelegenheit, sich für ein Klick- / No-Click-Produkt zu entscheiden2.

Wie kann man also ein Problem mit unären Daten lösen?

p.paliwal
quelle
1
Ich denke, Sie haben Ihre eigene Frage beantwortet. Sie sollten ein Konzept einer Impression oder Show aufzeichnen. Wenn Sie ein Produkt gezeigt haben und es kein Klick war, dann ist dies das, wonach Sie suchen.
Tatsächlich ist dies jedoch in aufgezeichneten Daten nicht verfügbar. Das habe ich erwähnt. Die Daten enthalten nur das Benutzer-Produkt-Paar mit der Klickbezeichnung. Was angezeigt und was angeklickt wurde, wird nicht aufgezeichnet.
p.paliwal
Auch wenn sagen wir mal - Benutzer1 wurde prod1, prod2, prod3 angezeigt (und er hat auf prod1 geklickt) - dann hat Benutzer1 mit prod2 und prod3 eine No-Click-Bezeichnung. Aber was ist mit den restlichen Produkten (prod4, prod5, ...)? Nur weil sie nicht angezeigt wurden, hatte der Benutzer keine Möglichkeit, über Klicken / Nichtklicken zu entscheiden. Dies sagt nicht aus, ob der Benutzer an nicht gezeigten Produkten interessiert wäre. Daher ist die Kennzeichnung aller anderen Kombinationen als No-Click möglicherweise nicht real. Das habe ich auch in Frage gestellt.
p.paliwal

Antworten:

6

Es gibt also zwei Probleme.

  1. Impressionen aufzeichnen (Shows)
  2. Wie man mit Nicht-Impressionen umgeht

Für (1) sollten Sie diese Informationen aufzeichnen. Wenn es gerade nicht aufgezeichnet wird, sollten Sie mit der Aufzeichnung dieser Informationen beginnen. Da Sie nicht über diese Informationen verfügen, möchten Sie Empfehlungen geben. Glücklicherweise können Sie mit nur Klickdaten immer noch eine Dienstprogrammmatrix erstellen (siehe 9.1.1).

http://i.stanford.edu/~ullman/mmds/ch9.pdf

Sie können dann die benutzer- oder artikelbasierte kollaborative Filterung verwenden, wie im Dokument beschrieben. Dies ist im Grunde eine Übung zum Auffüllen der Utility-Matrix und zum Versuch, "Punktzahlen" für nicht angeklickte Elemente zu finden. Ihre Empfehlung wäre ein nicht angeklicktes Element mit der höchsten Punktzahl.

Für (2) geben Sie weiterhin Empfehlungen zu nicht angeklickten Elementen. Das allein ist also kein Problem. Sie sollten jedoch Ihre Impressionen optimieren. Sie können auch nicht vollständig wissen, wo ein Benutzer alle möglichen Optionen sehen kann. Sie müssen Eindrücke aufzeichnen und eine Reihe von Dingen verstehen.

  • Rate eines Artikels anzeigen
  • Klickrate eines Artikels
  • wie man neue Gegenstände einbindet
  • So optimieren Sie die anzuzeigenden Elemente

Dies ist ein großes Thema und im Grunde ist dies die Problemdomäne der Online-Werbung. Eine Empfehlungs-Engine versucht jedoch, interessante Elemente im Long Tail zu finden, was sich ein wenig von der Anzeigenoptimierung unterscheidet. Dies ist eine Rückkopplungsschleife, um Ihre Empfehlung zu bewerten. A / B-Tests sind üblich. Sie möchten Klickraten und Empfehlungsfehler zwischen Ihrem aktuellen System und dem neuen System testen.

Siehe auch hier.

http://cs.brynmawr.edu/Courses/cs380/fall2006/Herlocker2004.pdf

http://www.cs.umd.edu/~samir/498/Amazon-Recommendations.pdf


quelle