Este artigo ou secção necessita de referências de fontes secundárias confiáveis e independentes. (maio de 2026) |
A tradução deste artigo está abaixo da qualidade média aceitável. (maio de 2026) |
ELMo (embeddings from language model) é um método de incorporação de palavras (word embedding) para representar uma sequência de palavras como uma sequência correspondente de vetores. Foi desenvolvido por pesquisadores do Allen Institute for Artificial Intelligence e da Universidade de Washington, sendo lançado originalmente em fevereiro de 2018. Trata-se de uma rede LSTM bidirecional que recebe entradas em nível de caracteres e produz incorporações em nível de palavras, tendo sido treinada em um córpus de cerca de 30 milhões de sentenças e 1 bilhão de palavras.
A arquitetura do ELMo realiza uma compreensão contextual de tokens. A representação de palavras contextualizada profunda é útil para muitas tarefas de processamento de linguagem natural (PLN), tais como resolução de correferência e resolução de polissemia.
O ELMo foi historicamente importante como um pioneiro do pré-treinamento generativo autorregulável seguido por ajuste fino (fine-tuning), onde um modelo de grande escala é treinado para reproduzir um córpus massivo e, em seguida, esse modelo é aumentado com pesos adicionais específicos da tarefa e ajustado em dados supervisionados. Foi um passo fundamental na evolução em direção à modelagem de linguagem baseada em Transformers.
O ELMo é uma rede LSTM bidirecional multicamadas construída sobre uma camada de incorporação de tokens. A saída de todas as LSTMs concatenadas compõe a incorporação final do token.
A sequência de texto de entrada é primeiramente mapeada por uma camada de incorporação em uma sequência de vetores. Em seguida, duas partes são executadas em paralelo sobre ela. A parte direta (forward) é uma LSTM de 2 camadas com 4096 unidades e projeções de 512 dimensões, contando com uma conexão residual da primeira para a segunda camada. A parte reversa (backward) possui a mesma arquitetura, mas processa a sequência de trás para frente. As saídas de todos os 5 componentes (camada de incorporação, duas camadas LSTM diretas e duas camadas LSTM reversas) são concatenadas e multiplicadas por uma matriz linear ("matriz de projeção") para produzir uma representação de 512 dimensões por token de entrada.
O ELMo foi pré-treinado em um córpus de texto de 1 bilhão de palavras. A parte direta é treinada prevendo repetidamente o próximo token, e a parte reversa é treinada prevendo repetidamente o token anterior.
Após o modelo ELMo ser pré-treinado, seus parâmetros são congelados, exceto pela matriz de projeção, que pode ser ajustada para minimizar a perda em tarefas de linguagem específicas. Este é um exemplo precoce do paradigma de pré-treinamento e ajuste fino. O artigo original demonstrou a eficácia do método ao superar o estado da arte em seis tarefas de referência de PLN.
A arquitetura do ELMo alcança uma compreensão contextual dos tokens. Por exemplo, a primeira LSTM direta do ELMo processa cada token de entrada no contexto de todos os tokens anteriores, e a primeira LSTM reversa processa cada token no contexto de todos os tokens subsequentes. A segunda LSTM direta incorpora essas informações para contextualizar ainda mais cada token.
A representação contextualizada profunda de palavras é de extrema utilidade para tarefas como a resolução de correferência e de polissemia. Como exemplo, considere a frase:
Ela foi ao banco para sacar dinheiro.
Para representar o token "banco", o modelo deve resolver sua polissemia dentro do contexto.
O ELMo representa um elo na evolução histórica da modelagem de linguagem. Considere o problema simples de classificação de documentos, no qual deseja-se atribuir uma etiqueta (por exemplo, "spam", "não spam", "política", "esportes") a um determinado texto.
A abordagem mais simples é o modelo de "saco de palavras" (bag-of-words), onde cada palavra no documento é tratada de forma independente, e sua frequência é utilizada como uma característica para a classificação. Esse método era computacionalmente barato, mas ignorava a ordem das palavras e o contexto delas dentro da frase. O GloVe e o Word2vec avançaram a partir disso ao aprender representações vetoriais fixas (incorporações) para as palavras com base em seus padrões de coocorrência em grandes córpus de texto.
Assim como o BERT (mas ao contrário de modelos de "saco de palavras" como Word2Vec e GloVe), as incorporações de palavras do ELMo são sensíveis ao contexto, produzindo representações diferentes para palavras que compartilham a mesma grafia (homógrafas). O modelo foi treinado em um córpus de cerca de 30 milhões de sentenças e 1 bilhão de palavras. Anteriormente, redes LSTM bidirecionais já haviam sido utilizadas para a representação contextualizada de palavras, mas o ELMo aplicou essa ideia em larga escala, alcançando o estado da arte na época.
Após a publicação da arquitetura Transformer em 2017, a estrutura base do ELMo foi amplamente substituída de uma rede LSTM bidirecional multicamadas para um codificador baseado em Transformer, dando origem ao BERT. O BERT adota um fluxo de trabalho semelhante de pré-treinamento e ajuste fino, mas utiliza um Transformer que propicia um treinamento significativamente mais paralelizável.