BLEU
O que e
BLEU (Bilingual Evaluation Understudy) e uma metrica que avalia a qualidade de texto gerado comparando o overlap de n-gramas entre o texto gerado e um texto de referencia.
Originalmente desenvolvida para avaliacao de traducao automatica, e amplamente utilizada para comparar textos gerados por modelos de linguagem.
Como funciona
- Extrai n-gramas (sequencias de N palavras consecutivas) do texto gerado e da referencia
- Calcula a precisao de n-gramas: quantos n-gramas do texto gerado aparecem na referencia
- Aplica uma penalidade de brevidade para textos muito curtos
- Combina scores de diferentes ordens de n-gramas (1-grama, 2-gramas, 3-gramas, 4-gramas)
Escala
- 0: Nenhum overlap de n-gramas
- 1: Overlap perfeito (textos identicos)
Na pratica, scores BLEU para textos longos e criativos tendem a ser baixos (0.1–0.3), pois existem muitas formas validas de expressar a mesma ideia.
Uso no projeto
No projeto, o BLEU e calculado entre respostas de pares de modelos a uma mesma questao:
import evaluate as hf_evaluate
bleu_metric = hf_evaluate.load("bleu")
result = bleu_metric.compute(predictions=preds, references=refs)
# result["bleu"] → score BLEU
Limitacoes
- Baseado apenas em overlap exato de palavras (nao captura sinonimos)
- Penaliza variacao lexical, mesmo que semanticamente correta
- Mais adequado para textos curtos e factuais do que para textos argumentativos longos