BLEU: uma métrica incompreendida de outra época

Mas ainda hoje usado em pesquisas de IA

Uma parede azul — Imagem de Pixabay

GPT-3, Sussurro, Palma, NLLB, QUINDIM, e muitos outros modelos foram avaliados com a métrica BLEU para reivindicar sua superioridade em algumas tarefas.

Mas o que é exatamente o BLEU? Como funciona?

Neste artigo, voltaremos 20 anos atrás para expor os principais motivos que deram origem ao BLEU e o tornaram uma métrica de muito sucesso. Veremos como o BLEU funciona com alguns exemplos. Também destacarei os principais limites da métrica e fornecerei recomendações sobre como utilizá-la.

Este artigo é considerado uma introdução ao BLEU, mas também pode ser um ótimo lembrete para profissionais experientes de PNL/IA que usam o BLEU por hábitos e não por necessidade.

O BLEU foi descrito pela primeira vez em um relatório de pesquisa da IBM de coautoria de Kishore Papineni, Salim Roukos, Todd Ward e Wei-Jing Zhu, em 2001. Eles publicaram um artigo científico descrevendo-o um ano depois, no ACL 2002, que é muito mais citado e fácil de encontrar.

O BLEU foi originalmente proposto como uma métrica automática para avaliar a tradução automática (MT).

Em 2001, os sistemas de tradução automática ainda eram avaliados principalmente manualmente ou usando métricas automáticas mais antigas, como WER (taxa de erro da palavra). WER é uma métrica inspirada na distância de Levenshtein e ainda hoje é utilizada para avaliação de sistemas de reconhecimento de fala. Para avaliação de tradução automática, o WER pode ser visto como um ancestral do BLEU. Os autores do BLEU expressam-no da seguinte forma:

Criamos nossa métrica de proximidade com base na métrica de taxa de erro de palavras de grande sucesso usada pela comunidade de reconhecimento de fala

Assim como o WER, o BLEU é uma métrica que mede quão próximo um texto está de textos de referência produzidos por humanos, por exemplo, traduções de referência.

Sendo a tradução uma tarefa com múltiplas soluções corretas, os autores do BLEU conceberam a sua métrica para que possa lidar com múltiplas traduções de referência. Isso não era novidade naquela época, pois o WER já estava sendo transformado em um “mWER” para também lidar com múltiplas referências. Até onde sei, foi proposto pela primeira vez por Alshawi et al. (1998) dos Laboratórios AT&T.

É importante notar que, em todo o artigo que apresenta o BLEU, os autores sempre assumem o uso de múltiplas traduções de referência para sua métrica. Eles discutem brevemente o uso de uma única tradução de referência para ser correta apenas em algumas circunstâncias:

podemos utilizar um grande corpus de teste com uma única tradução de referência, desde que as traduções não sejam todas do mesmo tradutor.

Em contraste, hoje em dia, a maioria dos trabalhos de investigação utiliza BLEU com um referência única, muitas vezes de um origem desconhecida, E para várias tarefas, ou seja, não apenas tradução.

Desde 2001, o BLEU tem sido uma métrica de muito sucesso, para dizer o mínimo. Isto se deveu em parte à sua custo computacional barato e os votos de reprodutibilidade das pontuações BLEU, ao contrário da avaliação humana, cujos resultados podem variar muito dependendo dos avaliadores e do quadro de avaliação.

BLEU é agora usado em quase 100% dos trabalhos de pesquisa de tradução automática e se espalhou amplamente para outras tarefas de geração de linguagem natural.

Mais precisamente, o BLEU avalia quão bem os n-gramas de uma tradução são combinando os n-gramas de um conjunto de traduções de referência, enquanto penalizar a tradução automática se esta for mais curta ou mais longa do que as traduções de referência.

Algumas definições:

An n-grama é uma sequência de tokens. Vamos também definir aqui que um token é uma sequência de caracteres delimitados arbitrariamente por espaços. Por exemplo, a frase “um token não é uma palavra”. muitas vezes será tokenizado como “um token não é uma palavra”. Discutiremos mais sobre o papel extremamente importante da tokenização posteriormente neste artigo.

