{"id":1473,"date":"2025-11-19T09:05:50","date_gmt":"2025-11-19T08:05:50","guid":{"rendered":"https:\/\/germanmallo.com\/?p=1473"},"modified":"2026-10-05T08:15:41","modified_gmt":"2026-10-05T06:15:41","slug":"la-magia-de-los-embeddings","status":"publish","type":"post","link":"https:\/\/germanmallo.com\/en\/la-magia-de-los-embeddings\/","title":{"rendered":"La magia de los embeddings: c\u00f3mo podemos relacionar sem\u00e1nticamente palabras a trav\u00e9s del mundo num\u00e9rico"},"content":{"rendered":"<p>Vivimos rodeados de contenido escrito: palabras, p\u00e1rrafos, conversaciones. Pero\u2026 \u00bfc\u00f3mo hace una m\u00e1quina para \u00abentender\u00bb que \u201crey\u201d y \u201creina\u201d est\u00e1n relacionados, o que \u201cchico\u201d-\u201cchica\u201d tienen una relaci\u00f3n de g\u00e9nero y semejanza? La respuesta pasa por un concepto m\u00e1gico (o al menos muy ingenioso) llamado <strong>embeddings<\/strong>.<br \/>\nEn este art\u00edculo vamos a explicarlo de forma asequible, sin necesidad de que seas un experto en IA o procesamiento de lenguaje natural.<\/p>\n<p><!--more--><\/p>\n<h2 id=\"-qu-es-un-embedding-\">\u00bfQu\u00e9 es un embedding?<\/h2>\n<p>Un <em>embedding<\/em> es, dicho de forma sencilla, una <strong>representaci\u00f3n num\u00e9rica<\/strong> de una palabra (o frase, o incluso imagen) en un espacio de n\u00fameros (vectores) de forma que la cercan\u00eda en ese espacio refleje cercan\u00eda en significado. (<a title=\"What is Embedding? | IBM\" href=\"https:\/\/www.ibm.com\/think\/topics\/embedding?utm_source=chatgpt.com\">IBM<\/a>)<br \/>\nImagina que cada palabra es llevada a un cohete que la deposita en un universo de n\u00fameros, y que las palabras que \u201csignifican cosas parecidas\u201d aterrizan relativamente cerca unas de otras.<\/p>\n<h3 id=\"-por-qu-convertir-palabras-en-n-meros-\">\u00bfPor qu\u00e9 \u201cconvertir palabras en n\u00fameros\u201d?<\/h3>\n<p>Porque los algoritmos de m\u00e1quina trabajan con n\u00fameros. Las m\u00e1quinas no \u201cven\u201d directamente los significados como lo hacemos nosotros; ven vectores, matrices, operaciones. Si podemos representar palabras por vectores num\u00e9ricos que codifican su significado o uso, entonces podemos usar operaciones matem\u00e1ticas para encontrar similitudes, relaciones, analog\u00edas\u2026 (<a title=\"Embeddings in natural language processing (NLP) ...\" href=\"https:\/\/milvus.io\/ai-quick-reference\/what-is-the-purpose-of-embeddings-in-natural-language-processing-nlp?utm_source=chatgpt.com\">milvus.io<\/a>)<br \/>\nEn resumen: palabras \u2192 vectores \u2192 operaciones matem\u00e1ticas \u2192 descubrimos relaciones.<\/p>\n<h2 id=\"-c-mo-funcionan-de-forma-ligera-\">\u00bfC\u00f3mo funcionan, de forma ligera?<\/h2>\n<p>Aqu\u00ed va un esquema sin profundizar en f\u00f3rmulas:<\/p>\n<ul>\n<li>Se toma un gran corpus de texto (muchos libros, art\u00edculos, webs)<\/li>\n<li>El modelo observa <strong>contextos<\/strong>: qu\u00e9 palabras aparecen cerca de otras, en qu\u00e9 oraciones, etc.<\/li>\n<li>A partir de eso, aprende a asignar a cada palabra un vector (por ejemplo, 100-dimensiones, 300-dimensiones\u2026) de n\u00fameros reales. (<a title=\"Word Embeddings in NLP\" href=\"https:\/\/www.geeksforgeeks.org\/nlp\/word-embeddings-in-nlp\/?utm_source=chatgpt.com\">GeeksforGeeks<\/a>)<\/li>\n<li>Esos vectores est\u00e1n organizados de tal forma que palabras usadas en contextos similares acaban \u201ccerca\u201d unas de otras en ese espacio vectorial.<\/li>\n<li>Y lo m\u00e1s sorprendente: tambi\u00e9n se pueden hacer operaciones como \u201crey\u201d &#8211; \u201chombre\u201d + \u201cmujer\u201d \u2248 \u201creina\u201d. Esto demuestra que la geometr\u00eda del espacio num\u00e9rico captura relaciones sem\u00e1nticas. (<a title=\"Embeddings in natural language processing (NLP) ...\" href=\"https:\/\/milvus.io\/ai-quick-reference\/what-is-the-purpose-of-embeddings-in-natural-language-processing-nlp?utm_source=chatgpt.com\">milvus.io<\/a>)<\/li>\n<\/ul>\n<h2 id=\"ejemplo-chico-chica-y-rey-reina\">Ejemplo: chico-chica y rey-reina<\/h2>\n<p>Para ponerlo en un ejemplo claro:<\/p>\n<ul>\n<li>Sup\u00f3n que el vector de <em>chico<\/em> es \u2192 v_chico.<\/li>\n<li>El vector de <em>chica<\/em> es \u2192 v_chica.<\/li>\n<li>Sup\u00f3n que el vector de <em>rey<\/em> es \u2192 v_rey.<\/li>\n<li>El vector de <em>reina<\/em> es \u2192 v_reina.<\/li>\n<\/ul>\n<p>Entonces, en muchos modelos de embeddings sucede algo como:<\/p>\n<pre><code>v_chico \u2192 v_chica \u2248 <span class=\"hljs-keyword\">la<\/span> misma \u201cdistancia\u201d o \u201ccambio\u201d <span class=\"hljs-keyword\">que<\/span> v_rey \u2192 v_reina\n<\/code><\/pre>\n<p>Es decir: \u201cchico a chica\u201d es simb\u00f3licamente parecido a \u201crey a reina\u201d.<br \/>\nSi haces:<\/p>\n<pre><code><span class=\"hljs-attribute\">v_rey<\/span> - v_chico + v_chica \u2248 v_reina\n<\/code><\/pre>\n<p>obtienes que el vector resultante se encuentra muy cerca de v_reina. Esto demuestra que el modelo ha capturado que \u201chombre \u2192 mujer\u201d es equivalente a \u201crey \u2192 reina\u201d.<\/p>\n<p><img fetchpriority=\"high\" decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/germanmallo.com\/wp-content\/uploads\/2025\/11\/diagram-20190710.png\" alt=\"King - man + woman = queen: the hidden algebraic structure of words | School of Informatics | School of Informatics\" width=\"671\" height=\"226\" \/><br \/>\nEste tipo de analog\u00edas matem\u00e1ticas son una de las \u201cmagias\u201d de los embeddings. (<a title=\"Embeddings in natural language processing (NLP) ...\" href=\"https:\/\/milvus.io\/ai-quick-reference\/what-is-the-purpose-of-embeddings-in-natural-language-processing-nlp?utm_source=chatgpt.com\">milvus.io<\/a>)<\/p>\n<h2 id=\"-por-qu-es-tan-til-\">\u00bfPor qu\u00e9 es tan \u00fatil?<\/h2>\n<p>Porque gracias a los embeddings podemos:<\/p>\n<ul>\n<li>Medir <strong>similitud<\/strong> entre palabras: ver qu\u00e9 tan cerca est\u00e1n dos vectores para saber qu\u00e9 tan relacionados est\u00e1n los conceptos.<\/li>\n<li>Clustering y agrupaci\u00f3n de palabras o documentos por significado.<\/li>\n<li>Encontrar <strong>analog\u00edas<\/strong>, como en el ejemplo anterior.<\/li>\n<li>Usarlo en tareas de b\u00fasqueda, recomendaci\u00f3n, procesamiento de lenguaje, traducci\u00f3n autom\u00e1tica\u2026 Embeddings son la base de muchos sistemas modernos de IA ling\u00fc\u00edstica. (<a title=\"Word embeddings in NLP: A Complete Guide\" href=\"https:\/\/www.turing.com\/kb\/guide-on-word-embeddings-in-nlp?utm_source=chatgpt.com\">turing.com<\/a>)<\/li>\n<\/ul>\n<h2 id=\"met-fora-para-entenderlo\">Met\u00e1fora para entenderlo<\/h2>\n<p>Piensa en un mapa de ciudades. Cada ciudad es una palabra. En un mapa normal, las ciudades que est\u00e1n geogr\u00e1ficamente pr\u00f3ximas tienen cosas en com\u00fan (clima, cultura, etc.). En el \u201cmapa de significado\u201d de los embeddings, las \u201cciudades\u2010palabras\u201d que est\u00e1n pr\u00f3ximas tienen significados o usos similares.<br \/>\nY lo mejor: podemos hacer \u201cviajes\u201d en ese mapa (sumas y restas de vectores) para pasar de un concepto a otro.<\/p>\n<h2 id=\"cuestiones-adicionales-a-tener-en-cuenta\">Cuestiones adicionales a tener en cuenta<\/h2>\n<ul>\n<li>No todos los embeddings son iguales: los hay \u201cest\u00e1ticos\u201d (cada palabra siempre tiene el mismo vector) y \u201ccontextuales\u201d (el vector depende del contexto en que aparece la palabra). (<a title=\"Word embedding\" href=\"https:\/\/en.wikipedia.org\/wiki\/Word_embedding?utm_source=chatgpt.com\">Wikipedia<\/a>)<\/li>\n<li>Los embeddings pueden capturar <strong>sesgos<\/strong> del texto de entrenamiento (por ejemplo de g\u00e9nero, raza, etc). Es importante tenerlo presente. (<a title=\"Word embedding\" href=\"https:\/\/en.wikipedia.org\/wiki\/Word_embedding?utm_source=chatgpt.com\">Wikipedia<\/a>)<\/li>\n<li>Aunque la representaci\u00f3n num\u00e9rica es potente, <strong>no reemplaza<\/strong> la lectura humana, los matices, el contexto cultural\u2026 Es una herramienta.<\/li>\n<\/ul>\n<h2 id=\"-qu-puedes-llevarte-\">\u00bfQu\u00e9 puedes llevarte?<\/h2>\n<p>Si algo te llevas de este art\u00edculo, que sea lo siguiente:<\/p>\n<ol>\n<li>Un embedding es una representaci\u00f3n en n\u00fameros de un concepto ling\u00fc\u00edstico (palabra, frase) de forma que cercan\u00eda = semejanza.<\/li>\n<li>Esta representaci\u00f3n permite operaciones matem\u00e1ticas que descubren relaciones entre palabras (como chico-chica, rey-reina).<\/li>\n<li>Gracias a esto, los sistemas de lenguaje pueden \u201centender\u201d mejor el significado, no solo las palabras en bruto.<\/li>\n<li>Es una tecnolog\u00eda central en el mundo de la IA y del procesamiento de lenguaje natural, con muchas aplicaciones pr\u00e1cticas.<\/li>\n<\/ol>\n<h2 id=\"conclusi-n\">Conclusi\u00f3n<\/h2>\n<p>La magia de los embeddings reside en traducir el significado a n\u00fameros y luego jugar con esos n\u00fameros para descubrir relaciones que, de forma impl\u00edcita, ya existen en el lenguaje. Desde la analog\u00eda \u201cchico \u2192 chica\u201d hasta \u201crey \u2192 reina\u201d, estamos ante estructuras que un d\u00eda parec\u00edan exclusivamente humanas y que ahora podemos capturar con vectores.<br \/>\nEn el blog seguiremos explorando c\u00f3mo estos conceptos aparentemente t\u00e9cnicos se abren camino en proyectos reales, y c\u00f3mo t\u00fa tambi\u00e9n puedes aprovecharlos \u2014 aunque no seas experto en IA.<\/p>","protected":false},"excerpt":{"rendered":"<p>Vivimos rodeados de contenido escrito: palabras, p\u00e1rrafos, conversaciones. Pero\u2026 \u00bfc\u00f3mo hace una m\u00e1quina para \u00abentender\u00bb que \u201crey\u201d y \u201creina\u201d est\u00e1n relacionados, o que \u201cchico\u201d-\u201cchica\u201d tienen una relaci\u00f3n de g\u00e9nero y semejanza? La respuesta pasa por un concepto m\u00e1gico (o al menos muy ingenioso) llamado embeddings. En este art\u00edculo vamos a explicarlo de forma asequible, sin [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":1476,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[76],"tags":[242,240,127],"class_list":["post-1473","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ia","tag-embeddings","tag-procesamiento-del-lenguaje-natural","tag-rag"],"acf":[],"_links":{"self":[{"href":"https:\/\/germanmallo.com\/en\/wp-json\/wp\/v2\/posts\/1473","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/germanmallo.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/germanmallo.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/germanmallo.com\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/germanmallo.com\/en\/wp-json\/wp\/v2\/comments?post=1473"}],"version-history":[{"count":1,"href":"https:\/\/germanmallo.com\/en\/wp-json\/wp\/v2\/posts\/1473\/revisions"}],"predecessor-version":[{"id":4408,"href":"https:\/\/germanmallo.com\/en\/wp-json\/wp\/v2\/posts\/1473\/revisions\/4408"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/germanmallo.com\/en\/wp-json\/wp\/v2\/media\/1476"}],"wp:attachment":[{"href":"https:\/\/germanmallo.com\/en\/wp-json\/wp\/v2\/media?parent=1473"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/germanmallo.com\/en\/wp-json\/wp\/v2\/categories?post=1473"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/germanmallo.com\/en\/wp-json\/wp\/v2\/tags?post=1473"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}