Un embedding estático le da a bank un único vector, se trate de la orilla de un río o de una entidad financiera (Alammar y Grootendorst, 2024, p. 11). Un embedding contextual, en cambio, se calcula para cada aparición: el modelo lee la oración entera y produce un vector por token que ya incorpora información de su entorno (Alammar y Grootendorst, 2024, pp. 58–61). Lo introdujo a gran escala ELMo, con redes recurrentes bidireccionales (Peters et al., 2018), y los transformers como BERT lo volvieron la norma.
Ejemplo mínimo. Un modelo pequeño tipo BERT procesa «Hello world» y devuelve un tensor de
forma [1, 4, 384]: cuatro vectores de 384 números, uno por token ([CLS], Hello, world,
[SEP]) (Alammar y Grootendorst, 2024, p. 60). En «me senté en el banco de la plaza» y «el banco me cobró una
comisión», el vector de banco sale distinto en cada caso, aunque ambos partan de la misma
fila de la tabla de embeddings.
El mecanismo que mezcla el contexto es la autoatención: la representación de cada palabra se modifica ponderando las demás según su relevancia. Buckner (2024) lo ilustra con un caso de desambiguación a larga distancia: en un párrafo que empieza con alguien pescando y termina con «se alejó de la orilla» (bank), las pistas lejanas tienen que empujar el vector de bank hacia la región del espacio semántico que corresponde a los ríos (2024, pp. 270–273).
Para el filósofo del lenguaje hay una lectura natural: los embeddings estáticos representan tipos; los contextuales, ocurrencias. Pero no conviene identificar sin más vectores distintos con sentidos distintos. Los vectores contextuales varían de manera continua, también con el tema, el registro y la posición sintáctica, y no vienen segmentados en acepciones como un diccionario. Si esa variación codifica polisemia, homonimia o algo más difuso es una pregunta empírica, que se estudia con sondeos.