Uma introdução suave à tradução automática neural

Uma introdução suave à tradução automática neural

Um dos primeiros objetivos dos computadores era a tradução automática de texto de um idioma para outro.

A tradução automática ou automática é talvez uma das tarefas de inteligência artificial mais desafiadoras, dada a fluidez da linguagem humana. Classicamente, sistemas baseados em regras foram usados ​​para essa tarefa, que foram substituídos na década de 1990 por métodos estatísticos. Mais recentemente, os modelos de rede neural profunda alcançam resultados de última geração em um campo que é apropriadamente chamado de tradução automática neural.

Nesta postagem, você descobrirá o desafio da tradução automática e a eficácia dos modelos de tradução automática neural.

Depois de ler esta postagem, você saberá:

  • A tradução automática é um desafio devido à ambiguidade e flexibilidade inerentes à linguagem humana.
  • A tradução automática estatística substitui os sistemas clássicos baseados em regras por modelos que aprendem a traduzir a partir de exemplos.
  • Os modelos de tradução automática neural se encaixam em um único modelo, em vez de um pipeline de modelos ajustados e atualmente alcançam resultados de última geração.

Comece seu projeto com meu novo livro Deep Learning for Natural Language Processing, incluindo tutoriais passo a passo e a Código-fonte Python arquivos para todos os exemplos.

Vamos começar.

Uma introdução suave à tradução automática neural

Uma introdução suave à tradução automática neural
Foto de Fabio Achilli, alguns direitos reservados.

O que é tradução automática?

A tradução automática é a tarefa de converter automaticamente o texto de origem em um idioma para texto em outro idioma.

Em uma tarefa de tradução automática, a entrada já consiste em uma sequência de símbolos em algum idioma, e o programa de computador deve convertê-la em uma sequência de símbolos em outro idioma.

- Página 98, Deep Learning, 2016.

Dada uma sequência de texto em um idioma de origem, não existe uma única tradução melhor desse texto para outro idioma. Isso se deve à ambigüidade e flexibilidade naturais da linguagem humana. Isso torna difícil o desafio da tradução automática automática, talvez um dos mais difíceis em inteligência artificial:

O fato é que uma tradução precisa requer conhecimento prévio para resolver ambigüidades e estabelecer o conteúdo da frase.

- Página 21, Artificial Intelligence, A Modern Approach, 3ª edição, 2009.

Os métodos clássicos de tradução automática geralmente envolvem regras para a conversão de texto do idioma de origem para o idioma de destino. As regras são freqüentemente desenvolvidas por linguistas e podem operar no nível lexical, sintático ou semântico. Esse foco em regras dá o nome a esta área de estudo: Tradução Automática Baseada em Regras ou RBMT.

O RBMT é caracterizado pelo uso explícito e criação manual de regras e representações linguisticamente informadas.

- Página 133, Manual de Processamento de Linguagem Natural e Tradução Automática, 2011.

As principais limitações das abordagens clássicas da tradução automática são a experiência necessária para desenvolver as regras e o grande número de regras e exceções necessárias.

Precisa de ajuda com Deep Learning for Text Data?

Faça meu curso intensivo de e-mail gratuito de 7 dias agora (com código).

Clique para se inscrever e também obter uma versão gratuita do Ebook em PDF do curso.

Comece Seu Crash-Course GRÁTIS Agora

O que é tradução automática estatística?

A tradução automática estatística, ou SMT para abreviar, é o uso de modelos estatísticos que aprendem a traduzir texto de um idioma de origem para um idioma de destino fornece um grande corpus de exemplos.

Esta tarefa de usar um modelo estatístico pode ser declarada formalmente da seguinte forma:

Dada uma sentença T na língua-alvo, buscamos a sentença S a partir da qual o tradutor produziu T. Sabemos que nossa chance de erro é minimizada ao escolher aquela sentença S que é mais provável dado T. Assim, desejamos escolher S assim para maximizar Pr (S | T).

