Pular para conteúdo

ROUGE

O que e

ROUGE (Recall-Oriented Understudy for Gisting Evaluation) e uma familia de metricas que avalia a qualidade de texto gerado com foco em recall — ou seja, quanto do conteudo da referencia e coberto pelo texto gerado.

Variantes utilizadas

Variante O que mede
ROUGE-1 Overlap de unigramas (palavras individuais)
ROUGE-2 Overlap de bigramas (pares de palavras consecutivas)
ROUGE-L Maior subsequencia comum (LCS) entre os textos

ROUGE-1

Mede quantas palavras da referencia aparecem no texto gerado. Captura cobertura de vocabulario geral.

ROUGE-2

Mede quantos pares de palavras consecutivas da referencia aparecem no texto gerado. Captura similaridade de estrutura frasal.

ROUGE-L

Mede a maior sequencia de palavras que aparece em ambos os textos (nao necessariamente consecutivas). Captura similaridade de estrutura de longo alcance.

Escala

  • 0: Nenhuma cobertura do conteudo de referencia
  • 1: Cobertura completa

Uso no projeto

import evaluate as hf_evaluate

rouge_metric = hf_evaluate.load("rouge")
result = rouge_metric.compute(predictions=preds, references=refs)
# result["rouge1"], result["rouge2"], result["rougeL"]

Diferenca em relacao ao BLEU

Aspecto BLEU ROUGE
Foco Precisao (o que o modelo gerou esta na referencia?) Recall (o que a referencia contem esta no texto gerado?)
Uso tipico Traducao automatica Sumarizacao, geracao de texto
Penalidade Textos curtos (brevidade)

Ambas as metricas sao baseadas em overlap de n-gramas e nao capturam similaridade semantica. Para isso, utilizamos o BERTScore.