BLEU

O Assistente de Avaliação Bilíngue, do inglês Bilingual Evaluation Understudy mais conhecido pela sigla BLEU, é um algoritmo que avalia a qualidade do texto que foi traduzido automaticamente de um idioma natural para outro. A qualidade considera a correspondência entre o resultado de uma máquina e o de um ser humano: "quanto mais próxima uma tradução automática estiver de uma tradução humana profissional, melhor ela é" - essa é a ideia central por trás do BLEU.[1] Inventado na IBM em 2001,[2] o BLEU foi uma das primeiras métricas a reivindicar uma alta correlação com julgamentos humanos de qualidade,[1][3] e continua sendo uma das métricas automatizadas e econômicas mais populares.

As pontuações são calculadas para segmentos individuais traduzidos - geralmente frases - comparando-os com um conjunto de traduções de referência de boa qualidade. Em seguida, calcula-se a média dessas pontuações em todo o corpus para obter uma estimativa da qualidade geral da tradução. A inteligibilidade ou a correção gramatical não são levadas em conta.

O resultado do BLEU é sempre um número entre 0 e 1. Esse valor indica o grau de semelhança entre o texto candidato e os textos de referência, com valores mais próximos de 1 representando textos mais semelhantes. Poucas traduções humanas atingirão uma pontuação de 1, pois isso indicaria que o candidato é idêntico a uma das traduções de referência. Por esse motivo, não é necessário atingir uma pontuação de 1. Como há mais oportunidades de correspondência, a adição de traduções de referência adicionais aumentará a pontuação BLEU.[1]

Definição matemática

Configuração básica

Uma primeira tentativa básica de definir a pontuação BLEU receberia dois argumentos: uma string candidata y ^ {\displaystyle {\hat {y}}} e uma lista de strings de referência ( y ( 1 ) , . . . , y ( N ) ) {\displaystyle (y^{(1)},...,y^{(N)})} . A ideia é que B L E U ( y ^ ; y ( 1 ) , . . . , y ( N ) ) {\displaystyle BLEU({\hat {y}};y^{(1)},...,y^{(N)})} deve estar próximo de 1 quando y ^ {\displaystyle {\hat {y}}} é semelhante a ( y ( 1 ) , . . . , y ( N ) ) {\displaystyle (y^{(1)},...,y^{(N)})} , e próximo de 0 caso contrário.

Como analogia, a pontuação BLEU é como um professor de idiomas tentando avaliar a qualidade da tradução de um aluno y ^ {\displaystyle {\hat {y}}} verificando o quanto ela segue as respostas de referência y ( 1 ) , . . . , y ( N ) {\displaystyle y^{(1)},...,y^{(N)}} .

Como no processamento de linguagem natural é necessário avaliar um grande conjunto de strings candidatas, é preciso generalizar a pontuação BLEU para o caso em que se tem uma lista de M strings candidatas (chamada de "corpus") ( y ^ ( 1 ) , , y ^ ( M ) ) {\displaystyle ({\hat {y}}^{(1)},\cdots ,{\hat {y}}^{(M)})} , e para cada string candidata y ^ {\displaystyle {\hat {y}}} , há uma lista de strings candidatas de referência S i := ( y ( i , 1 ) , . . . , y ( i , N i ) ) {\displaystyle S_{i}:=(y^{(i,1)},...,y^{(i,N_{i})})} .

Dada qualquer string y = y 1 y 2 y K {\displaystyle y=y_{1}y_{2}\cdots y_{K}} , e qualquer integral n 1 {\displaystyle n\geq 1} , pode-se definir o conjunto de seus n-gramas como sendo: G n ( y ) = { y 1 y n , y 2 y n + 1 , , y K n + 1 y K } {\displaystyle G_{n}(y)=\{y_{1}\cdots y_{n},y_{2}\cdots y_{n+1},\cdots ,y_{K-n+1}\cdots y_{K}\}} Observe que se trata de um conjunto de elementos exclusivos, e não de um multiconjunto que permite elementos redundantes, de modo que, por exemplo, G 2 ( a b a b ) = { a b , b a } {\displaystyle G_{2}(abab)=\{ab,ba\}} .

Dadas duas strings s , y {\displaystyle s,y} , defina a contagem de substrings C ( s , y ) {\displaystyle C(s,y)} como sendo o número de aparições de s {\displaystyle s} como uma substring de y {\displaystyle y} . Por exemplo, C ( a b , a b c b a b ) = 2 {\displaystyle C(ab,abcbab)=2} .

