Guia para principiantes do AutoML Translation

A AutoML Translation permite-lhe criar modelos personalizados (sem escrever código) adaptados ao seu conteúdo específico do domínio em comparação com o modelo de tradução automática neural (NMT) da Google predefinido.

Imagine que gere um serviço de relatórios financeiros que tem a oportunidade de se expandir para novos países. Esses mercados exigem que os seus documentos financeiros sensíveis ao tempo sejam traduzidos em tempo real. Em vez de contratar funcionários financeiros bilingues ou contratar um tradutor especializado, que têm um custo elevado devido à respetiva experiência no domínio e à sua necessidade de processamento rápido, um modelo personalizado pode ajudar a automatizar tarefas de tradução de forma escalável.

Tradução

Experimente

Se está a usar o Google Cloud pela primeira vez, crie uma conta para avaliar o desempenho do Cloud Translation em cenários reais. Os novos clientes também recebem 300 USD em créditos gratuitos para executar, testar e implementar cargas de trabalho.

Experimente a Tradução Cloud gratuitamente

Por que motivo a aprendizagem automática (AA) é a ferramenta certa para este problema?

A programação clássica requer que o programador especifique instruções passo a passo para o computador seguir. No entanto, esta abordagem baseada em regras torna-se rapidamente inviável para a tradução. A linguagem natural é complexa e a sua tradução também o é. A tradução automática é feita quase totalmente com uma abordagem estatística, com grandes corpora paralelos a substituir os especialistas linguísticos que ajustam manualmente conjuntos de regras especializados.

Precisa de um sistema que possa generalizar para uma grande variedade de cenários de tradução, mas que esteja focado no seu exemplo de utilização e domínio linguístico específico da tarefa nos pares de idiomas que lhe interessam. Num cenário em que uma sequência de regras específicas está destinada a expandir-se exponencialmente, precisa de um sistema que possa aprender com exemplos. Felizmente, os sistemas de aprendizagem automática estão bem posicionados para resolver este problema.

O modelo de NMT predefinido ou um modelo personalizado é a ferramenta certa para mim?

O modelo de tradução automática neural (TAN) abrange um grande número de pares de idiomas e funciona bem com texto de uso geral. Os modelos personalizados destacam-se realmente no "último quilómetro" entre as tarefas de tradução genéricas e os vocabulários específicos de nicho. O AutoML Translation começa com o modelo de TMR genérico e, em seguida, otimiza o modelo para se ajustar aos seus dados de preparação e obter a tradução certa para conteúdo específico do domínio que é importante para si.

O que envolve a aprendizagem automática?

A aprendizagem automática envolve a utilização de dados para treinar algoritmos de modo a alcançar um resultado desejado. Os detalhes do algoritmo e dos métodos de preparação mudam com base no âmbito do problema. Existem muitas subcategorias diferentes de aprendizagem automática, que resolvem problemas diferentes e funcionam dentro de diferentes restrições. O AutoML Translation permite-lhe realizar aprendizagem supervisionada, que envolve a preparação de um computador para reconhecer padrões a partir de pares de segmentos traduzidos. Através da aprendizagem supervisionada, podemos preparar um modelo personalizado para traduzir conteúdo específico de um domínio que lhe interessa.

Preparação de dados

Para preparar um modelo personalizado, fornece pares correspondentes de segmentos nos idiomas de origem e de destino, ou seja, pares de segmentos que significam a mesma coisa no idioma a partir do qual quer traduzir e no idioma para o qual quer traduzir. Quanto mais próximos forem os pares de segmentos em termos de significado, melhor será o desempenho do modelo.

Avalie o seu exemplo de utilização

Ao criar o conjunto de dados, comece sempre pelo exemplo de utilização. Pode começar com as seguintes perguntas:

  • Qual é o resultado que está a tentar alcançar?
  • Que tipos de segmentos tem de traduzir para alcançar este resultado? Is this a task that the NMT model can do out of the box?
  • É possível que os humanos traduzam estes segmentos de uma forma que lhe agrade? Se a tarefa de tradução for inerentemente ambígua, ao ponto de uma pessoa com fluência em ambos os idiomas ter dificuldade em fazer um trabalho satisfatório, pode verificar que o modelo de NMT e o seu modelo personalizado têm um desempenho semelhante.
  • Que tipos de exemplos refletem melhor o tipo e o intervalo de dados que o seu sistema precisa de traduzir?

