Guia do AutoML Translation para iniciantes

Com o AutoML Translation, é possível criar modelos personalizados (sem escrever código) de acordo com seu conteúdo específico de domínio em comparação com o modelo padrão de tradução automática neural (NMT) do Google.

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. Em vez de contratar funcionários financeiros bilíngues ou contratar um tradutor especialista, ambos com preços altos devido à experiência deles no domínio e à necessidade de resposta rápida, um modelo personalizado ajuda a automatizar as traduções de maneira escalonável.

Tradução

Faça um teste

Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho da Cloud Translation em situações reais. Clientes novos também ganham US$ 300 em créditos para executar, testar e implantar cargas de trabalho.

Faça um teste sem custo financeiro da Cloud Translation

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

Na programação clássica, o programador descreve instruções passo a passo que precisam ser seguidas pelo computador. No entanto, essa abordagem baseada em regras logo se torna inviável para tradução. A linguagem natural é complexa, e a tradução também. A tradução automática é feita quase que totalmente com uma abordagem estatística, com grandes corpora paralelos substituindo especialistas especializados em linguística com ajustes manuais em regras especializadas.

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 com exemplos. Felizmente, os sistemas de machine learning estão bem posicionados para resolver esse problema.

O modelo NMT padrão ou personalizado é a ferramenta certa para mim?

O modelo de tradução automática neural (NMT, na sigla em inglês) abrange um grande número de pares de idiomas e funciona bem com textos de uso geral. O modelo personalizado se destaca na transformação de traduções gerais em textos com vocabulário especializado. O AutoML Translation começa com o modelo genérico de NMT e o ajusta aos dados de treinamento para conseguir a tradução certa para o conteúdo específico do domínio que é importante para você.

O que o machine learning envolve?

O machine learning inclui o uso de dados para treinar algoritmos e alcançar determinado resultado. As especificidades do algoritmo e dos métodos de treinamento mudam de acordo com o 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 realizar a aprendizagem supervisionada, 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, você fornece pares de segmentos correspondentes nos idiomas de origem e destino, ou seja, pares de segmentos que têm o mesmo significado nos dois idiomas. Quanto mais próximo de seus pares de segmentos estiverem, 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 seguintes perguntas:

  • Que resultado você está tentando alcançar?
  • Que tipos de frases você precisa traduzir para alcançar esse resultado? Isso é uma tarefa que o modelo NMT pode fazer imediatamente?
  • É possível que pessoas traduzam essas frases de uma maneira mais satisfatória? Se a tarefa de tradução for inerentemente ambígua, a ponto de uma pessoa fluente em ambos os idiomas ter dificuldade em realizar uma tarefa satisfatória, o modelo NMT e o modelo personalizado terão desempenho semelhante.
  • Que exemplos refletem com mais precisão o tipo e o intervalo de dados que seu sistema precisará traduzir?

Um princípio fundamental que sustenta os produtos de ML do Google é o machine learning centrado na pessoa, uma abordagem que enfatiza práticas de IA responsáveis, incluindo a imparcialidade. O objetivo da imparcialidade no ML é entender e evitar o tratamento injusto ou preconceituoso de pessoas em relação a raça, 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 auxiliada por algoritmos. Para mais informações, acesse nosso guia e leia as observações sobre imparcialidadenas diretrizes a seguir. À medida que avançar pelas diretrizes para definir seu conjunto de dados, recomendamos que você analise a imparcialidade do machine learning, quando relevante ao seu caso de uso.

Fonte dos dados

Depois de estabelecer os dados necessários, encontre uma maneira de extraí-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. Se você não tiver os dados de que precisa, é possível reuni-los manualmente ou terceirizar 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ê está criando com base em um modelo que já faz um bom trabalho com a tradução de uso geral. Seus exemplos são a última etapa especial que faz os modelos personalizados funcionarem para seu caso de uso em particular. Portanto, verifique se são relevantes e representam o uso esperado.

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á à Cloud 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 eles, é possível criar um modelo que seja útil para sua empresa.

Limpar dados confusos

