Fundamentos de las Incrustaciones de Palabras
Comprensión de las Word Embeddings
Los métodos tradicionales de representación de texto, como bolsa de palabras y TF-IDF, presentan limitaciones notables. Tratan las palabras de forma aislada, ignorando las relaciones semánticas, y generan vectores dispersos y de alta dimensión que resultan computacionalmente ineficientes con grandes corpus.
Las word embeddings abordan estos problemas al considerar el contexto en el que aparecen las palabras, proporcionando una comprensión más matizada del lenguaje.
Las word embeddings son representaciones vectoriales densas de palabras en un espacio vectorial continuo donde las palabras semánticamente similares se asignan a puntos próximos.
Se han desarrollado varios modelos y técnicas para generar incrustaciones de palabras significativas:
-
Word2Vec: desarrollado por Google, Word2Vec representa las palabras como vectores densos utilizando dos arquitecturas: continuous bag of words (CBoW), que predice una palabra a partir de su contexto circundante, y Skip-gram, que predice las palabras circundantes a partir de una palabra dada;
-
GloVe: creado en Stanford, GloVe (global vectors) genera incrustaciones de palabras analizando estadísticas globales de coocurrencia de palabras en todo el corpus, capturando relaciones semánticas basadas en la frecuencia con la que los pares de palabras aparecen juntos;
-
FastText: introducido por Facebook AI Research, FastText se basa en Word2Vec representando las palabras como una colección de n-gramas de caracteres. Esto le permite modelar información de subpalabras, mejorando su capacidad para manejar palabras poco frecuentes, fuera de vocabulario y lenguajes morfológicamente ricos.
Word2Vec y FastText son los modelos más utilizados para generar incrustaciones de palabras. Sin embargo, dado que FastText es simplemente una versión mejorada de Word2Vec, lo omitiremos y nos centraremos únicamente en Word2Vec.
¿Cómo funciona Word2Vec?
Word2Vec transforma las palabras en vectores utilizando un proceso que comienza con la codificación one-hot, donde cada palabra en un vocabulario se representa mediante un vector único marcado por un solo 1 entre ceros. Veamos un ejemplo:
Este vector sirve como entrada para una red neuronal, la cual está diseñada para "aprender" las incrustaciones de palabras. La arquitectura de la red puede seguir uno de dos modelos:
- CBoW (continuous bag of words): predice una palabra objetivo en función del contexto proporcionado por las palabras circundantes;
- Skip-gram: predice las palabras de contexto circundantes en función de la palabra objetivo.
En ambas arquitecturas de Word2Vec, durante cada iteración de entrenamiento, el modelo recibe una palabra objetivo y las palabras que la rodean como el contexto representado como vectores codificados one-hot. El conjunto de datos de entrenamiento está compuesto efectivamente por estos pares o grupos, donde cada palabra objetivo se asocia con sus palabras de contexto circundantes.
Cada palabra en el vocabulario toma su turno como objetivo a medida que el modelo recorre el texto utilizando una técnica de ventana de contexto deslizante. Esta técnica se desplaza sistemáticamente por cada palabra, asegurando un aprendizaje exhaustivo de todos los contextos posibles dentro del corpus.
Una ventana de contexto es un número fijo de palabras que rodean a una palabra objetivo y que el modelo utiliza para aprender su contexto. Define cuántas palabras antes y después de la palabra objetivo se toman en cuenta durante el entrenamiento.
Veamos un ejemplo con un tamaño de ventana igual a 2 para mayor claridad:
Un tamaño de ventana de contexto de 2 significa que el modelo incluirá hasta 2 palabras tanto a la izquierda como a la derecha de la palabra objetivo, siempre que esas palabras estén disponibles dentro de los límites del texto. Como se puede observar, si hay menos de 2 palabras a cualquier lado, el modelo incluirá tantas palabras como sea posible.
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
Can you explain the main differences between Word2Vec, GloVe, and FastText?
How does the sliding context window impact the quality of word embeddings?
Can you provide a simple example of how Word2Vec learns word relationships?
Awesome!
Completion rate improved to 3.45
Fundamentos de las Incrustaciones de Palabras
Desliza para mostrar el menú
Comprensión de las Word Embeddings
Los métodos tradicionales de representación de texto, como bolsa de palabras y TF-IDF, presentan limitaciones notables. Tratan las palabras de forma aislada, ignorando las relaciones semánticas, y generan vectores dispersos y de alta dimensión que resultan computacionalmente ineficientes con grandes corpus.
Las word embeddings abordan estos problemas al considerar el contexto en el que aparecen las palabras, proporcionando una comprensión más matizada del lenguaje.
Las word embeddings son representaciones vectoriales densas de palabras en un espacio vectorial continuo donde las palabras semánticamente similares se asignan a puntos próximos.
Se han desarrollado varios modelos y técnicas para generar incrustaciones de palabras significativas:
-
Word2Vec: desarrollado por Google, Word2Vec representa las palabras como vectores densos utilizando dos arquitecturas: continuous bag of words (CBoW), que predice una palabra a partir de su contexto circundante, y Skip-gram, que predice las palabras circundantes a partir de una palabra dada;
-
GloVe: creado en Stanford, GloVe (global vectors) genera incrustaciones de palabras analizando estadísticas globales de coocurrencia de palabras en todo el corpus, capturando relaciones semánticas basadas en la frecuencia con la que los pares de palabras aparecen juntos;
-
FastText: introducido por Facebook AI Research, FastText se basa en Word2Vec representando las palabras como una colección de n-gramas de caracteres. Esto le permite modelar información de subpalabras, mejorando su capacidad para manejar palabras poco frecuentes, fuera de vocabulario y lenguajes morfológicamente ricos.
Word2Vec y FastText son los modelos más utilizados para generar incrustaciones de palabras. Sin embargo, dado que FastText es simplemente una versión mejorada de Word2Vec, lo omitiremos y nos centraremos únicamente en Word2Vec.
¿Cómo funciona Word2Vec?
Word2Vec transforma las palabras en vectores utilizando un proceso que comienza con la codificación one-hot, donde cada palabra en un vocabulario se representa mediante un vector único marcado por un solo 1 entre ceros. Veamos un ejemplo:
Este vector sirve como entrada para una red neuronal, la cual está diseñada para "aprender" las incrustaciones de palabras. La arquitectura de la red puede seguir uno de dos modelos:
- CBoW (continuous bag of words): predice una palabra objetivo en función del contexto proporcionado por las palabras circundantes;
- Skip-gram: predice las palabras de contexto circundantes en función de la palabra objetivo.
En ambas arquitecturas de Word2Vec, durante cada iteración de entrenamiento, el modelo recibe una palabra objetivo y las palabras que la rodean como el contexto representado como vectores codificados one-hot. El conjunto de datos de entrenamiento está compuesto efectivamente por estos pares o grupos, donde cada palabra objetivo se asocia con sus palabras de contexto circundantes.
Cada palabra en el vocabulario toma su turno como objetivo a medida que el modelo recorre el texto utilizando una técnica de ventana de contexto deslizante. Esta técnica se desplaza sistemáticamente por cada palabra, asegurando un aprendizaje exhaustivo de todos los contextos posibles dentro del corpus.
Una ventana de contexto es un número fijo de palabras que rodean a una palabra objetivo y que el modelo utiliza para aprender su contexto. Define cuántas palabras antes y después de la palabra objetivo se toman en cuenta durante el entrenamiento.
Veamos un ejemplo con un tamaño de ventana igual a 2 para mayor claridad:
Un tamaño de ventana de contexto de 2 significa que el modelo incluirá hasta 2 palabras tanto a la izquierda como a la derecha de la palabra objetivo, siempre que esas palabras estén disponibles dentro de los límites del texto. Como se puede observar, si hay menos de 2 palabras a cualquier lado, el modelo incluirá tantas palabras como sea posible.
¡Gracias por tus comentarios!