Guia do AutoML Translation para iniciantes

Com o AutoML Translation, é possível criar modelos personalizados (sem escrever código) personalizados para 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 a tradução. jobs 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 do Cloud Translation em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.

Faça um teste gratuito do 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 é complexa. 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 a partir de 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 neural (NMT) abrange um grande número de pares de idiomas e funciona bem com textos de uso geral. Quando um modelo personalizado se destaca é a "última milha" entre tarefas genéricas de tradução e vocabulários específicos de nicho. 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 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, você fornece pares de segmentos correspondentes nos idiomas de origem e destino, ou seja, pares de segmentos que têm o mesmo significado no idioma que você quer traduzir. para o idioma para o qual você quer traduzir. 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 perguntas a seguir:

  • 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 serão semelhantes. no desempenho.
  • Que exemplos refletem claramente 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 responsáveis de IA, incluindo a imparcialidade. O objetivo da imparcialidade no ML é entender e evitar o tratamento injusto ou preconceituoso de pessoas em relação à 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 manifestam em sistemas algorítmicos ou na tomada de decisões auxiliada por algoritmos. Para mais informações, acesse nosso guia e veja as observações sobre imparcialidade ✽ nas diretrizes a seguir. À medida que avançar pelas diretrizes para definir seu conjunto de dados, recomendamos que você pense na imparcialidade no machine learning quando for relevante para 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. Talvez você descubra que já esteja coletando os dados necessários para treinar 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 segmentos fazem o melhor trabalho possível para cobrir o vocabulário, o uso e as peculiaridades gramaticais do setor ou da área de foco. Encontre documentos que contenham usos típicos que você encontraria nas tarefas de tradução que quer realizar e certifique-se de que suas frases paralelas correspondam o mais próximo possível ao sentido que você consegue organizar. É claro que, às vezes, os idiomas não mapeiam perfeitamente o vocabulário ou a sintaxe, mas tentam capturar toda a diversidade de semântica que você espera encontrar em uso, se possível. 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á ao 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 isso, é 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 você pode corrigir:

  • Remova frases de origem duplicadas, especialmente se elas tiverem traduções de destino diferentes. O AutoML Translation usa apenas o primeiro exemplo visto 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.
  • Fazer 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 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" por nome de um presidente específico, como "JFK" ou "John F Kennedy". O modelo pode aprender a alterar todas as instâncias 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. 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.
  • Use maiúsculas e minúsculas consistentes. A distorçã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 é 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.

Para a divisão automática de dados, o AutoML Translation faz processamento adicional:

  • 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 deve 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 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 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 haja exemplos específicos que você tem certeza de que quer incluir em uma determinada parte do ciclo de treinamento do 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 dados:

  • É possível importar dados como um arquivo de valores separados por tabulação (TSV) contendo frases de origem e de destino, 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). Se o arquivo TMX contiver tags XML inválidas, o AutoML as ignorará. Se o arquivo TMX não estiver em conformidade com o formato XML e TMX adequado (por exemplo, se estiver faltando uma tag final ou um elemento <tmx>), o AutoML não o processará. O 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 ver 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 enquanto você estiver avaliando o desempenho antes e depois da produção, será necessário retornar e verificar os dados para ver como é possível melhorá-los.

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 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. 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 o 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. 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 frases mais longas ou mais complexas. No entanto, se todos os segmentos forem idênticos às previsões do modelo base, isso poderá indicar um problema com os dados.

Se houver um erro em particular relacionado à criação do modelo que esteja preocupando você, (por exemplo, um recurso confuso do seu par de idiomas que geralmente traz problemas para tradutores humanos ou um erro de tradução que possa ser particularmente danoso, seja em termos financeiros ou relacionados à reputação), certifique-se de que seu conjunto de teste ou procedimento cubra adequadamente esse caso para que você se sinta seguro ao usar seu modelo em tarefas diárias.

A seguir

  • Para criar seu próprio conjunto de dados e modelo personalizado, consulte Preparar dados de treinamento para ver instruções sobre como preparar os dados.