Embeddings: ejercicios interactivos
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
El siguiente widget, basado en Embedding Projector de TensorFlow, compacta 10,000 vectores estáticos de word2vec
en un espacio de 3 dimensiones. Esta contracción de dimensiones puede ser engañosa porque los puntos más cercanos entre sí en el espacio de alta dimensión original pueden aparecer más lejanos en la proyección de 3 dimensiones. Los puntos n más cercanos están resaltados en violeta, con n elegidos por el usuario en Isolate __ points. La barra lateral de la derecha identifica a los vecinos más cercanos.
En estos experimentos, jugarás con los embeddings de word2vec
en el widget mencionado antes.
Tarea 1
Intenta encontrar los 20 vecinos más cercanos con los siguientes valores y ver dónde quedan los grupos en la nube.
iii
, third
y three
tao
y way
orange
, yellow
y juice
¿Qué observas acerca de estos resultados?
Haz clic aquí para ver nuestra respuesta
Aunque iii
, third
y three
son semánticamente similares, aparecen en contextos diferentes en el texto y no parecen estar cerca en este espacio de embedding. En word2vec
, iii
está más cerca de iv
que de third
.
De forma similar, si bien way
es una traducción directa de tao
, estas palabras aparecen con más frecuencia con grupos de palabras completamente distintos en el conjunto de datos que se usó. Por lo tanto, los dos vectores están muy alejados.
Los primeros vecinos más cercanos de orange
son colores, pero juice
y peel
, relacionados con el significado de orange
de fruta, aparecen como los vecinos más cercanos en el puesto 14 y 18. Mientras tanto, prince
, como en Prince of Orange, está en el puesto 17. En la proyección, las palabras más cercanas a orange
son yellow
y otros colores, mientras que las palabras más cercanas a juice
no incluyen orange
.
Tarea 2
Intenta descubrir algunas características de los datos de entrenamiento. Por ejemplo, trata de encontrar los 100 vecinos más cercanos de los siguientes valores y ver dónde quedan los grupos en la nube:
boston
, paris
, tokyo
, delhi
, moscow
y seoul
(esta es una pregunta tramposa)
jane
, sarah
, john
, peter
, rosa
y juan
Haz clic aquí para ver nuestra respuesta
Muchos de los vecinos más cercanos de boston
son otras ciudades de EE.UU. Muchos de los vecinos más cercanos de paris
son otras ciudades de Europa. tokyo
y delhi
parecen no tener resultados similares: una se asocia con ciudades de todo el mundo que son centros turísticos, mientras que la otra se asocia con india
y palabras relacionadas. seoul
ni siquiera aparece en este conjunto resumido de vectores de palabras.
Parece que este conjunto de datos contiene muchos documentos relacionados a la geografía nacional de EE.UU., algunos documentos relacionados a la geografía regional de Europa y no mucha cobertura detallada de otros países ni regiones.
De forma similar, parece que este conjunto de datos contiene muchos nombres masculinos en inglés, algunos nombres femeninos en inglés y muchos menos nombres en otros idiomas. Observa que Don Rosa ilustró y escribió historietas de Scrooge McDuck para Disney, lo que probablemente sea el motivo por el que "scrooge" y "mcduck" están entre los vecinos más cercanos de "rosa".
De hecho, los vectores de palabras entrenados previamente que ofrece word2vec
se entrenaron con artículos de Google Noticias de hasta 2013.
Tarea 3
Los embeddings no se limitan a palabras. También pueden incluir imágenes, audio y otros datos. Para esta tarea, haz lo siguiente:
- Abre Embedding Projector de TensorFlow.
- En la barra lateral izquierda llamada Data, elige Mnist with images. De este modo, se muestra una proyección de los embeddings de la base de datos de MNIST de dígitos escritos a mano.
- Haz clic para detener la rotación y elegir una sola imagen. Acerca o aleja según sea necesario.
- Fíjate en la barra lateral derecha para ver los vecinos más cercanos. ¿Encontraste alguna sorpresa?
- ¿Por qué algunos
7
s tienen 1
s como su vecino más cercano? ¿Por qué algunos 8
s tienen 9
como su vecino más cercano?
- ¿Hay algo en las imágenes de los bordes del espacio de proyección que parece diferente a las imágenes del centro del espacio de proyección?
Ten en cuenta que el modelo que creó estos embeddings está recibiendo datos de imágenes, es decir píxeles, y eligiendo una representación numérica de vector para cada imagen. El modelo no hace una asociación mental automática entre la imagen del dígito escrito a mano y el dígito numérico en sí.
Haz clic aquí para ver nuestra respuesta
Debido a similitudes de forma, las representaciones de vector de algunos de los 7
s más finos y delgados se colocan más cerca de los vectores de los 1
s escritos a mano. Lo mismo sucede con algunos 8
s y 9
s, y hasta con algunos de los 5
s y 3
s.
Los dígitos escritos a mano que están en la parte externa del espacio de proyección parecen más fuertemente definibles como uno de los nueve dígitos y fuertemente diferenciados de otros posibles dígitos.
Salvo que se indique lo contrario, el contenido de esta página está sujeto a la licencia Atribución 4.0 de Creative Commons, y los ejemplos de código están sujetos a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-05-15 (UTC)
[null,null,["Última actualización: 2025-05-15 (UTC)"],[],[],null,["# Embeddings: Interactive exercises\n\nThe following widget, based on TensorFlow's\n[Embedding Projector](https://projector.tensorflow.org/), flattens 10,000\n`word2vec` static vectors into a 3D space. This collapse of dimensions can be\nmisleading, because the points closest to each other in the original\nhigh-dimensional space may appear farther apart in the 3D projection. The\nclosest *n* points are highlighted in purple, with *n* chosen by the user in\n**Isolate __ points**. The sidebar on the right identifies those nearest\nneighbors. \n\nIn these experiments, you'll play with the `word2vec` embeddings in the widget\nabove.\n\nTask 1\n------\n\nTry to find the 20 nearest neighbors for the following, and see where the\ngroups fall in the cloud.\n\n- `iii`, `third`, and `three`\n- `tao` and `way`\n- `orange`, `yellow`, and `juice`\n\nWhat do you notice about these results? \n**Click here for our answer**\n\nEven though `iii`, `third`, and `three`\nare semantically similar, they appear in different contexts in text and\ndon't appear to be close together in this embedding space. In\n`word2vec`, `iii` is closer to `iv` than to\n`third`.\n\nSimilarly, while `way` is a direct translation of `tao`,\nthese words most frequently occur with completely different groups of words\nin the dataset used, and so the two vectors are very far apart.\n\nThe first several nearest neighbors of `orange` are colors, but\n`juice` and `peel`, related to the meaning of\n`orange` as fruit, show up as the 14th\nand 18th nearest neighbors. `prince`, meanwhile, as in the\nPrince of Orange, is 17th. In the projection, the words closest to\n`orange` are `yellow` and other\ncolors, while the closest words to `juice` don't include\n`orange`.\n\nTask 2\n------\n\nTry to figure out some characteristics of the training data. For example, try\nto find the 100 nearest neighbors for the following, and see where the groups\nare in the cloud:\n\n- `boston`, `paris`, `tokyo`, `delhi`, `moscow`, and `seoul` (this is a trick question)\n- `jane`, `sarah`, `john`, `peter`, `rosa`, and `juan`\n\n**Click here for our answer**\n\nMany of the nearest neighbors to `boston` are other cities in\nthe US. Many of the nearest neighbors to `paris` are other cities\nin Europe. `tokyo` and `delhi` don't seem to have\nsimilar results: one is associated with cities around the world that are\ntravel hubs, while the other is associated with `india` and related\nwords. `seoul` doesn't appear in this trimmed-down set of\nword vectors at all.\n\nIt seems that this dataset contains many documents related to US national\ngeography, some documents relate to European regional geography, and not\nmuch fine-grained coverage of other countries or regions.\n\nSimilarly, this dataset seems to contain many male English names, some female\nEnglish names, and far fewer names from other languages. Note that Don Rosa\nwrote and illustrated Scrooge McDuck comics for Disney, which is the likely\nreason that \\`scrooge\\` and \\`mcduck\\` are among the nearest neighbors for \\`rosa\\`.\n\nThe pre-trained word vectors offered by `word2vec` were in fact\ntrained on\n[Google News articles up to 2013](https://code.google.com/archive/p/word2vec/).\n\nTask 3\n------\n\nEmbeddings aren't limited to words. Images, audio, and other data can also be\nembedded. For this task:\n\n1. Open TensorFlow's [Embedding Projector](https://projector.tensorflow.org/).\n2. In the left sidebar titled **Data** , choose **Mnist with images** . This brings up a projection of the embeddings of the [MNIST](https://developers.google.com/machine-learning/glossary#mnist) database of handwritten digits.\n3. Click to stop the rotation and choose a single image. Zoom in and out as needed.\n4. Look in the right sidebar for nearest neighbors. Are there any surprises?\n\n- Why do some `7`s have `1`s as their nearest neighbor? Why do some `8`s have `9` as their nearest neighbor?\n- Is there anything about the images on the edges of the projection space that seem different from the images in the center of the projection space?\n\nKeep in mind that the model that created these embeddings is receiving image\ndata, which is to say, pixels, and choosing a numerical vector representation\nfor each image. The model doesn't make an automatic mental association\nbetween the image of the handwritten digit and the numerical digit itself. \n**Click here for our answer**\n\nDue to similarities in shape, the vector representations of some of the\nskinnier, narrower `7`s are placed closer to the vectors for\nhandwritten `1`s. The same thing happens for some `8`s\nand `9`s, and even some of the `5`s and `3`s.\n\nThe handwritten digits on the outside of the projection space appear\nmore strongly definable as one of the nine digits and strongly differentiated\nfrom other possible digits.\n| **Key terms:**\n|\n| - [Embedding vector](/machine-learning/glossary#embedding-vector)\n- [Embedding space](/machine-learning/glossary#embedding-space) \n[Help Center](https://support.google.com/machinelearningeducation)"]]