Dostępne pozytywne produkty użytkownika (dane kliknięcia). Jak wygenerować negatywne (dane bez kliknięcia)?

10

Bardzo często w polecającym mamy dane użytkownika, które mają etykietę np. „Kliknięcie”. Aby poznać model, potrzebuję danych dotyczących kliknięć i braku kliknięć.

Najprostszym podejściem do generowania jest pobranie par produktów użytkownika, których nie ma w danych kliknięć. Może to jednak wprowadzać w błąd. Przykład:

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

Mogę zabrać użytkownika 1 ze wszystkimi produktami oprócz produktu 1 i oznaczyć je jako „no_click” i tak dalej. Ale to może nie być prawda. Może użytkownik 1 kliknąłby produkt 2, gdyby pokazano mu produkt 2. Ale tylko dlatego, że pokazano mu inne zestawy produktów - nie miał okazji zdecydować się na kliknięcie / brak kliknięcia produktu2.

Jak więc rozwiązać problem pojedynczych danych?

p.paliwal
źródło
1
Myślę, że odpowiedziałeś na własne pytanie. Powinieneś nagrywać koncepcję wrażenia lub programu. Jeśli pokazałeś produkt i nie było kliknięcia, to właśnie tego szukasz.
Ale w rzeczywistości nie jest to dostępne w zarejestrowanych danych. Właśnie o tym wspomniałem. Dane zawierają tylko to, co para użytkownik-produkt ma etykietę kliknięcia. To, co zostało pokazane i co zostało kliknięte, nie jest rejestrowane.
p.paliwal
Ponadto, nawet jeśli powiedzmy - użytkownik1 był pokazany prod1, prod2, prod3 (i kliknął prod1) - wtedy użytkownik1 z prod2 i prod3 będzie miał etykietę braku kliknięcia. Ale co z resztą produktów (prod4, prod5, ...). Tylko dlatego, że nie zostały pokazane, użytkownik nie miał możliwości decydowania o kliknięciu / braku kliknięcia. Nie oznacza to, czy użytkownik byłby zainteresowany produktami, których nie pokazano, więc oznaczenie wszystkich innych kombinacji jako brak kliknięcia może nie być prawdziwe. To właśnie wyjaśniłem w pytaniu.
p.paliwal

Odpowiedzi:

6

Istnieją więc dwa problemy.

  1. Rejestrowanie wrażeń (programów)
  2. Jak radzić sobie z brakiem wyświetleń

Dla (1) powinieneś rejestrować te informacje. Jeśli nie jest aktualnie nagrywany, powinieneś zacząć rejestrować te informacje. Ponieważ nie masz tych informacji, chcesz podać rekomendacje. Na szczęście po kliknięciu danych nadal możesz utworzyć matrycę narzędziową, patrz 9.1.1.

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

Następnie możesz zastosować oparte na użytkownikach lub elementach wspólne filtrowanie, jak opisano w artykule. Jest to w zasadzie ćwiczenie wypełniania matrycy narzędzi i próby znalezienia „wyników” dla niezaznaczonych elementów. Twoja rekomendacja będzie odznaczonym przedmiotem o najwyższym wyniku.

W przypadku (2) nadal będziesz wydawać zalecenia dotyczące odznaczonych przedmiotów. Samo to nie jest problemem. Będziesz jednak chciał zoptymalizować swoje wrażenia. Nie możesz również mieć pełnej wiedzy, w której użytkownik może zobaczyć wszystkie możliwe opcje. Musisz rejestrować wrażenia i rozumieć wiele rzeczy.

  • pokaż stawkę przedmiotu
  • współczynnik klikalności elementu
  • jak włączyć nowe elementy
  • jak zoptymalizować, które elementy pokazać

To ogromny temat i w zasadzie jest to problematyczna dziedzina reklamy online. Jednak silnik rekomendacji próbuje znaleźć interesujące przedmioty na długim ogonie, co nieco różni się od optymalizacji reklam. Jest to pętla zwrotna umożliwiająca ocenę Twojego zalecenia. Testy A / B są powszechne. Będziesz chciał przetestować współczynniki klikalności i błędy rekomendacji między obecnym systemem a nowym systemem.

Zobacz także tutaj.

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

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


źródło