MRR e NDCG
Mean Reciprocal Rank (MRR) / Normalized Discounted Cumulative Gain (NDCG)
Métrica de ranking
AvançadoCategoria: Evals, testes e métricasSubcategoria: Métricas de recuperação
O que significa
São métricas que consideram a posição dos itens relevantes em um ranking, e não apenas se eles aparecem.
O MRR (Mean Reciprocal Rank) é a média, sobre as consultas, do inverso da posição do primeiro item relevante. Mede quão rápido o usuário encontra algo útil: se o primeiro resultado relevante está na posição 1, vale 1; na posição 2, vale 0,5; na 3, vale 0,33.
O NDCG (Normalized Discounted Cumulative Gain) soma a relevância de cada item, descontada pela posição, e normaliza pelo ranking ideal. Mede a qualidade da ordenação inteira, permitindo graus de relevância.
Como usar na prática de produto
Em Produto, para busca e recomendação, a ordem é o produto. O MRR é a métrica certa quando basta um resultado bom, como em FAQs ou busca de precedentes. O NDCG é a métrica certa quando a pessoa consome vários resultados, como uma lista de produtos.
Ambas são úteis em testes A/B de mudanças de ordenação, para medir o efeito de um novo reranker ou de um novo modelo.
Por exemplo, a reordenação por reranker subiu o MRR de 0,54 para 0,78: o resultado certo passou de aparecer, em média, na segunda posição para quase sempre na primeira.
Quando usar este termo ou outro
Use MRR quando um único resultado bom resolve a necessidade do usuário.
Use NDCG quando a lista inteira importa e há graus de relevância entre os itens.
Use recall@k quando só importa que os itens certos estejam entre os k primeiros, sem se preocupar com a ordem exata.
Uma forma simples de diferenciar: MRR mede a posição do primeiro acerto; NDCG mede a qualidade da lista toda.
Exemplos de aplicação
- Reranker: MRR de 0,54 para 0,78 após reordenação.
- Busca de FAQ: usar MRR, porque um resultado certo resolve.
- Catálogo: usar NDCG, porque a pessoa navega por vários itens.
- A/B: medir o efeito de mudanças de ordenação com NDCG.
- Relevância graduada: distinguir “muito relevante” de “um pouco relevante” no NDCG.
Como calcular
Fórmula do MRR:
MRR = (1 ÷ número de consultas) × soma de (1 ÷ posição do primeiro item relevante) para cada consulta.
Fórmula do NDCG:
DCG@k = soma, para as k primeiras posições, de relevância do item ÷ log₂(posição + 1).
NDCG@k = DCG@k ÷ DCG ideal@k (o DCG que se obteria com os mesmos itens na melhor ordem possível).
Passo a passo:
1. Para cada consulta, marque a relevância de cada item (binária para MRR; graduada para NDCG).
2. Rode a busca e registre a posição de cada item.
3. Para o MRR, encontre a posição do primeiro relevante e calcule o inverso; faça a média.
4. Para o NDCG, calcule o DCG do ranking obtido e do ranking ideal; divida um pelo outro.
Exemplo (MRR):
Três consultas com o primeiro relevante nas posições 1, 3 e 2: MRR = (1 + 0,33 + 0,5) ÷ 3 = 0,61.
Como interpretar:
MRR de 0,61 indica que o primeiro resultado útil aparece, em média, entre a primeira e a segunda posição. NDCG varia de 0 a 1; quanto mais perto de 1, mais próxima a ordenação está da ideal.
Origem do termo
MRR: TREC QA track (Voorhees, 1999). NDCG: Järvelin & Kekäläinen (2002).
Fonte técnica
Järvelin & Kekäläinen, Cumulated Gain-based Evaluation of IR Techniques (2002); Manning et al., Introduction to Information Retrieval