Um princípio fundamental que sustenta os produtos de ML da Google é a aprendizagem automática centrada no ser humano, uma abordagem que dá prioridade às práticas de IA responsável, incluindo a imparcialidade. O objetivo da equidade na aprendizagem automática é compreender e evitar o tratamento injusto ou prejudicial de pessoas relacionadas com a raça, o rendimento, a orientação sexual, a religião, o género e outras caraterí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. Pode ler mais no nosso guia e encontrar notas justas nas diretrizes abaixo. À medida que avança nas diretrizes para criar o seu conjunto de dados, recomendamos que considere a equidade na aprendizagem automática, sempre que relevante para o seu exemplo de utilização.

Obtenha os seus dados

Depois de determinar os dados de que precisa, tem de encontrar uma forma de os obter. Pode começar por ter em conta todos os dados que a sua organização recolhe. Pode verificar que já está a recolher os dados de que precisa para preparar um modelo de tradução. Caso não tenha os dados de que precisa, pode obtê-los manualmente ou externalizá-los para um fornecedor externo.

Faça corresponder os dados ao seu domínio de problemas

Está a preparar um modelo de tradução personalizado porque precisa de um modelo adequado a um domínio linguístico específico. Certifique-se de que os pares de segmentos fazem o melhor trabalho possível na cobertura do vocabulário, da utilização e das particularidades gramaticais da sua indústria ou área de foco. Encontre documentos que contenham utilizações típicas que encontraria nas tarefas de tradução que quer concluir e certifique-se de que as expressões paralelas correspondem o mais possível em termos de significado. Claro que, por vezes, os idiomas não correspondem perfeitamente no vocabulário ou na sintaxe, mas tente captar a diversidade semântica completa que espera encontrar em utilização, se possível. Está a criar com base num modelo que já faz um trabalho bastante bom com a tradução de uso geral. Os seus exemplos são o último passo especial que faz com que os modelos personalizados funcionem para o seu exemplo de utilização em particular. Por isso, certifique-se de que são relevantes e representativos da utilização que espera ver.

Capture a diversidade do seu espaço linguístico

É tentador assumir que a forma como as pessoas escrevem sobre um domínio específico é suficientemente uniforme para que um pequeno número de exemplos de texto traduzidos por um pequeno número de tradutores seja suficiente para preparar um modelo que funcione bem para qualquer outra pessoa que escreva sobre esse domínio. No entanto, somos todos indivíduos e cada um de nós traz a sua própria personalidade às palavras que escrevemos. Um conjunto de dados de preparação com pares de segmentos de uma vasta seleção de autores e tradutores tem maior probabilidade de lhe dar um modelo útil para traduzir textos de uma organização diversificada. Além disso, considere a variedade de comprimentos e estruturas dos segmentos. Um conjunto de dados em que todos os segmentos têm o mesmo tamanho ou partilham uma estrutura gramatical semelhante não dá ao Cloud Translation informações suficientes para criar um bom modelo que capture todas as possibilidades.

Mantenha os humanos envolvidos

Se for possível, certifique-se de que uma pessoa que compreende bem ambos os idiomas validou se os pares de segmentos correspondem corretamente e representam traduções compreensíveis e precisas. Um erro tão simples como o desalinhamento das linhas da folha de cálculo dos dados de preparação pode gerar traduções sem sentido. Os dados de alta qualidade são o mais importante que pode fornecer ao AutoML Translation para obter um modelo que seja utilizável para a sua empresa.

Limpe dados desorganizados