É fácil cometer erros ao pré-processar os dados, e alguns deles podem confundir um modelo personalizado. Procure especificamente os seguintes problemas de dados que podem ser corrigidos:

  • Remova frases de origem duplicadas, especialmente se elas tiverem traduções de destino diferentes. O AutoML Translation usa apenas o primeiro exemplo e descarta todos os outros pares no momento da importação. Ao remover as cópias, você garante que o AutoML Translation use sua tradução preferida.
  • Alinhe os segmentos de origem aos segmentos de destino corretos.
  • Faça a correspondência de segmentos com o idioma especificado, por exemplo, inclua apenas segmentos chineses em um conjunto de dados chinês.
  • Para frases de destino que incluem idiomas mistos, verifique se as palavras não traduzidas são intencionalmente não traduzidas, como nomes de produtos ou organizações. As frases de destino que incluem palavras não traduzidas por engano adicionam ruído aos seus dados de treinamento, o que pode resultar em um modelo de qualidade inferior.
  • Corrija frases com erros ortográficos ou gramaticais para que o modelo não aprenda esses erros.
  • Remova conteúdo não traduzível, como tags de marcador de posição e tags HTML. O conteúdo não traduzível pode resultar em erros de pontuação.
  • Não inclua traduções que substituem entidades gerais por substantivos específicos. Por exemplo, você pode ter um exemplo que altera "presidente" pelo nome de um presidente específico, como "JFK" ou "John F Kennedy". O modelo pode aprender a alterar todos os casos de "presidente" para "JFK". Em vez disso, remova essas traduções ou altere os substantivos específicos para um comum.
  • Remova frases duplicadas nos conjuntos de treinamento e teste. Saiba mais sobre conjuntos de treinamento e de teste.
  • Divida vários segmentos em diferentes pares de segmentos. Treinar com um conjunto de dados em que muitos itens têm mais de 50 tokens (palavras) resulta em modelos de menor qualidade. Divida os itens em frases individuais, sempre que possível.
  • Use maiúsculas e minúsculas de maneira consistente. A capitalização afeta o modo como um modelo aprende, por exemplo, a distinguir um título e o corpo do texto.
  • Remova as tags TMX ao importar dados de um arquivo TSV. Em alguns casos, você pode exportar a memória de tradução atual para um arquivo TSV, que pode incluir tags TMX. No entanto, o AutoML Translation limpa as tags da unidade de tradução somente quando você importa o arquivo TMX (não para arquivos TSV).

Como o AutoML Translation pré-processa os dados

O AutoML Translation para de analisar o 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 não é capaz de detectar, por exemplo:

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

Para a divisão automática de dados, o AutoML Translation realiza processamento extra:

  • Depois do upload do conjunto de dados, ele remove pares de segmentos com segmentos de origem idênticos.
  • Ele divide aleatoriamente os dados em três conjuntos com uma proporção de 8:1:1 (train:validation:test) antes do treinamento.

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

O conjunto de dados contém conjuntos de treinamento, de validação e de 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 o modelo "vê" durante o treinamento. Eles 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 durante o 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 vai ter melhor capacidade de generalização se você usar um conjunto de dados relativamente novo para ajustar a estrutura.

Conjunto de teste

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

Divisão manual

O AutoML Translation 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 os dados para importação

Depois de decidir se uma divisão manual ou automática dos dados é adequada para você, existem duas maneiras de adicionar os dados:

  • É 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 destino 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 com suporte. Se o arquivo TMX contiver tags XML inválidas, o AutoML vai ignorá-las. Se o arquivo TMX não estiver em conformidade com o formato XML e TMX adequado (por exemplo, se está faltando uma tag final ou um elemento <tmx>), ele não será processado pelo AutoML. A Cloud Translation também encerrará o processamento e retornará um erro se ignorar mais de 1.024 elementos <tu> inválidos.

Avaliar

Após treinar o modelo, você receberá um resumo do desempenho. Clique na guia Treinar para receber uma análise detalhada.

O que considerar antes de avaliar o 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 entender 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 Cloud 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. Em geral, o modelo personalizado treinado 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 consultar 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.

As pontuações BLEU não são recomendadas para comparar diferentes corpora e idiomas. Por exemplo, uma pontuação BLEU de 50 de inglês para alemão não é comparável a uma pontuação BLEU de 50 de japonês para inglês. Muitos especialistas em tradução passaram a usar abordagens de métricas baseadas em modelos, que têm maior correlação com as classificações humanas e são mais granulares na identificação de cenários de erro.

O AutoML Translation dá suporte apenas a pontuações BLEU. Para avaliar seu modelo de tradução usando métricas baseadas em modelo, consulte o Serviço de avaliação de IA generativa na Vertex AI.

Como testar o modelo

Mesmo que a pontuação BLEU pareça boa, é recomendável verificar por conta própria se o desempenho do modelo 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. Adicione alguns exemplos como entrada na guia Prever e compare os resultados do modelo personalizado com o modelo base do Google NMT. 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 usar 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.

A seguir

  • Para criar seu conjunto de dados e modelo personalizado, consulte Preparar dados de treinamento e receba instruções sobre como preparar os dados.