Collaboratywny filtrywanie: ludzie podobni do Ciebie również lubili to
Podstawowym pomysłem za systemami rekomendacyjnymi, który został popularny dzięki Amazonowi i konkursowi Netflix Prize w połowie 2000 roku, jest collabratywny filtrywanie: zamiast próbować zrozumieć dlaczego dany przedmiot jest dobry (co wymaga głębokiej analizy treści każdego produktu), system szuka wzorców zgody w zachowaniach wielu użytkowników i pozostawia te wzorce do wykonania. Filtrywanie oparte na użytkownikach szuka innych użytkowników, których oceny lub historię zakupów są bardzo podobne do Twojej, a następnie poleca przedmioty, które oni zechcili zobaczyć, ale które jeszcze nie widziałeś, na logice, że ludzie, którzy zgadzają się w dwudziestu sprawach, są prawdopodobnie zgadzani w trzydziestej pierwszej. Filtrywanie oparte na przedmiotach, które okazało się lepiej skalować dla dużych katalogów i stało się bardziej powszechnym podejściem produkcyjnym, odwraca to: oblicza podobnośc między przedmiotami na podstawie tego, jak podobnie użytkownicy oceniali lub interagowali z nimi (takie jak koszulka i pasujący do niej spodnie często kupowane razem wyglądają podobnie w tym sensie, nawet jeśli niczego nie porównywano na poziomie pikseli czy opisów), a następnie poleca przedmioty podobne do tych, z którymi już się angażowałeś.
Podstawowym technikiem matematyczną założoną za większość skalarnego filtrywania jest factorizacja macierzy: wyobraźmy sobie ogromną, bardzo rzadką macierz z jedną wierszem na użytkownika i jednym kolumną na przedmiot, gdzie większość wpisów jest pusta, ponieważ każdy pojedynczy użytkownik ocenił lub interagował tylko małą część katalogu. Factorizacja macierzy przybliża tę dużą rzadką macierz jako iloczyn dwóch mniejszych, gęstych macierzy — macierzy czynnika użytkownika i macierzy czynnika przedmiotu, każda z nich ma np. 50 lub 100 ukrytych wymiarów — trenowane tak, aby mnożenie wiersza użytkownika przez kolumnę przedmiotu powtarzało znane oceny jak najbardziej możliwe. Te ukryte wymiary nie są ręcznie etykietowane (wymiar 17 nie jest jasno 'kocha periodyczne dramaty'), ale okazują się w końcu zapisywać rzeczywistą podstawową strukturę smaku jedynie na podstawie wzoru, kto lubił co, a trenowana factorizacja może następnie przewidzieć ocenę dla dowolnej pary użytkownik-przedmiot, która nigdy nie była obserwowana, co dokładnie jest rekomendacją.
Wstawki: zamiana przedmiotów i użytkowników na punkty w wspólnym przestrzeni
Moderne systemy rekomendacji generalizują tę ideę wymiarów ukrytych jasno poprzez wstawki, reprezentacje wektorowe uczone, które umieszczają użytkowników, przedmioty oraz często sygnały kontekstowe (godzinę dnia, urządzenie, ostatni zapytanie wyszukiwania) jako punkty w tej samej ciągłej przestrzeni wielowymiarowej. Punktowanie jest takie, że rzeczy, które zachowują się podobnie, kończą się blisko siebie geometrycznie. Wstawka dla konkretnego filmu nie jest ręcznie zaprojektowana; jest uczyona od początku jako część treningu sieci neuronowej na rzeczywistą zadanie (prognozowanie, czy użytkownik kliknie, obejrzy lub kupi), a sieć odkrywa, jedynie na podstawie danych, że pewne wymiary tej przestrzeni użytecznie oddzielają filmów akcji od dokumentów, lub odkrywa ciekawsze grupowania, które kurer by nigdy nie zasugerował, takie jak klaster filmów wizualnie wolnych i pełnych dialogu, które deterministyczna grupa widzi wieczorem.
Gdy użytkownicy i przedmioty żyją w tej samej przestrzeni, rekomendacja częściowo redukuje się do wyszukiwania geomeトリcznego najbliższego sąsiada: podanej aktualnej wstawki użytkownika (samą często oblicza się jako funkcję historii interakcji użytkownika, aktualizowaną ciągle podczas przeglądania), znajdź przedmioty, których wstawki siedzą najbliżej jej, używając efektywnych algorytmów przybliżonego wyszukiwania najbliższego sąsiada (np. HNSW lub iloczynu skalarnego) ponieważ dokonanie dokładnej obliczenia odległości przeciwko milionom lub miliardom wstawek przedmiotów dla każdego pojedynczego żądania rekomendacji byłoby zbyt wolne dla systemu w czasie rzeczywistym. Ta ramka przestrzeni wstawek również pozwala współcześniejszym systemom łączyć sygnały kolaboratywne (zachowawcze współ występowanie) z sygnałami treści (faktyczne cechy przedmiotu, takie jak kategoria produktu lub transkrypt filmu), tworząc jednolitą reprezentację, rozwiązując klasyczną słabość filtrażu kolaboracyjnego — problem startu zimowego, gdzie nowy przedmiot bez historii interakcji nie ma niczego do pracy dla sygnału kolaboratywnego, ale może być umieszczone sensownie w przestrzeni wstawek jedynie na podstawie swoich cech treściowych, aż zaczną się zgromadzać rzeczywiste dane zachowawcze.
Przełożenie eksploracji i wykorzystania za tą każdym razem strumieniem
Rekomendacja systemu, który pokazałby tylko jedno przedmiot, z którym najbardziej prawdopodobnie się zasięgnie, w rzeczywistości przynosiłaby gorsze wyniki niż taki, który czasami pokazuje coś bardziej niepewnego. Powód jest strukturalny i pochodzi bezpośrednio z uczenia przez podnawanie: wykorzystywanie (pokazywanie tego, co model jest obecnie pewien, że będzie lubione) maksymalizuje oczekiwane uczestnictwo dzisiaj, ale eksploracja (pokazywanie czegoś, co model mniej jest pewny) to co generuje nowe dane potrzebne do poprawy błędu modelu i odkrycia, że na самом fakcie lubi coś poza istniejącym wzorem. System, który jedynie wykorzystuje się zrywa w skąpy, autoryzujący cykl — poleci to, co już przypuszcza, że lubisz, uczestnictwo w tym jest prawdziwie relevantem i potwierdza istniejące przekonanie modelu, co oznacza, że system nigdy nie ma szansy na naukę, że chciałbyś coś, czego go już nigdy nie pokazało. To zaznaczona dinamika często winna jest filtrów bąblowych i utrzymywania się różnorodności rekomendacji w czasie.
System produkcyjny handluje tym przełożeniem za pomocą technik przystosowanych do literatury na temat wielu rąk banditów. Thompson sampling, jedna z popularnych metod, utrzymuje rozkład prawdopodobieństwa nad tym, jak dobry każdy kandydat może być dla danego użytkownika, a nie tylko punkt estymacji, i wybiera przedmiot do pokazania poprzez samodzielne losowanie z tych rozkładów — przedmioty o którym model jest bardzo pewny otrzymują skupiony wokół wysokiej wartości niski rozkład i są często pokazywane, podczas gdy przedmioty o których model ma duży niepewność mają szeroki rozkład, który rzadko losuje wysoką wartość po prostu przypadkowo, dając im okazję na principialne pokazanie się i dla systemu nauczenie się z wyniku. To jest podstawowo inny mechanizm niż proste wprowadzanie szumu losowego lub losowych rekomendacji, ponieważ eksploracja jest skierowana specyficznie w kierunku przedmiotów i użytkowników, gdzie niepewność modelu jest najwyższa, a potencjalny zysk informacyjny jest największy, zamiast być równomiernie bezcelowy przez cały katalog.
Ranking, re-ranking i warstwy, których większość użytkowników nigdy nie widzi
Co naprawdę dzieje się między tym, gdy żądanie dotarło do usługi rekomendacji, a listą elementów pojawiającą się na ekranie, zazwyczaj nie jest jednym modeliem przeprowadzającym pojedynczy przebieg przez całe katalog — dla katalogu liczącego miliony pozycji, ocena każdego z nich dla każdej żądania byłaby zbyt wolna. Systemy produkcyjne prawie zawsze używają dwustopniowego (czasami trzystopniowego) procesu: szybkiego, względnie prostego stopnia generowania kandydatów — często dokładnie takiego samego wyszukiwania najbliższego sąsiada w węzłach wbudowanych opisanej powyżej — ogranicza pełen katalog do kilku setek lub tysięcy prawdopodobnych kandydatów w milisekundach, a następnie znacznie bardziej kosztownego, dokładniejszego modelu rankingu — często zgraj drzew z gradientowym podnoszeniem wag lub głębszej sieci neuronowej, która może pozwolić sobie rozważyć setki szczegółowych cech dla każdego kandydata, takich jak recencyjność, różnorodność w stosunku do tego, co już zostało pokazane, i przewidywana czas trwania oglądania zamiast tylko przewidywanego kliknięcia — ponownie ocenia i uporządkowuje tylko ten krótki spis.
Pojedynczy stopień re-rankingu często zawiera logikę biznesową, która nie ma nic wspólnego z przewidywaną relevancją: ograniczenia dotyczące różnorodności (nie pokazywaj pięciu prawie identycznych elementów w rzędzie, nawet jeśli mają wysokie punkty, ponieważ to powoduje gorszy doświadczenie, mimo że każda indywidualna przewidywała predykcja jest dokładna), podnoszenie świeżości dla nowego materiału, który jeszcze nie posiada wystarczającej ilości danych interakcji do oceny na jedynie relevancję, oraz zdefiniowane reguły biznesowe (promocja konkretnych kategorii, szanowanie wykluczeń polityki treści). Struktura warstwowa jest powodem, dla którego fraza „algorytm” upraszcza to, co w rzeczywistości jest pipelinem kilku różnych modeli i zestawów reguł działających na różnych skalach i szybkościach, każdy optymalizujący lekko inny cel, skonstruowanego do tworzenia jednego spisu elementów widzianych przez użytkownika.
Często zadawane pytania
Jak się różnią filtry oparte na użytkownikach i oparte na przedmiotach?
Filtry oparte na użytkownikach szukają innych użytkowników o podobnym zachowaniu i polecamy to, co oni lubili; filtry oparte na przedmiotach obliczają podobieństwo bezpośrednio między przedmiotami na podstawie wspólnych wzorców interakcji i polecamy przedmioty podobne do tych, z którymi już sięangażowałeś, co lepiej skaluje dla duzych katalogów i stało się bardziej obecny podejście produkcyjne.
Jak system oparty na wstawkach zarządza nowym przedmiotem bez historii interakcji?
To jest problem zimnego startu; systemy, które łączą sygnały kolaboracyjne z atrybutami treści, mogą umieszczyć nowy przedmiot sensownie w wspólnej przestrzeni wstawkowych używając własnych cech (kategorii, opisu, metadanych), nawet przed tym, jak dla niego akumulowałoby się żaden dane zachowawcze.
Dlaczego systemy poleceń nie zawsze pokazują najbardziej przewidywalny przedmiot?
Zrobiłby to pętlę self-reinforcing, w której system uczy się tylko z ograniczonej grupy przedmiotów, które już są przekonany, że Ci podobają się; świadomie eksplorując poleceń niepewnych, na przykład poprzez Thompson sampling, generuje dane potrzebne do poprawy modelu w ciągu czasu.
Dlaczego systemy poleceń na skalę dużą używają wielostopniowego pipeline zamiast jednego modelu?
Ocena każdego przedmiotu w katalogu milionowym za pomocą drogich, bardzo dokładnych modeli dla każdej prośby byłaby zbyt wolna; stopień szybkiego generowania kandydatów najpierw ogranicza katalog do krótkiej listy, którą bardziej drogi model rangowania ocenia i uporządkowuje w szczegółach.
Wypróbuj na żywo
Wszystko powyżej działa bezpośrednio w Twojej przeglądarce — otwórz How Recommendation Engines Decide What You See i zmieniaj parametry podczas działania. Nic nie jest instalowane ani przesyłane na serwer, cały model działa w jednej karcie.
▶ Otwórz symulację How Recommendation Engines Decide What You See