Recuperação

Suponha que você tenha um modelo de embedding. Dado um usuário, como você decidir quais itens recomendar?

No momento da exibição, com base em uma consulta, você começa realizando um dos seguintes procedimentos:

  • Para um modelo de fatoração de matrizes, o embedding de consulta (ou usuário) é conhecido estaticamente, e o sistema pode simplesmente procurá-lo a partir do matriz de incorporação de usuários.
  • Em modelos de DNN, o sistema calcula o embedding de consultas \(\psi(x)\) no momento da veiculação executando a rede no vetor de atributo \(x\).

Depois de ter o embedding de consulta \(q\), pesquise embeddings de itens \(V_j\) que estão próximos \(q\) no espaço de embedding. Esse é o problema do vizinho mais próximo. Por exemplo, é possível retornar o valor Top-K itens de acordo com a pontuação de semelhança \(s(q, V_j)\).

Imagem do espectro bidimensional com vários filmes e usuários organizados
de filmes infantis a adultos, de arte e de blockbusters. Um usuário é
em destaque, bem como dois filmes próximos.

Você pode usar uma abordagem semelhante nas recomendações de itens relacionados. Por exemplo: quando o usuário está assistindo a um vídeo do YouTube, o sistema pode procurar primeiro ao incorporar esse item e procurar embeddings de outros itens \(V_j\) que estão próximos no espaço de embedding.

Recuperação em grande escala

Para calcular os vizinhos mais próximos no espaço de embedding, o sistema pode pontuar de forma exaustiva todos os candidatos em potencial. Pontuação exaustiva pode ser caro para corpora muito grande, mas você pode usar qualquer um as seguintes estratégias para torná-la mais eficiente:

  • Se o embedding de consultas for conhecido estaticamente, o sistema poderá realizar pontuação exaustiva off-line, pré-computação e armazenamento de uma lista dos os melhores candidatos para cada consulta. Essa é uma prática comum recomendação de item relacionado.
  • Usar vizinhos mais próximos aproximados.