Załóżmy, że masz model osadzania. Jak możesz ocenić, które elementy polecisz użytkownikowi?
W momencie wyświetlenia danego zapytania możesz zacząć od wykonania jednej z tych czynności:
- W przypadku modelu scalania matrycowego umieszczenie zapytania (lub użytkownika) jest statystycznie znane i system może po prostu sprawdzić go na podstawie macierzy umieszczonej przez użytkownika.
- W przypadku modelu DNN system oblicza zapytanie umieszczone podczas wyświetlania, \(\psi(x)\)uruchamiając sieć wektorowo cechą \(x\).
Po wpisaniu zapytania \(q\)wyszukaj w nim elementy\(V_j\) i elementy umieszczone w pobliżu \(q\) tych elementów. To jest najbliższy problem sąsiada. Możesz na przykład zwrócić górne k elementy według wyniku podobieństwa \(s(q, V_j)\).
Podobne podejście możesz zastosować w rekomendacjach podobnych produktów. Na przykład, gdy użytkownik ogląda film w YouTube, system może najpierw sprawdzić, czy został on umieszczony na stronie, a następnie poszukać innych elementów,\(V_j\) które znajdują się w pobliżu.
Pobieranie na dużą skalę
Aby obliczyć najbliższych sąsiadów w przestrzeni umieszczania, system może dokładnie ocenić wszystkich potencjalnych kandydatów. Wyczerpujące oceny mogą być kosztowne w przypadku bardzo dużego korpusu, ale możesz skorzystać z jednej z tych strategii, aby zwiększyć efektywność:
- Jeśli statyczna informacja o zapytaniu jest znana, system może przeprowadzić obszerną ocenę offline, wstępne i przechowywać listę najlepszych kandydatów dla każdego zapytania. Jest to typowa praktyka rekomendacji powiązanych produktów.
- Użyj przybliżonych sąsiadów.