- A Statistical Approach to Machine Translation, 1990.

Essa especificação formal torna explícita a maximização da probabilidade da seqüência de saída dada a seqüência de entrada do texto. Também torna explícita a noção de haver um conjunto de traduções candidatas e a necessidade de um processo de pesquisa ou decodificador para selecionar a tradução mais provável da distribuição de probabilidade de saída do modelo.

Dado um texto no idioma de origem, qual é a tradução mais provável no idioma de destino? […] como construir um modelo estatístico que atribua altas probabilidades a traduções “boas” e baixas probabilidades a traduções “ruins”?

- Página xiii, Tradução automática estatística baseada em sintaxe, 2017.

A abordagem é baseada em dados, exigindo apenas um corpus de exemplos com texto nos idiomas de origem e de destino. Isso significa que os linguistas não precisam mais especificar as regras de tradução.

Esta abordagem não precisa de uma ontologia complexa de conceitos de interlíngua, nem de gramáticas artesanais das línguas de origem e de destino, nem de um treebank rotulado à mão. Tudo o que precisa são dados - traduções de amostra a partir das quais um modelo de tradução pode ser aprendido.

- Página 909, Artificial Intelligence, A Modern Approach, 3rd Edition, 2009.

Rapidamente, a abordagem estatística da tradução automática superou os métodos clássicos baseados em regras para se tornar o conjunto de técnicas padrão de fato.

Desde o início do campo no final da década de 1980, os modelos mais populares de tradução automática estatística […] foram baseados em sequência. Nestes modelos, as unidades básicas de tradução são palavras ou sequências de palavras […] Esses tipos de modelos são simples e eficazes e funcionam bem para pares de línguas masculinas

- Tradução automática estatística baseada em sintaxe, 2017.

As técnicas mais amplamente utilizadas foram baseadas em frases e se concentram na tradução de subseqüências do texto de origem por partes.

A Tradução Automática Estatística (SMT) tem sido o paradigma de tradução dominante por décadas. Implementações práticas de SMT são geralmente sistemas baseados em frase (PBMT) que traduzem sequências de palavras ou frases onde os comprimentos podem diferir

- Sistema de tradução automática neural do Google: Bridging the Gap between Human and Machine Translation, 2016.

Embora eficazes, os métodos estatísticos de tradução automática sofriam de um foco estreito nas frases sendo traduzidas, perdendo a natureza mais ampla do texto de destino. O forte foco em abordagens baseadas em dados também significa que os métodos podem ter ignorado importantes distinções de sintaxe conhecidas pelos linguistas. Finalmente, as abordagens estatísticas exigiram um ajuste cuidadoso de cada módulo no pipeline de tradução.

O que é tradução automática neural?

Tradução automática neural, ou NMT para abreviar, é o uso de modelos de rede neural para aprender um modelo estatístico para tradução automática.

O principal benefício da abordagem é que um único sistema pode ser treinado diretamente no texto de origem e destino, não exigindo mais o pipeline de sistemas especializados usados ​​no aprendizado de máquina estatístico.

Ao contrário do sistema de tradução tradicional baseado em frase, que consiste em muitos subcomponentes pequenos que são ajustados separadamente, a tradução automática neural tenta construir e treinar uma única rede neural grande que lê uma frase e produz uma tradução correta.

- Tradução automática neural por Jointly Learning to Align and Translate, 2014.

Como tal, os sistemas de tradução automática neural são considerados sistemas ponta a ponta, pois apenas um modelo é necessário para a tradução.

A força do NMT está em sua capacidade de aprender diretamente, de ponta a ponta, o mapeamento do texto de entrada para o texto de saída associado.

- Sistema de tradução automática neural do Google: Bridging the Gap between Human and Machine Translation, 2016.

Modelo codificador-decodificador

Modelos de rede neural Perceptron multicamadas podem ser usados ​​para tradução automática, embora os modelos sejam limitados por uma sequência de entrada de comprimento fixo em que a saída deve ter o mesmo comprimento.