É fácil cometer erros ao pré-processar dados e alguns desses erros podem confundir um modelo personalizado. Em particular, procure os seguintes problemas de dados que pode corrigir:

  • Remova segmentos de origem duplicados, especialmente se tiverem traduções de destino diferentes. O AutoML Translation usa apenas o primeiro exemplo encontrado e elimina todos os outros pares no momento da importação. Ao remover duplicados, garante que o AutoML Translation usa a sua tradução preferida.
  • Alinhe os segmentos de origem com os segmentos de destino corretos.
  • Faça corresponder os segmentos ao idioma especificado; por exemplo, inclua apenas segmentos chineses num conjunto de dados chinês.
  • Para segmentos de destino que incluem vários idiomas, verifique se as palavras não traduzidas não foram traduzidas intencionalmente, como nomes de produtos ou organizações. Os segmentos de destino que incluem palavras não traduzidas por engano adicionam ruído aos seus dados de preparação, o que pode resultar num modelo de qualidade inferior.
  • Corrija segmentos com erros tipográficos ou gramaticais para que o modelo não aprenda estes erros.
  • Remova conteúdo não traduzível, como etiquetas de marcadores de posição e etiquetas HTML. O conteúdo não traduzível pode resultar em erros de pontuação.
  • Não inclua traduções que substituam entidades gerais por substantivos específicos. Por exemplo, pode ter um exemplo que altere "presidente" para o 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 alternativa, remova estas traduções ou altere os substantivos específicos para um comum.
  • Remova segmentos duplicados nos conjuntos de dados de teste e de preparação. (Saiba mais acerca dos conjuntos de treino e de teste)
  • Dividir vários segmentos em diferentes pares de segmentos. A preparação num conjunto de dados em que muitos itens têm mais de cerca de 50 tokens (palavras) resulta em modelos de qualidade inferior. Divida os itens em frases individuais sempre que possível.
  • Use letras maiúsculas e minúsculas consistentes. O uso de maiúsculas e minúsculas afeta a forma como um modelo aprende, por exemplo, a distinguir um título do corpo do texto.
  • Remova as etiquetas TMX quando importar dados de um ficheiro TSV. Em alguns casos, pode exportar a memória de tradução existente para um ficheiro TSV, que pode incluir etiquetas TMX. No entanto, o AutoML Translation limpa as etiquetas de unidades de tradução apenas quando importa a partir de um ficheiro TMX (não para ficheiros TSV).

Como o AutoML Translation pré-processa os seus dados

O AutoML Translation deixa de analisar o seu ficheiro de entrada de dados quando:

  • A formatação é inválida
  • Existe um par de segmentos excessivamente longo (10 MB)
  • O ficheiro usa uma codificação diferente de UTF-8

O AutoML Translation ignora erros para problemas que não consegue detetar, como:

  • Um elemento <tu> num ficheiro TMX não tem o idioma de origem nem o idioma de destino.
  • Um dos pares de segmentos de entrada está vazio.

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

  • Após o carregamento do conjunto de dados, este remove os pares de segmentos com segmentos de origem idênticos.
  • Divide aleatoriamente os seus dados em três conjuntos com uma proporção de 8:1:1 (preparação:validação:teste) antes da preparação.

Considere como o AutoML Translation usa o seu conjunto de dados na criação de um modelo personalizado

O seu conjunto de dados contém conjuntos de preparação, validação e testes. Se não especificar as divisões (consulte Preparar os dados de treino) e o seu conjunto de dados contiver menos de 100 000 pares de segmentos, o AutoML Translation usa automaticamente 80% dos seus documentos de conteúdo para treino, 10% para validação e 10% para testes. Se os seus dados forem superiores a este valor, tem de fazer a divisão dos dados por si.

Conjunto de preparação

A grande maioria dos seus dados deve estar no conjunto de preparação. Estes são os dados que o modelo "vê" durante a preparação: são usados para aprender os parâmetros do modelo, nomeadamente os pesos das ligações entre os nós da rede neural.

Conjunto de validação

O conjunto de validação, por vezes, também denominado conjunto "dev", também é usado durante o processo de preparação. Durante a aprendizagem do modelo, a estrutura usa o conjunto de preparação para preparar um conjunto de modelos candidatos e, em seguida, usa o desempenho do modelo no conjunto de validação para escolher o melhor modelo gerado. Usa o desempenho do modelo no conjunto de validação para ajustar os hiperparâmetros do modelo, que são variáveis que especificam a estrutura do modelo. Se usou o conjunto de preparação para ajustar os hiperparâmetros, o modelo acabaria por estar demasiado focado nos seus dados de preparação. A utilização de um conjunto de dados algo novo para otimizar a estrutura do modelo significa que o seu modelo vai generalizar melhor.

Conjunto de testes

O conjunto de testes não está envolvido no processo de preparação. Quando o modelo concluir totalmente a preparação, usamos o conjunto de testes como um desafio totalmente novo para o modelo. O desempenho do seu modelo no conjunto de testes destina-se a dar-lhe uma ideia bastante precisa de como o modelo vai funcionar com dados reais.

Divisão manual

O AutoML Translation pode dividir os seus dados em conjuntos de preparação, validação e teste, ou pode fazê-lo você mesmo se quiser exercer mais controlo sobre o processo, se preferir uma divisão percentual diferente ou se houver exemplos específicos que tenha a certeza de que quer incluir numa determinada parte do ciclo de vida de preparação do modelo.

 

Prepare os dados para importação

