15. GloVe y otros embeddings clásicos

15.1 Introducción

En el tema anterior estudiamos Word2Vec, uno de los métodos más influyentes para aprender embeddings de palabras a partir del contexto local. Sin embargo, Word2Vec no fue el único enfoque importante dentro de los embeddings clásicos. También aparecieron otros métodos que buscaron construir buenos espacios vectoriales desde perspectivas algo diferentes.

Entre ellos, uno de los más conocidos es GloVe, que propone aprender embeddings a partir de estadísticas globales de coocurrencia. Además, otros enfoques como fastText introdujeron mejoras importantes para manejar mejor palabras raras o variación morfológica.

En este tema compararemos estas ideas para entender cómo evolucionaron los embeddings clásicos antes de la llegada de los modelos contextuales modernos.

15.2 Recordatorio: qué buscaban los embeddings clásicos

Todos estos métodos compartían un objetivo general: aprender vectores densos que capturaran relaciones útiles entre palabras. Querían superar varias limitaciones de Bag of Words y TF-IDF, en especial:

  • La falta de similitud semántica explícita.
  • La alta dimensionalidad.
  • La dispersión de las representaciones.
  • La incapacidad de generalizar entre palabras relacionadas.

Lo que cambia entre métodos como Word2Vec, GloVe o fastText es la forma en que aprenden esos vectores.

15.3 ¿Qué es GloVe?

GloVe significa Global Vectors for Word Representation. Es un método para aprender embeddings de palabras utilizando información estadística global sobre coocurrencias dentro del corpus.

La intuición principal es que no solo importa qué palabras aparecen cerca de otras en ejemplos locales, sino también cómo se distribuyen globalmente sus relaciones de coocurrencia en todo el corpus.

En otras palabras, GloVe intenta construir embeddings aprovechando una visión más global de cómo se relacionan las palabras en la colección textual completa.

15.4 Coocurrencia como base

La idea de coocurrencia es central en GloVe. Dos palabras coocurren cuando aparecen cercanas dentro de cierto contexto. Si este patrón se repite muchas veces en el corpus, eso sugiere una relación útil entre ambas.

GloVe parte de una matriz de coocurrencias que resume cuántas veces las palabras aparecen cerca unas de otras. A partir de esa estructura, aprende embeddings que intentan reflejar esas relaciones globales de manera compacta.

15.5 Diferencia conceptual con Word2Vec

La diferencia conceptual más importante entre GloVe y Word2Vec suele explicarse así:

  • Word2Vec: aprende embeddings resolviendo una tarea predictiva local basada en contexto.
  • GloVe: aprende embeddings modelando estadísticas globales de coocurrencia.

Ambos llegan a vectores densos útiles, pero lo hacen con filosofías distintas. Word2Vec se apoya más en una tarea auxiliar predictiva. GloVe se apoya más en estructura estadística agregada del corpus.

Word2Vec mira mucho el contexto local. GloVe intenta resumir también la estructura global de coocurrencia del corpus.

15.6 ¿Qué aporta esta diferencia?

Desde un punto de vista práctico, ambos métodos pueden producir embeddings muy útiles. Sin embargo, la diferencia conceptual es importante porque muestra dos caminos posibles para aprender representaciones distribuidas:

  • Aprender mediante predicción local.
  • Aprender mediante factorización o ajuste sobre estadísticas globales.

Esta distinción influyó mucho en cómo se pensaron los modelos de representación del lenguaje durante varios años.

15.7 Intuición del valor de la coocurrencia global

La hipótesis detrás de GloVe es que las relaciones semánticas entre palabras están reflejadas en cómo varían sus patrones globales de coocurrencia. Si dos palabras tienen distribuciones de contexto parecidas a lo largo del corpus, es razonable esperar que queden cerca en el espacio vectorial.

Esto significa que el método no se limita a ejemplos aislados, sino que intenta usar una imagen más amplia del lenguaje observado en el corpus completo.

15.8 Ventajas de GloVe