Esses modelos iniciais foram muito melhorados recentemente por meio do uso de redes neurais recorrentes organizadas em uma arquitetura de codificador-decodificador que permite sequências de entrada e saída de comprimento variável.

Uma rede neural codificadora lê e codifica uma frase fonte em um vetor de comprimento fixo. Um decodificador então produz uma tradução do vetor codificado. Todo o sistema codificador-decodificador, que consiste no codificador e no decodificador para um par de idiomas, é treinado em conjunto para maximizar a probabilidade de uma tradução correta dada uma frase de origem.

- Tradução automática neural por Jointly Learning to Align and Translate, 2014.

A chave para a arquitetura do codificador-decodificador é a capacidade do modelo de codificar o texto de origem em uma representação interna de comprimento fixo chamada vetor de contexto. Curiosamente, uma vez codificados, diferentes sistemas de decodificação podem ser usados, em princípio, para traduzir o contexto em diferentes idiomas.

… Um modelo primeiro lê a sequência de entrada e emite uma estrutura de dados que resume a sequência de entrada. Chamamos este resumo de “contexto” C. […] Um segundo modo, geralmente um RNN, então lê o contexto C e gera uma frase no idioma de destino.

- Página 461, Deep Learning, 2016.

Para saber mais sobre a arquitetura de rede neural recorrente do codificador-decodificador, consulte a postagem:

Codificadores-decodificadores com atenção

Embora eficaz, a arquitetura do codificador-decodificador tem problemas com longas sequências de texto a serem traduzidas.

O problema decorre da representação interna de comprimento fixo que deve ser usada para decodificar cada palavra na seqüência de saída.

A solução é o uso de um mecanismo de atenção que permite ao modelo aprender onde colocar a atenção na sequência de entrada conforme cada palavra da sequência de saída é decodificada.

Usando uma representação de tamanho fixo para capturar todos os detalhes semânticos de uma frase muito longa […] é muito difícil. […] Uma abordagem mais eficiente, no entanto, é ler toda a frase ou parágrafo […], em seguida, para produzir as palavras traduzidas uma de cada vez, cada vez focando em uma parte diferente da frase de entrada para reunir os detalhes semânticos necessários para produzir a próxima palavra de saída.

- Página 462, Deep Learning, 2016.

A arquitetura de rede neural recorrente codificador-decodificador com atenção é atualmente o estado da arte em alguns problemas de referência para tradução automática. E essa arquitetura é usada no coração do sistema Google Neural Machine Translation, ou GNMT, usado em seu serviço Google Translate.
https://translate.google.com

… Os atuais sistemas de tradução automática de última geração são movidos por modelos que chamam a atenção.

- Página 209, Métodos de rede neural em processamento de linguagem natural, 2017.

Para mais atenção, veja a postagem:

Embora eficazes, os sistemas de tradução automática neural ainda sofrem alguns problemas, como escalar para vocabulários de palavras maiores e a velocidade lenta de treinamento dos modelos. Existem atualmente as áreas de foco para grandes sistemas de tradução neural de produção, como o sistema do Google.

Três fraquezas inerentes da tradução automática neural […]: seu treinamento mais lento e velocidade de inferência, ineficácia em lidar com palavras raras e, às vezes, falha em traduzir todas as palavras na frase de origem.

- Sistema de tradução automática neural do Google: Bridging the Gap between Human and Machine Translation, 2016.

Leitura Adicional

Esta seção fornece mais recursos sobre o tópico se você deseja se aprofundar.

Livros

Papéis

Adicional

Resumo

Nesta postagem, você descobriu o desafio da tradução automática e a eficácia dos modelos de tradução automática neural.

Especificamente, você aprendeu:

  • A tradução automática é um desafio devido à ambiguidade e flexibilidade inerentes à linguagem humana.
  • Máquina estatística ...

Você também pode estar interessado em