Agora, fixa-se um corpus candidato S ^ := ( y ^ ( 1 ) , , y ^ ( M ) ) {\displaystyle {\hat {S}}:=({\hat {y}}^{(1)},\cdots ,{\hat {y}}^{(M)})} , e referencia-se o corpus candidato S = ( S 1 , , S M ) {\displaystyle S=(S_{1},\cdots ,S_{M})} , onde cada S S i := ( y ( i , 1 ) , . . . , y ( i , N i ) ) {\displaystyle S_{i}:=(y^{(i,1)},...,y^{(i,N_{i})})} .

Precisão de n-grama modificada

Defina a função de precisão do n-grama modificada como: p n ( S ^ ; S ) := i = 1 M s G n ( y ^ ( i ) ) min ( C ( s , y ^ ( i ) ) , max y S i C ( s , y ) ) i = 1 M s G n ( y ^ ( i ) ) C ( s , y ^ ( i ) ) {\displaystyle p_{n}({\hat {S}};S):={\frac {\sum _{i=1}^{M}\sum _{s\in G_{n}({\hat {y}}^{(i)})}\min(C(s,{\hat {y}}^{(i)}),\max _{y\in S_{i}}C(s,y))}{\sum _{i=1}^{M}\sum _{s\in G_{n}({\hat {y}}^{(i)})}C(s,{\hat {y}}^{(i)})}}} O n-grama modificado, que parece complicado, é apenas uma generalização direta do caso prototípico: uma frase candidata e uma frase de referência. Nesse caso, é: p n ( { y ^ } ; { y } ) = s G n ( y ^ ) min ( C ( s , y ^ ) , C ( s , y ) ) s G n ( y ^ ) C ( s , y ^ ) {\displaystyle p_{n}(\{{\hat {y}}\};\{y\})={\frac {\sum _{s\in G_{n}({\hat {y}})}\min(C(s,{\hat {y}}),C(s,y))}{\sum _{s\in G_{n}({\hat {y}})}C(s,{\hat {y}})}}} Para chegar a essa expressão, começamos com a soma mais óbvia da contagem de n-gramas: s G n ( y ^ ) C ( s , y ) = número de n-substrings em  y ^  que aparecem em  y {\displaystyle \sum _{s\in G_{n}({\hat {y}})}C(s,y)={\text{número de n-substrings em }}{\hat {y}}{\text{ que aparecem em }}y} Essa quantidade mede quantos n-gramas na frase de referência são reproduzidos pela frase candidata. Observe que contamos as n-substrings, não os n-gramas. Por exemplo, quando y ^ = a b a , y = a b a b a b a , n = 2 {\displaystyle {\hat {y}}=aba,y=abababa,n=2} , todas as 2-substrings em y ^ {\displaystyle {\hat {y}}} (ab e ba) aparecem em y {\displaystyle y} 3 vezes cada, portanto a contagem é 6, não 2.


Na situação acima, entretanto, a string de candidatos é muito curta. Em vez de 3 aparições de a b {\displaystyle ab} ela contém apenas uma, portanto, adiciona-se uma função mínima para corrigir isso: s G n ( y ^ ) min ( C ( s , y ^ ) , C ( s , y ) ) {\displaystyle {\sum _{s\in G_{n}({\hat {y}})}\min(C(s,{\hat {y}}),C(s,y))}} Essa soma de contagem não pode ser usada para comparar frases, pois não é normalizada. Se tanto a frase de referência quanto a frase candidata forem longas, a contagem poderá ser grande, mesmo que a candidata seja de qualidade muito ruim. Portanto, normalisa-se: s G n ( y ^ ) min ( C ( s , y ^ ) , C ( s , y ) ) s G n ( y ^ ) C ( s , y ^ ) {\displaystyle {\frac {\sum _{s\in G_{n}({\hat {y}})}\min(C(s,{\hat {y}}),C(s,y))}{\sum _{s\in G_{n}({\hat {y}})}C(s,{\hat {y}})}}} A normalização é tal que é sempre um número em [ 0 , 1 ] {\displaystyle [0,1]} permitindo comparações significativas entre os corpus. É zero se nenhuma das n-substrings do candidato estiver na referência. É um se cada n-grama no candidato aparecer na referência, pelo menos tantas vezes quanto no candidato. Em particular, se o candidato for uma substring da referência, então é um.