Entre las ventajas más citadas de GloVe se encuentran:

  • Aprovecha información global del corpus.
  • Produce embeddings densos y reutilizables.
  • Captura relaciones semánticas y sintácticas útiles.
  • Fue muy competitivo respecto de Word2Vec en muchas evaluaciones clásicas.

Por eso se convirtió en uno de los métodos de referencia dentro de los embeddings clásicos.

15.9 Limitaciones de GloVe

GloVe también comparte varias limitaciones con otros embeddings clásicos:

  • Aprende un único vector fijo por palabra.
  • No resuelve bien la polisemia.
  • Depende de grandes corpus y buenas estadísticas de coocurrencia.
  • No incorpora contexto dinámico como lo harán los modelos contextuales posteriores.

Es decir, fue un gran avance, pero todavía pertenece a la familia de representaciones estáticas por palabra.

15.10 Word2Vec versus GloVe

En la práctica, Word2Vec y GloVe suelen compararse porque ambos fueron métodos muy populares para aprender embeddings clásicos. Más que pensar cuál es "mejor" en abstracto, conviene entender cómo se diferencian:

  • Word2Vec aprende desde una tarea predictiva local.
  • GloVe aprende desde patrones globales de coocurrencia.
  • Ambos producen embeddings densos reutilizables.
  • Ambos siguen siendo embeddings estáticos, uno por palabra.

Conceptualmente, los dos ayudaron a consolidar la idea de representación distribuida del lenguaje.

15.11 ¿Qué otros embeddings clásicos existieron?

Además de Word2Vec y GloVe, hubo otros enfoques clásicos o cercanos a esa etapa de evolución. Algunos fueron menos influyentes, otros introdujeron mejoras prácticas importantes. Entre ellos, uno de los más relevantes fue fastText.

15.12 fastText y el problema de las subpalabras

fastText introdujo una idea muy valiosa: representar palabras no solo como unidades completas, sino también a partir de sus fragmentos internos o subpalabras. Esto resulta útil porque muchas lenguas tienen gran variación morfológica y muchas palabras raras comparten partes comunes.

Por ejemplo, si una palabra poco frecuente contiene raíces o fragmentos conocidos, fastText puede aprovechar esa estructura interna para construir una representación más robusta.

Esto hizo que fastText fuera especialmente útil en idiomas con mucha flexión y en escenarios con palabras raras o fuera de vocabulario.

15.13 Ventaja de fastText frente a embeddings puramente de palabra

La gran ventaja de fastText es que no depende completamente de tratar cada palabra como un bloque indivisible. Al considerar subcomponentes internos, puede:

  • Manejar mejor palabras raras.
  • Generalizar mejor a variantes morfológicas.
  • Aprovechar similitudes entre palabras emparentadas.

Esto lo convirtió en una mejora muy práctica frente a los embeddings clásicos puramente basados en palabra completa.

15.14 Qué tienen en común Word2Vec, GloVe y fastText

Aunque difieren en el modo de aprendizaje, estos métodos comparten varias características:

  • Aprenden embeddings densos.
  • Buscan capturar relaciones útiles entre palabras.
  • Se entrenan sobre grandes corpus.
  • Producen representaciones reutilizables en múltiples tareas.
  • Asignan, en su forma clásica, una representación relativamente fija a cada palabra.

Por eso suelen agruparse dentro de la gran familia de embeddings clásicos.

15.15 Qué limitación seguía sin resolverse del todo

A pesar de sus avances, estos métodos seguían compartiendo un problema fundamental: una palabra polisémica recibía, en general, un solo vector fijo. La palabra banco, por ejemplo, no tenía naturalmente una representación distinta según si se hablaba de finanzas o de un asiento.

Esta limitación fue una de las razones por las que más adelante surgieron embeddings contextuales y modelos como ELMo, BERT y Transformers modernos.

15.16 Embeddings clásicos como etapa histórica

Desde una perspectiva histórica, Word2Vec, GloVe y fastText forman parte de una etapa muy importante del NLP: la transición desde representaciones basadas en conteos hacia representaciones densas aprendidas automáticamente.

