Algoritmo de recomendação LightGCN — inferência via dot product entre o embedding do usuário e o de cada item.
A inferência é puramente algébrica: o trabalho pesado (propagação +
aprendizado) já foi feito pelo MeliGraph.LightGCN.Trainer. Aqui só
recuperamos o payload do EmbeddingStore, calculamos e_u · E_items^T
e devolvemos os top-K.
Pré-requisito
Embeddings precisam estar carregados via MeliGraph.load_embeddings/2
(ou diretamente via MeliGraph.LightGCN.EmbeddingStore.load/2). Se não
estiverem, retorna {:error, :embeddings_not_ready} — o Query layer
trata esse erro fazendo fallback para SALSA na Fase 6.
Parâmetros (via opts)
:top_k- número de resultados a retornar (padrão: 20)
Comportamento
- Usuário visto no treino → top-K itens por score
- Usuário não visto no treino (cold-start) →
{:ok, []} - Embeddings não carregados →
{:error, :embeddings_not_ready}