Há um velho ditado que diz, que se deres o mesmo texto a 10 tradutores diferentes, eles farão 10 traduções diferentes e igualmente válidas. Afinal, a língua é altamente subjetiva, portanto, quando se trata de tradução, não há uma resposta única universalmente aceite. E assim, naturalmente, os linguistas têm opiniões muito marcadas sobre qual das traduções é mais fiel ao significado original da mensagem.

Uma vez que procuramos uma elevada qualidade na tradução, isto representa um grande desafio para nós. Acontece que o mesmo se aplica à anotação de erros de tradução. Os anotadores nem sempre concordam, não porque um erro de tradução tenha sido sinalizado incorretamente, mas sim porque o mesmo erro pode ser classificado de outra forma, dependendo do ponto de vista que assumes. Então, como podemos treinar os nossos modelos para serem precisos, quando mesmo nós não conseguimos concordar com o que está errado? E será que esta diversidade de opiniões pode ser uma coisa boa?

A aprendizagem supervisionada precisa de exemplos

Primeiro, vamos dar um passo atrás: porque nos interessa o que os anotadores têm a dizer?

Por uma simples razão: atualmente, quase todos os métodos de IA eficazes são métodos supervisionados. Isto significa que aprendem com exemplos. Para o reconhecimento de imagem, os exemplos são imagens com caixas delimitadoras com rótulos (esta parte da imagem é um gato, esta parte da imagem é um cão, etc.), para o reconhecimento de fala os exemplos são gravações de voz com a respetiva transcrição de texto e, para a tradução automática (TA), isto significa frases com exemplos de traduções.

Algumas tarefas requerem a classificação de palavras ou frases inteiras em classes fixas – o desafio inerente ao reconhecimento de entidades nomeadas (REN) é conseguir identificar as partes da frase que indicam determinadas categorias de interesse, como local, nome, data.