Para ver o BLEU em ação, peguei emprestado um exemplo do artigo BLEU de uma frase em chinês (não fornecida pelos autores) traduzida para o inglês. Temos as seguintes 2 traduções geradas por tradução automática:

Imagem do autor

E as seguintes três traduções de referência fornecidas por humanos:

Imagem do autor

A pergunta que queremos responder com o BLEU é:

Qual tradução é a mais próxima das traduções de referência fornecidas?

Destaquei todos os n-gramas cobertos pelas traduções de referência em ambas as traduções candidatas.

Imagem do autor

O Candidato 1 cobre muito mais n-gramas das traduções de referência e, como seu comprimento (número de tokens) também corresponde razoavelmente ao comprimento das traduções de referência, ele obterá uma pontuação BLEU mais alta do que o Candidato 2. Aqui o BLEU está correto, pois o Candidato 1 é realmente melhor que o Candidato 2.

Com este exemplo, podemos ver alguns limites óbvios do BLEU. O significado da tradução avaliada não é considerado. O BLEU pesquisou apenas correspondências exatas com os tokens das traduções de referência.

Por exemplo, "garantir”no Candidato 2 não está nas traduções de referência, mas“garante" é. Desde "garantir” não é exatamente o mesmo que “garante”, BLEU não recompensa apesar de ter um significado próximo.

Pode ser ainda pior quando olhamos atentamente para os sinais de pontuação. Por exemplo, o Candidato 2 termina com “.”mas este período está anexado a“diretamente.”Para formar um único token. “diretamente.” não é um símbolo das traduções de referência. O candidato 2 não é recompensado por conter corretamente esse período.

É por isso que o BLEU geralmente é calculado em traduções que são tokenizadas para dividir tokens contendo sinais de pontuação. Discutiremos isso com mais detalhes na próxima seção.

Para simplificar, não discutirei as equações por trás do BLEU. Se você estiver interessado em calcular o BLEU sozinho, convido você a ler o artigo do BLEU onde todas as equações estão bem motivadas e explicadas.

Vimos que o BLEU é muito rigoroso, pois um token deve ser idêntico a um token nas traduções de referência para contar como uma correspondência. É aqui que a tokenização desempenha um papel muito importante, mas muitas vezes mal compreendido Função.

A tokenização dá alguns flexibilidade para BLUE.

Por exemplo, vejamos novamente o Candidato 2:

É para garantir que as tropas ouçam sempre o guia de atividades dirigido pelo grupo.

Mas desta vez, aplicamos regras simples de tokenização para separar os sinais de pontuação das palavras. Nós obtemos:

É para garantir que as tropas ouçam sempre o guia de atividades dirigido pelo partido.

Observe que ".”foi separado de“diretamente” por um espaço. Esta é a única diferença. O candidato 2 agora corresponde a mais um token das traduções de referência. Este token é “.”. Não parece importante, pois é apenas mais um token, mas é muito frequente. Esta tokenização terá impacto em quase todas as sentenças e, portanto, levará a pontuações BLEU significativamente melhores.

Há uma quantidade infinita de tokenizações possíveis. Por exemplo, as seguintes frases em francês são traduções do inglês, às quais aplico 5 tokenizadores diferentes. Nota: eu usei Moisés (código aberto, licença LGPL) e SacreBLEU (código aberto, licença Apache 2.0).

Imagem do autor

Estas são as mesmas frases, mas como são tokenizadas de forma diferente, corresponderão a tokens diferentes das traduções de referência. Todas essas tokenizações produzirão pontuações BLEU diferentes, enquanto as traduções permanecerão as mesmas.

É por isso que duas pontuações BLEU calculadas em traduções para as quais a tokenização é diferente ou desconhecida não podem ser comparadas.

Isto é Muitas vezes esquecido em artigos científicos atualmente.

Você pode ver a tokenização como um parâmetro do BLEU. Se você alterar os parâmetros, você altera a métrica. As pontuações de duas métricas diferentes não podem ser comparadas.

