Intermédio7 min de leituraAtualizado

Precisão, recall e F1 explicados com exemplos de moderação

A exatidão esconde o problema. O que medem a precisão, o recall e o F1, como calculá-los em 30 segundos e qual importa para a tua comunidade.

Porque é que a exatidão não chega

Imagina 1000 mensagens de chat, das quais 20 são insultos. Um modelo que nunca assinala nada acerta 980 vezes em 1000: 98 % de exatidão, e nenhuma utilidade. Quando o que procuras é raro, a exatidão esconde o problema. É por isso que a moderação se mede com precisão e recall.

As quatro casas

Cada decisão cai numa de quatro casas:

Realmente nocivaRealmente inofensiva
Assinaladaverdadeiro positivo (TP)falso positivo (FP)
Não assinaladafalso negativo (FN)verdadeiro negativo (TN)

Um falso positivo é uma mensagem inocente assinalada por engano; um falso negativo é uma mensagem nociva que passou. Têm custos diferentes, explicados em falsos positivos e falsos negativos.

Precisão

Precisão = TP / (TP + FP)

De tudo o que o modelo assinalou, quanto era mesmo nocivo? Uma precisão baixa significa muitos falsos alarmes: os teus moderadores perdem tempo e os teus utilizadores ficam irritados.

Recall

Recall = TP / (TP + FN)

De todas as mensagens nocivas, quantas apanhou o modelo? Um recall baixo significa muitas falhas: o conteúdo nocivo fica no chat.

Um exemplo resolvido

Em 1000 mensagens, 20 são insultos. O modelo assinala 25 mensagens: 18 são insultos verdadeiros e 7 são inocentes.

  • TP = 18, FP = 7, FN = 20 − 18 = 2
  • Precisão = 18 / 25 = 0,72
  • Recall = 18 / 20 = 0,90

O modelo apanha quase todos os insultos, mas cerca de um alerta em cada quatro é um falso alarme.

F1: um só número para os dois

F1 = 2 × precisão × recall / (precisão + recall)

O F1 é a média harmónica dos dois: só é alto quando ambos são altos. No exemplo, F1 = 2 × 0,72 × 0,90 / 1,62 ≈ 0,80. Um modelo com precisão 1,0 e recall 0,1 tem um F1 de apenas 0,18, mesmo que a média dos dois seja 0,55.

Qual importa para ti?

  • Um jogo para crianças pode querer um recall muito alto: deixar escapar uma tentativa de aliciamento é muito pior do que alguns falsos alarmes revistos por uma pessoa.
  • Uma comunidade de jogadores cheia de provocações pode querer uma precisão alta: assinalar cada «és péssimo neste jogo» entre amigos afastaria as pessoas.

Passas de um para o outro com o limiar: se o baixares, o recall sobe e a precisão desce; se o subires, acontece o contrário.

Precisão média (AP)

O F1 depende do limiar escolhido. A precisão média (average precision) resume o modelo em todos os limiares ao mesmo tempo: diz quão bem as pontuações separam as mensagens nocivas das inofensivas, seja onde for que ponhas a linha. É útil para comparar dois modelos de forma justa.

Uma nota sobre a «verdade»

Todos estes números comparam o modelo com rótulos escritos por pessoas, e as pessoas nem sempre concordam, sobretudo no ódio e na ironia. Se os rótulos de teste estiverem errados, até um modelo perfeito tem uma pontuação mais baixa. Por isso as avaliações sérias revêem os seus conjuntos de teste (ver dados de treino e rótulos).

Teste-se

Responda às perguntas e depois verifique as respostas.

  1. 1. 1000 mensagens, 10 nocivas. Um modelo que nunca assinala nada tem uma exatidão de…
  2. 2. A precisão responde à pergunta…
  3. 3. O modelo apanha 30 de 40 mensagens nocivas. O recall é…
  4. 4. Precisão 1,0 e recall 0,1. O F1 é cerca de…

Todos os guias →

Veja em mensagens reais

Experimente a demo ao vivo ou leia como funciona a API.