Um exemplo do tipo de dados usado no Reconhecimento de Entidades Nomeadas (REN): LOC é localização, ORG é organização e GPE é entidade geopolítica. Observa que uma entidade pode consistir em várias palavras. (Imagem de Huggingface, tirada de https://twitter.com/huggingface/status/1230870653194121216)

Estes dados rotulados são a base de qualquer aplicação de aprendizagem automática bem-sucedida no mundo real, porque estes exemplos não treinam apenas modelos – eles também avaliam se os modelos aprenderam a tarefa em questão. Afinal, não queremos simplesmente que copiem os exemplos que foram mostrados, queremos que generalizem para casos que não foram apresentados. Por esse motivo, mantemos alguns exemplos de parte, que serão usados para testar os modelos posteriormente.

O importante é lembrarmo-nos que estes exemplos são fornecidos por nós, humanos! Nós criamos cuidadosamente as traduções de exemplo, decidimos quais as categorias para as imagens, escolhemos a taxonomia das classes que entram no sistema REN. Podemos chamar a este esforço, o processo de criar exemplos com rótulos, “anotações”, e à pessoa que faz isto, “anotador”.

Na Unbabel, usamos a Métrica de Qualidade Multidimensional , ou MQM, para avaliar a qualidade das nossas traduções. Os anotadores são muito importantes no processo – eles anotam os erros, um processo que implica, para cada erro de tradução encontrado, que se referencie a extensão do erro, classificando-o na lista de problemas e, finalmente, atribuindo-lhe um grau de gravidade (reduzida, grande e grave). Este é um esforço bilingue – o anotador deve ser competente em ambos os idiomas.

O seu trabalho tem diferentes magnitudes: um pouco desse trabalho é a anotação de erros refinada, como quando estão a avaliar se as palavras são traduzidas incorretamente ou se são excessivamente literais. Mas, por vezes, a anotação de erros acontece num nível superior, por exemplo, quando se avalia se uma frase é uma tradução melhor do que outra frase (hierarquização), ou se esta frase tem uma pontuação de 9/10, mas a outra de 3/10 (avaliação direta). Nalguns casos, especialmente em situações em que foi efetuada uma avaliação direta, pode ser difícil entender o critério do anotador.

Porque, e aqui está o problema: os anotadores nem sempre concordam. Quando integramos novos anotadores, não é incomum que existam discordâncias. Em alguns casos, um anotador afirma que um determinado erro é pequeno, outro afirma que se trata de um erro grande e outro afirma que o mesmo é grave! E estes anotadores são altamente qualificados, simplesmente não é uma tarefa fácil.

A divergência acontece por várias razões. Primeiro, a tarefa de anotação é inerentemente subjetiva. Os anotadores podem simplesmente ter preferências diferentes: alguns preferem traduções que mostram maior fluência gramatical, enquanto outros valorizam mais a preservação do significado na tradução.

Mas há outras razões. Apesar dos melhores esforços e de afinações recorrentes, as instruções nem sempre são claras – não é possível prever todos os casos em que um determinado rótulo deve ser usado e, mais uma vez, a língua é ambígua e apresenta desafios quando se tenta classificá-la.

Além do mais, os humanos cometem erros. Muitos. Também são conhecidos pelos enviesamentos, tanto a nível individual (por exemplo, preferem consistentemente uma leitura/interpretação do que outra) como a nível coletivo, no sentido mais sociocultural do termo.

Por fim, até o desempenho de um anotador competente pode variar – tenta fazer um teste linguístico na tua própria língua materna quando te sentires cansado ou com pouca concentração.

Mas, embora as divergências sejam normais, podem, certamente, tornar-se problemáticas. Se eles não concordam com a gravidade de um erro, como sabemos qual a sua gravidade?

Medir a concordância ou a falta dela

Para começar, poderíamos usar os recursos do processo de anotação para medir a qualidade. Mas isso pode ser problemático. Toma, como exemplo, o tempo que o anotador demora a concluir a tarefa – um valor muito simples de obter. Estamos a assumir que um anotador rápido é provavelmente apressado e, portanto, propenso a erros, enquanto um anotador que demora um pouco mais está apenas a ser minucioso. Mas pode acontecer que o anotador rápido seja experiente e eficiente, enquanto o anotador lento esteja apenas a “arrastar-se”.

É muito difícil distinguir os anotadores apenas por características simples. Mas quando os metadados são mais expressivos em relação à tarefa, como o comportamento das teclas de um editor, podem tornar-se preditores de qualidade, como mostra o Translator2Vec, um modelo desenvolvido na Unbabel.

Em vez de analisar dados comportamentais, podemos analisar as próprias previsões. Se reunirmos várias opiniões sobre o mesmo elemento, podemos ir além da sua caracterização – podemos também comparar! E é aqui que o grau de concordância entre anotadores é relevante. A concordância entre anotadores geralmente é medida com estatísticas que resumem – num único número – o grau de acordo entre anotadores diferentes. Olhemos para a concordância bruta, que é o número de vezes que os anotadores concordam nas suas opiniões. Esta apresenta um problema: se as pessoas escolherem rótulos aleatórios com bastante frequência, em alguma altura elas hão de concordar. E nós não queremos que esse aspeto faça parte da estatística. É exatamente por isso que o coeficiente kappa desfruta de muito mais popularidade: corrige essas concordâncias baseadas na sorte.

Esta ideia pode ser alargada ainda mais para medir a consistência de um anotador ou, por outras palavras, a concordânciaintra-anotador. Se houver várias opiniões da mesma pessoa em relação ao mesmo item – de preferência com algum tempo pelo meio – então, as mesmas métricas acima podem ser usadas para medir o anotador tendo-as como base.

Em última análise, estas métricas podem ajudar a controlar a qualidade dos dados. Elas fornecem uma métrica que pode orientar a tomada de decisão: precisas de despromover certos anotadores? Precisas de descartar alguns exemplos? Mas não te enganes: todas as métricas têm falhas e o coeficiente kappa não é exceção.

Concordar em discordar?

Devemos punir sempre a diferença de opiniões? Algumas tarefas de rotulagem de dados são intrinsecamente ambíguas e, nessas, a discordância pode querer dizer-nos alguma coisa. Considera este exemplo:

Exemplo da Unbabel de anotações MQM no par linguístico inglês-alemão de dois anotadores diferentes. O que está a amarelo é um erro pequeno , a vermelho é um erro crítico . O exemplo vem de um lote de teste usado internamente para treinar e avaliar os anotadores. (A visualização foi criada com uma adaptação do Displacy.)

A frase de origem é “Could you also give me the new email address you would like me to attach to your account.” O MQM da primeira anotação é 40, enquanto o MQM da segunda frase é 70. Fica claro que os anotadores têm abordagens diferentes, com um ponto de concordância claro (a palavra neuen) e um grande desacordo: a última parte da frase.

Neste exemplo, preferimos a segunda anotação. O primeiro anotador afirma que a última parte da frase é ininteligível, o que, de acordo com as diretrizes do MQM, significa que a natureza exata do erro não pode ser determinada, mas que este causa uma grande quebra na fluência. Este é um erro que seria aplicado a uma sequência ilegível de caracteres e números, como em “Otravão deste કુતારો િસ S149235 número de peç,,.”,que não é necessariamente o que acontece na frase acima.

Mas poderíamos argumentar que há uma pergunta interessante aqui. Se a última secção da tradução contém tantos erros que se torna quase impossível de entender, isso não constitui uma “grande quebra na fluência”?

Este exemplo é retirado de uma experiência na qual comparamos e alinhamos anotadores. Como ambos os anotadores são competentes e a fonte da discordância pode ser entendida, a etapa que segue a observação acima é a de calibração: para garantir que todos os anotadores estão na mesma página – connosco e entre si.

Abraçando o caos

Ao lidar com este tipo de discordâncias, há sempre algumas coisas que podemos fazer para as atenuar. Às vezes, é possível reduzir a discordância simplesmente ao dar mais orientações. É uma questão de investimento em mais horas humanas, perceber que rótulos e que tarefas causam a divergência, e a solução pode incluir repensar os rótulos, as ferramentas, os incentivos e as interfaces. Esta é uma abordagem testada e fiável, aqui na Unbabel.

Ou pedes a outros especialistas para corrigir os teus dados. Quando, recentemente, isto foi feito num conjunto clássico de dados REN que ainda é usado, os investigadores descobriram erros de rotulagem em mais de 5% da frase de teste. Isto pode não parecer muito significativo, mas é um número bastante grande para um conjunto de dados em que o estado dos métodos automáticos alcança um desempenho acima de 93%!

Uma abordagem interessante é misturar opiniões – se conseguires obter várias anotações do mesmo item de dados, por que não tentar combiná-las numa única?

Temos a tendência de contar com especialistas porque acreditamos que eles são mais precisos, completos e, em última análise, confiáveis. Como as anotações que usamos usam uma taxonomia especializada de erros e exigem um elevado nível de compreensão do idioma para serem usadas corretamente, contamos com anotadores altamente qualificados.

Mas, o que é fascinante, é o seguinte: para algumas tarefas que não usam uma tipologia especializada ou que não impliquem um tipo especializado de conhecimento, as opiniões recolhidas junto de vários não especialistas é tão fiável como uma opinião única de um especialista. Por outras palavras: um determinado número de não especialistas produz um especialista. E o número necessário de não especialistas para isto pode ser surpreendentemente baixo. Foi este tipo de conhecimento coletivo que construiu a Wikipedia, por exemplo.

Olha, por exemplo, para o reconhecimento de vinculação textual (RTE). A vinculação textual (TE) é uma relação lógica entre dois fragmentos de texto – a relação mantém-se sempre que a verdade de uma frase é decorrente de outra. Por exemplo: “Preços do crude em queda” implica que “Os preços do petróleo caem“; não implica que “O governo aumentará os preços do petróleo” (adaptado de Snow et al., 2018)

Agregar as opiniões de vários não especialistas à qualidade da opinião de um único especialista (Adaptado de Snow et al., 2008)

Aqui, vemos como a agregação da opinião desses não especialistas pode melhorar a precisão das anotações (linha preta). E podemos melhorá-la ainda mais ao ponderar cada opinião de um não especialista com uma determinada pontuação gerada automaticamente a partir da sua concordância com um especialista, o que corrige efetivamente os seus enviesamentos, como mostra a linha azul.

Em vez de ponderares os anotadores pela confiança, também podes tentar ponderar os teus exemplos pela sua dificuldade. Por exemplo, ao atribuir menos importância aos exemplos fáceis – ou com ainda mais rigor: ao removê-los completamente. O aspeto interessante das duas abordagens acima é que os próprios modelos podem ser usados para identificar estes candidatos.

Em suma, é difícil remover toda a ambiguidade. Olhemos para o exemplo da tradução: para uma única frase, existem muitas (possivelmente até “muitíssimas”) traduções válidas, em que provavelmente cada uma dá prioridade a um aspeto diferente da qualidade da tradução – pensa nas diversas traduções que existem para um mesmo romance e que variam em função do tradutor e até da altura em que foram realizadas. Isso é explicitamente explicado na avaliação dos sistemas de tradução, onde é considerada uma boa prática considerar sempre várias traduções de referência válidas ao usar uma métrica automática. No treino de modelos de tradução automática, por outro lado, a questão de como promover a diversidade permanece em aberto, ou em termos mais gerais: como lidar com a incerteza fundamental na tarefa de tradução.

Acontece que demasiada concordância também não é boa para os teus modelos. Quando isso acontece, os anotadores podem começar a deixar para trás padrões fáceis, os chamados “artefactos do anotador”, que são facilmente captados pelos modelos. O problema é causado por características no exemplo de entrada que se correlacionam fortemente com o rótulo de saída, mas não capturam nada de essencial sobre a tarefa. Por exemplo, se todas as fotografias de lobos no treino mostram neve e todas as fotos de huskies não, isto é muito fácil de entender – e também fácil de enganar. Os modelos falham, assumindo que a falta de neve é o que caracteriza um husky. Na prática, conhecer este tipo de relação vai impedir a generalização de exemplos que não mostram essa correlação. E essa generalização é precisamente o que procuramos.

Em algum momento, vai ser necessário abraçar o caos. A diversidade de dados é uma coisa boa e devemos apreciá-la. Deste ponto de vista, a discordância entre anotadores é um sinal, não ruído. Poderíamos até tornar a ambiguidade uma característica explícita dos nossos modelos – uma abordagem que foi aplicada com sucesso na estimativa de qualidade dos sistemas de tradução automática.

Levando isto adiante, podes, propositadamente, decidir criar um conjunto de dados que contenha ambiguidade. Em vez de atribuir um único rótulo para pontos de dados, os anotadores podem atribuir vários rótulos e, em vez de um único anotador por elemento, solicita-se a avaliação de diversos anotadores. Essa variedade de opiniões permite criar um conjunto de dados com várias respostas corretas, cada uma ponderada por uma pontuação de desacordo que indica a confiança nesse rótulo.

Vê o exemplo acima, que mostra os resultados desse esforço. A tarefa é reconhecer os múltiplos sentidos plausíveis da palavra (“frames”) e percebes a incerteza à volta de cada item. Essa incerteza é expressa pelos pesos atribuídos às classes e às frases (Dumitrache et al., 2019). A pontuação do rótulo representa o grau com que os anotadores concordaram com esse rótulo, ponderado pela qualidade do anotador; e a pontuação da frase é o grau com que todos os anotadores concordaram com todos os rótulos da frase.

Na sua investigação, Anca Dumitrache e os colegas “encontraram muitos exemplos em que a semântica de quadros individuais se sobrepõe o suficiente para os tornar alternativas aceitáveis para a interpretação de uma frase”. Ela argumenta que ignorar essa ambiguidade cria um objetivo excessivamente arbitrário para o treino e avaliação de sistemas de processamento de linguagem natural: “se os humanos não conseguem concordar, por que esperaríamos que a resposta de uma máquina fosse diferente?”

E, de facto, a nossa investigação está em constante evolução nesta direção. Esta diversidade de anotações ajuda-nos realmente a criar rótulos mais eficazes, melhores ferramentas e, em última análise, melhores modelos de aprendizagem automática. E embora alguém que seja muito organizado normalmente não admita isso, às vezes só é preciso parar de se preocupar e aprender a abraçar o caos.

Fontes

  • Lora Aroyo, Chris Welty, 2015, “Truth Is a Lie: Crowd Truth and the Seven Myths of Human Annotation”, Association for the Advancement of Artificial Intelligence, https://www.aaai.org/ojs/index.php/aimagazine/article/view/2564
  • Trevor Cohn, Lucia Specia, 2013, “Modelling Annotator Bias with Multi-task Gaussian Processes: An Application to Machine Translation Quality Estimation”, Proceedings of the 51st Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), https://www.aclweb.org/anthology/P13-1004
  • Anca Dumitrache, Lora Aroyo, Chris Welty, 2019, “A Crowdsourced Frame Disambiguation Corpus with Ambiguity”, https://arxiv.org/pdf/1904.06101.pdf
  • Mor Geva, Yoav Goldberg, Jonathan Berant, 2019, “Are We Modeling the Task or the Annotator? An Investigation of Annotator Bias in Natural Language Understanding Datasets”, Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing, https://www.aclweb.org/anthology/D19-1107.pdf
  • Suchin Gururangan, Swabha Swayamdipta, Omer Levy, Roy Schwartz, Samuel R. Bowman, Noah A. Smith, 2018, “Annotation Artifacts in Natural Language Inference Data”, Proceedings of NAACL-HLT 2018, https://www.aclweb.org/anthology/N18-2017.pdf
  • Emily K. Jamison e Iryna Gurevych, 2015, “Noise or additional information? Leveraging crowdsource annotation item agreement for natural language tasks.” Proceedings of the 2015 Conference on Empirical Methods in Natural Language Processing, https://www.aclweb.org/anthology/D15-1035.pdf
  • Rabeeh Karimi Mahabadi, James Henderson, 2019, “Simple but Effective Techniques to Reduce Dataset Biases”, https://arxiv.org/pdf/1909.06321.pdf
  • Ronan Le Bras, Swabha Swayamdipta, Chandra Bhagavatula, Rowan Zellers, Matthew E. Peters, Ashish Sabharwal, Yejin Choi, 2020, “Adversarial Filters of Dataset Biases”, https://arxiv.org/pdf/2002.04108.pdf
  • Rion Snow, Brendan O’Connor, Daniel Jurafsky, Andrew Ng, 2008, “Cheap and Fast – But is it Good? Evaluating Non-Expert Annotations for Natural Language Tasks”, Proceedings of the 2008 Conference on Empirical Methods in Natural Language Processing, https://www.aclweb.org/anthology/D08-1027.pdf
  • Zihan Wang, Jingbo Shang, Liyuan Liu, Lihao Lu, Jiacheng Liu, Jiawei Han, 2019, “CrossWeigh: Training Named Entity Tagger from Imperfect Annotations”, Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing, https://www.aclweb.org/anthology/D19-1519.pdf