Es posible que nuestra capacidad de sorpresa ante las nuevas herramientas de inteligencia artificial (IA) generativa esté empezando a mermar. El mejor ejemplo es GPT-o1, un nuevo modelo de lenguaje con la máxima habilidad de razonamiento lograda hasta ahora, capaz de verbalizar -algo similar a- sus propios procesos lógicos, pero que no despertó en su lanzamiento tanto entusiasmo como cabría esperar. A diferencia de los dos años anteriores, en los últimos meses hemos tenido menos sensación de disrupción y reaccionamos de manera menos masiva ante las novedades.
Una reflexión posible es que no necesitamos, por ahora, más inteligencia en los modelos, sino ver con nuestros propios ojos un aterrizaje en usos concretos que nos faciliten la vida: ¿cómo utilizo la potencia de un modelo de lenguaje para consumir contenido más rápido, para aprender algo nuevo o para trasladar información de un formato a otro? Más allá de las grandes aplicaciones de propósito general, como ChatGPT o Copilot, existen herramientas gratuitas y menos conocidas que nos ayudan a pensar mejor, y nos ofrecen capacidades basadas en IA para descubrir, entender y compartir conocimiento.
Generar pódcasts a partir de un fichero: NotebookLM
Los pódcasts automáticos de NotebookLM llegaron por primera vez a España en el verano de 2024 y sí levantaron un revuelo significativo, a pesar de no estar ni siquiera disponibles en español. Siguiendo el estilo de Google, el sistema es sencillo: basta con subir un fichero en PDF como fuente para obtener diferentes variaciones del contenido proporcionadas por Gemini 2.0 (el sistema de IA de Google), como un resumen del documento, una guía de estudio, una cronología o un listado de preguntas frecuentes. En este caso, hemos utilizado para el ejemplo un informe sobre inteligencia artificial y democracia publicado por la UNESCO en 2024.

Figura 1. Diferentes opciones de resumen en NotebookLM.
Si bien la guía de estudio es una salida interesante, que ofrece un sistema de preguntas y respuestas para memorizar y un glosario de términos, la estrella de NotebookLM es el llamado “resumen de audio”: un pódcast conversacional completamente natural entre dos interlocutores sintéticos que comentan de manera amena el contenido del PDF.

Figura 2. Resumen de audio en NotebookLM.
La calidad del contenido de este pódcast aún tiene margen de mejora, pero puede servirnos como un primer acercamiento al contenido del documento, o ayudarnos a interiorizarlo más fácilmente desde el audio mientras descansamos de las pantallas, hacemos ejercicio o nos desplazamos.
El truco: aparentemente, no se puede generar el pódcast en español, solo en inglés, pero puedes probar con este prompt: “Realiza un resumen de audio en español del documento”. Casi siempre funciona.
Crear visualizaciones a partir de un texto: Napkin AI
Napkin nos ofrece algo muy valioso: crear visualizaciones, infografías y mapas mentales a partir de un contenido en texto. En su versión gratuita, el sistema solo nos pide iniciar sesión con un correo electrónico. Una vez dentro, nos pregunta cómo queremos introducir el texto a partir del cual vamos a crear las visualizaciones. Podemos pegarlo o directamente generar con IA un texto automático sobre cualquier tema.

Figura 3. Puntos de partida en Napkin.ai.
En este caso, vamos a copiar y pegar un fragmento del informe de la UNESCO que recoge varias recomendaciones para la gobernanza democrática de la IA. A partir del texto que recibe, Napkin.ai nos ofrece ilustraciones y varios tipos de esquemas. Podemos encontrar desde propuestas más sencillas con texto organizado en llaves y cuadrantes hasta otras ilustradas con dibujos e iconos.

Figura 4. Propuesta de esquemas en Napkin.ai.
Aunque están muy lejos de la calidad de la infografía profesional, estas visualizaciones pueden servirnos a nivel personal y de aprendizaje, para ilustrar un post en redes, explicar conceptos internamente a nuestro equipo o enriquecer contenidos propios en el ámbito educativo.
El truco: si en cada propuesta de esquema haces clic en Styles, encontrarás más variaciones del esquema con colores y líneas diferentes. También puedes modificar los textos, simplemente haciendo clic en ellos una vez que seleccionas una visualización.
Presentaciones y diapositivas automáticas: Gamma
De todos los formatos de contenido que la IA es capaz de generar, las presentaciones con diapositivas es seguramente el menos logrado. En ocasiones los diseños no son demasiado elaborados, otras veces no conseguimos que la plantilla que queremos usar se respete, casi siempre los textos son demasiado simples. La particularidad de Gamma, y lo que la hace más práctica que otras opciones como Beautiful.ai, es que podemos crear una presentación directamente desde un contenido en texto que podemos pegar, generar con IA o subir en un archivo.

Figura 5. Puntos de partida para Gamma.
Si pegamos el mismo texto que en el ejemplo anterior, sobre las recomendaciones de la UNESCO para la gobernanza democrática de la IA, en el siguiente paso Gamma nos da a elegir entre “forma libre” o “tarjeta por tarjeta”. En la primera opción, la IA del sistema se encarga de organizar el contenido en diapositivas conservando el sentido completo de cada una. En la segunda, nos propone que dividamos el texto para indicar el contenido que queremos en cada diapositiva.

Figura 6. Texto dividido automáticamente en diapositivas por Gamma.
Seleccionamos la segunda opción, y el texto se divide automáticamente en diferentes bloques que serán nuestras diapositivas futuras. Pulsando en “Continuar”, nos pide que seleccionemos un tema de base. Por último, pulsando en “Generar”, se crea automáticamente la presentación completa.

Figura 7. Ejemplo de diapositiva creada con Gamma.
Gamma acompaña las diapositivas de imágenes creadas con IA que guardan cierta coherencia con el contenido, y nos da la opción de modificar los textos o de generar imágenes diferentes. Una vez lista, podemos exportarla directamente al formato Power Point.
Un truco: en el botón “editar con IA” de cada diapositiva podemos pedirle que la traduzca automáticamente a otro idioma, que corrija la ortografía o incluso que convierta el texto en una línea del tiempo.
Resumir desde cualquier formato: NoteGPT
El objetivo de NoteGPT es muy claro: resumir un contenido que podemos importar desde muchas fuentes diferentes. Podemos copiar y pegar un texto, subir un fichero o una imagen, o directamente extraer la información de un enlace, algo muy útil y no tan habitual en las herramientas de IA. Aunque esta última opción no siempre funciona bien, es una de las pocas herramientas que la ofrece.

Figura 8. Puntos de partida para NoteGPT.
En este caso, introducimos el enlace a un vídeo de YouTube que contiene una entrevista a Daniel Innerarity sobre la intersección entre la inteligencia artificial y los procesos democráticos. En la pantalla de resultados, lo primero que obtenemos a la izquierda es la transcripción completa de la entrevista, con buena calidad. Podemos localizar la transcripción de un fragmento concreto del vídeo, traducirla a distintos idiomas, copiarla o descargarla, incluso en un fichero SRT de subtítulos mapeados con los tiempos.

Figura 9. Ejemplo de transcripción con minutaje en NoteGPT.
Entre tanto, a la derecha encontramos el resumen del vídeo con los puntos más importantes, ordenados e ilustrados con emojis. También en el botón “AI Chat” podemos interactuar con un asistente conversacional y hacerle preguntas sobre el contenido.

Figura 10. Resumen de NoteGPT a partir de una entrevista en YouTube.
Y aunque esto ya es muy útil, lo mejor que podemos encontrar en NoteGPT son las flashcards, tarjetas de aprendizaje con preguntas y respuestas para interiorizar los conceptos del vídeo.


Figura 11. Tarjetas de aprendizaje de NoteGPT (pregunta y respuesta).
Un truco: si el resumen solo aparece en inglés, prueba a cambiar el idioma en los tres puntos de la derecha, junto a “Summarize” y haz clic de nuevo en “Summarize”. El resumen aparecerá en español más abajo. En el caso de las flashcards, para generarlas en español no lo intentes desde la página de inicio, hazlo desde “AI flashcards”. En “Create” podrás seleccionar el idioma.

Figura 12. Creación de flashcards en NoteGPT.
Crea vídeos sobre cualquier cosa: Lumen5
Lumen5 facilita la creación de vídeos con IA permitiendo crear el guion y las imágenes automáticamente a partir de contenido en texto o en voz. Lo más interesante de Lumen5 es el punto de partida, que puede ser un texto, un documento, simplemente una idea o también una grabación en audio o un vídeo ya existente.

Figura 13. Opciones de Lumen5.
El sistema nos permite, antes de crear el vídeo y también una vez creado, cambiar el formato de 16:9 (horizontal) a 1:1 (cuadrado) o a 9:16 (vertical), incluso con una opción en 9:16 especial para stories de Instagram.

Figura 14. Previsualización del vídeo y opciones de relación de aspecto.
En este caso, vamos a partir del mismo texto que en herramientas anteriores: las recomendaciones de la UNESCO para una gobernanza democrática de la IA. Seleccionando la opción de partida “Text on media”, lo pegamos directamente en el cajetín y hacemos clic en “Compose script”. El resultado es un guion muy sencillo y esquemático, dividido en bloques con los puntos básicos del texto, y una indicación muy interesante: una predicción sobre la duración del vídeo con ese guion, aproximadamente 1 minuto y 19 segundos.
Una nota importante: el guion no es una locución sonora, sino el texto que aparecerá escrito en las diferentes pantallas. Una vez terminado el vídeo, puedes traducirlo entero a cualquier otro idioma.

