Guia do AutoML Translation para iniciantes

Introdução

Imagine que você dirige uma empresa de relatórios financeiros e que tem oportunidade de expansão para novos países. Atuar nesses novos mercados exige que documentos possivelmente urgentes sejam traduzidos em tempo real. Contratar funcionários bilíngues ou tradutores especializados na área financeira são opções muito caras devido à especialização desses profissionais e à necessidade de respostas rápidas da sua empresa. Com o AutoML Translation, você automatiza o trabalho de tradução de forma escalonável, garantindo uma expansão rápida para novos mercados.

Tradução

Por que o machine learning (ML) é a ferramenta certa para esse problema?

Na programação clássica, o programador precisa descrever instruções detalhadas a serem seguidas pelo computador. No entanto, essa abordagem logo se torna inviável para tradução. A linguagem natural é complexa, e traduzi-la também é difícil. A tradução baseada em regras deixou de ser a melhor abordagem há décadas. Atualmente, a tradução automática é feita quase inteiramente com uma abordagem estatística, usando corpora linguísticos paralelos imensos para substituir o aperfeiçoamento de conjuntos de regras cada vez mais especializados, feitos manualmente por linguistas.

Você precisa ter um sistema que generalize uma grande variedade de cenários de tradução, mas que tenha como foco seu caso de uso e o domínio linguístico específico para a tarefa, com o par de idiomas relevantes. Em um cenário em que uma sequência de regras específicas se amplia exponencialmente, você precisa de um sistema que aprenda a partir de exemplos. Felizmente, os sistemas de machine learning estão bem preparados para resolver esse problema.

Qual a ferramenta ideal para mim: a API Translation ou o AutoML Translation?

A API Translation abrange um grande número de pares de idiomas, além de ser bem eficaz com textos em geral. Já o AutoML Translation se destaca na transformação de traduções gerais em textos com vocabulário especializado. Nossos modelos personalizados partem de um modelo genérico da API Translation, mas adicionam uma camada que ajuda na busca pela tradução correta para o conteúdo específico do domínio de interesse.

Comparação da API Translation com o AutoML Translation

Testar a API Translation Introdução ao AutoML

Qual a participação do machine learning no AutoML Translation?

O machine learning se baseia no uso de dados para treinar algoritmos e alcançar um resultado pretendido. As especificidades do algoritmo e dos métodos de treinamento mudam com base no espaço do problema. Há muitas subcategorias diferentes de machine learning. Em cada uma delas, há diferentes soluções para problemas distintos, e o trabalho é feito dentro de restrições específicas. Com o AutoML Translation, é possível executar o aprendizado supervisionado, que envolve o treinamento de um computador para reconhecer padrões de pares de frases traduzidas. Isso permite treinar um modelo personalizado para traduzir o conteúdo específico do domínio de interesse.

Preparação de dados

Para treinar um modelo personalizado com o AutoML Translation, forneça pares de frases correspondentes nos idiomas de origem e de chegada, ou seja, que tenham o mesmo significado nos dois idiomas. É claro que a tradução não é uma ciência exata, mas quanto maior a similaridade entre os pares de frases fornecidos, melhor será o funcionamento do modelo.

Avaliar o caso de uso

Ao reunir o conjunto de dados, veja primeiro o caso de uso. Comece com as perguntas a seguir:

  • Que resultado você está tentando alcançar?
  • Que tipos de frases você precisa traduzir para alcançar esse resultado? Esta é uma tarefa que a API Translation pode realizar imediatamente?
  • É possível que pessoas traduzam essas frases de uma maneira mais satisfatória? Pode ser que a tarefa de tradução seja ambígua por natureza, a ponto de uma pessoa fluente nos dois idiomas ter dificuldade em realizar uma tradução satisfatória. Nesse caso, é possível que o AutoML Translation tenha um desempenho semelhante.
  • Que exemplos refletem claramente o tipo e o intervalo de dados que seu sistema precisará traduzir?

Um princípio fundamental em que os produtos de ML do Google se baseiam é o machine learning centrado em pessoas, uma abordagem que prioriza as práticas responsáveis de IA (em inglês), incluindo a imparcialidade. O objetivo da imparcialidade no ML é entender e evitar o tratamento injusto ou preconceituoso das pessoas com relação a etnia, renda, orientação sexual, religião, gênero e outras características historicamente associadas à discriminação e marginalização, quando e onde se manifestem, em sistemas algorítmicos ou na tomada de decisões com a ajuda de algoritmos. Leia mais sobre isso no nosso guia e encontre observações sobre imparcialidade ✽ nas diretrizes abaixo. À medida que avançar nas diretrizes para montar seu conjunto de dados, recomendamos que você pense na imparcialidade com o machine learning, quando relevante para seu caso de uso.

Fonte dos dados

Depois de determinar quais dados são necessários, encontre uma maneira de rastreá-los. Para começar, considere todos os dados que sua organização coleta. Pode ser que ela já esteja coletando os dados necessários para o treinamento de um modelo de tradução. Caso ainda não tenha esses dados, colete-os manualmente ou terceirize essa tarefa.