Penalidade de brevidade

A precisão modificada do n-grama atribui indevidamente uma pontuação alta para strings candidatas que são "telegráficas", ou seja, que contêm todos os n-gramas das cadeias de caracteres de referência, mas pelo menor número de vezes possível.

Para punir as cadeias de strings que são muito curtas, define-se a penalidade de brevidade como: B P ( S ^ ; S ) := e ( r / c 1 ) + {\displaystyle BP({\hat {S}};S):=e^{-(r/c-1)^{+}}} onde ( r / c 1 ) + = max ( 0 , r / c 1 ) {\displaystyle (r/c-1)^{+}=\max(0,r/c-1)} é a parte positiva de r / c 1 {\displaystyle r/c-1} .

  • Quando r c {\displaystyle r\leq c} , a penalidade de brevidade B P = 1 {\displaystyle BP=1} , o que significa que não se pune candidatos longos mas apenas candidatos curtos.
  • Quando r c {\displaystyle r\leq c} , a penalidade de brevidade B P = e ( 1 r ) / c {\displaystyle BP=e^{(1-r)/c}}

c {\displaystyle c} é o comprimento do corpus candidato, ou seja, o tamanho do corpus, c := i = 1 M | y ^ ( i ) | {\displaystyle c:=\sum _{i=1}^{M}|{\hat {y}}^{(i)}|} onde | y | {\displaystyle |y|} é o comprimento de y {\displaystyle y} . r {\displaystyle r} é o comprimento efetivo do corpus de referência, ou seja, r := i = 1 M | y ( i , j ) | {\displaystyle r:=\sum _{i=1}^{M}|y^{(i,j)}|} onde y ( i , j ) = arg min y S i | | y | | y ^ ( i ) | | {\displaystyle y^{(i,j)}=\arg \min _{y\in S_{i}}||y|-|{\hat {y}}^{(i)}||} , ou seja, a frase de S i {\displaystyle S_{i}} cujo comprimento é mais o próximo possível de | y ^ ( i ) | {\displaystyle |{\hat {y}}^{(i)}|} .

Definição final de BLEU

Não há uma única definição de BLEU, mas uma família inteira delas, parametrizada pelo vetor de ponderação w := ( w 1 , w 2 , ) {\displaystyle w:=(w_{1},w_{2},\cdots )} . É uma distribuição de probabilidade em { 1 , 2 , 3 , } {\displaystyle \{1,2,3,\cdots \}} , ou seja, i = 1 w i = 1 {\displaystyle \sum _{i=1}^{\infty }w_{i}=1} , e i { 1 , 2 , 3 , } , w i [ 0 , 1 ] {\displaystyle \forall i\in \{1,2,3,\cdots \},w_{i}\in [0,1]} .

Com a escolha de w {\displaystyle w} , a pontuação BLEU é B L E U w ( S ^ ; S ) := B P ( S ^ ; S ) exp ( n = 1 w n ln p n ( S ^ ; S ) ) {\displaystyle BLEU_{w}({\hat {S}};S):=BP({\hat {S}};S)\cdot \exp \left(\sum _{n=1}^{\infty }w_{n}\ln p_{n}({\hat {S}};S)\right)} Em outras palavras, é uma média geométrica ponderada de todas as precisões de n-gramas modificados, multiplicada pela penalidade de brevidade. Usa-se a média geométrica ponderada, em vez da média aritmética ponderada, para favorecer fortemente os corpus candidatos que são simultaneamente bons de acordo com várias precisões de n-gramas.

A opção mais comum, a recomendada no documento original, é w 1 = = w 4 = 1 4 {\displaystyle w_{1}=\cdots =w_{4}={\frac {1}{4}}} .[4]

Algoritmo

Isso é ilustrado no seguinte exemplo de Papineni et al. (2002):

Exemplo de um resultado de tradução automática ruim com alta precisão
Candidato the the the the the the the
Referência 1 the cat is on the mat
Referência 2 there is a cat on the mat

Das sete palavras na tradução candidata, todas elas aparecem nas traduções de referência. Assim, o texto candidato recebe uma precisão de unigrama de,

P = m w t = 7 7 = 1 {\displaystyle P={\frac {m}{w_{t}}}={\frac {7}{7}}=1}

