{"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-02-25T13:42:38","modified_gmt":"2026-02-25T12:42:38","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\n<p>Esta secci\u00f3n pretende explicar c\u00f3mo funciona el famoso <b>algoritmo Word2vec<\/b> <b>en Python<\/b> y su implementaci\u00f3n.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-word-embedding\">Word Embedding<\/h2>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Como recordatorio, el <a href=\"https:\/\/liora.io\/es\/word-embedding-es\">Word Embedding<\/a> 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.<\/p>\n<\/blockquote>\n\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\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\n<p>En forma vectorial :<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/7\/2020\/09\/Capture-de\u0301cran-2020-09-18-a\u0300-09.23.58.png\" alt=\"Word2vec\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image aligncenter is-resized\"><a href=\"https:\/\/medium.com\/datadriveninvestor\/deep-learning-autoencoders-db265359943e\"><img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/7\/2020\/09\/Sche\u0301ma-1-287x300.png\" alt=\"auto encodeur\" style=\"width:auto;height:500px\" \/><\/a><figcaption class=\"wp-element-caption\">Autocodificador<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-embedding-con-la-ayuda-de-word2vec\">Embedding con la ayuda de Word2vec<\/h2>\n\n\n\n<p>Sin embargo, para evitar las limitaciones del primer m\u00e9todo, es posible entrenar la matriz W <b>de forma no supervisada<\/b> <b>solo con texto<\/b> utilizando el famoso <b>algoritmo Word2Vec<\/b>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-como-funciona-word2vec\">\u00bfC\u00f3mo funciona word2vec?<\/h3>\n\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\n<p>En la siguiente imagen, la <b>palabra del recuadro azul se llama palabra objetivo y las palabras de los recuadros blancos se llaman palabras de contexto<\/b> en una <b>ventana de tama\u00f1o 5.<\/b><\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\" style=\"margin-top:var(--wp--preset--spacing--columns);margin-bottom:var(--wp--preset--spacing--columns)\"><img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/7\/2020\/09\/Capture-de\u0301cran-2020-09-18-a\u0300-09.27.50.png\" alt=\"Embedding \u00e0 l\u2019aide du Word2vec\" \/><\/figure>\n\n\n\n<p><b>CBOW : El modelo se alimenta del contexto<\/b> 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<p><b>Skip Gram: El modelo se alimenta de la palabra objetivo<\/b> 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\n<figure class=\"wp-block-image aligncenter\" style=\"margin-top:var(--wp--preset--spacing--columns);margin-bottom:var(--wp--preset--spacing--columns)\"><img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/7\/2020\/09\/word-2-vec-illu.png\" alt=\"word2vec\" style=\"object-fit:cover\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-formateo-de-los-datos\">Formateo de los datos :<\/h3>\n\n\n\n<p>Aqu\u00ed <b>presentaremos el modelo CBOW<\/b>, es decir, el <b>contexto es la entrada<\/b> de nuestro modelo y <b>la palabra objetivo (palabra azul) es la salida<\/b>. Definimos una ventana de longitud 5 para el contexto (entrada).<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/7\/2020\/09\/Capture-de\u0301cran-2020-09-18-a\u0300-09.27.50.png\" alt=\"Embedding \u00e0 l\u2019aide du Word2vec\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image aligncenter\" style=\"margin-top:var(--wp--preset--spacing--columns);margin-bottom:var(--wp--preset--spacing--columns)\"><img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/7\/2020\/09\/Sche\u0301ma-2-1024x270.png\" alt=\"\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-modelo\">Modelo :<\/h3>\n\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\n<figure class=\"wp-block-image aligncenter is-resized\" style=\"margin-top:var(--wp--preset--spacing--columns);margin-bottom:var(--wp--preset--spacing--columns)\"><img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/7\/2020\/09\/Sche\u0301ma-3-1024x954.png\" alt=\"cbow\" style=\"width:auto;height:500px\" \/><figcaption class=\"wp-element-caption\">Arquitectura CBOW<\/figcaption><\/figure>\n\n\n\n<ol class=\"wp-block-list\">\n<li>La capa Embedding <b>transformar\u00e1 cada palabra del contexto en un vector de embedding<\/b>. 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\n\n\n<li>A continuaci\u00f3n, la capa GlobalAveragePooling1D permite <b>sumar los diferentes embbeding<\/b> y obtener una dimensi\u00f3n de salida (batch_size, embedding).<\/li>\n\n\n\n<li>Por \u00faltimo, la capa densa de tama\u00f1o \u00abvoc_size\u00bb <b>permite predecir la palabra objetivo<\/b>.<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code has-xsmall-font-size\" style=\"margin-top:var(--wp--preset--spacing--columns);margin-bottom:var(--wp--preset--spacing--columns)\"><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\n<p>La funci\u00f3n de p\u00e9rdida cross-entropy se suele utilizar para entrenar al modelo :<\/p>\n\n\n\n<pre class=\"wp-block-code has-xsmall-font-size\" style=\"margin-top:var(--wp--preset--spacing--columns);margin-bottom:var(--wp--preset--spacing--columns)\"><code>model.compile(optimizer='adam',\n              loss='sparse_categorical_crossentropy',\n              metrics=&#091;'accuracy'])\n\nhistory = model.fit(X, y,\n    batch_size = 256,\n    epochs=10)<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-metrica-en-este-espacio\">M\u00e9trica en este espacio :<\/h2>\n\n\n\n<p>Ahora que el modelo est\u00e1 entrenado, puede ser interesante comparar la distancia entre las palabras.<\/p>\n\n\n\n<p><b>La \u201cCosine similarity\u201d <\/b>se utiliza por lo general como m\u00e9trica para <b>medir la distancia cuando la norma de los vectores no tiene importancia.<\/b> Esta m\u00e9trica capta la similitud entre dos palabras.<\/p>\n\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\n<figure class=\"wp-block-image aligncenter size-large\" style=\"margin-top:var(--wp--preset--spacing--columns);margin-bottom:var(--wp--preset--spacing--columns)\"><img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2022\/11\/image4.png\" alt=\"\" \/><\/figure>\n\n\n\n<p>Con esta m\u00e9trica y en este subespacio vectorial, las 5 palabras <b>m\u00e1s cercanas a \u00abbody\u00bb<\/b> son :<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">intestines&nbsp; --&nbsp; 0.30548161268234253<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">bodies&nbsp; --&nbsp; 0.2691531181335449<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">arm&nbsp; --&nbsp; 0.24878980219364166<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">chest&nbsp; --&nbsp; 0.2261650413274765<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">leg&nbsp; --&nbsp; 0.2193179428577423<\/pre>\n\n\n\n<div style=\"height:1px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\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\n<p>Para la palabra \u00ab <b>zombie<\/b> \u00bb :<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">slasher&nbsp; --&nbsp; 0.3172745406627655<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">cannibal&nbsp; --&nbsp; 0.28496912121772766<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">zombies&nbsp; --&nbsp; 0.2767203450202942<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">horror&nbsp; --&nbsp; 0.2607246935367584<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">zombi&nbsp; --&nbsp; 0.25878411531448364<\/pre>\n\n\n\n<div style=\"height:1px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Para la palabra \u00ab <b>amazing <\/b>\u00bb :<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">brilliant&nbsp; --&nbsp; 0.3372475802898407<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">extraordinary&nbsp; --&nbsp; 0.319326251745224<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">great&nbsp; --&nbsp; 0.29579296708106995<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">breathtaking&nbsp; --&nbsp; 0.2907085716724396<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">fantastic&nbsp; --&nbsp; 0.2871546149253845<\/pre>\n\n\n\n<div style=\"height:1px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Para la palabra \u00ab<b> god<\/b> \u00bb :<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">heavens&nbsp; --&nbsp; 0.268303781747818<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">jesus&nbsp; --&nbsp; 0.26807624101638794<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">goodness&nbsp; --&nbsp; 0.2618488669395447<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">gods&nbsp; --&nbsp; 0.24795521795749664<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">doom&nbsp; --&nbsp; 0.22242328524589539<\/pre>\n\n\n\n<div style=\"height:1px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><b>Propiedades aritm\u00e9ticas :<\/b><\/p>\n\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\n<p class=\"has-text-align-center\"><span style=\"font-weight: 400\">\ud835\udc3e\ud835\udc56\ud835\udc5b\ud835\udc54&nbsp;\u2212&nbsp;\ud835\udc40\ud835\udc4e\ud835\udc5b&nbsp;+&nbsp;\ud835\udc4a\ud835\udc5c\ud835\udc5a\ud835\udc4e\ud835\udc5b&nbsp;=&nbsp;<\/span><span style=\"font-size: 16px;font-weight: 400\">\ud835\udc44\ud835\udc62\ud835\udc52\ud835\udc52\ud835\udc5b<\/span><\/p>\n\n\n\n<p>En este ejemplo la <b>propiedad aritm\u00e9tica es la realeza<\/b>. 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\n<p class=\"has-text-align-center\">arithmetic_vector = word2vec[index_word1] &#8211; word2vec[index_word2] + word2vec [index_word3]<\/p>\n\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 <b>centraremos en la propiedad num\u00e9rica <\/b>:<\/p>\n\n\n\n<p class=\"has-text-align-center\"><i><span style=\"font-weight: 400\">Men<\/span><\/i><span style=\"font-weight: 400\">&nbsp;\u2212&nbsp;\ud835\udc40\ud835\udc4e\ud835\udc5b&nbsp;+&nbsp;\ud835\udc4a\ud835\udc5c\ud835\udc5a\ud835\udc4e\ud835\udc5b&nbsp;=&nbsp;Women<\/span><\/p>\n\n\n\n<p>Utilizando la operaci\u00f3n definida anteriormente y una m\u00e9trica de similitud coseno, <b>las 5 palabras m\u00e1s cercanas son :<\/b><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">women&nbsp; --&nbsp; 0.2889893054962158<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">females&nbsp; --&nbsp; 0.272260844707489<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">strangers&nbsp; --&nbsp; 0.24558939039707184<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">teens&nbsp; --&nbsp; 0.2443128377199173<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">daughters&nbsp; --&nbsp; 0.24117740988731384<\/pre>\n\n\n\n<div style=\"height:1px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>El resultado para Zombies \u2212 Zombie + ????? :<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">women&nbsp; --&nbsp; 0.2547883093357086<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">females&nbsp; --&nbsp; 0.23258551955223083<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">ladies&nbsp; --&nbsp; 0.22764989733695984<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">stripper&nbsp; --&nbsp; 0.22274985909461975<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">develops&nbsp; --&nbsp; 0.2202150821685791<\/pre>\n\n\n\n<div style=\"height:1px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>El resultado para Men \u2212 Man + Soldier :<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">soldiers&nbsp; --&nbsp; 0.3547001779079437<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">daughters&nbsp; --&nbsp; 0.21896378695964813<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">letters&nbsp; --&nbsp; 0.21452251076698303<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">backyard&nbsp; --&nbsp; 0.21437858045101166<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">veterans&nbsp; --&nbsp; 0.21067838370800018<\/pre>\n\n\n\n<div style=\"height:1px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>El resultado para Zombies \u2212 Zombie + monster :<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">werewolves&nbsp; --&nbsp; 0.2724993824958801<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">monsters&nbsp; --&nbsp; 0.25695472955703735<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">creature&nbsp; --&nbsp; 0.24453674256801605<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">dragons&nbsp; --&nbsp; 0.22363890707492828<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">bloke&nbsp; --&nbsp; 0.21858260035514832<\/pre>\n\n\n\n<div style=\"height:1px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\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\n<p>Utilizando un ACP, podemos encontrar la dimensi\u00f3n de la <b>propiedad num\u00e9rica <\/b>:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter is-resized is-style-not-rounded\" style=\"margin-top:var(--wp--preset--spacing--columns);margin-bottom:var(--wp--preset--spacing--columns)\"><img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/7\/2020\/09\/image_word2vec.png\" alt=\"propri\u00e9t\u00e9 de nombre\" style=\"width:auto;height:500px\" \/><\/figure>\n\n\n\n<p>Utilizando el mismo razonamiento para <b>captar el g\u00e9nero <\/b>:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter is-style-not-rounded\" style=\"margin-top:var(--wp--preset--spacing--columns);margin-bottom:var(--wp--preset--spacing--columns)\"><img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/7\/2020\/09\/word2vec_3.png\" alt=\"word2vec\" \/><\/figure>\n\n\n\n<p>Utilizando el mismo razonamiento entre los <b>verbos en infinitivo y los verbos terminados en -ed <\/b>:<\/p>\n\n\n\n<p><b>\u201cWord2vec embedding\u201d captura eficazmente las propiedades sem\u00e1nticas y aritm\u00e9ticas de una palabra. <\/b>Tambi\u00e9n permite<b> reducir el tama\u00f1o del problema y, por tanto, la tarea de aprendizaje.<\/b><\/p>\n\n\n\n<p>Podemos imaginarnos el uso del algoritmo word2vec <b>para preentrenar la matriz de embedding del modelo de clasificaci\u00f3n.<\/b> 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\n<p>\u00bf<a href=\"https:\/\/liora.io\/es\/nuestros-cursos-de-data\">Te gustar\u00eda acceder a un curso<\/a> m\u00e1s detallado sobre los diferentes puntos tratados en este art\u00edculo?&nbsp;&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter is-style-not-rounded\"><img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/7\/2020\/09\/word2vec_2.png\" alt=\"word2vec\" \/><\/figure>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex is-content-justification-center\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/liora.io\/es\/nuestros-cursos-de-data\">\u00a1Descubre todos nuestros m\u00f3dulos!<\/a><\/div>\n<\/div>\n\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":184207,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/posts\/159494\/revisions\/184207"}],"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}]}}