Relacionar os dados ao domínio do problema

Você está treinando um modelo de tradução personalizado porque precisa de um modelo adequado a um domínio linguístico específico. Verifique se os pares de frases abrangem, da melhor forma possível, o vocabulário, o uso e as peculiaridades gramaticais do seu setor ou área de foco. Procure documentos com exemplos de usos que seriam encontrados com frequência nos textos que você quer traduzir e confira se os significados das frases paralelas correspondem o máximo possível. É claro que, às vezes, os idiomas não são correlacionados perfeitamente no que se refere ao vocabulário ou à sintaxe, mas procure capturar toda a diversidade de possíveis significados que você espera encontrar. Você tem como base um modelo que funciona bem com traduções em geral. Seus exemplos fazem parte da última etapa. Com eles, o AutoML Translation será bom para seu caso de uso específico. Portanto, verifique se esses exemplos são relevantes e representativos no que se refere ao tipo de uso que você pretende ver.

Capturar a diversidade do seu espaço linguístico

É tentador supor que a maneira como as pessoas escrevem sobre um campo de conhecimento específico seja uniforme o bastante para que uma pequena quantidade de amostras de texto, traduzidas por poucas pessoas, seja suficiente para treinar um modelo que funcione bem para qualquer um que escreva sobre esse campo. No entanto, somos indivíduos únicos, e as palavras que escrevemos carregam em si nossa personalidade. Um conjunto de dados de treinamento, com pares de frases de uma ampla seleção de autores e tradutores, tem mais chances de oferecer um modelo útil para traduzir textos vindos de outra organização. Além disso, pense na variedade de tamanhos e estruturas das frases. Um conjunto de dados em que todas as frases tenham o mesmo tamanho ou uma estrutura gramatical semelhante não fornecerá ao AutoML Translation informações suficientes para criar um modelo capaz de capturar todas as possibilidades.

Manter as pessoas informadas

Se possível, peça para uma pessoa que entenda bem ambos os idiomas revisar os pares de frases e confirmar que as traduções são precisas e compreensíveis. Erros simples, como desalinhar as linhas da planilha de dados de treinamento, podem resultar em traduções ruins. O mais importante a ser fornecido ao AutoML Translation são dados de alta qualidade. Com isso, é possível criar um modelo que seja útil para sua empresa.

Limpar dados confusos

É fácil cometer erros no pré-processamento de dados, e alguns deles podem confundir muito um modelo do AutoML Translation. Procure especificamente estes problemas, que são os mais comuns:

  • Frases de origem e chegada idênticas.
  • Frases de origem e chegada desalinhadas.
  • Frases que não correspondem ao idioma especificado. Por exemplo, frases em inglês em um conjunto de dados chinês.
  • Frases com linguagem mista. Por exemplo, uma frase no idioma de chegada que contém palavras não traduzidas do idioma de origem.
  • Frases com erros tipográficos ou gramaticais: o modelo provavelmente aprenderá erros desse tipo.
  • Frases duplicadas nos conjuntos de teste e treinamento. Saiba mais sobre esses conjuntos.
  • Muitas frases no mesmo par de textos. O treinamento em um conjunto de dados em que muitos itens têm mais de cerca de 50 tokens (palavras) resulta em modelos de menor qualidade. Divida os itens em frases individuais, sempre que possível.

Como o AutoML pré-processa os dados

O AutoML Translation interromperá a análise do arquivo de entrada de dados quando:

  • houver formatação inválida;
  • existir um par de frases excessivamente longo (10 MB);
  • o arquivo usar uma codificação diferente de UTF-8.

O AutoML Translation ignora os erros de problemas que é capaz de detectar, como estes:

  • Um elemento <tu> em um arquivo TMX não tem o idioma de origem ou de chegada.
  • Um dos pares de frases de entrada está vazio.

No modo AutoSplit, o AutoML Translation realiza processamento extra:

  • Depois que o conjunto de dados é carregado, ele remove pares de frases com sentenças de origem idênticas.
  • Antes do treinamento, divide aleatoriamente seus dados em três conjuntos com taxa de divisão de 8:1:1.

Pensar em como o AutoML Translation usa seu conjunto de dados ao criar um modelo personalizado

Seu conjunto de dados inclui conjuntos de treinamento, validação e teste. Se as divisões não forem especificadas (consulte Como preparar seus dados de treinamento), e o conjunto de dados tiver menos de 100.000 pares de frases, o AutoML Translation usará automaticamente 80% dos documentos de conteúdo para treinamento, 10% para validação e 10% para teste. Se os dados forem maiores do que isso, você precisará fazer a divisão.

Conjunto de treinamento

A maior parte dos dados precisa estar no conjunto de treinamento. São esses os dados que seu modelo "vê" durante o treinamento e que são usados para aprender os parâmetros do modelo, ou seja, os pesos das conexões entre os nós da rede neural.

Conjunto de validação