Depois de decidir se uma divisão manual ou automática dos seus dados é adequada para si, existem duas formas de adicionar dados:

  • Pode importar dados como um ficheiro de valores separados por tabulação (TSV) que contenha segmentos de origem e de destino, um par de segmentos por linha.
  • Pode importar dados como um ficheiro TMX, um formato padrão para fornecer pares de segmentos a ferramentas de modelos de tradução automática (saiba mais sobre o formato TMX suportado). Se o ficheiro TMX contiver etiquetas XML inválidas, o AutoML ignora-as. Se o ficheiro TMX não estiver em conformidade com o formato XML e TMX adequado, por exemplo, se lhe faltar uma etiqueta final ou um elemento <tmx>, o AutoML não o processa. O Cloud Translation também termina o processamento e devolve um erro se ignorar mais de 1024 elementos <tu>inválidos.

Avaliar

Depois de preparar o modelo, recebe um resumo do respetivo desempenho. Clique no separador Formar para ver uma análise detalhada.

O que devo ter em atenção antes de avaliar o meu modelo?

A depuração de um modelo está mais relacionada com a depuração dos dados do que com o próprio modelo. Se o seu modelo começar a agir de forma inesperada enquanto avalia o respetivo desempenho antes e depois de o implementar em produção, deve voltar atrás e verificar os seus dados para ver onde podem ser melhorados.

Pontuação BLEU

A pontuação BLEU é uma forma padrão de medir a qualidade de um sistema de tradução automática. O AutoML Translation usa uma pontuação BLEU calculada nos dados de teste que forneceu como a sua métrica de avaliação principal. (Saiba mais sobre as classificações BLEU.)

O modelo de NMT da Google, que alimenta a API Cloud Translation, foi criado para utilização geral. Pode não ser a melhor solução para si se estiver à procura de uma tradução especializada nos seus próprios campos. Normalmente, o modelo personalizado preparado funciona melhor do que o modelo de TMR nos campos relacionados com o conjunto de preparação.

Depois de preparar o modelo personalizado com o seu próprio conjunto de dados, a pontuação BLEU do modelo personalizado e do modelo NMT da Google é apresentada no separador Preparar. Também existe um ganho de desempenho da pontuação BLEU do modelo personalizado no separador Preparar. Quanto mais elevada for a pontuação BLEU, melhores são as traduções que o modelo pode fornecer para segmentos semelhantes aos seus dados de preparação. Se a pontuação BLEU estiver no intervalo de 30 a 40, considera-se que o modelo é capaz de fornecer boas traduções.

Tenha em atenção que as pontuações BLEU não são recomendadas para comparação entre 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 mudaram para abordagens de métricas baseadas em modelos, que têm uma correlação mais elevada com as classificações humanas e são mais detalhadas na identificação de cenários de erro.

O AutoML Translation só suporta pontuações BLEU. Para avaliar o seu modelo de tradução através de métricas baseadas em modelos, consulte o serviço de avaliação de IA gen no Vertex AI.

Testar o modelo

Mesmo que a pontuação BLEU pareça aceitável, é recomendável verificar o modelo para se certificar de que o respetivo desempenho corresponde às suas expetativas. Se os dados de treino e teste forem extraídos do mesmo conjunto incorreto de exemplos, as classificações podem ser excelentes, mesmo que a tradução não faça sentido. Adicione alguns exemplos como entrada no separador Prever e compare os resultados do modelo personalizado com o modelo base da NMT da Google. Pode reparar que o seu modelo apresenta as mesmas previsões que o modelo base, especialmente em segmentos curtos ou se tiver um conjunto de dados de preparação mais pequeno. Isto não é inesperado. O modelo base já é bastante bom para uma grande variedade de exemplos de utilização. Experimente alguns segmentos mais longos ou complexos. No entanto, se todos os segmentos forem idênticos às previsões do modelo base, isto pode indicar um problema de dados.

Se existir um erro que lhe preocupe particularmente que o seu modelo cometa (por exemplo, uma funcionalidade confusa do seu par de idiomas que muitas vezes confunde os tradutores humanos ou um erro de tradução que pode ser especialmente dispendioso em termos financeiros ou de reputação), certifique-se de que o seu conjunto de testes ou procedimento abrange esse caso adequadamente para que se sinta seguro a usar o seu modelo nas tarefas diárias.

O que se segue?

  • Para criar o seu próprio conjunto de dados e modelo personalizado, consulte o artigo Prepare os dados de preparação para ver instruções sobre como preparar os dados.