

ELMo ( embeddings from language model ) es un método de incrustación de palabras para representar una secuencia de palabras como una secuencia correspondiente de vectores. [ 1 ] Fue creado por investigadores del Allen Institute for Artificial Intelligence [ 2 ] y la Universidad de Washington y se lanzó por primera vez en febrero de 2018. Es una LSTM bidireccional que toma como entrada caracteres y produce incrustaciones a nivel de palabra, entrenada en un corpus de aproximadamente 30 millones de oraciones y 1000 millones de palabras.
La arquitectura de ELMo logra una comprensión contextual de los tokens . La representación profunda y contextualizada de palabras es útil para muchas tareas de procesamiento del lenguaje natural , como la resolución de correferencias y la resolución de polisemia .
ELMo fue históricamente importante como pionero del preentrenamiento generativo autosupervisado seguido de un ajuste fino , donde se entrena un modelo grande para reproducir un corpus extenso, luego se le añaden pesos específicos para la tarea y se ajusta con datos de tareas supervisadas. Fue un paso fundamental en la evolución hacia el modelado del lenguaje basado en transformadores .
Arquitectura
ELMo es una red LSTM bidireccional multicapa con una capa de incrustación de tokens. La salida de todas las redes LSTM concatenadas consiste en la incrustación de tokens.
La secuencia de texto de entrada se transforma primero en una secuencia de vectores mediante una capa de incrustación. A continuación, se ejecutan dos partes en paralelo sobre ella. La primera parte consiste en una red LSTM de dos capas con 4096 unidades y proyecciones de 512 dimensiones, además de una conexión residual entre la primera y la segunda capa. La segunda parte tiene la misma arquitectura, pero procesa la secuencia de atrás hacia adelante. Las salidas de los cinco componentes (capa de incrustación, dos capas LSTM de avance y dos capas LSTM de retroceso) se concatenan y multiplican por una matriz lineal ("matriz de proyección") para generar una representación de 512 dimensiones por token de entrada.
ELMo fue preentrenado en un corpus de texto de mil millones de palabras. [ 3 ] La parte hacia adelante se entrena prediciendo repetidamente el siguiente token, y la parte hacia atrás se entrena prediciendo repetidamente el token anterior.
Tras el preentrenamiento del modelo ELMo, sus parámetros se congelan, a excepción de la matriz de proyección, que puede ajustarse para minimizar la pérdida en tareas lingüísticas específicas. Este es un ejemplo temprano del paradigma de preentrenamiento y ajuste fino . El artículo original demostró esto mejorando el estado del arte en seis tareas de referencia de PLN.
Representación contextual de palabras
La arquitectura de ELMo logra una comprensión contextual de los tokens. Por ejemplo, la primera red LSTM hacia adelante de ELMo procesaría cada token de entrada en el contexto de todos los tokens anteriores, y la primera red LSTM hacia atrás procesaría cada token en el contexto de todos los tokens subsiguientes. La segunda red LSTM hacia adelante incorporaría estos últimos para contextualizar aún más cada token.
La representación contextualizada profunda de palabras es útil para muchas tareas de procesamiento del lenguaje natural, como la resolución de correferencias y la resolución de polisemia. Por ejemplo, considere la oración
Fue al banco a sacar dinero.
Para representar el token "banco", el modelo debe resolver su polisemia en contexto.
- La primera LSTM hacia adelante procesaría "banco" en el contexto de "Ella fue al", lo que le permitiría representar la palabra como un lugar hacia el que se dirige el sujeto.
- La primera red LSTM hacia atrás procesaría "banco" en el contexto de "retirar dinero", lo que le permitiría desambiguar la palabra como referencia a una institución financiera.
- La segunda red LSTM hacia adelante puede entonces procesar "banco" utilizando el vector de representación proporcionado por la primera red LSTM hacia atrás, lo que le permite representarlo como una institución financiera a la que se dirige el sujeto.
Contexto histórico
ELMo es un eslabón en la evolución histórica del modelado del lenguaje. Consideremos un problema simple de clasificación de documentos , donde queremos asignar una etiqueta (por ejemplo, "spam", "no es spam", "política", "deportes") a un texto determinado.
El enfoque más sencillo es el de " bolsa de palabras ", donde cada palabra del documento se trata de forma independiente y su frecuencia se utiliza como característica para la clasificación. Este método era computacionalmente económico, pero ignoraba el orden de las palabras y su contexto dentro de la oración. GloVe y Word2Vec se basaron en este enfoque aprendiendo representaciones vectoriales fijas (embeddings) para las palabras a partir de sus patrones de coocurrencia en grandes corpus de texto.
Al igual que BERT (pero a diferencia de las "bolsas de palabras" como Word2Vec y GloVe), las incrustaciones de palabras de ELMo son sensibles al contexto, produciendo diferentes representaciones para palabras que comparten la misma ortografía. Fue entrenado con un corpus de aproximadamente 30 millones de oraciones y 1000 millones de palabras. [ 3 ] Anteriormente, se utilizaba LSTM bidireccional para la representación contextualizada de palabras. [ 4 ] ELMo aplicó la idea a gran escala, logrando un rendimiento de vanguardia.
Tras la publicación en 2017 de la arquitectura Transformer , la arquitectura de ELMo se modificó, pasando de una red LSTM bidireccional multicapa a un codificador Transformer, dando lugar a BERT . BERT tiene un flujo de trabajo similar de preentrenamiento y ajuste fino, pero utiliza un Transformer, lo que permite un entrenamiento más paralelizable.
Referencias
- ↑ Peters ME, Neumann M, Iyyer M, Gardner M, Clark C, Lee K, Zettlemoyer L (2018). "Representaciones de palabras contextualizadas profundas". arXiv : 1802.05365 [ cs.CL ].
- ^ "AllenNLP - ELMo - Instituto Allen de IA" . 21 de agosto de 2025.
- 1 2 Chelba, Ciprian; Mikolov, Tomas; Schuster, Mike; Ge, Qi; Brants, Thorsten; Koehn, Phillipp; Robinson, Tony (2014-03-04). "One Billion Word Benchmark for Measuring Progress in Statistical Language Modeling". arXiv : 1312.3005 [ cs.CL ].
- ↑ Melamud, Oren; Goldberger, Jacob; Dagan, Ido (2016). "Context2vec: Aprendizaje de incrustaciones de contexto genéricas con LSTM bidireccional". Actas de la 20.ª Conferencia SIGNLL sobre aprendizaje computacional del lenguaje natural . Stroudsburg, PA, EE. UU.: Asociación para la Lingüística Computacional. págs. 51–61 . doi : 10.18653/v1/k16-1006 .
- Aprendizaje automático
- Procesamiento del lenguaje natural
- Software de procesamiento del lenguaje natural
- Lingüística computacional