Procesamiento de Lenguaje Natural · Inteligencia Artificial

Embeddings de palabras (word2vec y GloVe)

Explicar el espacio vectorial semántico de los embeddings de palabras y las analogías que permiten, comparando word2vec y GloVe.

Embeddings de palabras

Dime tu contexto y sabré quién eres La hipotesis distribucional dice que una palabra se define por su contexto. Los embeddings la convierten en geometría: quien aparece en contextos parecidos ocupa posiciones cercanas en el espacio vectorial.

De disperso a denso

Frente a los enormes vectores dispersos de la bolsa, un embedding es un vector corto y denso, de cientos de dimensiones, donde cada eje no tiene nombre pero el conjunto codifica significado.

Proximidad como semejanza

word2vec: predecir contexto

Word2vec entrena una redcilla para predecir el contexto de una palabra (skip-gram) o la palabra dado su contexto (CBOW). Los pesos de la capa intermedia se convierten en los embeddings.

GloVe: cuentas globales

GloVe parte de las estadísticas de coocurrencia de todo el corpus y busca vectores cuyo producto interno reproduzca esas frecuencias. Complementa la visión local de word2vec con información global.

Puntos luminosos agrupados en cúmulos semánticos en el espacio, con dos flechas paralelas que unen parejas de puntos.
Los embeddings sitúan cada palabra en un espacio donde la cercanía refleja semejanza de significado.

Analogías vectoriales

La famosa «rey - hombre + mujer ≈ reina» muestra que ciertas relaciones se codifican como direcciones casi paralelas. Los operadores entre vectores revelan estructura semántica y sintáctica.

Entrenar los embeddings

Se aprenden a partir de corpus enormes sin etiquetar, solo observando contextos. Por eso se dice que son representaciones auto-supervisadas del lenguaje.

Embeddings estáticos frente a contextuales

Word2vec y GloVe dan un único vector por palabra, incapaz de distinguir el «banco» donde te sientas del «banco» financiero. Los contextuales modernos resuelven esa ambigüedad según la frase.

Sesgos en el espacio

Al aprender de texto humano, los embeddings heredan estereotipos: ciertas profesiones se alinean con géneros. Reconocerlo es parte del uso responsable.

Para qué sirven

Como entrada de clasificadores, buscadores semánticos o sistemas de recomendación, los densos y compactos embeddings siguen siendo una pieza fundamental del procesamiento del lenguaje.

Errores frecuentes

Ejemplo resuelto: resolver una analogía

Quieres comprobar que los vectores capturan relaciones y pruebas una analogía:

  1. Cargas embeddings entrenados de un modelo como word2vec o GloVe.
  2. Tomas los vectores de «rey», «hombre» y «mujer».
  3. Calculas rey menos hombre más mujer.
  4. Buscas el vector más cercano por similitud de coseno.
  5. Recuperas «reina», confirmando la regularidad semántica.

¿Para qué sirve en la realidad?

Los embeddings son la puerta vectorial al lenguaje: alimentan buscadores semánticos, recomendadores y clasificadores, y allanaron el camino a los modelos contextuales de hoy.

La hipotesis distribucional que fundamenta los embeddings afirma que:

Un embedding estático de word2vec asigna el mismo vector a «banco» sea financiero o de sentarse.

Embeddings

Vector corto y denso que codifica significado
embedding
Hipótesis de que la palabra se define por su contexto
distribucional
Modelo que predice contexto o palabra vecina
word2vec
Embeddings basados en coocurrencia global
glove
«rey - hombre + mujer ≈ reina» son las ... vectoriales
analogias

Ordena la lógica de cómo nace un embedding de word2vec:

Corpus
Predecir
Extraer
Usar

Word2vec
Aprendizaje de representaciones vectoriales de palabras.

Une cada idea de los embeddings con su término.

Dime tu contexto y sabré quién eres

# Embeddings de palabras
## Idea
### el contexto define el significado
### cercanía igual a semejanza
## Modelos
### word2vec local
### glove global
## Analogías
### direcciones paralelas
### rey menos hombre más mujer
## Limites
### un vector por palabra
### heredan sesgos

Word embedding
Representaciones vectoriales densas del significado de las palabras.

Tu modelo confunde «Java» (isla) con «Java» (lenguaje). ¿Por qué un embedding estático falla aquí y qué lo resolvería?