Większość systemów rekomendacyjnych korzysta z metody przedstawiania wyników rekomendacji w postaci listy n najlepszych (ang. Top-n) elementów. Czy zawsze jest ona optymalna? Czy wiesz jakie niesie ze sobą zagrożenia i jakie są dla niej alternatywy? Zapraszam do przeczytania wpisu 🙂
System rekomendacyjny a lista n najlepszych elementów
Systemy rekomendacyjne to bardzo specyficzna, a przy tym niezwykle popularna gałąź systemów opartych o Machine Learning. Są one powszechnie używane przez największe firmy i serwisy w celu zwiększenia przychodów poprzez cross-selling i up-selling. To dzięki nim Amazon zmienia zwykłego przeglądacza produktów w zakupoholika (aż 35% sprzedaży w Amazon odbywa się z użyciem rekomendacji produktów). To również dzięki nim Google zarabia miliardy dolarów na świetnie dopasowanych reklamach. Zasada jest prosta: im lepiej dopasowany do gustu i potrzeb użytkownika rekomendowany produkt, tym większe prawdopodobieństwo zakupu.
Pomimo iż budowa systemu rekomendacyjnego jest niezwykle skomplikowana, to już sam schemat działania wydaje się być relatywnie prosty. W oparciu o wybrane techniki filtrowania, dla wszystkich produktów/usług które do tej pory nie były ocenione/kupione przez danego użytkownika, wyznaczana jest wartość atrybutów predykcyjnych. Atrybuty te stanowią prognozowaną wartość dopasowania danej obserwacji (tj. produktu, lub usługi) do gustu danej osoby. W ostatnim kroku lista rekomendacji jest przedstawiana użytkownikowi końcowemu, np. pod postacią uporządkowanej listy n najlepszych elementów, posortowanych malejąco po wartości atrybutu predykcyjnego. Sposobów na przedstawienie rekomendacji jest wiele, jednak to wspomniana metoda jest bez wątpienia ta najpopularniejszą.
Czy top-n jest rozwiązaniem optymalnym?
To zależy. Na pewno jest rozwiązaniem najprostszym i sprawdzonym w całej masie systemów rekomendacyjnych. Skuteczność jej działania zależy jednak od charakterystyki danego systemu. Sam z powodzeniem stosowałem ją w swoim systemie rekomendacji filmów, będąc świadomym jej wad i ograniczeń.
Jeśli zamierzasz użyć ją w swoim systemie rekomendacji, rozważ proszę wszystkie za i przeciw. Oceń następnie czy godzisz się na jej ograniczenia. Najpoważniejszym zarzutem jest w jej przypadku brak świeżości. Użytkownik za każdym razem, gdy loguje się do systemu otrzymuje tą samą listę pozycji, których do tej pory nie kupił, lub nie obejrzał. Widzi te same rzeczy, przez co może zniechęcić się zarówno do naszej firmy jak i samego systemu.
Im dalej w las, tym… mniej drzew
Zarzut numer dwa. Jeżeli system jest odpowiednio dobrze nauczony i wartości atrybutów predykcyjnych odzwierciedlają gust użytkownika, to z każdym przewinięciem listy będzie on otrzymywać coraz słabsze pozycje. Twój klient będzie odnosić wrażenie bezsensu wnikania w głąb listy rekomendacji, przez co możesz stracić potencjalną szansę sprzedażową.
Alternatywne rozwiązania
Chciałbym ci zaproponować dwie przykładowe metody sortowania listy rekomendacji, które pomogą Ci uporać się ze wspomnianymi ograniczeniami.
Pierwszym z nich jest lista rekomendacji sortowana z użyciem tzw. metody rowerowej (ang. cycling recommendations). Polega ona na usuwaniu elementów ze szczytu listy, po tym jak zostały one wyświetlone przez użytkownika określoną liczbę razy. Dzięki temu promowane są nowe, świeże propozycje, które być może nie zostałyby dostrzeżone przez użytkownika.
Metoda rowerowa może być używana w dwóch kontekstach: podczas jednej wizyty (ang. intra-session) użytkownika w serwisie, bądź też na przestrzeni kilku sesji (ang. inter–session). Oba podejścia mają wady i sprawdzą się świetnie w nieco innych sytuacjach. Podejście jednosesyjne daje natychmiastowe rezultaty, natomiast może wprowadzać użytkownika w niemałe zakłopotanie, np. gdy potencjalnie interesujące elementy znikają z listy, po cofnięciu się do poprzedniej strony. Podejście wielosesyjne nie ma tego ograniczenia i lepiej radzi sobie w przypadku serwisów często odwiedzanych przez użytkowników (zmiany pojawiają się na przestrzeni kilku sesji). Wadą jest tu fakt, że użytkownik po kilkukrotnym odwiedzeniu portalu może nie pamiętać co system rekomendował mu poprzednim razem.
Drugą propozycją, którą chciałbym przedstawić jest lista sortowana przy zastosowaniu tzw. metody serpentynowej (ang. serpentining recommendations). Zgodnie z jej założeniami, elementy z najwyższą wartością atrybutu predykcyjnego są rozłożone na kilku stronach. Dzięki temu użytkownik otrzymuje świetnej jakości rekomendacje na znaczącej długości listy. Eliminuje to efekt „znużenia” i jednocześnie zachęca użytkownika do dłuższej eksploracji Twoich produktów i usług. W mojej ocenie jest ono złotym środkiem, pomiędzy listą n najlepszych rekomendacji, a metodą rowerową.
Które z podejść jest odpowiednie dla Twojego systemu?
Częstotliwość jest tu słowem kluczem i to od niej uzależniałbym wybór metody. Jeżeli Twój system jest często odwiedzany przez stałych użytkowników, to rekomendowałbym Ci wdrożenie podejścia rowerowego, wielosesyjnego. Użytkownikom, którzy często korzystają z Twojego systemu rekomendacyjnego, będą dyskretnie „podrzucane” świeże rekomendacje.
W przypadku gdy Twój system jest odwiedzany przez duże grono nowych użytkowników, zaleciłbym zastosowanie metody rowerowej jednosesyjnej, lub serpentynowej. Pierwsza z nich będzie wnosić świeżość, natomiast druga będzie zachęcać użytkowników do penetrowania listy rekomendacji.
Oczywiście zawsze można zastosować podejście hybrydowe i mieszać powyższe metody. Eksperymentowanie zawsze ma sens, gdyż rozwijanie systemu rekomendacyjnego to proces ciągły. Nie można jednak przy tym zapominać o bacznej obserwacji, zarówno reakcji użytkowników na działanie systemu, jak i wpływu zmian na poziom sprzedaży.
Podsumowanie
Wszystkie wspomniane w tym wpisie metody były testowane m.in. przez właścicieli portalu MovieLens.org, oraz opisane w pracy na Uniwersytecie Minnesota. Jeśli jesteś ciekaw, jak może wyglądać implementacja i budowana systemu rekomendacji, to zapraszam do zapoznania się z jednym z moich projektów.
PODOBAŁ CI SIĘ TEN ARTYKUŁ?
Jeśli tak, to zarejestruj się, by otrzymywać informacje o nowych wpisach.
Dodatkowo w prezencie wyślę Ci bezpłatny poradnik :-)
Dodaj komentarz