onde m {\displaystyle m} é o número de palavras do candidato que são encontradas na referência, e w t {\displaystyle w_{t}} é o número total de palavras no candidato. Essa é uma pontuação perfeita, apesar do fato de que a tradução do candidato acima retém pouco do conteúdo de qualquer uma das referências.

A modificação que o BLEU faz é bastante simples. Para cada palavra na tradução candidata, o algoritmo obtém sua contagem total máxima, m m a x {\displaystyle m_{max}} em qualquer uma das traduções de referência. No exemplo acima, a palavra "the" aparece duas vezes na referência 1 e uma vez na referência 2. Portanto   m m a x = 2 {\displaystyle ~m_{max}=2} .

Para a tradução candidata, a contagem   m m a x {\displaystyle ~m_{max}} de cada palavra é cortada até um máximo de m m a x {\displaystyle m_{max}} para essa palavra. Nesse caso, "the" tem m w = 7 {\displaystyle m_{w}=7} e   m m a x = 2 {\displaystyle ~m_{max}=2} , portanto m w {\displaystyle m_{w}} é cortado em 2. Essas contagens cortadas m w {\displaystyle m_{w}} são somadas a todas as palavras distintas do candidato. Essa soma é então dividida pelo número total de unigramas na tradução candidata. No exemplo acima, a pontuação de precisão do unigrama modificado seria:

P = 2 7 {\displaystyle P={\frac {2}{7}}}

Na prática, porém, usar palavras individuais como unidade de comparação não é o ideal. Em vez disso, o BLEU calcula a mesma métrica de precisão modificada usando n-gramas. O comprimento que tem a "maior correlação com julgamentos humanos monolíngues"[1] foi considerado quatro. As pontuações dos unigramas são responsáveis pela adequação da tradução, pela quantidade de informações retidas. As pontuações mais longas dos n-gramas representam a fluência da tradução, ou até que ponto ela se parece com um "bom inglês".

Comparação de métricas para o candidato "the the cat"
Modelo Conjunto de gramas Pontuação
Unigrama "the", "the", "cat" 1 + 1 + 1 3 = 1 {\displaystyle {\frac {1+1+1}{3}}=1}
Unigrama agrupado "the"*2, "cat"*1 1 + 1 2 + 1 = 2 3 {\displaystyle {\frac {1+1}{2+1}}={\frac {2}{3}}}
Bigrama "the the", "the cat" 0 + 1 2 = 1 2 {\displaystyle {\frac {0+1}{2}}={\frac {1}{2}}}

Um exemplo de uma tradução candidata para as mesmas referências acima pode ser:

the cat

Nesse exemplo, a precisão do unigrama modificado seria,

P = 1 2 + 1 2 = 2 2 {\displaystyle P={\frac {1}{2}}+{\frac {1}{2}}={\frac {2}{2}}}

pois a palavra "the" e a palavra "cat" aparecem uma vez cada no candidato, e o número total de palavras é dois. A precisão do bigrama modificado seria 1 / 1 {\displaystyle 1/1} já que o bigrama "the cat" aparece uma vez no candidato. Foi observado que a precisão geralmente é combinada com a recuperação para superar esse problema[1], já que a recuperação de um unigrama desse exemplo seria 3 / 6 {\displaystyle 3/6} ou 2 / 7 {\displaystyle 2/7} . O problema é que, como há várias traduções de referência, uma tradução ruim poderia facilmente ter um recall inflado, como uma tradução que consistisse em todas as palavras de cada uma das referências.[1]

Para produzir uma pontuação para todo o corpus, as pontuações de precisão modificadas para os segmentos são combinadas usando a média geométrica multiplicada por uma penalidade de brevidade para evitar que candidatos muito curtos recebam uma pontuação muito alta. Seja r o tamanho total do corpus de referência e c o tamanho total do corpus de tradução. Se c r {\displaystyle c\leq r} , aplica-se a penalidade de brevidade, definida como e ( 1 r / c ) {\displaystyle e^{(1-r/c)}} .No caso de várias frases de referência, r é considerado a soma dos comprimentos das frases cujos comprimentos são mais próximos dos comprimentos das frases candidatas. No entanto, na versão da métrica usada pelas avaliações do NIST antes de 2009, era usada a sentença de referência mais curta.

