{"id":159494,"date":"2026-02-19T14:39:46","date_gmt":"2026-02-19T13:39:46","guid":{"rendered":"https:\/\/multi.liora.io\/?p=159494"},"modified":"2026-08-24T18:43:49","modified_gmt":"2026-08-24T17:43:49","slug":"nlp-word-embedding-word2vec-es","status":"publish","type":"post","link":"https:\/\/liora.io\/es\/nlp-word-embedding-word2vec-es","title":{"rendered":"Word2vec : NLP y Word Embedding"},"content":{"rendered":"\n<p><strong>El Word Embedding designa un conjunto de m\u00e9todos de aprendizaje que pretende representar las palabras de un texto mediante vectores de n\u00fameros reales. Hoy vamos a presentarte la 3.\u00aa parte de nuestro dosier NLP.<\/strong><\/p>\n\n\n<p>Esta secci\u00f3n pretende explicar c\u00f3mo funciona el famoso <strong>algoritmo Word2vec<\/strong> <strong>en Python<\/strong> y su implementaci\u00f3n.<\/p>\n\n\n<h2 class=\"wp-block-heading\" id=\"word-embedding\">Word Embedding<\/h2>\n\n\n<p class=\"has-text-align-left is-layout-flow wp-block-quote-is-layout-flow\" style=\"margin-top:24px;margin-bottom:24px\"><em>Como recordatorio, el Word Embedding es capaz de capturar el contexto, la similitud sem\u00e1ntica y sint\u00e1ctica (g\u00e9nero, sin\u00f3nimos, etc.) de una palabra reduciendo su dimensi\u00f3n.<\/em><\/p>\n\n\n<p>Por ejemplo, cabr\u00eda esperar que las palabras \u00abnotable\u00bb y \u00abadmirable\u00bb estuvieran representadas por vectores relativamente cercanos en el espacio vectorial donde se definen estos vectores.<\/p>\n\n\n<p>El m\u00e9todo de embedding que se usa habitualmente para reducir la dimensi\u00f3n de un vector consiste en utilizar el resultado que devuelve una capa densa, es decir, multiplicar una matriz de embedding W por la representaci\u00f3n \u00abone hot\u00bb de la palabra :<\/p>\n\n\n<p>En forma vectorial :<\/p>\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\" style=\"width:278px;max-width:100%;margin-top:32px;margin-right:auto;margin-bottom:32px;margin-left:auto\"><img alt=\"Word2vec\" decoding=\"async\" height=\"78\" loading=\"lazy\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/7\/2020\/09\/Capture-de\u0301cran-2020-09-18-a\u0300-09.23.58.png\" style=\"width:100%;max-width:278px;height:auto\" width=\"278\"\/><\/figure>\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\" style=\"width:287px;max-width:100%;margin-top:32px;margin-right:auto;margin-bottom:32px;margin-left:auto\"><a href=\"https:\/\/medium.com\/datadriveninvestor\/deep-learning-autoencoders-db265359943e\" style=\"display:block;width:100%\"><img alt=\"auto encodeur\" decoding=\"async\" height=\"300\" loading=\"lazy\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/7\/2020\/09\/Sche\u0301ma-1-287x300.png\" style=\"width:100%;max-width:287px;height:auto\" width=\"287\"\/><\/a><figcaption class=\"wp-element-caption\">Autocodificador<\/figcaption><\/figure>\n\n\n<h2 class=\"wp-block-heading\" id=\"embedding-con-la-ayuda-de-word2vec\">Embedding con la ayuda de Word2vec<\/h2>\n\n\n<p>Sin embargo, para evitar las limitaciones del primer m\u00e9todo, es posible entrenar la matriz W <strong>de forma no supervisada<\/strong> <strong>solo con texto<\/strong> utilizando el famoso <strong>algoritmo Word2Vec<\/strong>.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"como-funciona-word2vec\">\u00bfC\u00f3mo funciona word2vec?<\/h3>\n\n\n<p>Existen dos variantes de Word2vec, ambas utilizan una red neuronal de 3 capas (1 capa de entrada, 1 capa oculta, 1 capa de salida): Common Bag Of Words (CBOW) y Skip-gram.<\/p>\n\n\n<p>En la siguiente imagen, la <strong>palabra del recuadro azul se llama palabra objetivo y las palabras de los recuadros blancos se llaman palabras de contexto<\/strong> en una <strong>ventana de tama\u00f1o 5.<\/strong><\/p>\n\n\n<figure class=\"aligncenter is-resized size-full wp-block-image\" style=\"width:680px;max-width:100%;margin-top:32px;margin-right:auto;margin-bottom:32px;margin-left:auto\"><img alt=\"Embedding \u00e0 l\u2019aide du Word2vec\" decoding=\"async\" height=\"334\" loading=\"lazy\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/7\/2020\/09\/Capture-de\u0301cran-2020-09-18-a\u0300-09.27.50.png\" style=\"width:100%;max-width:748px;height:auto\" width=\"842\"\/><\/figure>\n\n\n<p><strong>CBOW : El modelo se alimenta del contexto<\/strong> y predice la palabra objetivo. El resultado de la capa oculta es la nueva representaci\u00f3n de la palabra (\u210e1, &#8230;, \u210e?).<\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex is-content-justification-center wp-container-core-buttons-is-layout-a89b3969\" style=\"margin-top:32px;margin-bottom:32px\"><div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/liora.io\/en\/courses\/data-ai\/deep-learning\/natural-language-processing\">Avanza con el programa de NLP<\/a><\/div><\/div>\n\n\n\n\n<p><strong>Skip Gram: El modelo se alimenta de la palabra objetivo<\/strong> y predice las palabras del contexto. El resultado de la capa oculta es la nueva representaci\u00f3n de la palabra (\u210e1, &#8230;, \u210e?).<\/p>\n\n\n<figure class=\"aligncenter is-resized size-full wp-block-image\" style=\"width:720px;max-width:100%;margin-top:32px;margin-right:auto;margin-bottom:32px;margin-left:auto\"><img alt=\"word2vec\" decoding=\"async\" height=\"433\" loading=\"lazy\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/7\/2020\/09\/word-2-vec-illu.png\" style=\"width:100%;max-width:720px;height:auto\" width=\"720\"\/><\/figure>\n\n\n<h3 class=\"wp-block-heading\" id=\"formateo-de-los-datos\">Formateo de los datos :<\/h3>\n\n\n<p>Aqu\u00ed <strong>presentaremos el modelo CBOW<\/strong>, es decir, el <strong>contexto es la entrada<\/strong> de nuestro modelo y <strong>la palabra objetivo (palabra azul) es la salida<\/strong>. Definimos una ventana de longitud 5 para el contexto (entrada).<\/p>\n\n\n<figure class=\"aligncenter is-resized size-full wp-block-image\" style=\"width:680px;max-width:100%;margin-top:32px;margin-right:auto;margin-bottom:32px;margin-left:auto\"><img alt=\"Embedding \u00e0 l\u2019aide du Word2vec\" decoding=\"async\" height=\"334\" loading=\"lazy\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/7\/2020\/09\/Capture-de\u0301cran-2020-09-18-a\u0300-09.27.50.png\" style=\"width:100%;max-width:748px;height:auto\" width=\"842\"\/><\/figure>\n\n\n<figure class=\"aligncenter is-resized size-full wp-block-image\" style=\"width:680px;max-width:100%;margin-top:32px;margin-right:auto;margin-bottom:32px;margin-left:auto\"><img alt=\"Ilustraci\u00f3n sobre Formateo de los datos :\" decoding=\"async\" height=\"270\" loading=\"lazy\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/7\/2020\/09\/Sche\u0301ma-2-1024x270.png\" style=\"width:100%;max-width:748px;height:auto\" width=\"1024\"\/><\/figure>\n\n\n<h3 class=\"wp-block-heading\" id=\"modelo\">Modelo :<\/h3>\n\n\n<p>El modelo CBOW tiene similitudes con el modelo de clasificaci\u00f3n que acabamos de implementar en la secci\u00f3n anterior. Nuestro modelo estar\u00e1 compuesto por las siguientes capas :<\/p>\n\n\n<figure class=\"aligncenter size-full wp-block-image\" style=\"margin-top:32px;margin-bottom:32px\"><img alt=\"cbow\" decoding=\"async\" height=\"954\" loading=\"lazy\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/7\/2020\/09\/Sche\u0301ma-3-1024x954.png\" style=\"width:100%;max-width:520px;height:auto\" width=\"1024\"\/><figcaption class=\"wp-element-caption\">Arquitectura CBOW<\/figcaption><\/figure>\n\n\n<ol class=\"wp-block-list\">\n<li>La capa Embedding <strong>transformar\u00e1 cada palabra del contexto en un vector de embedding<\/strong>. La matriz W de embedding se aprender\u00e1 a medida que se entrena el modelo. Las dimensiones resultantes son: (lot, context_size, embedding).<\/li>\n<li>A continuaci\u00f3n, la capa GlobalAveragePooling1D permite <strong>sumar los diferentes embbeding<\/strong> y obtener una dimensi\u00f3n de salida (batch_size, embedding).<\/li>\n<li>Por \u00faltimo, la capa densa de tama\u00f1o \u00abvoc_size\u00bb <strong>permite predecir la palabra objetivo<\/strong>.<\/li>\n<\/ol>\n\n\n<pre class=\"wp-block-code\"><code>&lt;!-- wp:code {\"style\":{\"spacing\":{\"margin\":{\"top\":\"var:preset|spacing|columns\",\"bottom\":\"var:preset|spacing|columns\"}}},\"fontSize\":\"xsmall\"} --&gt;\n&lt;pre class=\"wp-block-code has-xsmall-font-size\" style=\"margin-top:var(--wp--preset--spacing--columns);margin-bottom:var(--wp--preset--spacing--columns)\"&gt;&lt;code&gt;from tensorflow.keras import Sequential\nfrom tensorflow.keras.layers import Embedding, Dense, GlobalAveragePooling1D\n\nembedding_dim = 300\n\nmodel = Sequential()\nmodel.add(Embedding(vocab_size, embedding_dim))\nmodel.add(GlobalAveragePooling1D())\nmodel.add(Dense(vocab_size, activation='softmax'))&lt;\/code&gt;&lt;\/pre&gt;\n&lt;!-- \/wp:code --&gt;<\/code><\/pre>\n\n\n<p>La funci\u00f3n de p\u00e9rdida cross-entropy se suele utilizar para entrenar al modelo :<\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex is-content-justification-center wp-container-core-buttons-is-layout-a89b3969\" style=\"margin-top:32px;margin-bottom:32px\"><div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/liora.io\/en\/courses\/data-ai\/machine-learning-engineer\">Profundiza en Modelo con Machine Learning Engineer<\/a><\/div><\/div>\n\n\n\n\n<pre class=\"wp-block-code\"><code>model.compile(optimizer='adam',\n              loss='sparse_categorical_crossentropy',\n              metrics=['accuracy'])\n\nhistory = model.fit(X, y,\n    batch_size = 256,\n    epochs=10)<\/code><\/pre>\n\n\n<h2 class=\"wp-block-heading\" id=\"metrica-en-este-espacio\">M\u00e9trica en este espacio :<\/h2>\n\n\n<p>Ahora que el modelo est\u00e1 entrenado, puede ser interesante comparar la distancia entre las palabras.<\/p>\n\n\n<p><strong>La \u201cCosine similarity\u201d <\/strong>se utiliza por lo general como m\u00e9trica para <strong>medir la distancia cuando la norma de los vectores no tiene importancia.<\/strong> Esta m\u00e9trica capta la similitud entre dos palabras.<\/p>\n\n\n<p>Cuanto m\u00e1s se acerque la cosine similarity a 1, m\u00e1s relacionadas estar\u00e1n las dos palabras.<\/p>\n\n\n<figure class=\"aligncenter is-resized size-full wp-block-image\" style=\"width:680px;max-width:100%;margin-top:32px;margin-right:auto;margin-bottom:32px;margin-left:auto\"><img alt=\"Ilustraci\u00f3n sobre M\u00e9trica en este espacio :\" decoding=\"async\" height=\"308\" loading=\"lazy\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2022\/11\/image4.png\" style=\"width:100%;max-width:748px;height:auto\" width=\"800\"\/><\/figure>\n\n\n<p>Con esta m\u00e9trica y en este subespacio vectorial, las 5 palabras <strong>m\u00e1s cercanas a \u00abbody\u00bb<\/strong> son :<\/p>\n\n\n<pre class=\"wp-block-code\"><code>intestines\u00a0 --\u00a0 0.30548161268234253<\/code><\/pre>\n\n\n<pre class=\"wp-block-code\"><code>bodies\u00a0 --\u00a0 0.2691531181335449<\/code><\/pre>\n\n\n<pre class=\"wp-block-code\"><code>arm\u00a0 --\u00a0 0.24878980219364166<\/code><\/pre>\n\n\n<pre class=\"wp-block-code\"><code>chest\u00a0 --\u00a0 0.2261650413274765<\/code><\/pre>\n\n\n<pre class=\"wp-block-code\"><code>leg\u00a0 --\u00a0 0.2193179428577423<\/code><\/pre>\n\n\n<p>Los n\u00fameros anteriores representan las distancias de similitud coseno entre la palabra \u00abbody\u00bb y las palabras m\u00e1s cercanas.<\/p>\n\n\n<p>Para la palabra \u00ab <strong>zombie<\/strong> \u00bb :<\/p>\n\n\n<pre class=\"wp-block-code\"><code>slasher\u00a0 --\u00a0 0.3172745406627655<\/code><\/pre>\n\n\n<pre class=\"wp-block-code\"><code>cannibal\u00a0 --\u00a0 0.28496912121772766<\/code><\/pre>\n\n\n<pre class=\"wp-block-code\"><code>zombies\u00a0 --\u00a0 0.2767203450202942<\/code><\/pre>\n\n\n<pre class=\"wp-block-code\"><code>horror\u00a0 --\u00a0 0.2607246935367584<\/code><\/pre>\n\n\n<pre class=\"wp-block-code\"><code>zombi\u00a0 --\u00a0 0.25878411531448364<\/code><\/pre>\n\n\n<p>Para la palabra \u00ab <strong>amazing <\/strong>\u00bb :<\/p>\n\n\n<pre class=\"wp-block-code\"><code>brilliant\u00a0 --\u00a0 0.3372475802898407<\/code><\/pre>\n\n\n<pre class=\"wp-block-code\"><code>extraordinary\u00a0 --\u00a0 0.319326251745224<\/code><\/pre>\n\n\n<pre class=\"wp-block-code\"><code>great\u00a0 --\u00a0 0.29579296708106995<\/code><\/pre>\n\n\n<pre class=\"wp-block-code\"><code>breathtaking\u00a0 --\u00a0 0.2907085716724396<\/code><\/pre>\n\n\n<pre class=\"wp-block-code\"><code>fantastic\u00a0 --\u00a0 0.2871546149253845<\/code><\/pre>\n\n\n<p>Para la palabra \u00ab<strong> god<\/strong> \u00bb :<\/p>\n\n\n<pre class=\"wp-block-code\"><code>heavens\u00a0 --\u00a0 0.268303781747818<\/code><\/pre>\n\n\n<pre class=\"wp-block-code\"><code>jesus\u00a0 --\u00a0 0.26807624101638794<\/code><\/pre>\n\n\n<pre class=\"wp-block-code\"><code>goodness\u00a0 --\u00a0 0.2618488669395447<\/code><\/pre>\n\n\n<pre class=\"wp-block-code\"><code>gods\u00a0 --\u00a0 0.24795521795749664<\/code><\/pre>\n\n\n<pre class=\"wp-block-code\"><code>doom\u00a0 --\u00a0 0.22242328524589539<\/code><\/pre>\n\n\n<p><strong>Propiedades aritm\u00e9ticas :<\/strong><\/p>\n\n\n<p>Ahora podemos preguntarnos si nuestro subespacio vectorial de palabras tiene propiedades aritm\u00e9ticas. Veamos el siguiente ejemplo famoso :<\/p>\n\n\n<p class=\"has-text-align-center\"><span>\ud835\udc3e\ud835\udc56\ud835\udc5b\ud835\udc54\u00a0\u2212\u00a0\ud835\udc40\ud835\udc4e\ud835\udc5b\u00a0+\u00a0\ud835\udc4a\ud835\udc5c\ud835\udc5a\ud835\udc4e\ud835\udc5b\u00a0=\u00a0<\/span><span>\ud835\udc44\ud835\udc62\ud835\udc52\ud835\udc52\ud835\udc5b<\/span><\/p>\n\n\n<p>En este ejemplo la <strong>propiedad aritm\u00e9tica es la realeza<\/strong>. Queremos comprobar si esta propiedad se propagar\u00e1 a \u00abwoman\u00bb. Es decir, buscaremos las palabras m\u00e1s cercanas al siguiente vector :<\/p>\n\n\n<p class=\"has-text-align-center\">arithmetic_vector = word2vec[index_word1] &#8211; word2vec[index_word2] + word2vec [index_word3]<\/p>\n\n\n<p>Aqu\u00ed, la palabra \u00abqueen\u00bb no est\u00e1 muy representada en nuestra serie de datos, lo que explica la escasa representaci\u00f3n. Por esta raz\u00f3n, nos <strong>centraremos en la propiedad num\u00e9rica <\/strong>:<\/p>\n\n\n<p class=\"has-text-align-center\"><i><span>Men<\/span><\/i><span>\u00a0\u2212\u00a0\ud835\udc40\ud835\udc4e\ud835\udc5b\u00a0+\u00a0\ud835\udc4a\ud835\udc5c\ud835\udc5a\ud835\udc4e\ud835\udc5b\u00a0=\u00a0Women<\/span><\/p>\n\n\n<p>Utilizando la operaci\u00f3n definida anteriormente y una m\u00e9trica de similitud coseno, <strong>las 5 palabras m\u00e1s cercanas son :<\/strong><\/p>\n\n\n<pre class=\"wp-block-code\"><code>women\u00a0 --\u00a0 0.2889893054962158<\/code><\/pre>\n\n\n<pre class=\"wp-block-code\"><code>females\u00a0 --\u00a0 0.272260844707489<\/code><\/pre>\n\n\n<pre class=\"wp-block-code\"><code>strangers\u00a0 --\u00a0 0.24558939039707184<\/code><\/pre>\n\n\n<pre class=\"wp-block-code\"><code>teens\u00a0 --\u00a0 0.2443128377199173<\/code><\/pre>\n\n\n<pre class=\"wp-block-code\"><code>daughters\u00a0 --\u00a0 0.24117740988731384<\/code><\/pre>\n\n\n<p>El resultado para Zombies \u2212 Zombie + ????? :<\/p>\n\n\n<pre class=\"wp-block-code\"><code>women\u00a0 --\u00a0 0.2547883093357086<\/code><\/pre>\n\n\n<pre class=\"wp-block-code\"><code>females\u00a0 --\u00a0 0.23258551955223083<\/code><\/pre>\n\n\n<pre class=\"wp-block-code\"><code>ladies\u00a0 --\u00a0 0.22764989733695984<\/code><\/pre>\n\n\n<pre class=\"wp-block-code\"><code>stripper\u00a0 --\u00a0 0.22274985909461975<\/code><\/pre>\n\n\n<pre class=\"wp-block-code\"><code>develops\u00a0 --\u00a0 0.2202150821685791<\/code><\/pre>\n\n\n<p>El resultado para Men \u2212 Man + Soldier :<\/p>\n\n\n<pre class=\"wp-block-code\"><code>soldiers\u00a0 --\u00a0 0.3547001779079437<\/code><\/pre>\n\n\n<pre class=\"wp-block-code\"><code>daughters\u00a0 --\u00a0 0.21896378695964813<\/code><\/pre>\n\n\n<pre class=\"wp-block-code\"><code>letters\u00a0 --\u00a0 0.21452251076698303<\/code><\/pre>\n\n\n<pre class=\"wp-block-code\"><code>backyard\u00a0 --\u00a0 0.21437858045101166<\/code><\/pre>\n\n\n<pre class=\"wp-block-code\"><code>veterans\u00a0 --\u00a0 0.21067838370800018<\/code><\/pre>\n\n\n<p>El resultado para Zombies \u2212 Zombie + monster :<\/p>\n\n\n<pre class=\"wp-block-code\"><code>werewolves\u00a0 --\u00a0 0.2724993824958801<\/code><\/pre>\n\n\n<pre class=\"wp-block-code\"><code>monsters\u00a0 --\u00a0 0.25695472955703735<\/code><\/pre>\n\n\n<pre class=\"wp-block-code\"><code>creature\u00a0 --\u00a0 0.24453674256801605<\/code><\/pre>\n\n\n<pre class=\"wp-block-code\"><code>dragons\u00a0 --\u00a0 0.22363890707492828<\/code><\/pre>\n\n\n<pre class=\"wp-block-code\"><code>bloke\u00a0 --\u00a0 0.21858260035514832<\/code><\/pre>\n\n\n<p>Aqu\u00ed la palabra \u00abmonsters\u00bb y \u00abwerewolves\u00bb parecen estar muy cerca en el contexto de nuestra serie de datos.<\/p>\n\n\n<p>Utilizando un ACP, podemos encontrar la dimensi\u00f3n de la <strong>propiedad num\u00e9rica <\/strong>:<\/p>\n\n\n<figure class=\"aligncenter is-resized size-full wp-block-image\" style=\"width:717px;max-width:100%;margin-top:32px;margin-right:auto;margin-bottom:32px;margin-left:auto\"><img alt=\"propri\u00e9t\u00e9 de nombre\" decoding=\"async\" height=\"683\" loading=\"lazy\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/7\/2020\/09\/image_word2vec.png\" style=\"width:100%;max-width:520px;height:auto\" width=\"717\"\/><\/figure>\n\n\n<p>Utilizando el mismo razonamiento para <strong>captar el g\u00e9nero <\/strong>:<\/p>\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\" style=\"width:512px;max-width:100%;margin-top:32px;margin-right:auto;margin-bottom:32px;margin-left:auto\"><img alt=\"word2vec\" decoding=\"async\" height=\"488\" loading=\"lazy\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/7\/2020\/09\/word2vec_3.png\" style=\"width:100%;max-width:512px;height:auto\" width=\"512\"\/><\/figure>\n\n\n<p>Utilizando el mismo razonamiento entre los <strong>verbos en infinitivo y los verbos terminados en -ed <\/strong>:<\/p>\n\n\n<p><strong>\u201cWord2vec embedding\u201d captura eficazmente las propiedades sem\u00e1nticas y aritm\u00e9ticas de una palabra. <\/strong>Tambi\u00e9n permite<strong> reducir el tama\u00f1o del problema y, por tanto, la tarea de aprendizaje.<\/strong><\/p>\n\n\n<p>Podemos imaginarnos el uso del algoritmo word2vec <strong>para preentrenar la matriz de embedding del modelo de clasificaci\u00f3n.<\/strong> Como resultado, nuestro modelo de clasificaci\u00f3n tendr\u00e1 una representaci\u00f3n mucho mejor de las palabras en la fase de aprendizaje de los sentimientos.<\/p>\n\n\n<p>\u00bf<a href=\"https:\/\/liora.io\/en\/courses\/data-ai\/deep-learning\/natural-language-processing\">Te gustar\u00eda acceder a un curso<\/a> m\u00e1s detallado sobre los diferentes puntos tratados en este art\u00edculo?\u00a0\u00a0<\/p>\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\" style=\"width:512px;max-width:100%;margin-top:32px;margin-right:auto;margin-bottom:32px;margin-left:auto\"><img alt=\"word2vec\" decoding=\"async\" height=\"489\" loading=\"lazy\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/7\/2020\/09\/word2vec_2.png\" style=\"width:100%;max-width:512px;height:auto\" width=\"512\"\/><\/figure>\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex is-content-justification-center wp-container-core-buttons-is-layout-5ee10de4\" style=\"margin-top:32px;margin-bottom:32px\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/liora.io\/en\/courses\/data-ai\/deep-learning\">\u00a1Descubre todos nuestros m\u00f3dulos!<\/a><\/div>\n<\/div>\n\n\n<script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"FAQPage\",\n  \"mainEntity\": [\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Word Embedding\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Word Embedding captura contexto, similitud sem\u00e1ntica y sint\u00e1ctica (g\u00e9nero, sin\u00f3nimos) reduciendo la dimensi\u00f3n. Palabras similares como 'notable' y 'admirable' se representan con vectores cercanos. El m\u00e9todo habitual multiplica una matriz de embedding W por la representaci\u00f3n 'one hot' de la palabra.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Embedding con la ayuda de Word2vec\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Word2vec entrena la matriz W de forma no supervisada con texto. Dos variantes con red neuronal de 3 capas: CBOW (contexto \u2192 predice palabra objetivo) y Skip-gram (palabra objetivo \u2192 predice contexto). El resultado de la capa oculta es la nueva representaci\u00f3n de la palabra.\"\n      }\n    }\n  ]\n}\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>El Word Embedding designa un conjunto de m\u00e9todos de aprendizaje que pretende representar las palabras de un texto mediante vectores de n\u00fameros reales. Hoy vamos a presentarte la 3.\u00aa parte de nuestro dosier NLP. Esta secci\u00f3n pretende explicar c\u00f3mo funciona el famoso algoritmo Word2vec en Python y su implementaci\u00f3n. Word Embedding Como recordatorio, el Word [&hellip;]<\/p>\n","protected":false},"author":82,"featured_media":183748,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"editor_notices":[],"footnotes":""},"categories":[2440],"class_list":["post-159494","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-data-ia"],"acf":[],"_links":{"self":[{"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/posts\/159494","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/users\/82"}],"replies":[{"embeddable":true,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/comments?post=159494"}],"version-history":[{"count":5,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/posts\/159494\/revisions"}],"predecessor-version":[{"id":185453,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/posts\/159494\/revisions\/185453"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/media\/183748"}],"wp:attachment":[{"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/media?parent=159494"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/categories?post=159494"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}