Esta etapa fue decisiva porque instaló la idea de que el lenguaje podía representarse en espacios vectoriales ricos antes de la gran explosión de los modelos contextuales profundos.

15.17 Cuándo siguen siendo útiles

Aunque hoy existen métodos más avanzados, los embeddings clásicos siguen siendo útiles en varios escenarios:

  • Como introducción conceptual al aprendizaje de representaciones.
  • Cuando se necesita una solución liviana.
  • En tareas donde no hace falta un contexto profundamente dinámico.
  • Como baseline o comparación frente a métodos modernos.

Además, siguen siendo históricamente fundamentales para entender cómo evolucionó el NLP.

15.18 Ejemplo conceptual comparativo

Imaginemos que queremos representar palabras relacionadas con educación. Con Word2Vec, el modelo aprendería relaciones a partir de contextos locales. Con GloVe, esas relaciones surgirían del patrón global de coocurrencias. Con fastText, además, podrían aprovecharse fragmentos internos de palabras como prefijos, raíces o terminaciones.

Los tres enfoques apuntan a construir buenos embeddings, pero cada uno enfatiza un aspecto distinto del problema.

Word2Vec enfatiza el contexto local, GloVe enfatiza la estructura global de coocurrencia y fastText agrega sensibilidad a la forma interna de las palabras.

15.19 Resumen comparativo

Método Idea principal Fortaleza destacada
Word2Vec Aprender embeddings prediciendo palabra o contexto. Gran eficiencia e impacto conceptual.
GloVe Aprender embeddings desde coocurrencias globales. Aprovecha estadísticas globales del corpus.
fastText Aprender embeddings usando también subpalabras. Maneja mejor morfología y palabras raras.

15.20 Ejemplo en Python: fastText y subpalabras

Una forma muy interesante de ver la ventaja de fastText es entrenar un modelo pequeño y consultar palabras con morfología parecida. Como utiliza subpalabras, suele manejar mejor variantes que Word2Vec puro.

from gensim.models import FastText

corpus = [
    ["programar", "python", "resulta", "divertido"],
    ["programacion", "python", "para", "analisis", "de", "texto"],
    ["programador", "experto", "usa", "python"],
    ["programadores", "construyen", "modelos", "de", "lenguaje"],
]

modelo = FastText(
    sentences=corpus,
    vector_size=40,
    window=3,
    min_count=1,
    workers=1,
    epochs=200
)

for palabra in ["programar", "programacion", "programador"]:
    print(f"\nSimilares a {palabra}:")
    print(modelo.wv.most_similar(palabra, topn=3))

En un ejemplo como este, fastText puede capturar mejor la cercanía entre palabras relacionadas por raíz o morfología. Ese fue uno de sus aportes más prácticos respecto de embeddings clásicos puramente estáticos.

15.21 Qué debes recordar de este tema

  • GloVe aprende embeddings a partir de estadísticas globales de coocurrencia.
  • Word2Vec y GloVe tienen filosofías distintas, pero ambos producen embeddings clásicos densos.
  • fastText agrega información de subpalabras y mejora el manejo de morfología y palabras raras.
  • Todos estos métodos siguen siendo embeddings estáticos en su forma clásica.
  • Fueron una etapa histórica clave antes de los embeddings contextuales modernos.

15.22 Conclusión

GloVe y otros embeddings clásicos completan una etapa fundamental en la evolución del NLP. Junto con Word2Vec, mostraron que era posible aprender representaciones distribuidas del lenguaje a partir de grandes corpus y que esas representaciones podían capturar relaciones útiles para muchas tareas.

Aunque hoy contamos con enfoques mucho más potentes, entender estos métodos sigue siendo clave porque establecieron las bases conceptuales sobre las que luego crecieron los modelos modernos.

En el próximo tema pasaremos a un bloque más práctico y estudiaremos la introducción a librerías de NLP en Python, para empezar a conectar estos conceptos con herramientas concretas de trabajo.