A métrica de qualidade de tradução BLEU

O BLEU (Bilingual Evaluation Understudy) é uma métrica para avaliar texto traduzido por máquinas. Uma pontuação BLEU é um número entre zero e um que mede a semelhança do texto traduzido pela máquina com um conjunto de traduções de referência de alta qualidade:

  • Uma pontuação de 0 significa que o resultado da tradução automática não tem sobreposição com a tradução de referência, o que indica uma baixa qualidade da tradução.
  • Uma pontuação de 1 significa que existe uma sobreposição perfeita com as traduções de referência, o que indica uma elevada qualidade de tradução.

Limitações da BLEU

  • O BLEU é uma métrica baseada em corpus. A métrica BLEU tem um desempenho fraco quando é usada para avaliar frases individuais. As frases únicas podem obter pontuações BLEU muito baixas, mesmo quando captam a maior parte do significado. Uma vez que as estatísticas de n-gramas para frases individuais são menos significativas, o BLEU é, por definição, uma métrica baseada em corpus, em que as estatísticas são acumuladas num corpus inteiro quando se calcula a pontuação. Não é possível fatorizar a métrica BLEU para frases individuais.

  • O BLEU não faz distinção entre palavras de conteúdo e palavras funcionais. A métrica BLEU não distingue o conteúdo das palavras funcionais. Uma palavra de função omitida, como a, recebe a mesma penalização que se o nome NASA fosse substituído erroneamente por ESA.

  • O BLEU não é bom a captar o significado e a gramática das frases. A omissão de uma única palavra, como não, pode alterar a polaridade da frase. Além disso, ter em conta apenas n-gramas com n≤4 ignora as dependências de longo alcance, pelo que o BLEU impõe frequentemente apenas uma pequena penalização para frases não gramaticais.

  • O BLEU baseia-se na normalização e na conversão em tokens. Antes de calcular a pontuação BLEU, as traduções de referência e candidatas são normalizadas e tokenizadas. A escolha dos passos nesses processos afeta significativamente a pontuação BLEU final.

Como interpretar as pontuações BLEU

Seguem-se diretrizes gerais que sugerem como interpretar as pontuações BLEU expressas em percentagens e não em decimais:

Pontuação % BLEU Interpretação
< 10 Quase inútil
10 a 19 É difícil perceber o essencial
20 - 29 A ideia principal é clara, mas tem erros gramaticais significativos
30 - 40 Compreensível para boas traduções
40 - 50 Traduções de alta qualidade
50 - 60 Traduções de qualidade muito alta, adequadas e fluentes
> 60 Qualidade frequentemente melhor do que a humana

O seguinte gradiente de cores pode ser usado como uma escala geral de interpretação da pontuação BLEU:

Interpretabilidade geral da escala

Detalhes matemáticos

Matematicamente, a pontuação BLEU é definida como:

$$ \text{BLEU} = \underbrace{\vphantom{\prod_i^4}\min\Big(1, \exp\big(1-\frac{\text{reference-length}} {\text{output-length}}\big)\Big)}_{\text{brevity penalty}} \underbrace{\Big(\prod_{i=1}^{4} precision_i\Big)^{1/4}}_{\text{n-gram overlap}} $$

com

\[ precision_i = \dfrac{\sum_{\text{snt}\in\text{Cand-Corpus}}\sum_{i\in\text{snt}}\min(m^i_{cand}, m^i_{ref})} {w_t^i = \sum_{\text{snt'}\in\text{Cand-Corpus}}\sum_{i'\in\text{snt'}} m^{i'}_{cand}} \]

onde

  • \(m_{cand}^i\hphantom{xi}\) é a contagem de i-gramas na correspondência candidata com a tradução de referência.
  • \(m_{ref}^i\hphantom{xxx}\) é a contagem de i-gram na tradução de referência.
  • \(w_t^i\hphantom{m_{max}}\) é o número total de i-gramas na tradução candidata.

A fórmula é composta por duas partes: a penalização por brevidade e a sobreposição de n-gramas.

  • Penalização por brevidade. A penalização por brevidade penaliza as traduções geradas que são demasiado curtas em comparação com o comprimento de referência mais próximo com uma desvalorização exponencial. A penalização por brevidade compensa o facto de a pontuação BLEU não ter um termo de recolha.

  • Sobreposição de N-gramas. A sobreposição de n-gramas contabiliza quantos unigramas, bigramas, trigramas e quatro-gramas (i=1,...,4) correspondem à respetiva contrapartida de n-gramas nas traduções de referência. Este termo funciona como uma métrica de precisão. Os unigramas têm em conta a adequação, enquanto os n-gramas mais longos têm em conta a fluidez da tradução. Para evitar a contagem excessiva, as contagens de n-gramas são cortadas para a contagem máxima de n-gramas que ocorre na referência (\(m_{ref}^n\)).

Exemplo: calcular \(precision_1\)

Considere esta frase de referência e a tradução candidata:

Referência: the cat is on the mat
Candidato: the the the cat mat

O primeiro passo é contar as ocorrências de cada unigrama na referência e no candidato. Tenha em atenção que a métrica BLEU é sensível a maiúsculas e minúsculas.

Unigrama \(m_{cand}^i\hphantom{xi}\) \(m_{ref}^i\hphantom{xxx}\) \(\min(m^i_{cand}, m^i_{ref})\)
the 3 2 2
cat 1 1 1
is 0 1 0
on 0 1 0
mat 1 1 1

O número total de unigramas no candidato (\(w_t^1\)) é 5, pelo que \(precision_1\) = (2 + 1 + 1)/5 = 0,8.

Exemplo: calcular a pontuação BLEU

Referência:     The NASA Opportunity rover is battling a massive dust storm on Mars.
Candidato 1: The Opportunity rover is combating a big sandstorm on Mars.
Candidato 2: A NASA rover is fighting a massive storm on Mars.

O exemplo anterior consiste numa única referência e duas traduções candidatas. As frases são tokenizadas antes de calcular a pontuação BLEU. Por exemplo, o ponto final é contabilizado como um token separado.

Para calcular a pontuação BLEU de cada tradução, calculamos as seguintes estatísticas.

  • Precisões de N-gramas. A tabela seguinte contém as precisões de n-gramas para ambos os candidatos.
  • Brevity-Penalty. A penalização por brevidade é a mesma para o candidato 1 e o candidato 2, uma vez que ambas as frases são compostas por 11 tokens.
  • BLEU-Score. É necessário, pelo menos, um 4-grama correspondente para obter uma pontuação BLEU superior a 0. Uma vez que a tradução candidata 1 não tem nenhum 4-grama correspondente, tem uma pontuação BLEU de 0.
Métrica Candidato 1 Candidato 2
\(precision_1\) (1 grama) 8/11 11/9
\(precision_2\) (2 gramas) 4/10 5/10
\(precision_3\) (3gram) 2/9 2/9
\(precision_4\) (4gram) 0/8 1/8
Brevity-Penalty 0,83 0,83
Pontuação BLEU 0,0 0,27