En el procesamiento del lenguaje natural, una incrustación de palabras es una representación de una palabra como un vector de valores reales que codifica su significado. La idea central es que las palabras más cercanas en el espacio vectorial se espera que sean similares en significado, lo que permite un análisis cuantitativo de las relaciones semánticas. Las incrustaciones de palabras se obtienen típicamente mediante modelado de lenguaje y técnicas de aprendizaje de características, mapeando palabras o frases de un vocabulario a vectores de números. Se ha demostrado que estas representaciones mejoran el rendimiento en tareas como el análisis sintáctico y el análisis de sentimientos cuando se utilizan como características de entrada.
Los métodos para generar incrustaciones de palabras incluyen redes neuronales, reducción de dimensionalidad en matrices de co-ocurrencia de palabras, modelos probabilísticos y representación explícita de contextos. El enfoque ha evolucionado desde los primeros modelos de espacio semántico hasta las técnicas modernas de aprendizaje profundo, convirtiéndose en una piedra angular de los sistemas de comprensión del lenguaje natural.
Desarrollo e Historia
La idea subyacente de que "una palabra se caracteriza por la compañía que mantiene" fue propuesta en un artículo de 1957 por John Rupert Firth, basada en la semántica distribucional. Los primeros modelos de espacio semántico, como el modelo de espacio vectorial para recuperación de información, representaban palabras en espacios dispersos y de alta dimensionalidad. La reducción de dimensionalidad mediante descomposición en valores singulares condujo al análisis semántico latente a finales de la década de 1980. En 2000, Yoshua Bengio y sus colegas introdujeron modelos de lenguaje probabilísticos neuronales que aprendían representaciones distribuidas para palabras, reduciendo la dimensionalidad. Un estudio de NeurIPS de 2002 aplicó CCA de kernel a corpus bilingües, un ejemplo temprano de aprendizaje autosupervisado para incrustaciones de palabras.
Después del trabajo fundacional de Bengio y otros, la mayoría de las nuevas técnicas después de aproximadamente 2005 se basaron en arquitecturas de redes neuronales. En 2013, un equipo de Google liderado por Tomas Mikolov creó word2vec, un conjunto de herramientas que entrenaba modelos de espacio vectorial más rápido que los enfoques anteriores, popularizando ampliamente las incrustaciones de palabras. Trabajos posteriores incluyeron fastText, que representaba palabras en parte mediante n-gramas de caracteres.
Polisemia y Homonimia
Una limitación clave de las incrustaciones de palabras estáticas es que las palabras con múltiples significados se fusionan en un solo vector, sin manejar la polisemia y la homonimia. Por ejemplo, "club" podría referirse a un sándwich, un club social o un palo de golf. Las incrustaciones de múltiples sentidos abordan esto asignando diferentes vectores a diferentes sentidos. Los enfoques incluyen Skip-Gram de Múltiples Sentidos (MSSG), que realiza la discriminación de sentidos de palabras y la incrustación simultáneamente, y Skip-Gram de Múltiples Sentidos No Paramétrico (NP-MSSG), que permite un número variable de sentidos por palabra. La Anotación de Sentido Más Adecuado (MSSA) combina bases de datos léxicas como WordNet con la desambiguación de sentidos de palabras de manera auto-mejorante.
Las incrustaciones de múltiples sentidos mejoran el rendimiento en tareas como el etiquetado de partes del discurso, la identificación de relaciones semánticas y el análisis de sentimientos. A partir de finales de la década de 2010, incrustaciones contextualmente significativas como ELMo y BERT proporcionan representaciones a nivel de token, donde cada aparición de una palabra tiene su propia incrustación, reflejando mejor la naturaleza de múltiples sentidos.
Secuencias Biológicas
Las incrustaciones de palabras se han extendido a secuencias biológicas, como ADN, ARN y proteínas, para aplicaciones de bioinformática. Asgari y sus colegas propusieron BioVectors, que aplican técnicas de incrustación a n-gramas en secuencias biológicas, permitiendo el análisis de similitudes funcionales y estructurales.
Aplicaciones e Impacto
Las incrustaciones de palabras se utilizan ampliamente en modelos de aprendizaje automático y aprendizaje profundo, sirviendo como representaciones de entrada para tareas como clasificación de texto, traducción automática y respuesta a preguntas. Son integrales para los modelos de lenguaje grandes y las arquitecturas transformers, que se basan en incrustaciones a nivel de token. La técnica ha influido en la investigación en instituciones como la Universidad de Toronto y el laboratorio de IA de Stanford, y se implementa en herramientas de empresas como Google DeepMind y OpenAI.
Direcciones Futuras
La investigación continúa en la mejora de incrustaciones para palabras raras, alineación entre idiomas y aplicaciones específicas de dominio. El cambio hacia incrustaciones contextuales ha superado en gran medida a las estáticas en muchas aplicaciones, pero las incrustaciones estáticas siguen siendo útiles por su eficiencia e interpretabilidad.