Figura 15. Propuesta de guion en Lumen5.
Si hacemos clic en “Continue” llegaremos a la última oportunidad para modificar el guion, donde podremos añadir bloques de texto nuevos o eliminar los existentes. Una vez listo, hacemos clic en “Convert to video” y encontraremos el story board listo para modificar imágenes, colores o el orden de las pantallas. El vídeo tendrá música de fondo, que también puedes cambiar, y en este punto podrás grabar tu voz por encima de la música para locutar el guion. Sin demasiado esfuerzo, este es el resultado final:
Figura 16. Resultado final de un vídeo creado con Lumen5.
Del amplio abanico de productos digitales basados en IA que ha florecido en los últimos años, quizá miles de ellos, hemos recorrido solo cinco ejemplos que nos demuestran que el conocimiento y el aprendizaje individual y colaborativo son más accesibles que nunca. La facilidad para convertir contenido de un formato a otro y la creación automática de guías y materiales de estudio debería promover una sociedad más informada y ágil, no solo a través del texto o la imagen sino también de la información condensada en ficheros o bases de datos.
Supondría un gran impulso para el progreso colectivo que entendiéramos que el valor de los sistemas basados en IA no es tan simple como escribir o crear contenido por nosotros, sino apoyar nuestros procesos de razonamiento, objetivar nuestra toma de decisiones y permitirnos manejar mucha más información de una manera eficiente y útil. Aprovechar las nuevas capacidades IA junto con iniciativas de datos abiertos puede ser clave en el siguiente paso de la evolución del pensamiento humano.
Contenido elaborado por Carmen Torrijos, experta en IA aplicada al lenguaje y la comunicación. Los contenidos y los puntos de vista reflejados en esta publicación son responsabilidad exclusiva de su autor.
El diseño de API web es una disciplina fundamental para el desarrollo de aplicaciones y servicios, al facilitar el intercambio fluido de datos entre diferentes sistemas. En el contexto de las plataformas de datos abiertos, las API cobran especial importancia, ya que permiten a los usuarios acceder de manera automática y eficiente a la información necesaria, ahorrando costes y recursos.
Este artículo explora los principios esenciales que deben guiar la creación de API web eficaces, seguras y sostenibles, en base a los principios recopilados por el Grupo de Arquitectura Técnica ligado a World Wide Web Consortium (W3C), siguiendo estándares éticos y técnicos. Aunque estos principios hacen referencia al diseño de API, muchos son aplicables al desarrollo web en general.
Se busca que los desarrolladores puedan garantizar que sus API no solo cumplan con los requisitos técnicos, sino que también respeten la privacidad y seguridad de los usuarios, promoviendo una web más segura y eficiente para todos.
En este post, analizaremos algunos consejos para los desarrolladores de las API y cómo se pueden poner en práctica.
Prioriza las necesidades del usuario
Al diseñar una API, es crucial seguir la jerarquía de necesidades establecida por el W3C:
- Primero, las necesidades del usuario final.
- Segundo, las necesidades de los desarrolladores web.
- Tercero, las necesidades de los implementadores de navegadores.
- Por último, la pureza teórica.
Así podremos impulsar una experiencia de usuario que sea intuitiva, funcional y atractiva. Esta jerarquía debe guiar las decisiones de diseño, aunque reconociendo que en ocasiones estos niveles se interrelacionan: por ejemplo, una API más fácil de usar para los desarrolladores suele resultar en mejor experiencia para el usuario final.
Garantiza la seguridad
Garantizar la seguridad al desarrollar una API es crucial para proteger, tanto los datos de los usuarios, como la integridad del sistema. Una API insegura puede ser un punto de entrada para atacantes que buscan acceder a información sensible o comprometer la funcionalidad del sistema. Por ello, al añadir nuevas funcionalidades, debemos cumplir las expectativas del usuario y garantizar su seguridad.
En este sentido, es esencial considerar factores relacionados con la autenticación de usuarios, encriptación de datos, validación de entradas, gestión de tasas de solicitud (o Rate Limiting, para limitar la cantidad de solicitudes que un usuario puede hacer en un periodo determinado y evitar ataques de denegación de servicio), etc. También es necesario monitorear continuamente las actividades de la API y mantener registros detallados para detectar y responder rápidamente a cualquier actividad sospechosa.
Desarrolla una interfaz de usuario que transmita confianza
Es necesario considerar cómo las nuevas funcionalidades impactan en las interfaces de usuario. Las interfaces deben ser diseñadas para que los usuarios puedan confiar y verificar que la información proporcionada es genuina y no ha sido falsificada. Aspectos como la barra de direcciones, los indicadores de seguridad y las solicitudes de permisos deben dejar claro con quién se están interactuando y cómo.
Por ejemplo, la función alert de JavaScript, que permite mostrar un cuadro de diálogo modal que parece parte del navegador, es un caso histórico que ilustra esta necesidad. Esta función, creada en los primeros días de la web, ha sido frecuentemente utilizada para engañar a usuarios haciéndoles creer que están interactuando con el navegador, cuando en realidad lo hacen con la página web. Si esta funcionalidad se propusiera hoy, probablemente no sería aceptada por estos riesgos de seguridad.
Pide consentimiento explicito a los usuarios
En el contexto de satisfacer una necesidad de usuario, una página web puede utilizar una función que suponga una amenaza. Por ejemplo, el acceso a la geolocalización del usuario puede ser de ayuda en algunos contextos (como una aplicación de mapas), pero también afecta a la privacidad.
En estos casos es necesario que el usuario consienta su uso. Para ello:
- El usuario debe entender a qué está accediendo. Si no puedes explicar a un usuario tipo a qué está consintiendo de forma inteligible, deberás reconsiderar el diseño de la función.
- El usuario debe poder elegir entre otorgar o rechazar ese permiso de manera efectiva. Si se rechaza una solicitud de permiso, la página web no podrá hacer nada que el usuario crea que ha descartado.
Al pedir consentimiento, podemos informar al usuario de qué capacidades tiene o no tiene la página web, reforzando su confianza en la seguridad del sitio. Sin embargo, el beneficio de una nueva función debe justificar la carga adicional que supone para el usuario decidir si otorga o no permiso para una función.
Usa mecanismos de identificación adecuados al contexto
Es necesario ser transparente y permitir a las personas controlar sus identificadores y la información adjunta a ellos que proporcionan en diferentes contextos en la web.
Las funcionalidades que utilizan o dependen de identificadores vinculados a datos sobre una persona conllevan riesgos de privacidad que pueden ir más allá de una sola API o sistema. Esto incluye datos generados pasivamente (como su comportamiento en la web) y aquellos recopilados activamente (por ejemplo, a través de un formulario). En este sentido, es necesario entender el contexto en el que se usarán y cómo se integrarán con otras funcionalidades de la web, asegurando de que el usuario pueda dar un consentimiento adecuado.
Es recomendable diseñar API que recopilen la mínima cantidad de datos necesarios y usar identificadores temporales de corta duración, a menos que sea absolutamente necesario un identificador persistente.
Crea funcionalidades compatibles con toda la gama de dispositivos y plataformas
En la medida de lo posible, asegura que las funcionalidades de la web estén operativas en diferentes dispositivos de entrada y salida, tamaños de pantalla, modos de interacción, plataformas y medios, favoreciendo la flexibilidad del usuario.
Por ejemplo, los modelos de diseño 'display: block', 'display: flex' y 'display: grid' en CSS, por defecto, colocan el contenido dentro del espacio disponible y sin solapamientos. De este modo funcionan en diferentes tamaños de pantalla y permiten a los usuarios elegir su propia fuente y tamaño sin causar desbordamiento de texto.
Agrega nuevas capacidades con cuidado
Añadir nuevas capacidades a la web requiere tener en consideración las funcionalidades y el contenido ya existentes, para valorar cómo va a ser su integración. No hay que asumir que un cambio es posible o imposible sin verificarlo primero.
Existen muchos puntos de extensión que permiten agregar funcionalidades, pero hay cambios que no se pueden realizar simplemente añadiendo o eliminando elementos, porque podrían generar errores o afectar a la experiencia de usuario. Por ello es necesario verificar antes la situación actual, como veremos en el siguiente apartado.
Antes de eliminar o cambiar funcionalidades, comprende su uso actual
Es posible eliminar o cambiar funciones y capacidades, pero primero hay que conocer bien la naturaleza y el alcance de su impacto en el contenido existente. Para ello puede ser necesario investigar cómo se utilizan las funciones actuales.
La obligación de comprender el uso existente se aplica a cualquier función de la que dependan los contenidos. Las funciones web no se definen únicamente en las especificaciones, sino también en la forma en que los usuarios las utilizan.
La práctica recomendada es priorizar la compatibilidad de las nuevas funciones con el contenido existente y el comportamiento del usuario. En ocasiones, una cantidad significativa de contenido puede depender de un comportamiento concreto. En estas situaciones, se desaconseja eliminar o cambiar dicho comportamiento.
Deja la web mejor de lo que la encontraste
La forma de añadir nuevas capacidades a una plataforma web es mejorando la plataforma en su conjunto, por ejemplo, sus características de seguridad, privacidad o accesibilidad.
La existencia de un defecto en una parte concreta de la plataforma no debe servir de excusa para añadir o ampliar funcionalidades adicionales con el fin de solucionarlo, ya que con ello se pueden duplicar problemas y disminuir la calidad general de la plataforma. Siempre que sea posible, hay que crear nuevas capacidades web que mejoren la calidad general de la plataforma, mitigando los defectos existentes de forma global.
Minimiza los datos del usuario
Hay que diseñar las funcionalidades para que sean operativas con la mínima cantidad necesaria de datos aportados por el usuario para llevar a cabo sus objetivos . Con ello, limitamos los riesgos de que se divulguen o utilicen indebidamente.
Se recomienda diseñar las API de forma que a los sitios web les resulte más fácil solicitar, recopilar y/o transmitir una pequeña cantidad de datos (datos más granulares o específicos), que trabajar con datos más genéricos o masivos. Las API deben proporcionar granularidad y controles de usuario, en particular si trabajan sobre datos personales.
Otras recomendaciones
El documento también ofrece consejos para el diseño de API utilizando diversos lenguajes de programación. En este sentido, proporciona recomendaciones ligadas a HTML, CSS, JavaScript, etc. Puedes leer las recomendaciones aquí.
Además, si estás pensando en integrar una API en tu plataforma de datos abiertos, te recomendamos la lectura de la Guía práctica para la publicación de Datos Abiertos usando APIs.
Siguiendo estas indicaciones podrás desarrollar sitios web consistentes y útiles para los usuarios, que les permitan alcanzar sus objetivos de manera ágil y optimizando recursos.
En la última década, la cantidad de datos que las organizaciones generan y necesitan gestionar ha crecido de manera exponencial. Con el auge del cloud, Internet de las Cosas (IoT, por sus siglas en inglés), edge computing y la inteligencia artificial (IA), las empresas se enfrentan al reto de integrar y gobernar datos que provienen de múltiples fuentes y entornos. En este contexto, han surgido dos enfoques clave para la gestión de datos que buscan solucionar los problemas asociados a la centralización de datos: Data Mesh y Data Fabric. Aunque estos conceptos se complementan, cada uno ofrece una aproximación distinta para resolver los desafíos de datos de las organizaciones modernas.
¿Por qué un data lake no es suficiente?
Muchas empresas han implementado data lakes o data warehouses centralizados con equipos dedicados como estrategia para impulsar el análisis de datos de compañía. Sin embargo, este enfoque suele generar problemas a medida que la empresa escala, como por ejemplo:
- Los equipos de datos centralizados se convierten en un cuello de botella. Estos equipos no pueden responder con la rapidez necesaria ante la variedad y volumen de preguntas que surgen desde diferentes áreas del negocio.
- La centralización crea una dependencia que limita la autonomía de los equipos de dominio, quienes conocen mejor sus necesidades de datos.
Aquí es donde entra en escena el enfoque Data Mesh.
Data Mesh: un enfoque descentralizado y orientado a dominios
Data Mesh rompe con la centralización de los datos y los distribuye en dominios específicos, permitiendo que cada equipo de negocio (o equipo de dominio) gestione y controle los datos que más conoce y utiliza. Este enfoque se basa en cuatro principios básicos:
- Propiedad de dominio: en lugar de que un equipo central de datos tenga todo el control, cada equipo es responsable de los datos que genera. Es decir, si eres el equipo de ventas, tú gestionas los datos de ventas; si eres el de marketing, gestionas los datos de marketing. Nadie conoce mejor esos datos que el propio equipo que los usa día a día.
- Datos como producto: esta idea nos recuerda que los datos no son solo para el uso del dominio que los genera, sino que pueden ser útiles para toda la empresa. Así que cada equipo debe pensar en sus datos como un “producto” que otros equipos también puedan usar. Esto implica que los datos deben ser accesibles, confiables y fáciles de encontrar, casi como si fueran una API pública.
- Plataforma autoservicio: la descentralización no significa que cada equipo tenga que reinventar la rueda. Para evitar que cada equipo de dominio se especialice en herramientas complejas de datos, el Data Mesh se apoya en una infraestructura de autoservicio que facilita la creación, despliegue y mantenimiento de productos de datos. Esta plataforma debe permitir a los equipos de dominio consumir y generar datos sin depender de una alta especialización técnica.
- Gobernanza federada: aunque los datos están distribuidos, sigue habiendo reglas comunes para todos. En un Data Mesh, la gobernanza es “federada”, es decir, cada equipo sigue unos estándares de interoperabilidad definidos globalmente. Esto asegura que todos los datos sean seguros, de alta calidad y cumplan con las normativas.
Estos principios hacen que el Data Mesh sea una arquitectura ideal para organizaciones que buscan mayor agilidad y que los equipos tengan autonomía sin perder de vista la calidad y el cumplimiento. A pesar de la descentralización, Data Mesh no crea silos de datos porque fomenta la colaboración y el intercambio estandarizado de datos entre equipos, asegurando acceso y gobernanza comunes en toda la organización.
Data Fabric: arquitectura para el acceso seguro y eficiente a datos distribuidos
Mientras que el Data Mesh se enfoca en la organización y propiedad de los datos en torno a dominios, el Data Fabric es una arquitectura que permite conectar y exponer los datos de una organización, independientemente de su ubicación. A diferencia de enfoques basados en la centralización de datos, como el data lake, el Data Fabric actúa como una capa unificada, ofreciendo acceso fluido a los datos distribuidos en múltiples sistemas sin necesidad de trasladarlos físicamente a un único repositorio.
En términos generales, el Data Fabric se basa en tres aspectos fundamentales:
- Acceso a los datos: en una empresa moderna, los datos se encuentran dispersos en diversas ubicaciones, tales como data lakes, data warehouses, bases de datos relacionales y numerosas aplicaciones SaaS (Software como servicio). En lugar de consolidar todos estos datos en un solo lugar, el Data Fabric emplea una capa de virtualización que permite acceder a ellos directamente desde sus fuentes de origen. Este enfoque minimiza la duplicación de datos y permite el acceso en tiempo real, facilitando así la toma de decisiones ágil. En los casos en que una aplicación requiera latencias bajas, el Data Fabric también dispone de herramientas de integración robusta, como ETL (extracción, transformación y carga), para mover y transformar los datos cuando sea necesario.
- Gestión del ciclo de vida de los datos: el Data Fabric no solo facilita el acceso, sino que también garantiza una gestión adecuada a lo largo de todo el ciclo de vida de los datos. Esto incluye aspectos críticos como la gobernanza, la privacidad y el cumplimiento de normativas. La arquitectura del Data Fabric se apoya en metadatos activos que automatizan la aplicación de políticas de seguridad y acceso, asegurando que solo los usuarios con los permisos adecuados accedan a la información correspondiente. Asimismo, ofrece funcionalidades avanzadas de trazabilidad (linaje), que permiten rastrear el origen de los datos, conocer sus transformaciones y evaluar su calidad, lo cual resulta esencial en entornos regulados bajo normativas como el Reglamento General de Protección de Datos (GDPR en sus siglas en inglés).
- Exposición de los datos: tras conectar los datos y aplicar las políticas de gobernanza y seguridad, el siguiente paso del Data Fabric es poner esos datos a disposición de los usuarios finales. A través de catálogos empresariales, los datos se organizan y presentan de forma accesible para analistas, científicos de datos y desarrolladores, quienes pueden localizarlos y utilizarlos de manera eficiente.
En resumen, el Data Fabric no reemplaza a los data lakes o data warehouses, sino que facilita la integración y gestión de los datos ya existentes en la organización. Su objetivo es crear un entorno seguro y flexible que permita el flujo controlado de datos y una visión unificada, sin la necesidad de trasladarlos físicamente, impulsando así una toma de decisiones más ágil y bien fundamentada.
Data Mesh vs. Data Fabric: ¿Competidores o aliados?
Si bien el Data Mesh y el Data Fabric tienen algunos objetivos en común, cada uno resuelve problemas diferentes y, de hecho, pueden encontrarse beneficios al aplicar mecanismos de ambos enfoques de forma complementaria. La siguiente tabla muestra una comparativa de ambos enfoques:
| ASPECTO | DATA MESH | DATA FABRIC |
|---|---|---|
| Enfoque | Organizacional y estructural, orientado a dominios. | Técnico, centrado en la integración de datos. |
| Propósito | Descentralizar la propiedad y la responsabilidad de los datos a los equipos de dominio. | Crear una capa unificada de acceso a datos distribuida en múltiples entornos. |
| Gestión de datos | Cada dominio gestiona sus propios datos y define los estándares de calidad. | Los datos se integran mediante servicios y APIs, lo que permite una visión unificada sin mover físicamente los datos. |
| Gobernanza | Federada, con reglas establecidas por cada dominio, manteniendo estándares comunes. | Centralizada a nivel de plataforma, con automatización de políticas de acceso y seguridad mediante metadatos activos. |
Figura 1. Tabla comparativa de Data Mesh VS. Data Fabric. Fuente: Elaboración propia.
Conclusión
Tanto el Data Mesh como el Data Fabric están diseñados para resolver los desafíos de la gestión de datos en empresas modernas. El Data Mesh aporta un enfoque organizacional que empodera a los equipos de dominio, mientras que el Data Fabric permite una integración flexible y accesible de datos distribuidos sin necesidad de moverlos físicamente. La elección entre ambos, o la combinación de los dos, dependerá de las necesidades específicas de cada organización, aunque es importante considerar la inversión en infraestructura, formación y posibles cambios organizativos que estos enfoques requieren. Para empresas pequeñas o medianas, un data warehouse tradicional puede ser una alternativa práctica y rentable, especialmente si sus volúmenes de datos y la complejidad organizativa son manejables. De cualquier modo, dado el crecimiento de los ecosistemas de datos en las organizaciones, ambos modelos representan un avance hacia un entorno de datos más ágil, seguro y útil, facilitando una gestión de datos mejor alineada con los objetivos estratégicos en un entorno.
Definiciones
- Data Lake: Es un repositorio de almacenamiento que permite guardar grandes volúmenes de datos en su formato original, ya sean estructurados, semiestructurados o no estructurados. Su estructura flexible permite almacenar datos sin procesar y usarlos para análisis avanzados y machine learning.
- Data Warehouse: Es un sistema de almacenamiento de datos estructurados que organiza, procesa y optimiza los datos para realizar análisis y generar reportes. Está diseñado para consultas rápidas y análisis de datos históricos, siguiendo un esquema predefinido para facilitar el acceso a la información.
Referencias
- Dehghani, Zhamak. Data Mesh Principles and Logical Architecture. https://martinfowler.com/articles/data-mesh-principles.html
- Dehghani, Zhamak. Data Mesh: Delivering Data-Driven Value at Scale. O''Reilly Media. Libro que detalla la implementación y los principios fundamentales del Data Mesh en organizaciones.
- Data Mesh Architecture. Sitio web sobre Data Mesh y arquitecturas de datos. https://www.datamesh-architecture.com/
- IBM. Data Fabric. IBM Topics. https://www.ibm.com/topics/data-fabric
- IBM Technology. Data Fabric: Unifying Data Across Hybrid and Multicloud Environments. YouTube. https://www.youtube.com/watch?v=0Zzn4eVbqfk&t=4s&ab_channel=IBMTechnology
Contenido elaborado por Juan Benavente, ingeniero superior industrial y experto en Tecnologías ligadas a la economía del dato. Los contenidos y los puntos de vista reflejados en esta publicación son responsabilidad exclusiva de su autor.
La creciente complejidad de los modelos de aprendizaje automático y la necesidad de optimizar su rendimiento lleva años impulsando el desarrollo del AutoML (Automated Machine Learning). Esta disciplina busca automatizar tareas clave en el ciclo de vida del desarrollo de modelos, como la selección de algoritmos, el procesamiento de datos y la optimización de hiperparámetros.
El AutoML permite a los usuarios desarrollar modelos de manera más sencilla y rápida. Se trata de un enfoque que facilita el acceso a la disciplina, haciéndola accesible a los profesionales con menos experiencia en programación y acelerando los procesos para aquellos que cuentan con más experiencia. Así, para un usuario con conocimientos profundos de programación, el AutoML también puede ser interesante. Gracias al auto machine learning, este usuario podría aplicar automáticamente las configuraciones técnicas necesarias, como definir variables o interpretar los resultados de manera más ágil.
En este post, abordaremos las claves de estos procesos de automatización y recopilaremos una serie de herramientas de código abierto gratuitas y/o con modelo freemium, que te pueden servir para profundizar en el AutoML.
Aprende a crear tu propio modelado de aprendizaje automático
Como se indicaba anteriormente, gracias a la automatización, el proceso de entrenamiento y evaluación de modelos en base a herramientas de AutoML es más rápido que en un proceso de machine learning (ML) habitual, si bien las etapas para la creación de modelos son similares.
En general, los componentes clave del AutoML son:
- Preprocesamiento de datos: automatiza tareas como la limpieza, transformación y selección de características de los datos.
- Selección de modelos: examina una variedad de algoritmos de machine learning y elige el más adecuado para la tarea específica.
- Optimización de hiperparámetros: ajusta automáticamente los parámetros de los modelos para mejorar su rendimiento.
- Evaluación de modelos: proporciona métricas de rendimiento y valida modelos utilizando técnicas como la validación cruzada.
- Implementación y mantenimiento: facilita la implementación de modelos en producción y, en algunos casos, su actualización.
Todos estos elementos ofrecen, en su conjunto, una serie de ventajas como las que vemos en la imagen

