Skip to content

Avaliação humana de texto gerado

Como realizar uma avaliação humana defensável da saída de LLM e NLG: definir os critérios com precisão, escolher entre notas absolutas ou por pares, dar poder estatístico ao estudo e relatar o suficiente para reproduzi-lo.

Métricas automáticas como BLEU e ROUGE correlacionam-se fracamente com a real qualidade do texto gerado, então a avaliação humana continua sendo o padrão, e é feita mal com mais frequência do que bem. As três coisas que separam uma avaliação humana confiável de uma decorativa: defina cada critério com precisão, prefira julgamentos relativos a notas absolutas, e relate detalhes suficientes para que outra pessoa consiga repeti-la. Este guia é o protocolo, não a redação da rubrica.

Por que avaliação humana, e por que é difícil confiar nela

Para geração aberta, resumos, diálogo, traduções e respostas de LLM, as métricas automáticas comparam com textos de referência e deixam passar a maior parte do que importa: uma resposta fluente e fiel, formulada de modo diferente da referência, recebe nota baixa, e uma mentira fluente recebe nota alta. Por isso o julgamento humano continua sendo a verdade de referência. O problema é que a própria avaliação humana é um instrumento de medição, e um instrumento mal projetado produz números tão ruidosos quanto as métricas que substitui.

A dimensão do problema está documentada. Howcroft et al. (2020) revisaram vinte anos de avaliações de NLG e descobriram que a área não conseguia nem concordar sobre o que seus próprios critérios significavam: termos como «fluência», «adequação» e «naturalidade» eram definidos de forma diferente (ou não eram definidos) de artigo para artigo, tornando os resultados impossíveis de comparar. A solução deles é o ponto de partida de qualquer avaliação séria: precise exatamente o que cada critério significa antes de coletar um único julgamento.

Defina os critérios, com precisão

Critérios vagos são onde a maioria das avaliações humanas dá errado. «Avalie a qualidade de 1 a 5» convida cada anotador a inventar sua própria definição de qualidade. Divida-a em dimensões nomeadas e definidas separadamente, e escreva uma definição operacional de uma frase para cada uma:

  • Fluência: o texto é gramatical e bem formado, independentemente de estar correto?
  • Coerência: as frases se encadeiam de maneira sensata no conjunto?
  • Fidelidade / exatidão factual: toda afirmação é sustentada pela fonte (para resumo/RAG) ou verdadeira (para geração aberta)? É aqui que as alucinações são flagradas.
  • Relevância: ela realmente responde à instrução?
  • Utilidade: em tarefas do tipo assistente, ela realiza o que o usuário queria?

Medir essas dimensões separadamente diz por que um sistema supera outro, não apenas que superou.

Notas absolutas ou comparações relativas

A maior decisão de projeto é se os anotadores avaliam uma saída de cada vez ou comparam várias.

  • Notas absolutas (Likert) são simples, mas sofrem de viés de escala: os anotadores ancoram de modo diferente, evitam os extremos e derivam ao longo de uma sessão, então um «4» de um avaliador não é um «4» de outro.
  • A preferência por pares (A ou B é melhor?) contorna inteiramente o viés de escala e costuma ser mais confiável, razão pela qual sustenta os dados de preferência para RLHF e a comparação de modelos. O custo é que você obtém uma classificação, não um nível absoluto.
  • O escalonamento best-worst mostra um pequeno conjunto e pede apenas o melhor e o pior, um jeito barato de obter classificações confiáveis a partir de poucos julgamentos.

van der Lee et al. (2021) apresentam diretrizes de boas práticas que cobrem exatamente essas escolhas: quantos itens e avaliadores, qual escala, qual análise estatística, e valem a leitura antes de você se comprometer com um projeto.

Dê poder estatístico, e relate

Dois modos de falha permanecem mesmo depois de o projeto estar correto.

Primeiro, comparações sem poder estatístico. Detectar uma pequena diferença de qualidade entre dois bons sistemas exige mais itens do que as pessoas esperam; faça primeiro a análise de poder, use um teste de significância adequado e relate os tamanhos de efeito, não apenas qual média foi maior.

Segundo, detalhe não relatado. Belz et al. (2021) revisaram a reprodutibilidade em NLP e concluíram que as avaliações humanas eram especialmente difíceis de reproduzir, normalmente porque o artigo omite os critérios exatos, as instruções, o grupo de anotadores e a análise. Registre tudo isso como parte do estudo, não como algo pensado depois.

Alguns mecanismos que evitam vieses evitáveis: aleatorize a ordem das saídas para que a posição não vaze (as pessoas favorecem a primeira opção), oculte a identidade do sistema para que os anotadores não consigam saber qual modelo produziu o quê, e faça um piloto com um lote pequeno para medir a concordância e corrigir critérios confusos antes de escalar.

Fazendo isso no Potato

O Potato tem um esquema para cada estilo de avaliação, então a decisão de projeto acima se traduz diretamente em configuração. Para notas absolutas por critério:

yaml
annotation_schemes:
  - name: faithfulness
    annotation_type: likert
    description: "Is every claim in the response supported by the source? 1 = many unsupported, 5 = fully supported."
    size: 5
  - name: fluency
    annotation_type: likert
    description: "Is the response grammatical and well-formed?"
    size: 5

Para uma comparação A/B cega, use um esquema pairwise e aleatorize qual sistema é exibido como A:

yaml
annotation_schemes:
  - name: preference
    annotation_type: pairwise
    description: "Which response is more helpful overall?"
    labels: ["A is better", "Tie", "B is better"]

Para uma pontuação estruturada e multicritério em uma única passagem, o esquema rubric_eval coleta uma nota por dimensão da rubrica. Qualquer que seja sua escolha, mantenha sobreposição em um subconjunto compartilhado para poder relatar a concordância, e mantenha os rótulos por anotador na exportação para que o teste de significância tenha a variância de que precisa.

Leitura adicional