Jak należy postępować z niejawnymi danymi w zaleceniu

10

System rekomendacji prowadzi dziennik tego, jakie rekomendacje zostały wydane konkretnemu użytkownikowi i czy ten użytkownik je przyjmuje. To jest jak

user_id item_id result
1       4       1
1       7       -1
5       19      1
5       80      1

gdzie 1 oznacza, że ​​użytkownik zaakceptował zalecenie, a -1 oznacza, że ​​użytkownik nie odpowiedział na zalecenie.

Pytanie: Jeśli mam zamiar wydać zalecenia dla grupy użytkowników na podstawie dziennika opisanego powyżej i chcę zmaksymalizować wyniki MAP @ 3, jak powinienem postępować z niejawnymi danymi (1 lub -1)?

Moim pomysłem jest traktowanie 1 i -1 jako ocen i przewidywanie oceny za pomocą algorytmów typu maszyny do faktoryzacji. Nie wydaje się to jednak właściwe, biorąc pod uwagę asymetrię niejawnych danych (-1 nie oznacza, że ​​użytkownikowi nie podoba się to zalecenie).

Edycja 1 Pomyślmy o tym w kontekście metody faktoryzacji macierzy. Jeśli traktujemy -1 i 1 jako oceny, będzie jakiś problem. Na przykład użytkownik 1 lubi film A, który osiąga wysokie wyniki w jednym współczynniku (np. Mając wspaniałą muzykę w tle) w przestrzeni ukrytego czynnika. System zaleca film B, który również osiąga wysokie wyniki w „chwalebnej muzyce w tle”, ale z jakiegoś powodu użytkownik 1 jest zbyt zajęty, aby przyjrzeć się rekomendacji, i mamy film kategorii -1 B. Jeśli po prostu traktujemy 1 lub -1 jednakowo , wtedy system może być zniechęcony do polecania filmu z chwalebnym BGM użytkownikowi 1, podczas gdy użytkownik 1 nadal uwielbia film z chwalebnym BGM. Myślę, że takiej sytuacji należy unikać.

wdg
źródło
Nie ma problemu, że -1 nie oznacza niechęci. Jest to po prostu sposób na odróżnienie, że ktoś widział przedmiot. W tym sensie zawiera więcej informacji niż brakującą wartość. To może faktycznie zwiększyć dokładność twojego zalecenia. W zależności od metryki odległości w polecaniu możesz rozważyć zmianę jej z -1 na niewielką wartość metryki, aby nie wpływała ona tak bardzo na odległość.
cwharland
1
Artykuł kanoniczny dla dorozumianych informacji zwrotnych to Hu, Koren i Volinsky . Wiele dobrych rekomendacji, w tym szacowanie twojej pewności, w której -1 wskazuje na niechęć lub po prostu „nie widziałem”.
Trey

Odpowiedzi:

6

Twój system nie jest tylko przeszkolony w zakresie przedmiotów polecanych, prawda? jeśli tak, masz dużą pętlę sprzężenia zwrotnego. Mam nadzieję, że chcesz uczyć się na podstawie wszystkich kliknięć / wyświetleń.

Sugerujesz, że nie patrzenie na przedmiot jest sygnałem negatywnym. Zdecydowanie sugeruję, abyś nie traktował tego w ten sposób. Brak interakcji z czymś jest prawie zawsze najlepiej traktowany jako brak informacji. Jeśli masz wyraźny sygnał wskazujący na niechęć, taki jak głosowanie w dół (lub, może obejrzałeś 10 sekund filmu i zatrzymał się), może to jest ważne.

Nie interpretowałbym tych danych wejściowych jako danych podobnych do ratingu. (Chociaż w twoim przypadku możesz uciec od tego.) Zamiast tego pomyśl o nich jak o wadze, co jest dokładnie traktowane w artykule Hu Korena Wołyńskiego na temat ALS, który @Trey wspomina w komentarzu. Pozwala to zarejestrować względną siłę interakcji dodatnich / ujemnych.

Na koniec chciałbym zauważyć, że ten artykuł, choć jest bardzo prawdopodobne, że jest tym, czego szukasz, nie przewiduje ujemnych wag. W ten sposób można go łatwo rozszerzyć. Jeśli dojdziesz tak daleko, mogę wskazać łatwe rozszerzenie, które już istnieje w dwóch znanych mi implementacjach, w Spark i Oryx .

Sean Owen
źródło
2
Myślę, że przypisywanie niewielkich ujemnych wartości dla przedmiotów, które były wielokrotnie widziane, ale nigdy nie zostały wybrane, jest rozsądne. OP nie wskazuje, że mają dostęp do danych, które kwalifikują te negatywne przypisania, ale nie wykluczałbym całkowicie tej taktyki. Optymalną wielkość wartości ujemnej można określić na podstawie danych. Miałem niewielkie korzyści z robienia tego w scenariuszach Recsys. W każdym razie ... czy zasugerowałbyś inne sposoby rozróżnienia pomiędzy przedmiotem widzianym raz a nie wybranym a widzianym N razy i nigdy nie wybranym oprócz negatywnego przypisywania?
cwharland