Figura 1. Fuente: elaboración propia.
Ejemplos de herramientas de AutoML
A pesar que el AutoML puede llegar a ser muy útil, es importante destacar algunas de sus limitaciones como el riesgo de overfitting (cuando el modelo se ajusta demasiado a los datos de entrenamiento y no generaliza bien el conocimiento), la pérdida de control sobre el proceso de modelado o la interpretabilidad de ciertos resultados.
No obstante, a medida que el AutoML continúa ganando terreno en el ámbito del aprendizaje automático, diversas herramientas han surgido para facilitar su implementación y uso. A continuación, exploraremos algunas de las herramientas de AutoML de código abierto más destacadas:
H2O.ai, versátil y escalable, ideal para empresas
H2O.ai es una plataforma de AutoML que incluye modelos de deep learning y machine learning como XGBoost (biblioteca de machine learning diseñada para mejorar la eficiencia de los modelos) y una interfaz de usuario gráfica. Esta herramienta se utiliza en proyectos a gran escala y permite un alto nivel de personalización. H2O.ai incluye opciones para modelos de clasificación, regresión y series temporales, y se destaca por su capacidad para manejar grandes volúmenes de datos.
Aunque H2O facilita el acceso al machine learning a no expertos, sí son necesarios algunos conocimientos y experiencia en ciencia de datos para sacarle el máximo partido a la herramienta. Además, permite realizar un gran número de tareas relacionadas con el modelado que normalmente requerirían muchas líneas de código, facilitando la tarea del analista de datos. H2O ofrece un modelo freemium y también cuenta con una versión comunitaria de código abierto.
TPOT, basado en algoritmos genéticos, buena opción para experimentar
TPOT (Tree-based Pipeline Optimization Tool) es una herramienta gratuita y de código abierto para el aprendizaje automático con Python que optimiza los procesos mediante programación genética.
Esta solución busca la mejor combinación de preprocesamiento de datos y modelos de aprendizaje automático para un conjunto de datos específico. Para ello, utiliza algoritmos genéticos que le permiten explorar y optimizar diferentes pipelines, transformación de datos y modelos. Se trata de una opción más experimental que puede resultar menos intuitiva, pero ofrece soluciones innovadoras.
Además, TPOT está construido sobre la popular biblioteca scikit-learn, así que los modelos generados por TPOT se pueden utilizar y ajustar con las mismas técnicas que se usarían en scikit-learn.
Auto-sklearn, accesible para usuarios de scikit-learn y eficiente en problemas estructurados
Como TPOT, Auto-sklearn está basada en scikit-learn y sirve para automatizar la selección de algoritmos y la optimización de hiperparámetros en modelos de aprendizaje automático en Python.
Además de ser una opción gratuita y de código abierto, incluye técnicas para manejar datos ausentes, una funcionalidad muy útil a la hora de trabajar con conjuntos de datos del mundo real. Por otro lado, Auto-sklearn ofrece una API sencilla y fácil de usar, lo que permite a los usuarios iniciar el proceso de modelado con pocas líneas de código.
BigML, integración mediante API REST y modelos de precios flexibles
BigML es una plataforma de aprendizaje automático consumible, programable y escalable que, como el resto de herramientas mencionadas, facilita la resolución y automatización de tareas de clasificación, regresión, pronóstico de series de tiempo, análisis de clústeres, detección de anomalías, descubrimiento de asociaciones y modelado de temas. Cuenta con una interfaz intuitiva y un enfoque hacia la visualización que facilita la creación y gestión de modelos de ML, incluso para usuarios con pocas nociones de programación.
Además, BigML tiene una API REST que posibilita la integración con diversas aplicaciones y lenguajes, y es escalable para manejar grandes volúmenes de datos. Por otro lado, ofrece un modelo de precios flexible basado en el uso, y cuenta con una comunidad activa que actualiza regularmente los recursos didácticos disponibles.
La siguiente tabla muestra una comparativa entre estas herramientas:
| H2O.ai | TPOT | Auto-sklearn | BigML | |
|---|---|---|---|---|
| Uso | Para proyectos a gran escala. | Para experimentar con algoritmos genéticos y optimizar pipelines. | Para usuarios de scikit-learn que desean automatizar el proceso de selección de modelos y para tareas estructuradas. | Para crear y desplegar modelos de ML de forma accesible y sencilla. |
| Dificultad de configuración | Sencilla, con opciones avanzadas. | Dificultad media. Una opción más técnica por los algoritmos genéticos. | Dificultad media. Precisa una configuración técnica, pero es fácil para usuarios de scikit-learn. | Sencilla. Interfaz intuitiva con opciones de personalización. |
| Facilidad de uso | Fácil de usar con los lenguajes de programación más habituales. Tiene interfaz gráfica y APIs para R y Python. | Fácil de usar, pero requiere conocimientos de Python. | Fácil de usar, pero requiere conocimientos previos. Opción sencilla para usuarios de scikit-learn. | Fácil de usar, enfocada a la visualización, no requiere grandes conocimientos de programación. |
| Escalabilidad | Escalable a grandes volúmenes de datos. | Enfocada en conjuntos de datos pequeños y medianos. Menos eficiente en datasets grandes. | Efectivo en conjuntos de datos tamaño pequeño y medio. | Escalable para diferentes tamaños de datasets. |
| Interoperabilidad | Compatible con varias bibliotecas y lenguajes, como Java, Scala, Python y R. | Basado en Python. | Basado en Python integrando scikit-learn. | Compatible con API REST y varios lenguajes. |
| Comunidad | Amplia y activa que comparte documentación de referencia. | Menos extensa, pero en proceso de crecimiento. | Cuenta con el soporte de la comunidad scikit-learn. | Comunidad activa y soporte disponible. |
| Desventajas | Aunque es versátil, su personalización avanzada podría ser desafiante para principiantes sin experiencia técnica. | Puede ser menos eficiente en grandes conjuntos de datos debido a la naturaleza intensiva de los algoritmos genéticos. | Su rendimiento está optimizado para tareas estructuradas (datos estructurados), lo que podría limitar su uso en otros tipos de problemas. | Su personalización avanzada podría ser desafiante para principiantes sin experiencia técnica. |
Figura 2. Tabla comparativa de herramientas de autoML. Fuente:elaboración propia.
Cada herramienta tiene su propia propuesta de valor, y la elección dependerá de las necesidades específicas y del entorno en el que trabaje el usuario.
Estos son algunos ejemplos de herramientas gratuitas y de código abierto que puedes explorar para adentrarte en el AutoML. Te invitamos a compartir tu experiencia con estas u otras herramientas en la sección de comentarios.
Si estás buscando herramientas para ayudarte en el procesamiento de datos, desde datos.gob.es ponemos a tu disposición el informe “Herramientas de procesado y visualización de datos”, así como los siguientes artículos monográficos:
Los modelos de lenguaje se encuentran en el epicentro del cambio de paradigma tecnológico que está protagonizando la inteligencia artificial (IA) generativa en los últimos dos años. Desde las herramientas con las que interaccionamos en lenguaje natural para generar texto, imágenes o vídeos y que utilizamos para crear contenido creativo, diseñar prototipos o producir material educativo, hasta aplicaciones más complejas en investigación y desarrollo que incluso han contribuido de forma decisiva a la consecución del Premio Nobel de Química de 2024, los modelos de lenguaje están demostrando su utilidad en una gran variedad de aplicaciones, que por otra parte, aún estamos explorando.
Desde que en 2017 Google publicó el influyente artículo "Attention is all you need", donde se describió la arquitectura de los Transformers, tecnología que sustenta las nuevas capacidades que OpenAI popularizó a finales de 2022 con el lanzamiento de ChatGPT, la evolución de los modelos de lenguaje ha sido más que vertiginosa. En apenas dos años, hemos pasado de modelos centrados únicamente en la generación de texto a versiones multimodales que integran la interacción y generación de texto, imágenes y audio.
Esta rápida evolución ha dado lugar a dos categorías de modelos de lenguaje: los SLM (Small Language Models), más ligeros y eficientes, y los LLM (Large Language Models), más pesados y potentes. Lejos de considerarlos competidores, debemos analizar los SLM y LLM como tecnologías complementarias. Mientras los LLM ofrecen capacidades generales de procesamiento y generación de contenido, los SLM pueden proporcionar soporte a soluciones más ágiles y especializadas para necesidades concretas. Sin embargo, ambos comparten un elemento esencial: dependen de grandes volúmenes de datos para su entrenamiento y en el corazón de sus capacidades están los datos abiertos, que son parte del combustible que se utiliza para entrenar estos modelos de lenguaje en los que se basan las aplicaciones de IA generativa.
LLM: potencia impulsada por datos masivos
Los LLM son modelos de lenguaje a gran escala que cuentan con miles de millones, e incluso billones, de parámetros. Estos parámetros son las unidades matemáticas que permiten al modelo identificar y aprender patrones en los datos de entrenamiento, lo que les proporciona una extraordinaria capacidad para generar texto (u otros formatos) coherente y adaptado al contexto de los usuarios. Estos modelos, como la familia GPT de OpenAI, Gemini de Google o Llama de Meta, se entrenan con inmensos volúmenes de datos y son capaces de realizar tareas complejas, algunas incluso para las que no fueron explícitamente entrenados.
De este modo, los LLM son capaces de realizar tareas como la generación de contenido original, la respuesta a preguntas con información relevante y bien estructurada o la generación de código de software, todas ellas con un nivel de competencia igual o superior al de los humanos especializados en dichas tareas y siempre manteniendo conversaciones complejas y fluidas.
Los LLM se basan en cantidades masivas de datos para alcanzar su nivel de desempeño actual: desde repositorios como Common Crawl, que recopila datos de millones de páginas web, hasta fuentes estructuradas como Wikipedia o conjuntos especializados como PubMed Open Access en el campo biomédico. Sin acceso a estos corpus masivos de datos abiertos, la capacidad de estos modelos para generalizar y adaptarse a múltiples tareas sería mucho más limitada.
Sin embargo, a medida que los LLM continúan evolucionando, la necesidad de datos abiertos aumenta para conseguir progresos específicos como:
- Mayor diversidad lingüística y cultural: aunque los LLM actuales manejan múltiples idiomas, en general están dominados por datos en inglés y otros idiomas mayoritarios. La falta de datos abiertos en otras lenguas limita la capacidad de estos modelos para ser verdaderamente inclusivos y diversos. Más datos abiertos en idiomas diversos garantizarían que los LLM puedan ser útiles para todas las comunidades, preservando al mismo tiempo la riqueza cultural y lingüística del mundo.
- Reducción de sesgos: los LLM, como cualquier modelo de IA, son propensos a reflejar los sesgos presentes en los datos con los que se entrenan. Esto, en ocasiones, genera respuestas que perpetúan estereotipos o desigualdades. Incorporar más datos abiertos cuidadosamente seleccionados, especialmente de fuentes que promuevan la diversidad y la igualdad, es fundamental para construir modelos que representen de manera justa y equitativa a diferentes grupos sociales.
- Actualización constante: los datos en la web y en otros recursos abiertos cambian constantemente. Sin acceso a datos actualizados, los LLM generan respuestas obsoletas muy rápidamente. Por ello, incrementar la disponibilidad de datos abiertos frescos y relevantes permitiría a los LLM mantenerse alineados con la actualidad.
- Entrenamiento más accesible: a medida que los LLM crecen en tamaño y capacidad, también lo hace el coste de entrenarlos y afinarlos. Los datos abiertos permiten que desarrolladores independientes, universidades y pequeñas empresas entrenen y afinen sus propios modelos sin necesidad de costosas adquisiciones de datos. De este modo se democratiza el acceso a la inteligencia artificial y se fomenta la innovación global.
Para solucionar algunos de estos retos, en la nueva Estrategia de Inteligencia Artificial 2024 se han incluido medidas destinadas a generar modelos y corpus en castellano y lenguas cooficiales, incluyendo también el desarrollo de conjuntos de datos de evaluación que consideran la evaluación ética.
SLM: eficiencia optimizada con datos específicos
Por otra parte, los SLM han emergido como una alternativa eficiente y especializada que utiliza un número más reducido de parámetros (generalmente en millones) y que están diseñados para ser ligeros y rápidos. Aunque no alcanzan la versatilidad y competencia de los LLM en tareas complejas, los SLM destacan por su eficiencia computacional, rapidez de implementación y capacidad para especializarse en dominios concretos.
Para ello, los SLM también dependen de datos abiertos, pero en este caso, la calidad y relevancia de los conjuntos de datos son más importantes que su volumen, por ello los retos que les afectan están más relacionados con la limpieza y especialización de los datos. Estos modelos requieren conjuntos que estén cuidadosamente seleccionados y adaptados al dominio específico para el que se van a utilizar, ya que cualquier error, sesgo o falta de representatividad en los datos puede tener un impacto mucho mayor en su desempeño. Además, debido a su enfoque en tareas especializadas, los SLM enfrentan desafíos adicionales relacionados con la accesibilidad de datos abiertos en campos específicos. Por ejemplo, en sectores como la medicina, la ingeniería o el derecho, los datos abiertos relevantes suelen estar protegidos por restricciones legales y/o éticas, lo que dificulta su uso para entrenar modelos de lenguaje.
Los SLM se entrenan con datos cuidadosamente seleccionados y alineados con el dominio en el que se utilizarán, lo que les permite superar a los LLM en precisión y especificidad en tareas concretas, como por ejemplo:
- Autocompletado de textos: un SLM para autocompletado en español puede entrenarse con una selección de libros, textos educativos o corpus como los que se impulsarán en la ya mencionada Estrategia de IA, siendo mucho más eficiente que un LLM de propósito general para esta tarea.
- Consultas jurídicas: un SLM entrenado con conjuntos de datos jurídicos abiertos pueden proporcionar respuestas precisas y contextualizadas a preguntas legales o procesar documentos contractuales de forma más eficaz que un LLM.
- Educación personalizada: en el sector educativo, SLM entrenados con datos abiertos de recursos didácticos pueden generar explicaciones específicas, ejercicios personalizados o incluso evaluaciones automáticas, adaptadas al nivel y las necesidades del estudiante.
- Diagnóstico médico: un SLM entrenado con conjuntos de datos médicos, como resúmenes clínicos o publicaciones abiertas, puede asistir a médicos en tareas como la identificación de diagnósticos preliminares, la interpretación de imágenes médicas mediante descripciones textuales o el análisis de estudios clínicos.
Desafíos y consideraciones éticas
No debemos olvidar que, a pesar de los beneficios, el uso de datos abiertos en modelos de lenguaje presenta desafíos significativos. Uno de los principales retos es, como ya hemos mencionado, garantizar la calidad y neutralidad de los datos para que estén libres de sesgos, ya que estos pueden amplificarse en los modelos, perpetuando desigualdades o prejuicios.
Aunque un conjunto de datos sea técnicamente abierto, su utilización en modelos de inteligencia artificial siempre plantea algunas implicaciones éticas. Por ejemplo, es necesario evitar que información personal o sensible se filtre o pueda deducirse de los resultados generados por los modelos, ya que esto podría causar daños a la privacidad de las personas.
También debe tenerse en cuenta la cuestión de la atribución y propiedad intelectual de los datos. El uso de datos abiertos en modelos comerciales debe abordar cómo se reconoce y compensa adecuadamente a los creadores originales de los datos para que sigan existiendo incentivos a los creadores.
Los datos abiertos son el motor que impulsa las asombrosas capacidades de los modelos de lenguaje, tanto en el caso de los SLM como de los LLM. Mientras que los SLM destacan por su eficiencia y accesibilidad, los LLM abren puertas a aplicaciones avanzadas que no hace mucho nos parecían imposibles. Sin embargo, el camino hacia el desarrollo de modelos más capaces, pero también más sostenibles y representativos, depende en gran medida de cómo gestionemos y aprovechemos los datos abiertos.
Contenido elaborado por Jose Luis Marín, Senior Consultant in Data, Strategy, Innovation & Digitalization. Los contenidos y los puntos de vista reflejados en esta publicación son responsabilidad exclusiva de su autor.
En febrero de 2024, la comunidad geoespacial europea dio un gran paso adelante con la primera actualización importante de los esquemas de aplicación de INSPIRE en casi una década. Esta actualización, que genera la versión 5.0 de los esquemas, introduce cambios que afectan a la forma en que se armonizan, transforman y publican los datos espaciales en Europa. Para implementadores, responsables de políticas y usuarios de datos, estas modificaciones suponen tanto desafíos como oportunidades.
En este artículo, explicaremos qué implican estos cambios, cómo impactan en la validación de los datos y qué pasos se deben seguir para adaptarse a este nuevo escenario.
¿Qué es INSPIRE y por qué importa?
La Directiva INSPIRE (Infrastructure for Spatial Information in Europe) determina las reglas generales para el establecimiento de una Infraestructura de Información espacial en la Comunidad Europea basada en las Infraestructuras de los Estados miembros. Aprobada por el Parlamento Europeo y el Consejo el 14 de marzo de 2007 (Directiva 2007/2/CE), está diseñada para lograr estos objetivos, asegurando que la información espacial sea coherente y accesible a lo largo de los países miembros de la UE.
Un elemento clave de INSPIRE son los "esquemas de aplicación". Estos esquemas definen cómo deben estructurarse los datos para que cumplan con las normas de INSPIRE, garantizando que los datos de diferentes países sean compatibles entre sí. Además, los esquemas facilitan que los datos puedan ser validados con herramientas oficiales, asegurando su calidad y conformidad con los estándares europeos.
¿Qué cambia con la actualización a la versión 5.0?
La transición a la versión 5.0 trae modificaciones significativas, algunas de las cuales no son compatibles con versiones anteriores. Entre los cambios más destacados están:
- Eliminación de propiedades obligatorias: esto simplifica los modelos de datos, pero requiere que los implementadores revisen sus configuraciones previas y ajusten los datos para cumplir con las nuevas reglas.
- Renombramiento de tipos y propiedades: con la actualización de los esquemas INSPIRE a la versión 5.0, algunos nombres y definiciones de elementos han cambiado. Esto significa que los datos que se armonizaron siguiendo los esquemas de la versión 4.x ya no coinciden exactamente con las nuevas especificaciones. Para que estos datos sigan siendo conformes con las normas actuales, es necesario volver a transformarlos usando herramientas actualizadas. Esta retransformación garantiza que los datos sigan cumpliendo con los estándares de INSPIRE y que puedan ser compartidos y utilizados sin problemas en toda Europa. La tabla completa con estas actualizaciones es la siguiente:
| Esquema | Descripción del cambio | Tipo de cambio | Última versión |
|---|---|---|---|
| ad | Cambiado el tipo de dato para la asociación "building" del tipo de entidad Address. | No disruptivo | v4.1 |
| au | Eliminada la enumeración del esquema y cambiado el encoding de los atributos que se refieren a enumeraciones. | Disruptivo | v5.0 |
| BaseTypes.xsd | Eliminada la enumeración VerticalPositionValue del esquema BaseTypes. | Disruptivo | v4.0 |
| ef | Añadido un nuevo atributo "thematicId" al tipo de objeto espacial AbstractMonitoringObject. | No disruptivo | v4.1 |
| el-cov | Cambiado el encoding de los atributos que se refieren a enumeraciones. | Disruptivo | v5.0 |
| ElevationBaseTypes.xsd | Eliminada la enumeración del esquema. | Disruptivo | v5.0. |
| el-tin | Cambiado el encoding de los atributos que se refieren a enumeraciones. | Disruptivo | v5.0 |
| el-vec | Eliminada la enumeración del esquema y cambiado el encoding de los atributos que se refieren a enumeraciones. | Disruptivo | v5.0 |
| hh | Añadidos nuevos atributos al tipo EnvHealthDeterminantMeasure, nuevos tipos de entidad y eliminados algunos tipos de datos. | Disruptivo | v5.0 |
| hy | Actualizado a la versión 5.0 ya que el esquema importa el esquema hy-p que se actualizó a la versión 5. | Disruptivos y no disruptivos | v5.0 |
| hyp | Cambiado el tipo de dato del atributo geometry del tipo DrainageBasin. | Disruptivos y no disruptivos | v5.0 |
| lcv | Añadido rol de asociación al tipo de entidad LandCoverUnit. | Disruptivo | v5.0 |
| mu | Cambiado el encoding de los atributos que se refieren a enumeraciones | Disruptivo | v4.0 |
| nz-core | Eliminada la enumeración del esquema y cambiado el encoding de los atributos que se refieren a enumeraciones. | Disruptivo | v5.0 |
| ObservableProperties.xsd | Eliminada la enumeración del esquema y cambiado el encoding de los atributos que se refieren a enumeraciones. | Disruptivo | v4.0 |
| pf | Cambiada la definición del tipo de entidad ProductionInstallation. | No disruptivo | v4.1 |
| plu | Corregido error tipográfico en el atributo "backgroudMapURI" del tipo de dato BackgroundMapValue. | Disruptivo | v4.0.1 |
| ps | Corregido error tipográfico en inspireId, añadido un nuevo atributo, y movidos atributos al tipo de dato. | Disruptivo | v5.0 |
| sr | Cambiado el estereotipo del objeto ShoreSegment de featureType a datatype. | Disruptivo | v4.0.1 |
| su-vector | Añadido un nuevo atributo StatisticalUnitType al tipo de entidad VectorStatisticalUnit | No disruptivo | v4.1 |
| tn | Eliminada la enumeración del esquema y cambiado el encoding de los atributos que se refieren a enumeraciones. | Disruptivo | v5.0 |
| tn-a | Cambiado el tipo de dato para la asociación "controlTowers" del tipo de entidad AerodromeNode. | No disruptivo | v4.1 |
| tn-ra | Eliminadas las enumeraciones del esquema y cambiado el encoding de los atributos que se refieren a enumeraciones. | Disruptivo | v5.0 |
| tn-ro | Eliminadas las enumeraciones del esquema y cambiado el encoding de los atributos que se refieren a enumeraciones. | Disruptivo | v5.0 |
| tn-w | Eliminado el estereotipo abstracto para el tipo de entidad TrafficSeparationScheme. Eliminadas enumeraciones del esquema y cambiado el encoding de los atributos que se refieren a enumeraciones. | Disruptivos y no disruptivos | v5.0 |
| us-govserv | Actualizada la versión del esquema importado us-net-common (de 4.0 a 5.0). | Disruptivo | v5.0 |
| us-net-common | Definido el tipo de dato para el atributo authorityRole. Cambiado el encoding de los atributos que se refieren a enumeraciones. | Disruptivo | v5.0 |
| us-net-el | Actualizada la versión del esquema importado us-net-common (de 4.0 a 5.0). | Disruptivo | v5.0 |
| us-net-ogc | Actualizada la versión del esquema importado us-net-common (de 4.0 a 5.0). | Disruptivo | v5.0 |
| us-net-sw | Actualizada la versión del esquema importado us-net-common (de 4.0 a 5.0). | Disruptivo | v5.0 |
| us-net-th | Actualizada la versión del esquema importado us-net-common (de 4.0 a 5.0). | Disruptivo | v5.0 |
| us-net-wa | Actualizada la versión del esquema importado us-net-common (de 4.0 a 5.0). | Disruptivo | v5.0 |
Figura 1. Últimas actualizaciones de INSPIRE.
- Cambios importantes en la versión 4.0: aunque normalmente un cambio importante en un esquema llevaría a una nueva versión principal (por ejemplo, de la 4.0 a la 5.0), algunos esquemas de INSPIRE en la versión 4.0 han recibido actualizaciones significativas sin cambiar de número de versión. Un ejemplo notable de esto es el esquema de Uso del Suelo Planificado (PLU). Estas actualizaciones implican que los proyectos y servicios que utilizan el esquema PLU en la versión 4.0 deben ser revisados y modificados para adaptarse a las nuevas especificaciones. Esto es particularmente relevante para aquellos que trabajan con XPlanung, un estándar utilizado en la planificación urbana y del uso del suelo en algunos países europeos. Los cambios realizados en el esquema de PLU obligan a los implementadores a actualizar sus proyectos de transformación y a republicar los datos para asegurarse de que cumplen con las nuevas reglas de INSPIRE.
Impacto en la validación y el monitoreo
La actualización no solo afecta a la forma en que se estructuran los datos, sino también a cómo se validan. Las herramientas oficiales de INSPIRE, como el Validador, han incorporado las nuevas versiones de los esquemas, lo que genera diferentes escenarios de validación:
- Datos conformes con versiones anteriores: los datos armonizados según la versión 4.x aún pueden superar las pruebas básicas de validación, pero podrían fallar en pruebas específicas que exijan el uso de los esquemas actualizados.
- Pruebas específicas para temas actualizados: algunos temas, como los Sitios Protegidos, requieren que los datos sigan las versiones más recientes de los esquemas para superar todas las pruebas de conformidad.
Además, el Centro Común de Investigación (JRC en sus siglas en inglés) ha indicado que estas versiones actualizadas se utilizarán en el monitoreo oficial de INSPIRE a partir de 2025, lo que subraya la importancia de adaptarse lo antes posible.
¿Qué significa esto para los implementadores?
Para garantizar que los datos sean conformes con las últimas versiones de los esquemas y que puedan ser utilizados en sistemas europeos, es esencial tomar medidas concretas:
- Si estás publicando nuevos conjuntos de datos: utiliza las versiones actualizadas de los esquemas desde el principio.
- Si trabajas con datos existentes: actualiza los esquemas de tus conjuntos de datos para reflejar los cambios introducidos. Esto puede implicar ajustar tipos de características y realizar nuevas transformaciones.
- Servicios de publicación: si tus datos ya están publicados, necesitarás retransformarlos y republicarlos para garantizar que sean conformes con las nuevas especificaciones.
Estas acciones son esenciales no solo para cumplir con los estándares de INSPIRE, sino también para asegurar la interoperabilidad de los datos a largo plazo.
Conclusión
La actualización a la versión 5.0 de los esquemas INSPIRE representa un desafío técnico, pero también una oportunidad para mejorar la interoperabilidad y la usabilidad de los datos espaciales en Europa. Adoptar estas modificaciones no solo garantiza la conformidad normativa, sino que también posiciona a los implementadores como líderes en la modernización de la infraestructura de datos espaciales.
Aunque las actualizaciones pueden parecer complejas, tienen un propósito claro: fortalecer la interoperabilidad de los datos espaciales en Europa. Con datos mejor armonizados y herramientas actualizadas, será más fácil para gobiernos, empresas y organizaciones colaborar y tomar decisiones informadas sobre temas cruciales como la sostenibilidad, la gestión del territorio y el cambio climático.
Además, estas mejoras refuerzan el compromiso de INSPIRE con la innovación tecnológica, permitiendo que los datos espaciales europeos sean más accesibles, útiles y relevantes en un mundo cada vez más interconectado.
Contenido elaborado por Mayte Toscano, Senior Consultant en Tecnologías ligadas a la economía del dato. Los contenidos y los puntos de vista reflejados en esta publicación son responsabilidad exclusiva de su autor.
El gobierno del dato es crucial para la transformación digital de las organizaciones. Se desarrolla a través de varios ejes dentro de la organización, formando parte integral del plan de transformación digital organizacional. En un mundo donde las organizaciones necesitan reinventarse constantemente y buscar nuevos modelos de negocio y oportunidades para innovar, el gobierno del dato se convierte en una pieza clave para avanzar hacia una economía digital más justa e inclusiva, sin dejar de ser competitiva.
Las organizaciones necesitan maximizar el valor de sus datos, identificar nuevos retos y gestionar el papel que tiene los datos en el uso y desarrollo de tecnologías disruptivas como la inteligencia artificial. Gracias al gobierno del dato, es posible tomar decisiones bien fundamentadas, mejorar la eficiencia operativa y garantizar el cumplimiento normativo, asegurando la seguridad y privacidad de los datos.
Para lograr esto, es esencial llevar a cabo una transformación digital planificada, centrada en un plan estratégico de gobierno del dato que complemente el plan estratégico de la organización. La guía UNE 0085 ayuda a implantar el gobierno del dato en cualquier organización y lo hace poniendo especial énfasis en el diseño del programa a través de un ciclo de evaluación basado en análisis de brechas (gap analysis), que debe ser relevante y decisivo para que la alta dirección apruebe el lanzamiento del programa.
La oficina de gobierno del dato, órgano clave del programa
Un programa de gobierno del dato debe identificar qué datos son críticos para la organización, dónde residen y cómo se utilizan. Para ello debe estar acompañado de un sistema de gestión que coordine el despliegue de los procesos de gobierno, gestión y calidad del dato. Es necesario un enfoque integrado con otros sistemas de gestión que pueda tener la organización, como el sistema de gestión de continuidad de negocio o el de seguridad de la información.
La Oficina de Gobierno del Dato es el área encargada de coordinar el desarrollo de los diferentes componentes del sistema de gobierno y gestión del dato, es decir, es el área que participa en la creación de las directrices, reglas y políticas que permiten dar el tratamiento adecuado a los datos, además de velar por el cumplimiento de las diferentes normativas.
La Oficina de Gobierno del Dato deberá ser un órgano fundamental del programa. Sirve de puente entre las áreas de negocio, coordinando a los propietarios de datos (data owners) y a los administradores de datos (data stewards) a nivel organizacional.
UNE 0085: pautas para implantar el gobierno del dato
Implantar un programa de gobierno del dato no es una tarea fácil. Para ayudar a las organizaciones con este reto se ha desarrollado la nueva UNE 0085 que sigue un enfoque por procesos frente al enfoque por artefactos y que resume a modo de guía los pasos que debemos seguir para implantar dicho programa, complementando así la familia de normas UNE de gobierno, gestión y calidad del dato 0077, 0078, 0079 y 0080.
Esta guía:
- Enfatiza la importancia de que el programa nazca alineado con los objetivos estratégicos de la organización, con una fuerte esponsorización.
- Describe a alto nivel los aspectos clave que debería recoger el programa.
- Detalla diferentes escenarios tipo, que pueden ayudar a una organización a clarificar por dónde empezar y qué iniciativas debería priorizar, y el modelo operativo y roles que necesitará para el despliegue.
- Presenta el diseño del programa de gobierno del dato a través de un ciclo de evaluación basado en análisis de brechas. Comienza con una fase de evaluación inicial (As Is) para mostrar la situación de partida de la organización seguida de una segunda fase (To be) en la que se define el alcance y los objetivos del programa alineados con los objetivos estratégicos de la organización, para llevar a cabo la fase del mencionado análisis de brechas. Finaliza con un caso de negocio (Business case) que incluye entregables como el alcance, marcos de referencia, objetivos del programa e hitos, el presupuesto, la hoja de ruta (roadmap) y los beneficios medibles con sus KPI’s asociados entre otros aspectos. Este caso de uso servirá de lanzamiento del programa de gobierno del dato por parte de la dirección y con ello su implantación en toda la organización. A continuación, se presentan las diferentes fases del ciclo en relación con el sistema de Gobierno del dato de la UNE 0077:

