Załóżmy, że masz model osadzony. Jak w skrócie zdecydować, które produkty polecić?
Podczas wyświetlania zapytania rozpoczynasz od wykonania jednej z tych czynności:
- W przypadku matrycowego modelu rozkładu na czynniki znamionuje się osadzanie zapytań (lub użytkowników) statycznie, a system może ją po prostu wyszukać lub macierz umiejętności użytkowników.
- W przypadku modelu DNN system oblicza wektor dystrybucyjny zapytania \(\psi(x)\) w momencie wyświetlenia, uruchamiając sieć na wektorze cech \(x\).
Gdy ustawisz wektory dystrybucyjne zapytań \(q\), wyszukaj wektory dystrybucyjne elementów \(V_j\) znajdujących się blisko \(q\) w obszarze osadzania. To problem z najbliższym sąsiadem. Możesz na przykład zwrócić najwyższe k elementy według wskaźnika podobieństwa \(s(q, V_j)\).
Podobną metodę możesz zastosować w rekomendacjach powiązanych produktów. Przykład: gdy użytkownik ogląda film w YouTube, system może w pierwszej kolejności wyszukać tego elementu, a następnie poszukać innych elementów \(V_j\) znajdujących się w pobliżu osadzonej przestrzeni.
Pobieranie na dużą skalę
Aby obliczyć najbliższych sąsiadów w przestrzeni wektora dystrybucyjnego, system może precyzyjnie ocenić każdego potencjalnego kandydata. Wyczerpująca ocena może być kosztowne w przypadku bardzo dużych korpusów, ale można użyć jednej z następujące strategie:
- Jeśli osadzanie zapytań jest znane statycznie, system może wykonać szczegółowego punktacji offline, wstępnego obliczania i przechowywania listy najważniejszych kandydatów dla każdego zapytania. Jest to typowa praktyka w przypadku rekomendacji związanych z powiązanymi produktami.
- Użyj przybliżonych najbliższych sąsiadów.