O iBLEU é uma versão interativa do BLEU que permite que o usuário examine visualmente as pontuações do BLEU obtidas pelas traduções candidatas. Ele também permite a comparação de dois sistemas diferentes de forma visual e interativa, o que é útil para o desenvolvimento de sistemas.[5]

Desempenho

O BLEU tem sido frequentemente relatado como tendo boa correlação com o julgamento humano,[1][3][6] e continua sendo uma referência para a avaliação de qualquer nova métrica de avaliação. No entanto, há uma série de críticas que foram feitas. Observou-se que, embora em princípio seja capaz de avaliar traduções de qualquer idioma, o BLEU não pode, em sua forma atual, lidar com idiomas sem limites de palavras.[7] Projetado para ser usado em várias traduções de referência, na prática ele é usado apenas com uma única.[2] O BLEU é infamemente dependente da técnica de tokenização, e as pontuações obtidas com diferentes técnicas são incomparáveis (o que é frequentemente ignorado); para melhorar a reprodutibilidade e a comparabilidade, foi criada a variante SacreBLEU.[2]

Argumentou-se que, embora o BLEU tenha vantagens significativas, não há garantia de que um aumento na pontuação do BLEU seja um indicador de melhor qualidade de tradução.[8]

Veja também

Referências

  1. a b c d e f g Papineni et al. (2002)
  2. a b c Marie, Benjamin (5 de novembro de 2022). «BLEU: A Misunderstood Metric from Another Age». Medium (em inglês). Consultado em 11 de julho de 2023 
  3. a b Coughlin (2003)
  4. Papineni et al. (2001)
  5. Madnani (2011)
  6. Doddington (2002)
  7. Denoual & Lepage (2005)
  8. Callison-Burch, Osborne & Koehn (2006)

Bibliografia

  • Papineni, Kishore; Roukos, Salim; Ward, Todd; Zhu, Wei-Jing (2001). «BLEU». Morristown, NJ, USA: Association for Computational Linguistics. Proceedings of the 40th Annual Meeting on Association for Computational Linguistics - ACL '02: 311. doi:10.3115/1073083.1073135Acessível livremente 
  • Papineni, K.; Roukos, S.; Ward, T.; Zhu, W. J. (2002). BLEU: a method for automatic evaluation of machine translation (PDF). ACL-2002: 40th Annual meeting of the Association for Computational Linguistics. pp. 311–318. CiteSeerX 10.1.1.19.9416Acessível livremente 
  • Papineni, K., Roukos, S., Ward, T., Henderson, J and Reeder, F. (2002). "Corpus-based Comprehensive and Diagnostic MT Evaluation: Initial Arabic, Chinese, French, and Spanish Results Arquivado em 2016-03-04 no Wayback Machine" in Proceedings of Human Language Technology 2002, San Diego, pp. 132–137
  • Callison-Burch, C., Osborne, M. and Koehn, P. (2006) "Re-evaluating the Role of BLEU in Machine Translation Research" in 11th Conference of the European Chapter of the Association for Computational Linguistics: EACL 2006 pp. 249–256
  • Doddington, G. (2002) "Automatic evaluation of machine translation quality using n-gram cooccurrence statistics" in Proceedings of the Human Language Technology Conference (HLT), San Diego, CA pp. 128–132
  • Coughlin, D. (2003) "Correlating Automated and Human Assessments of Machine Translation Quality" in MT Summit IX, New Orleans, USA pp. 23–27
  • Denoual, E. and Lepage, Y. (2005) "BLEU in characters: towards automatic MT evaluation in languages without word delimiters" in Companion Volume to the Proceedings of the Second International Joint Conference on Natural Language Processing pp. 81–86
  • Lee, A. and Przybocki, M. (2005) NIST 2005 machine translation evaluation official results
  • Lin, C. and Och, F. (2004) "Automatic Evaluation of Machine Translation Quality Using Longest Common Subsequence and Skip-Bigram Statistics" in Proceedings of the 42nd Annual Meeting of the Association of Computational Linguistics.
  • Madnani, N. (2011). "iBLEU: Interactively Scoring and Debugging Statistical Machine Translation Systems" in "Proceedings of the Fifth IEEE International Conference on Semantic Computing (Demos), Palo Alto, CA" pp. 213–214

Ligações externas

  • BLEU - Bilingual Evaluation Understudy palestra do curso de Tradução Automática do Instituto de Tecnologia de Karlsruhe, Coursera
  • Portal da matemática
  • Portal das tecnologias de informação