Por último, más allá de los procesos y sistemas, no podemos olvidar a las personas y los roles que desempeñan en esta transformación digital. Los responsables de los datos y las entidades implicadas son fundamentales en este cambio cultural organizacional. Es necesario gestionar este cambio de manera efectiva para desplegar un modelo operativo de gobierno del dato que se ajuste a las necesidades de cada organización.
Puede parecer complejo orquestar y definir un ejercicio de esta magnitud, especialmente con conceptos abstractos relacionados con el gobierno del dato; y es aquí donde entra en juego la nueva oficina del gobierno del dato, que cada organización debe establecer. Esta oficina ayudará en estas tareas esenciales, siempre siguiendo los marcos y estándares adecuados.
Se recomienda seguir una metodología que facilite esta labor, como las especificaciones UNE de gobierno, gestión y calidad del dato (0077, 0078, 0079 y 0080). Estas especificaciones ahora se complementan con la nueva UNE 0085, una guía práctica de implementación.
El contenido de esta guía puede descargarse de forma libre y gratuita desde el portal de AENOR a través del enlace que figura a continuación accediendo al apartado de compra. El acceso a esta familia de especificaciones UNE del dato está patrocinado por la Secretaría de Estado de Digitalización e Inteligencia Artificial, Dirección General del Dato. Aunque la descarga requiere registro previo, se aplica un descuento del 100% sobre el total del precio que se aplica en el momento de finalizar la compra. Tras finalizar la compra se podrá acceder a la norma o normas seleccionadas desde el área de cliente en el apartado mis productos.
ESPECIFICACION UNE 0085:2024 | Normas AENOR
También está disponible un vídeo explicativo sobre las Especificaciones UNE sobre datos
La crisis climática y los desafíos ambientales actuales demandan respuestas innovadoras y efectivas. En este contexto, la iniciativa Destination Earth (DestinE) de la Comisión Europea es un proyecto pionero que tiene como objetivo desarrollar un modelo digital y altamente preciso de nuestro planeta.
A través de este gemelo digital de la Tierra se podrá monitorear y prevenir posibles desastres naturales, adaptar las estrategias de sostenibilidad y coordinar esfuerzos humanitarios, entre otras funciones. En este post, analizamos en qué consiste el proyecto y en qué estado se encuentra su desarrollo.
Características y componentes de Destination Earth
Alineado con el Pacto Verde Europeo y la Estrategia de Europa Digital, Destination Earth integra el modelado digital y las ciencias climáticas para ofrecer una herramienta que sea de utilidad a la hora de abordar retos ambientales. Para ello, cuenta con un enfoque orientado hacia la precisión, el detalle local y la rapidez en el acceso a la información.
En general, la herramienta permite:
- Monitorear y simular los desarrollos del sistema terrestre, que incluyen la tierra, el mar, la atmósfera y la biosfera, así como las intervenciones humanas.
- Anticipar desastres ambientales y crisis socioeconómicas, permitiendo así la salvaguarda de vidas y la prevención de recesiones económicas significativas.
- Generar y probar escenarios que promuevan un desarrollo más sostenible en el futuro.
Para llevar esto a cabo, DestinE se subdivide en tres componentes principales que son:
- Lago de datos:
- ¿Qué es? Un repositorio centralizado que permite almacenar datos de diversas fuentes, como la Agencia Espacial Europea (ESA), EUMETSAT y Copernicus, así como de los nuevos gemelos digitales.
- ¿Qué ofrece? Esta infraestructura permite el descubrimiento y acceso a datos, así como el procesamiento de grandes volúmenes de información en la nube.
- ·La Plataforma de DestinE:
- ¿Qué es? Un ecosistema digital que integra servicios, herramientas de toma de decisiones basadas en datos y una infraestructura de computación abierta en la nube, flexible y segura.
- ¿Qué ofrece? Los usuarios tienen acceso a información temática, modelos, simulaciones, pronósticos y visualizaciones que facilitarán una comprensión más profunda del sistema terrestre.
- Gemelos digitales e ingeniería:
- ¿Qué son? Son varias réplicas digitales que cubren diferentes aspectos del sistema terrestre. Ya están desarrollados los dos primeros, uno relacionado con la adaptación al cambio climático y, el otro, sobre eventos climáticos extremos.
- ¿Qué ofrecen? Estos gemelos ofrecen simulaciones multidecadales (variación de la temperatura) y pronósticos de alta resolución.
Descubre los servicios y contribuye a mejorar DestinE
La plataforma de DestinE ofrece un recopilatorio de aplicaciones y casos de uso desarrollados en el marco de la iniciativa, como, por ejemplo:
- Gemelo digital del turismo (Beta): permite revisar y anticipar la viabilidad de las actividades turísticas en función de las condiciones medioambientales y meteorológicas de su territorio.
- VizLab: ofrece una interfaz gráfica de usuario intuitiva y tecnologías avanzadas de renderizado en 3D para proporcionar una experiencia narrativa haciendo que conjuntos de datos complejos sean accesibles y comprensibles para un público amplio.
- miniDEA: es una app de visualización web interactiva y fácil de usar, basado en DEA, para previsualizar datos de DestinE.
- GeoAI: es una plataforma de IA geoespacial para casos de uso de observación de la Tierra.
- Global Fish Tracking System (GFTS): es un proyecto para ayudar a obtener información precisa sobre las poblaciones de peces para elaborar políticas de conservación basadas en datos.
- Planificación urbana más resiliente: es una solución que proporciona un índice de estrés térmico que permite a los planificadores urbanos conocer cuáles son las mejores prácticas de adaptación contra las temperaturas extremas en entornos urbanos.
- Monitoreo de la reserva de agua del Delta del Danubio: es un análisis exhaustivo y preciso basado en el lago de datos DestinE para informar sobre los esfuerzos de conservación del Delta del Danubio, una de las regiones con mayor biodiversidad de Europa.
Desde octubre de este año la plataforma de DestinE acepta registros, una posibilidad que permite explorar todo el potencial de la herramienta y acceder a recursos exclusivos. Esta opción sirve para recabar feedback y mejorar el sistema del proyecto.
Para convertirte en usuario y poder generar servicios, debes seguir estos pasos.
Hoja de ruta del proyecto:
La Unión Europea plantea una serie de hitos ubicados en el tiempo que marcarán el desarrollo de la iniciativa:
- 2022 – Lanzamiento oficial del proyecto.
- 2023 – Inicio del desarrollo de los principales componentes.
- 2024 – Desarrollo de todos los componentes del sistema. Puesta en marcha de la plataforma de DestinE y el lago de datos. Demostración.
- 2026 - Mejora del sistema DestinE, integración de gemelos digitales adicionales y servicios relacionados.
- 2030 - Réplica digital completa de la Tierra.
Destination Earth no solo representa un avance tecnológico, sino que también es una herramienta poderosa para la sostenibilidad y la resiliencia frente a los desafíos climáticos. Al proporcionar datos precisos y accesibles, DestinE permite tomar decisiones basadas en datos y crear estrategias de adaptación y mitigación efectivas.
No hay duda de que los datos se han convertido en el activo estratégico para las organizaciones. Hoy en día, es esencial garantizar que las decisiones están fundamentadas en datos de calidad, independientemente del alineamiento que sigan: analítica de datos, inteligencia artificial o reporting. Sin embargo, asegurar repositorios de datos con altos niveles de calidad no es tarea fácil, dado que en muchos casos los datos provienen de fuentes heterogéneas donde los principios de calidad de datos no se han tenido en cuenta y no se dispone de contexto sobre el dominio.
Para paliar en la medida de lo posible esta casuística, en este artículo, exploraremos una de las bibliotecas más utilizadas en el análisis de datos: Pandas. Vamos a chequear cómo esta biblioteca de Python puede ser una herramienta eficaz para mejorar la calidad de los datos. También repasaremos la relación de alguna de sus funciones con las dimensiones y propiedades de calidad de datos incluidas en la especificación UNE 0081 de calidad de datos, y algunos ejemplos concretos de su aplicación en repositorios de datos con el objetivo de mejorar la calidad de los datos.
Utilizar de Pandas para Data Profiling
Si bien el data profiling y la evaluación de calidad de datos están estrechamente relacionados, sus enfoques son diferentes:
- Data Profiling: es el proceso de análisis exploratorio que se realiza para entender las características fundamentales de los datos, como su estructura, tipos de datos, distribución de valores, y la presencia de valores faltantes o duplicados. El objetivo es obtener una imagen clara de cómo son los datos, sin necesariamente hacer juicios sobre su calidad.
- Evaluación de calidad de datos: implica la aplicación de reglas y estándares predefinidos para determinar si los datos cumplen con ciertos requisitos de calidad, como exactitud, completitud, consistencia, credibilidad o actualidad. En este proceso, se identifican errores y se determinan acciones para corregirlos. Una guía útil para la evaluación de calidad de datos es la especificación UNE 0081.
Consiste en explorar y analizar un conjunto de datos para obtener una comprensión básica de su estructura, contenido y características, antes de realizar un análisis más profundo o una evaluación de la calidad de los datos. El objetivo principal es obtener una visión general de los datos mediante el análisis de la distribución, los tipos de datos, los valores faltantes, las relaciones entre columnas y la detección de posibles anomalías. Pandas dispone de varias funciones para realizar este perfilado de datos.
En resumen, el data profiling es un paso inicial exploratorio que ayuda a preparar el terreno para una evaluación más profunda de la calidad de los datos, proporcionando información esencial para identificar áreas problemáticas y definir las reglas de calidad adecuadas para la evaluación posterior.
¿Qué es Pandas y cómo ayuda a asegurar la calidad de los datos?
Pandas es una de las bibliotecas más populares de Python para la manipulación y análisis de datos. Su capacidad para gestionar grandes volúmenes de información estructurada hace que sea una herramienta poderosa en la detección y corrección de errores en repositorios de datos. Con Pandas, se pueden realizar operaciones complejas de forma eficiente, desde limpieza hasta validación de datos, todas ellas son esenciales para mantener los estándares de calidad. A continuación, se indican algunos ejemplos para mejorar la calidad de los datos en repositorios con Pandas:
-
Detección de valores nulos o inconsistentes: uno de los errores más comunes en los datos son los valores faltantes o inconsistentes. Pandas permite identificar estos valores fácilmente mediante funciones como isnull() o dropna(). Esto es clave para la propiedad de completitud de los registros y la dimensión de consistencia de datos, ya que los valores faltantes en campos críticos pueden distorsionar los resultados de los análisis.
# Identificar valores nulos en un dataframe
df.isnull().sum()
- Normalización y estandarización de datos: los errores en la consistencia de nombres o códigos son comunes en grandes repositorios. Por ejemplo, en un conjunto de datos que contiene códigos de productos, es posible que algunos estén mal escritos o no sigan una convención estándar. Pandas ofrece funciones como merge() para realizar una comparación con una base de datos de referencia y corregir estos valores. Esta opción es clave para mantener la dimensión y propiedad de consistencia semántica de los datos.
# Sustitución de valores incorrectos utilizando una tabla de referencia
df = df.merge(codigos_productos, left_on='codigo_producto', right_on='codigo_ref', how= ‘left’)
- Validación de requisitos de datos: Pandas permite crear reglas personalizadas para validar la conformidad de los datos con ciertas normas. Por ejemplo, si un campo de edad solo debería contener valores enteros positivos, podemos aplicar una función para identificar y corregir valores que no cumplan con esta regla. De esta forma, se puede validar cualquier regla de negocio de cualquiera de las dimensiones y propiedades de calidad de datos.
# Identificar registros con valores de edad no válidos (negativos o decimales)
errores_edad = df[(df['edad'] < 0) | (df['edad'] % 1 != 0)]
- Análisis exploratorio para identificar patrones anómalos: funciones como describe() o groupby() en Pandas permiten explorar el comportamiento general de los datos. Este tipo de análisis es fundamental para detectar patrones anómalos o fuera de rango en cualquier conjunto de datos, como, por ejemplo, valores inusualmente altos o bajos en columnas que deberían seguir ciertos rangos.
# Resumen estadístico de los datos
df.describe()
#Ordenar según categoría o propiedad
df.groupby()
- Eliminación de duplicados: los datos duplicados son un problema común en los repositorios de datos. Pandas ofrece métodos como drop_duplicates() para identificar y eliminar estos registros, asegurando que no haya redundancia en el conjunto de datos. Esta capacidad estaría relacionada con la dimensión de completitud y consistencia.
# Eliminar filas duplicadas
df = df.drop_duplicates()
Ejemplo práctico de aplicación de Pandas
Una vez presentadas las funciones anteriores que nos sirven para mejorar la calidad de los repositorios de datos, planteamos un caso para poner en práctica el proceso. Supongamos que estamos gestionando un repositorio de datos de ciudadanos y queremos asegurarnos de:
- Que los datos de edad no contengan valores no válidos (como negativos o decimales?
- Que los códigos de nacionalidad estén estandarizados.
- Que los identificadores únicos sigan un formato correcto.
- Que el lugar de residencia sea coherente.
Con Pandas, podríamos realizar las siguientes acciones:
1. Validación de edades sin valores incorrectos
# Identificar registros con edades fuera de los rangos permitidos (por ejemplo, menores de 0 o no enteros)
errores_edad = df[(df['edad'] < 0) | (df['edad'] % 1 != 0)]
# Uso de un dataset oficial de códigos de nacionalidad para corregir los registros incorrectos
df_corregida = df.merge(nacionalidades_ref, left_on='nacionalidad', right_on='codigo_ref', how='left')
3. Validación de indentificadores únicos
# Verificar si el formato del número de identificación sigue un patrón correcto
df['valid_id'] = df['identificacion'].str.match(r'^[A-Z0-9]{8}$')
errores_id = df[df['valid_id'] == False]
4. Verificación de coherencia en lugar de residencia
# Detectar posibles inconsistencias en la residencia (por ejemplo, un mismo ciudadano residiendo en dos lugares al mismo tiempo)
duplicados_residencia = df.groupby(['id_ciudadano', 'fecha_residencia'])['lugar_residencia'].nunique()
inconsistencias_residencia = duplicados_residencia[duplicados_residencia > 1]
Integración con diversidad de tecnologías
Pandas es una biblioteca extremadamente flexible y versátil que se integra fácilmente con muchas tecnologías y herramientas en el ecosistema de datos. Algunas de las principales tecnologías con las que Pandas tiene integración o se puede utilizar son:
-
Bases de datos SQL:
Pandas se integra muy bien con bases de datos relacionales como MySQL, PostgreSQL, SQLite, y otras que utilizan SQL. La biblioteca SQLAlchemy o directamente las bibliotecas específicas de cada base de datos (como psycopg2 para PostgreSQL o sqlite3) permiten conectar Pandas a estas bases de datos, realizar consultas y leer/escribir datos entre la base de datos y Pandas.
- Función común: pd.read_sql() para leer una consulta SQL en un DataFrame, y to_sql() para exportar los datos desde Pandas a una tabla SQL.
- APIs basadas en REST y HTTP:
Pandas se puede utilizar para procesar datos obtenidos de APIs utilizando solicitudes HTTP. Bibliotecas como requests permiten obtener datos de APIs y luego transformar esos datos en DataFrames de Pandas para su análisis.
- Big Data (Apache Spark):
Pandas se puede utilizar en combinación con PySpark, una API para Apache Spark en Python. Aunque Pandas está diseñado principalmente para trabajar con datos en memoria, Koalas, una biblioteca basada en Pandas y Spark, permite trabajar con estructuras distribuidas de Spark usando una interfaz similar a Pandas. Herramientas como Koalas ayudan a que los usuarios de Pandas puedan escalar sus scripts a entornos de datos distribuidos sin necesidad de aprender toda la sintaxis de PySpark.
- Hadoop y HDFS:
Pandas se puede utilizar junto con tecnologías de Hadoop, especialmente el sistema de archivos distribuido HDFS. Aunque Pandas no está diseñado para gestionar grandes volúmenes de datos distribuidos, puede utilizarse junto a bibliotecas como pyarrow o dask para leer o escribir datos desde y hacia HDFS en sistemas distribuidos. Por ejemplo, pyarrow se puede utilizar para leer o escribir archivos Parquet en HDFS.
- Formatos de archivos populares:
Pandas se utiliza comúnmente para leer y escribir datos en diferentes formatos de archivo, tales como:
- CSV: pd.read_csv()
- Excel: pd.read_excel() y to_excel()
- JSON: pd.read_json()
- Parquet: pd.read_parquet() para trabajar con archivos eficientes en espacio y tiempo.
- Feather: un formato de archivo rápido para intercambio entre lenguajes como Python y R (pd.read_feather()).
- Herramientas de visualización de datos:
Pandas se puede integrar fácilmente con herramientas de visualización como Matplotlib, Seaborn, y Plotly. Estas bibliotecas permiten generar gráficos directamente desde DataFrames de Pandas.
- Pandas incluye su propia integración ligera con Matplotlib para generar gráficos rápidos usando df.plot().
- Para visualizaciones más sofisticadas, es común usar Pandas junto a Seaborn o Plotly para gráficos interactivos.
- Bibliotecas de machine learning:
Pandas es ampliamente utilizado en el preprocesamiento de datos antes de aplicar modelos de machine learning. Algunas bibliotecas populares con las que Pandas se integra son:
- Scikit-learn: la mayoría de los pipelines de machine learning comienzan con la preparación de datos en Pandas antes de pasar los datos a modelos de Scikit-learn.
- TensorFlow y PyTorch: aunque estos frameworks están más orientados al manejo de matrices numéricas (Numpy), Pandas se utiliza frecuentemente para la carga y limpieza de datos antes de entrenar modelos de deep learning.
- XGBoost, LightGBM, CatBoost: Pandas es compatible con estas bibliotecas de machine learning de alto rendimiento, donde los DataFrames se utilizan como entrada para entrenar modelos.
- Jupyter Notebooks:
Pandas es fundamental en el análisis de datos interactivo dentro de los Jupyter Notebooks, que permiten ejecutar código Python y visualizar los resultados de manera inmediata, lo que facilita la exploración de datos y su visualización en conjunto con otras herramientas.
- Cloud Storage (AWS, GCP, Azure):
Pandas se puede utilizar para leer y escribir datos directamente desde servicios de almacenamiento en la nube como Amazon S3, Google Cloud Storage y Azure Blob Storage. Bibliotecas adicionales como boto3 (para AWS S3) o google-cloud-storage facilitan la integración con estos servicios. A continuación, se muestra un ejemplo para leer datos desde Amazon S3.
import pandas as pd
import boto3
#Crear un cliente de S3
s3 = boto3.client('s3')
#Obtener un objeto del bucket
obj = s3.get_object(Bucket='mi-bucket', Key='datos.csv')
#Leer el archivo CSV de un DataFrame
df = pd.read_csv(obj['Body'])
- Docker y contenedores:
Pandas se puede usar en entornos de contenedores utilizando Docker. Los contenedores son ampliamente utilizados para crear entornos aislados que aseguran la replicabilidad de los pipelines de análisis de datos.
En conclusión, el uso de Pandas es una solución eficaz para mejorar la calidad de los datos en repositorios complejos y heterogéneos. A través de funciones de limpieza, normalización, validación de reglas de negocio, y análisis exploratorio, Pandas facilita la detección y corrección de errores comunes, como valores nulos, duplicados o inconsistentes. Además, su integración con diversas tecnologías, bases de datos, entornos big data, y almacenamiento en la nube, convierte a Pandas en una herramienta extremadamente versátil para garantizar la exactitud, consistencia y completitud de los datos.
Contenido elaborado por Dr. Fernando Gualo, Profesor en UCLM y Consultor de Gobierno y Calidad de datos. El contenido y el punto de vista reflejado en esta publicación es responsabilidad exclusiva de su autor.
El procesamiento del lenguaje natural (NLP, por sus siglas en inglés) es una rama de la inteligencia artificial que permite a las máquinas comprender y manipular el lenguaje humano. En el núcleo de muchas aplicaciones modernas, como asistentes virtuales, sistemas de traducción automática y chatbots, se encuentran los word embeddings. Pero, ¿qué son exactamente y por qué son tan importantes?
¿Qué son los word embeddings?
Los word embeddings son una técnica que permite a las máquinas representar el significado de las palabras de manera que se puedan capturar relaciones complejas entre ellas. Para entenderlo, pensemos en cómo las palabras se usan en un contexto determinado: una palabra adquiere significado en función de las palabras que la rodean. Por ejemplo, la palabra banco podría referirse a una institución financiera o a un asiento, dependiendo del contexto en el que se encuentre.
La idea detrás de los word embeddings es que se asigna a cada palabra un vector en un espacio de varias dimensiones. La posición de estos vectores en el espacio refleja la cercanía semántica entre las palabras. Si dos palabras tienen significados similares, sus vectores estarán cercanos. Si sus significados son opuestos o no tienen relación, estarán distantes en el espacio vectorial.
Para visualizarlo, imaginemos que palabras como lago, río y océano estarían cerca entre sí en este espacio, mientras que palabras como lago y edificio estarían mucho más separadas. Esta estructura permite que los algoritmos de procesamiento de lenguaje puedan realizar tareas complejas, como encontrar sinónimos, hacer traducciones precisas o incluso responder preguntas basadas en contexto.
¿Cómo se crean los word embeddings?
El objetivo principal de los word embeddings es capturar relaciones semánticas y la información contextual de las palabras, transformándolas en representaciones numéricas que puedan ser comprendidas por los algoritmos de machine learning (aprendizaje automático). En lugar de trabajar con texto sin procesar, las máquinas requieren que las palabras se conviertan en números para poder identificar patrones y relaciones de manera efectiva.
El proceso de creación de word embeddings consiste en entrenar un modelo en un gran corpus de texto, como artículos de Wikipedia, para aprender la estructura del lenguaje. El primer paso implica realizar una serie de preprocesamientos en el corpus, que incluye tokenizar las palabras, eliminar puntuación y términos irrelevantes, y, en algunos casos, convertir todo el texto a minúsculas para mantener la consistencia.
El uso del contexto para capturar el significado
Una vez preprocesado el texto, se utiliza una técnica conocida como "ventana de contexto deslizante" para extraer información. Esto significa que, para cada palabra objetivo, se toman en cuenta las palabras que la rodean dentro de un cierto rango. Por ejemplo, si la ventana de contexto es de 3 palabras, para la palabra avión en la frase “El avión despega a las seis”, las palabras de contexto serán El, despega, a.
El modelo se entrena para aprender a predecir una palabra objetivo usando las palabras de su contexto (o a la inversa, predecir el contexto a partir de la palabra objetivo). Para ello, el algoritmo ajusta sus parámetros de manera que los vectores asignados a cada palabra se acerquen más en el espacio vectorial si esas palabras aparecen frecuentemente en contextos similares.
Cómo los modelos aprenden la estructura del lenguaje
La creación de los word embeddings se basa en la capacidad de estos modelos para identificar patrones y relaciones semánticas. Durante el entrenamiento, el modelo ajusta los valores de los vectores de manera que las palabras que suelen compartir contextos tengan representaciones similares. Por ejemplo, si avión y helicóptero se usan frecuentemente en frases similares (por ejemplo, en el contexto de transporte aéreo), los vectores de avión y helicóptero estarán cerca en el espacio vectorial.
A medida que el modelo procesa más y más ejemplos de frases, va afinando las posiciones de los vectores en el espacio continuo. De este modo, los vectores no solo reflejan la proximidad semántica, sino también otras relaciones como sinónimos, categorías (por ejemplo, frutas, animales) y relaciones jerárquicas (por ejemplo, perro y animal).
Un par de ejemplos simplificado
Imaginemos un pequeño corpus de solo seis palabras: guitarra, bajo, batería, piano, coche y bicicleta. Supongamos que cada palabra se representa en un espacio vectorial de tres dimensiones de la siguiente manera:
guitarra [0.3, 0.8, -0.1]
bajo [0.4, 0.7, -0.2]
batería [0.2, 0.9, -0.1]
piano [0.1, 0.6, -0.3]
coche [0.8, -0.1, 0.6]
bicicleta [0.7, -0.2, 0.5]
En este ejemplo simplificado, las palabras guitarra, bajo, batería y piano representan instrumentos musicales y están ubicadas cerca unas de otras en el espacio vectorial, ya que se utilizan en contextos similares. En cambio, coche y bicicleta, que pertenecen a la categoría de medios de transporte, se encuentran alejadas de los instrumentos musicales pero cercanas entre ellas. Esta otra imagen muestra cómo se verían distintos términos relacionados con cielo, alas e ingeniería en un espacio vectorial.

Figura1. Ejemplos de representación de un corpus en un espacio vectorial. Fuente: Adaptación de “Word embeddings: the (very) basics”, de Guillaume Desagulier.
Estos ejemplos solo utilizan tres dimensiones para ilustrar la idea, pero en la práctica, los word embeddings suelen tener entre 100 y 300 dimensiones para capturar relaciones semánticas más complejas y matices lingüísticos.
El resultado final es un conjunto de vectores que representan de manera eficiente cada palabra, permitiendo a los modelos de procesamiento de lenguaje identificar patrones y relaciones semánticas de forma más precisa. Con estos vectores, las máquinas pueden realizar tareas avanzadas como búsqueda semántica, clasificación de texto y respuesta a preguntas, mejorando significativamente la comprensión del lenguaje natural.
Estrategias para generar word embeddings
A lo largo de los años, se han desarrollado múltiples enfoques y técnicas para generar word embeddings. Cada estrategia tiene su forma de capturar el significado y las relaciones semánticas de las palabras, lo que resulta en diferentes características y usos. A continuación, se presentan algunas de las principales estrategias:
1. Word2Vec: captura de contexto local
Desarrollado por Google, Word2Vec es uno de los enfoques más conocidos y se basa en la idea de que el significado de una palabra se define por su contexto. Usa dos enfoques principales:
- CBOW (Continuous Bag of Words): en este enfoque, el modelo predice la palabra objetivo usando las palabras de su entorno inmediato. Por ejemplo, dado un contexto como "El perro está ___ en el jardín", el modelo intenta predecir la palabra jugando, basándose en las palabras El, perro, está y jardín.
- Skip-gram: A la inversa, Skip-gram usa una palabra objetivo para predecir las palabras circundantes. Usando el mismo ejemplo, si la palabra objetivo es jugando, el modelo intentaría predecir que las palabras en su entorno son El, perro, está y jardín.
La idea clave es que Word2Vec entrena el modelo para capturar la proximidad semántica a través de muchas iteraciones en un gran corpus de texto. Las palabras que tienden a aparecer juntas tienen vectores más cercanos, mientras que las que no están relacionadas aparecen más distantes.
2. GloVe: enfoque basado en estadísticas globales
GloVe, desarrollado en la Universidad de Stanford, se diferencia de Word2Vec al utilizar estadísticas globales de co-ocurrencia de palabras en un corpus. En lugar de considerar solo el contexto inmediato, GloVe se basa en la frecuencia con la que dos palabras aparecen juntas en todo el corpus.
Por ejemplo, si pan y mantequilla aparecen juntas con frecuencia, pero pan y planeta rara vez se encuentran en el mismo contexto, el modelo ajusta los vectores de manera que pan y mantequilla estén cerca en el espacio vectorial.
Esto permite que GloVe capture relaciones globales más amplias entre palabras y que las representaciones sean más robustas a nivel semántico. Los modelos entrenados con GloVe tienden a funcionar bien en tareas de analogía y similitud de palabras.
3. FastText: captura de sub-palabras
FastText, desarrollado por Facebook, mejora a Word2Vec al introducir la idea de descomponer las palabras en sub-palabras. En lugar de tratar cada palabra como una unidad indivisible, FastText representa cada palabra como una suma de n-gramas. Por ejemplo, la palabra jugando se podría descomponer en ju, uga, ando, etc.
Esto permite que FastText capture similitudes incluso entre palabras que no aparecieron explícitamente en el corpus de entrenamiento, como variaciones morfológicas (jugando, jugar, jugador). Esto es particularmente útil para lenguajes con muchas variaciones gramaticales.
4. Embeddings contextuales: captura de sentido dinámico
Modelos como BERT y ELMo representan un avance significativo en word embeddings. A diferencia de las estrategias anteriores, que generan un único vector para cada palabra independientemente del contexto, los embeddings contextuales generan diferentes vectores para una misma palabra según su uso en la frase.
Por ejemplo, la palabra banco tendrá un vector diferente en la frase "me senté en el banco del parque" que en "el banco aprobó mi solicitud de crédito". Esta variabilidad se logra entrenando el modelo en grandes corpus de texto de manera bidireccional, es decir, considerando no solo las palabras que preceden a la palabra objetivo, sino también las que la siguen.
Aplicaciones prácticas de los word embeddings
Los word embeddings se utilizan en una variedad de aplicaciones de procesamiento de lenguaje natural, como:
- Reconocimiento de Entidades Nombradas (NER, por sus siglas en inglés): permiten identificar y clasificar nombres de personas, organizaciones y lugares en un texto. Por ejemplo, en la frase "Apple anunció su nueva sede en Cupertino", los word embeddings permiten al modelo entender que Apple es una organización y Cupertino es un lugar.
- Traducción automática: ayudan a representar palabras de una manera independiente del idioma. Al entrenar un modelo con textos en diferentes lenguas, se pueden generar representaciones que capturan el significado subyacente de las palabras, facilitando la traducción de frases completas con un mayor nivel de precisión semántica.
- Sistemas de recuperación de información: en motores de búsqueda y sistemas de recomendación, los word embeddings mejoran la coincidencia entre las consultas de los usuarios y los documentos relevantes. Al capturar similitudes semánticas, permiten que incluso consultas no exactas se correspondan con resultados útiles. Por ejemplo, si un usuario busca "medicamento para el dolor de cabeza", el sistema puede sugerir resultados relacionados con analgésicos gracias a las similitudes capturadas en los vectores.
- Sistemas de preguntas y respuestas: los word embeddings son esenciales en sistemas como los chatbots y asistentes virtuales, donde ayudan a entender la intención detrás de las preguntas y a encontrar respuestas relevantes. Por ejemplo, ante la pregunta “¿Cuál es la capital de Italia?”, los word embeddings permiten que el sistema entienda las relaciones entre capital e Italia y encuentre Roma como respuesta.
- Análisis de sentimiento: los word embeddings se utilizan en modelos que determinan si el sentimiento expresado en un texto es positivo, negativo o neutral. Al analizar las relaciones entre palabras en diferentes contextos, el modelo puede identificar patrones de uso que indican ciertos sentimientos, como alegría, tristeza o enfado.
- Agrupación semántica y detección de similaridades: los word embeddings también permiten medir la similitud semántica entre documentos, frases o palabras. Esto se utiliza para tareas como agrupar artículos relacionados, recomendar productos basados en descripciones de texto o incluso detectar duplicados y contenido similar en grandes bases de datos.
Conclusión
Los word embeddings han transformado el campo del procesamiento de lenguaje natural al ofrecer representaciones densas y significativas de las palabras, capaces de capturar sus relaciones semánticas y contextuales. Con la aparición de embeddings contextuales, el potencial de estas representaciones sigue creciendo, permitiendo que las máquinas comprendan incluso las sutilezas y ambigüedades del lenguaje humano. Desde aplicaciones en sistemas de traducción y búsqueda, hasta chatbots y análisis de sentimiento, los word embeddings seguirán siendo una herramienta fundamental para el desarrollo de tecnologías cada vez más avanzadas y humanizadas en el campo del lenguaje natural.
Contenido elaborado por Juan Benavente, ingeniero superior industrial y experto en Tecnologías ligadas a la economía del dato. Los contenidos y los puntos de vista reflejados en esta publicación son responsabilidad exclusiva de su autor.
