BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding

O artigo apresenta o BERT, um novo modelo de representação linguística baseado em Transformers bidirecionais pré-treinados em texto não rotulado, que pode ser ajustado para diversas tarefas de processamento de linguagem natural com apenas uma camada adicional, alcançando resultados state-of-the-art em onze benchmarks.

Jacob Devlin, Ming-Wei Chang, Kenton Lee, Kristina Toutanova

Publicado 2018-10-11
📖 5 min de leitura🧠 Leitura aprofundada

Each language version is independently generated for its own context, not a direct translation.

Imagine que você quer ensinar um robô a entender a linguagem humana, não apenas como um dicionário, mas como um ser humano que entende contexto, ironia e nuances. É exatamente isso que o BERT faz.

O artigo que você leu apresenta o BERT (sigla para Bidirectional Encoder Representations from Transformers), uma inteligência artificial criada pelo Google que revolucionou a forma como as máquinas entendem texto.

Para explicar isso de forma simples, vamos usar algumas analogias do dia a dia:

1. O Problema: Ler de um lado só

Antes do BERT, a maioria dos modelos de linguagem funcionava como alguém lendo um livro apenas da esquerda para a direita, palavra por palavra.

  • A analogia: Imagine que você está lendo uma frase: "O banco estava cheio...".
    • Se você lê da esquerda para a direita, quando chega na palavra "banco", você ainda não sabe se é um banco para sentar ou um banco de dinheiro. Você só saberá isso quando ler as palavras seguintes.
    • Modelos antigos (como o GPT da OpenAI) eram como essa pessoa: eles tinham que adivinhar o significado baseado apenas no que já leram. Se a frase fosse "O banco estava cheio de pessoas", eles só entendiam o contexto no final.

2. A Solução do BERT: Ler de ambos os lados

O BERT é diferente. Ele é bidirecional.

  • A analogia: O BERT é como um leitor que pode olhar para a frase inteira de uma vez só, ou como alguém que lê a frase, depois lê a frase ao contrário, e depois lê de novo, misturando tudo.
    • Quando o BERT vê a palavra "banco", ele olha para o que vem antes ("O") e para o que vem depois ("cheio de pessoas") ao mesmo tempo. Assim, ele entende instantaneamente que é um banco de praça, não um banco financeiro.
    • Isso é possível porque ele foi treinado de uma forma especial, não apenas lendo, mas "adivinhando" palavras.

3. Como o BERT foi treinado? (O Jogo do "Preencha a Lacuna")

Para aprender a entender o contexto de ambos os lados, os criadores do BERT usaram dois truques de treinamento (chamados de pre-treinamento):

Truque 1: O Jogo do "Preencha a Lacuna" (Masked LM)

Imagine que você pega um texto e esconde aleatoriamente 15% das palavras, trocando-as por um adesivo escrito [MASK] (Máscara).

  • Exemplo: "O [MASK] está correndo no parque."
  • O BERT tem que adivinhar qual palavra está escondida (provavelmente "cachorro" ou "menino").
  • O segredo: Para adivinhar, ele é obrigado a olhar para a esquerda ("O") e para a direita ("está correndo no parque") simultaneamente. É como um jogo de "Stop" ou "Forca" em escala gigante, feito com bilhões de frases da Wikipedia e de livros. Isso ensina o BERT a entender o contexto profundo.

Truque 2: O Jogo do "Próxima Frase Faz Sentido?" (Next Sentence Prediction)

Às vezes, entender uma frase não é suficiente; você precisa entender a relação entre duas frases.

  • Exemplo:
    • Frase A: "O homem foi à loja."
    • Frase B: "Ele comprou leite." (Isso faz sentido? Sim!)
    • Frase B (falsa): "O pinguim voa." (Isso faz sentido? Não!)
  • O BERT aprende a dizer se a Frase B é a continuação lógica da Frase A. Isso é crucial para tarefas como responder perguntas ou entender se duas frases se contradizem.

4. Como usamos o BERT depois? (O "Afinamento")

Depois que o BERT aprendeu tudo isso (o que levou dias de treinamento em supercomputadores), ele se torna um "genialista" da linguagem. Mas como usá-lo para tarefas específicas, como responder perguntas de um teste ou detectar se um e-mail é spam?

  • A analogia: Pense no BERT como um estudante universitário que já leu toda a biblioteca e sabe tudo sobre o mundo.
    • Se você quer que ele faça um teste de matemática, você não precisa ensiná-lo matemática do zero. Você apenas ajusta (fine-tune) a maneira como ele aplica esse conhecimento.
    • É como pegar esse estudante genial e dizer: "Agora, foque apenas nas perguntas de história". Você adiciona uma pequena camada de "filtro" no final do cérebro dele e o treina por algumas horas.
    • O resultado? Ele se torna o melhor do mundo em tarefas específicas, sem precisar de uma arquitetura complexa nova para cada tarefa.

5. Por que isso é tão importante?

O BERT quebrou recordes em quase todas as tarefas de linguagem que existem:

  • Resposta a perguntas: Ele entende o texto e acha a resposta exata (como no SQuAD).
  • Tradução e Resumo: Entende o contexto melhor que os antigos.
  • Análise de Sentimento: Sabe se um comentário é sarcástico ou sério.

Resumo da Ópera:
O BERT é como um tradutor ou um leitor que parou de ler palavra por palavra e começou a "sentir" a frase inteira. Ao usar o truque de esconder palavras e adivinhar o contexto, ele aprendeu a linguagem de forma profunda. Depois, basta um pequeno ajuste para transformá-lo no especialista que você precisa, seja para um chatbot, um corretor ortográfico ou um sistema de busca.

É a diferença entre um robô que apenas "lê" e um robô que "entende".