Quando o BLEU foi proposto em 2001, a qualidade da tradução automática era muito diferente.

Para se ter uma ideia dessa diferença, tentei recriar um sistema de tradução automática do francês para o inglês dos anos 2000. Para isso, treinei um sistema de tradução automática estatística baseado em palavras. Eu fiz isso com Moisés. Denotarei este sistema como “MT estatístico (2001)”.

Em seguida, treinei um sistema de tradução automática neural usando um modelo vanilla do Transformer. Eu fiz isso com Marian (código aberto, licença MIT). Denotarei este sistema como “MT neural (2022)”.

As traduções que eles geram são as seguintes. Nota: destaquei os n-gramas que correspondem à tradução de referência.

Imagem do autor

Como esperado, a tradução gerada pela MT estatística não faz muito sentido, especialmente no final da frase. Abrange menos n-gramas da tradução de referência do que a MT neural. Por outro lado, a tradução gerada pela MT neural parece perfeita (sem contexto), mas não é exatamente igual à tradução de referência, por isso será penalizada pelo BLEU.

Em 2001, os sistemas de tradução automática geraram traduções muitas vezes sem sentido e com erros sintáticos óbvios. Eles foram legitimamente penalizados por não corresponderem a traduções de referência específicas. Hoje em dia, a tradução automática neural geralmente gera traduções muito fluentes, especialmente para pares de idiomas “fáceis”, como francês-inglês. Freqüentemente, eles encontrarão a tradução correta, mas como há muitas traduções corretas possíveis, encontrar a tradução exata usada como referência só pode acontecer por acaso.

Foi aqui que atingimos os limites do BLEU, que recompensará apenas correspondências exatas, mesmo quando a tradução estiver correta.

O BLEU tem orientado o progresso na investigação da tradução automática durante muitos anos. Na NAACL 2018, os autores do BLEU receberam um prêmio de teste do tempo.

O BLEU ainda é usado em muitas áreas da IA, mas apenas por hábitos. Agora é amplamente superado por muitas outras métricas de avaliação para tarefas de geração de linguagem natural, incluindo tradução automática, como chrF, BLUERTou COMETA.

No entanto, o BLEU continua a ser um ferramenta muito boa para fins de diagnóstico.

Como o BLEU tem um comportamento bem conhecido, ou seja, sabemos que nível de BLEU esperar para tarefas de tradução específicas, ele pode ser usado para detectar rapidamente bugs e outros problemas no pipeline de treinamento de um sistema de tradução automática ou no seu processamento de dados.

Em qualquer caso, BLEU não deve ser usado em textos curtos. Na prática, os profissionais de tradução automática sempre executam o BLEU em textos que contêm mais de 1,000 frases. O BLEU destina-se a avaliar a tradução de documentos. Não deve ser usado para avaliar a tradução de frases.

Quanto às implementações do BLEU, muitas estão disponíveis publicamente. Hugging Face tem sua própria implementação no Avaliar biblioteca. NLTK também implementa BLEU. Há também o multi-bleu.perl roteiro no projeto Moisés. Observe que todas essas implementações do BLEU são diferentes e não produzirão resultados comparáveis. Minha recomendação pessoal é usar a implementação original do SacreBLEU uma vez que esta ferramenta pretendia garantir a reprodutibilidade e comparabilidade das pontuações do BLEU.

E se você planeja usar o BLEU em seu próximo trabalho, não negligencie a necessidade de testar a significância estatística de seus resultados.

A melhor maneira de apoiar meu trabalho é se tornar um membro Medium usando meu link:

Se você já é membro e deseja apoiar este trabalho, basta siga-me no Medium.

BLEU: uma métrica incompreendida de outra época republicada da fonte https://towardsdatascience.com/bleu-a-misunderstood-metric-from-another-age-d434e18f1b37?source=rss—-7f60cf5620c9—4 via https://towardsdatascience. com/feed

<!–

->

Carimbo de hora:

Mais de Consultores Blockchain