O conjunto de validação, às vezes chamado de conjunto "dev", também é usado no processo de treinamento. Durante o aprendizado do modelo, o framework usa o conjunto de treinamento para treinar um pacote de modelos candidatos. Depois, usa o desempenho deles no conjunto de validação para escolher o melhor modelo gerado. O desempenho do modelo é usado no conjunto de validação para ajustar os hiperparâmetros, que são as variáveis que especificam a estrutura do modelo. Se você usar o conjunto de treinamento para ajustar os hiperparâmetros, os dados de treinamento serão excessivamente enfatizados no modelo. O modelo terá melhor capacidade de generalização com o uso de um conjunto de dados novo para ajustar a estrutura do modelo.

Conjunto de teste

O conjunto de teste não faz parte do processo de treinamento. Depois que o treinamento do modelo for concluído, usaremos o conjunto de teste como um desafio totalmente novo para o modelo. O desempenho do modelo no conjunto de teste serve para que você tenha uma ideia clara de como ele vai se sair com dados reais.

Divisão manual

O AutoML divide os dados em conjuntos de treinamento, validação e teste. Se preferir, faça isso por conta própria caso queira ter mais controle sobre o processo, opte por uma divisão percentual diferente, ou se houver exemplos específicos que você tem certeza de que quer incluir em uma determinada parte do ciclo de vida do treinamento de modelo.

 

Preparar seus dados para a importação

Depois de decidir se uma divisão manual ou automática dos seus dados é a mais adequada para você, existem três maneiras de adicionar dados no AutoML Translation:

  • É possível importar dados como um arquivo de valores separados por tabulação (TSV, na sigla em inglês) que contém frases de origem e de chegada com um par de frases por linha.
  • É possível importar dados como um arquivo TMX, um formato padrão para fornecer pares de frases a ferramentas de modelo de tradução automática. Saiba mais sobre o formato TMX compatível. Se o arquivo TMX contiver tags XML inválidas, o AutoML Translation as ignorará. Se o arquivo TMX não estiver em conformidade com os formatos XML e TMX adequados (por exemplo, se faltar uma tag final ou um elemento <tmx>), o AutoML Translation não o processará. O AutoML Translation também finalizará o processamento e retornará um erro se ignorar mais de 1.024 elementos <tu> inválidos.

Avaliar

Depois que seu modelo for treinado, você receberá um resumo do desempenho dele. Para ver uma análise detalhada, clique na guia Treinar, depois que o modelo tiver concluído o treinamento.

O que devo considerar antes de avaliar meu modelo?

A depuração de um modelo se refere mais aos dados do que ao modelo em si. Se o modelo começar a agir de maneira inesperada durante a avaliação do desempenho antes e depois da produção, será preciso retornar e verificar os dados para ver como o modelo pode ser melhorado.

Pontuação BLEU

A pontuação BLEU é uma maneira padrão de avaliar a qualidade de um sistema de tradução automática. O AutoML Translation usa uma pontuação BLEU calculada com os dados de teste fornecidos como métrica de avaliação principal. Saiba mais sobre as pontuações BLEU.

O modelo Google NMT, que é a base da API Translation, foi criado para uso geral. Ele pode não ser a melhor solução se você estiver procurando tradução especializada em áreas específicas. O modelo personalizado treinado geralmente funciona melhor que o modelo NMT nas áreas relacionadas ao seu conjunto de treinamento.

Depois de treinar o modelo personalizado com seu próprio conjunto de dados, a pontuação BLEU do modelo personalizado e do modelo do Google NMT será mostrada na guia Treinar. Nessa guia, também é possível ver o aumento de desempenho do modelo personalizado com base na pontuação BLEU. Quanto maior a pontuação BLEU, melhores as traduções fornecidas pelo seu modelo para frases semelhantes aos dados de treinamento. Se a pontuação BLEU se enquadrar no intervalo entre 30 e 40, o modelo será considerado capaz de fornecer boas traduções.

Como testar seu modelo

Mesmo que a pontuação BLEU pareça boa, é recomendável verificar a integridade do modelo para ver se o desempenho corresponde às suas expectativas. Se os dados de treinamento e teste forem retirados do mesmo conjunto incorreto de amostras, as pontuações poderão ser excelentes mesmo que a tradução não faça sentido. Crie alguns exemplos de verificação de integridade para serem inseridos na guia Prever do AutoML Translation e compare com os resultados do modelo base do Google NMT. Se preferir, utilize as instruções nessa guia para chamar a API AutoML e usar o modelo em testes automatizados. Talvez seu modelo apresente as mesmas previsões do modelo base, especialmente em frases curtas ou se você tiver um conjunto de treinamento menor. Isso não é inesperado porque o modelo básico já é muito bom para uma ampla variedade de casos de uso. Tente frases mais longas ou mais complexas. No entanto, se todas as frases forem idênticas às previsões do modelo base, isso poderá indicar um problema com os dados.

Se houver um erro relacionado à criação do modelo que esteja preocupando você, verifique se o conjunto de teste ou o procedimento abrange adequadamente esse caso para que o uso do modelo em tarefas diárias seja seguro. Por exemplo, os erros podem incluir um recurso confuso do seu par de idiomas que geralmente traz problemas para tradutores humanos, ou um erro de tradução particularmente danoso, seja em termos financeiros, seja por relacionar-se à reputação.