Blog

Hablar estos días de GPT-3 no es lo más original del mundo, lo sabemos. Toda la comunidad tecnológica está publicando ejemplos, realizando eventos y pronosticando el final del mundo del lenguaje y la generación de contenidos tal y cómo la conocemos actualmente. En este post, le pedimos a ChatGPT que nos eche una mano para programar un ejemplo de visualización de datos con R partiendo de un conjunto de datos abiertos disponible en datos.gob.es.

Introducción

Nuestro anterior post hablaba sobre Dall-e y la capacidad de GPT-3 para generar imágenes sintéticas partiendo de una descripción de lo que pretendemos generar en lenguaje natural. En este nuevo post, hemos realizado un ejercicio completamente práctico en el que le pedimos a la inteligencia artificial que nos ayude a realizar un sencillo programa en R que cargue un conjunto de datos abierto y genere algunas representaciones gráficas.

Hemos escogido un conjunto de datos abiertos de la plataforma datos.gob.es. En concreto, un conjunto de datos sencillos de uso de portales madrid.es. La descripción del repositorio explica que se incluye la información relativa a usuarios, sesiones y número de visitas a páginas de los siguientes portales del Ayuntamiento de Madrid: Portal Web municipal, Sede Electrónica, Portal de Transparencia, Portal de Datos Abiertos, Bibliotecas y Decide Madrid.

El fichero se puede descargar en formato .csv o .xslx y si lo pre-visualizamos tiene el siguiente aspecto:

Vale, comencemos a co-programar con ChatGPT!

Primero accedemos a la web y nos identificamos con nuestro usuario y contraseña. Es necesario estar registrado en el sitio web de openai.com para poder acceder a las capacidades de GPT-3, entre otras ChatGPT.

Iniciamos nuestra conversación:

Durante este ejercicio hemos intentado mantener una conversación de la misma forma que la tendríamos con un compañero de programación. Así que lo primero que hacemos es saludar y enunciar el problema que tenemos. Cuándo le pedimos a la IA que nos ayude a crear un pequeño programa en R que represente gráficamente unos datos, nos ofrece algunos ejemplos y ayuda con la explicación del programa:

Puesto que no tenemos datos, no podemos hacer nada práctico por el momento, así que le pedimos si nos ayuda a generar unos datos sintéticos.

Como decimos, nos comportamos con la IA como lo haríamos con una persona (tiene buena pinta).

Una vez que parece que la IA responde con facilidad a nuestras preguntas, vamos con el siguiente paso, vamos a darle nosotros los datos. Y aquí empieza la magia… Hemos abierto el fichero de datos que nos hemos bajado de datos.gob.es y hemos copiado y pegado una muestra.

Nota: ChatGPT no tiene conexión a Internet y por lo tanto no puede acceder a datos externos, así que lo único que podemos hacer es darle un ejemplo de los datos reales con los que queremos trabajar.

Con los datos copiados y pegados tal cual se los hemos dado, nos escribe el código en R para cargarlos manualmente en un dataframe denominado “datos”. A continuación, nos proporciona el código de ggplot2 (la librería gráfica más conocida en R) para graficar los datos junto con una explicación del funcionamiento del código.

¡Genial! Es espectacular este resultado con un lenguaje totalmente natural y nada adaptado para hablar con una máquina. Veamos que pasa a continuación:

Pero resulta que al copiar y pegar el código en un entorno de RStudio comprobamos que este falla.

Así que le decimos lo que pasa y que nos ayude a solucionarlo.

Probamos de nuevo y ¡en este caso funciona!

Sin embargo, el resultado es un poco tosco. Así que se lo decimos.

A partir de aquí (y tras varios intentos de copiar y pegar más y más filas de datos) la IA cambia ligeramente el enfoque y me proporciona instrucciones y código para cargar mi propio fichero de datos desde mi ordenador en lugar de introducir manualmente los datos en el código.

Le hacemos caso y copiamos un par de años de datos en un fichero de texto en nuestro ordenador. Fijaos, en lo que ocurre a continuación:

Probamos de nuevo:

Como veis, funciona, pero el resultado no es del todo acertado.

Y veamos lo que ocurre.

¡Por fin parece que ya nos ha entendido! Es decir, tenemos un gráfico de barras con las visitas a la web por mes, para los años 2017 (azul) y 2018 (rojo). Sin embargo, no me convencen ni el formato del título del eje ni tampoco se distingue bien la numeración del mismo eje.

Veamos el resultado ahora.

Tiene mucha mejor pinta, ¿verdad? Pero ¿qué tal si todavía le damos una vuelta de tuerca más?

Sin embargo, se ha olvidado de decirnos que debemos instalar el paquete o librería plotly en R. Así que se lo recordamos.

Veamos el resultado:

Como podéis ver, ahora tenemos los controles del gráfico interactivo, de tal modo que podemos seleccionar un año concreto de la leyenda, hacer zoom, etc.

Conclusión

Puede que seas de esos escépticos, conservadores o prudentes que piensan que las capacidades demostradas por GPT-3 hasta el momento (ChatGPT, Dall-E2, etc) son todavía muy infantiles y poco prácticas en la vida real. Todas las consideraciones a este respecto son legítimas y, muchas, probablemente bien fundamentadas.

Sin embargo, algunos hemos pasado buena parte de la vida escribiendo programas, buscando documentación y ejemplos de código que pudiéramos adaptar o en los que inspirarnos; depurando errores, etc. Para todos nosotros (programadores, analistas, científicos, etc.) poder experimentar este nivel de interlocución con una inteligencia artificial en modo beta, puesta a disposición del público de forma gratuita y siendo capaz de demostrar esta capacidad de asistencia en la co-programación, es, sin duda, un salto cualitativo y cuantitativo en la disciplina de la programación.

No sabemos qué va a pasar, pero probablemente estemos a las puertas de un gran cambio de paradigma en la ciencia de la computación, hasta el punto  que, quizás, haya cambiado para siempre la forma de programar y aún no nos hayamos dado cuenta.

Contenido elaborado por Alejandro Alija, experto en Transformación Digital.

Los contenidos y los puntos de vista reflejados en esta publicación son responsabilidad exclusiva de su autor.

calendar icon
Blog

La inteligencia artificial generativa se refiere a la capacidad de una máquina para generar contenido original y creativo, como imágenes, texto o música, a partir de un conjunto de datos de entrada. En lo que se refiere a la generación de texto, estos modelos son accesibles, en formato experimental, desde hace un tiempo, pero comenzaron a generar interés a mediados de 2020 cuando Open AI, una organización dedicada a la investigación en el campo de la inteligencia artificial general, publicó el acceso a su modelo de lenguaje GPT-3 a través de una API.

La arquitectura de GPT-3 está compuesta por 175 mil millones de parámetros, mientras que la de su antecesor GPT-2 era de 1.500 millones de parámetros, esto es, más de 100 veces más. GPT-3 representa por tanto un cambio de escala enorme ya que además fue entrenado con un corpus de datos mucho mayor y un tamaño de los tokens mucho más grande, lo que le permitió adquirir una comprensión más profunda y compleja del lenguaje humano.

A pesar de que fue de 2022 cuando OpenAI anunció la apertura de chatGPT, que permite dotar de una interfaz conversacional a un modelo de lenguaje basado en una versión mejorada de GPT-3, no ha sido hasta los últimos dos meses cuando la noticia ha llamado masivamente la atención del público, gracias a la amplia cobertura mediática que trata de dar respuesta al incipiente interés general.

Y es que, ChatGPT no sólo es capaz de generar texto a partir de un conjunto de caracteres (prompt) como GPT-3, sino que responde a preguntas en lenguaje natural en varios idiomas que incluyen inglés, español, francés, alemán, italiano o portugués. Es precisamente este cambio en la interfaz de acceso, pasando de ser una API a un chatbot, lo que lo ha convertido a la IA en accesible para cualquier tipo de usuario.

Tanto es así que más de un millón de personas se registraron para usarlo en tan solo cinco días, lo que ha motivado la multiplicación de ejemplos en los que chatGPT produce código de software, ensayos de nivel universitario, poemas e incluso chistes. Eso sin tener en cuenta que ha sido capaz de sacar adelante un examen de selectividad de Historia o de aprobar el examen final del MBA de la prestigiosa Wharton School.

Todo esto ha puesto a la IA generativa en el centro de una nueva ola de innovación tecnológica que promete revolucionar la forma en que nos relacionamos con internet y la web a través de búsquedas vitaminadas por IA o navegadores capaces de resumir el resultado de estas búsquedas.

Hace tan solo unos días, conocíamos la noticia de que Microsoft trabaja en la implementación de un sistema conversacional dentro de su propio buscador, el cual ha sido desarrollado a partir del conocido modelo de lenguaje de Open AI y cuya noticia ha puesto en jaque a Google.

Y es que, como consecuencia de esta nueva realidad en la que la IA ha llegado para quedarse, los gigantes tecnológicos han ido un paso más allá en la batalla por aprovechar al máximo los beneficios que esta reporta. En esta línea, Microsoft ha presentado una nueva estrategia dirigida a optimizar al máximo la manera en la que nos relacionamos con internet, introduciendo la IA para mejorar los resultados ofrecidos por los buscadores de navegadores, aplicaciones, redes sociales y, en definitiva, todo el ecosistema de la web.

Sin embargo, aunque el camino en el desarrollo de los nuevos y futuros servicios ofrecidos por la IA de Open AI aún están por ver, avances como los anteriores ofrecen una pequeña pista de la guerra de navegadores que se avecina y que, probablemente, cambie en el corto plazo la manera de crear y hallar contenido en la web.

Los datos abiertos

GPT-3, al igual que otros modelos que han sido generados con las técnicas descritas en la publicación científica original de GTP-3, es un modelo de lenguaje pre-entrenado, lo que significa que ha sido entrenado con un gran conjunto de datos, en total unos 45 terabytes de datos de texto. Según este paper, el conjunto de datos de entrenamiento estaba compuesto en un 60% por datos obtenidos directamente de internet en los que están contenidos millones de documentos de todo tipo, un 22% del corpus WebText2 construido a partir de Reddit, y el resto con una combinación de libros (16%) y Wikipedia (3%).

Sin embargo, no se sabe cuántos datos abiertos utiliza GPT-3 exactamente, ya que OpenAI no proporciona detalles más específicos sobre el conjunto de datos utilizado para entrenar el modelo.  Lo que sí podemos hacer son algunas preguntas al propio chatGPT que nos ayuden a extraer interesantes conclusiones sobre el uso que hace de los datos abiertos.

Por ejemplo, si le preguntamos a chatGPT cuál era la población de España entre 2015 y 2020 (no podemos pedirle datos más recientes), obtenemos una respuesta de este tipo:

Tal como podemos ver en la imagen superior, aunque la pregunta sea la misma, la respuesta puede variar tanto en la redacción como en la información que contiene. Las variaciones pueden ser aún mayores si realizamos la pregunta en diferentes días o hilos de conversación:

Pequeñas variaciones en la redacción del texto, generar la pregunta en diferentes momentos del hilo de conversación (recordemos que guarda el contexto) o en hilos o días diferentes puede conducir a resultados ligeramente diferentes. Además, la respuesta no es completamente precisa, tal y como nos advierte la propia herramienta si las comparamos con las series de población residente en España del propio INE, donde nos recomienda consultar. Los datos que idealmente habríamos esperado en la respuesta podrían obtenerse en un conjunto de datos abiertos del INE:

Este tipo de respuestas sugieren que los datos abiertos no se han empleado como una fuente autoritativa para responder preguntas de tipo factual, o al menos que aún no está completamente refinado el modelo en este sentido. Haciendo algunas pruebas básicas con preguntas sobre otros países hemos observado errores parecidos, por lo que no parece que se trate de un problema sólo con preguntas referentes a España.

Si hacemos preguntas algo más específicas como pedir la lista de los municipios de la provincia de Burgos que comienzan por la letra “G” obtenemos respuestas que no son completamente correctas, como es propio de una tecnología que todavía está en fase incipiente.

La respuesta correcta debería contener seis municipios: Galbarros, La Gallega, Grijalba, Grisaleña, Gumiel de Hizán y Gumiel del Mercado. Sin embargo, la respuesta que hemos obtenido sólo contiene los cuatro primeros e incluye localidades de la provincia de Guadalajara (Gualda), municipios de la provincia de Valladolid (Gallegos de Hornija) o localidades de la provincia de Burgos que no son municipios (Galarde).  En este caso, también podemos acudir a conjunto de datos abiertos para obtener la respuesta correcta.

A continuación, le preguntamos a ChatGPT por la lista de municipios que comienzan por la letra Z en la misma provincia. ChatGPT nos dice que nos hay ninguno, razonando  la respuesta, cuando en realidad hay cuatro:

Como se deduce de los ejemplos anteriores, vemos cómo los datos abiertos sí pueden contribuir a la evolución tecnológica y, por ende, a mejorar el funcionamiento de la inteligencia artificial de Open AI. Sin embargo, dado el estado de madurez actual de la misma, aún es pronto para ver un empleo óptimo de estos, a la hora de dar respuesta a preguntas más complejas.

Por lo tanto, para que un modelo de inteligencia artificial generativa sea eficaz, es necesario que cuente con una gran cantidad de datos de alta calidad y diversidad, y los datos abiertos son una fuente de conocimiento valiosa para este fin.

Probablemente, en futuras versiones del modelo, podamos ver cómo los datos abiertos ya adquieren un peso mucho más importante en la composición del corpus de entrenamiento, logrando conseguir una mejora importante en la calidad de las respuestas de tipo factual.


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.

calendar icon
Entrevista

HelpVoice! es un servicio diseñado para ayudar a las personas mayoresque hayan podido sufrir algún percance,utilizando técnicas de reconocimiento de voz basadas en aprendizaje automático. Este prototipo se hizo con el primer premio del IV Desafío Aporta, centrado en el valor del dato para la salud y el bienestar de los ciudadanos.Hemos hablado con sus creadores, Sandra García, Antonio Ríos y Alberto Berenguer, integrantes del equipo Data Express para que nos cuenten cómo fue su experiencia.

 

Entrevista completa

1. ¿Cómo funciona HelpVoice!?

HelpVoice! es una aplicación multisistema. Por lo general, todo gira alrededor de una emergencia (referida como alerta dentro de la terminología de nuestra aplicación). Según el rol que tenga un usuario dentro de una alerta, utilizará un sistema en concreto. En primer lugar, los pacientes dispondrán de una aplicación instalada en un dispositivo con recogida de voz, por ejemplo, un dispositivo móvil, uno de domótica o incluso uno IoT.Cuando el usuario graba una alerta, esta se envía a nuestros servidores que transcribirán el mensaje a texto y detectarán las palabras clave que contiene el mensaje para determinar tanto qué padece como qué grado de emergencia requiere la urgencia. Una vez obtenida esta información, el servidor busca a los hospitales más cercanos que estén capacitados para atender dicha alerta. Los hospitales, a su vez, dispondrán de una aplicación de escritorio que les permitirá gestionar las alertas, mediante una interfaz que les muestra toda la información recabada del mensaje enviado por el paciente.Los hospitales, mediante este programa, responderán a las alertas y determinarán el procedimiento de acción que se debe tomar. Todas las respuestas de los hospitales se notificarán tanto al paciente como a sus familiares, quienes también estarán registrados en la aplicación. Finalmente, los familiares disponen de una aplicación móvil que les permite realizar un seguimiento en tiempo real tanto de la alerta enviada por el paciente como de la respuesta que ha dado el hospital.

2. ¿Qué mejoras aporta su proyecto, basado en datos abiertos, al sector de la salud y el bienestar?

Una de las razones por las que surgió HelpVoice! fue el colapso telefónico que sufrió España durante la pandemia de la COVID-19, donde el contacto telefónico con los centros de salud era prácticamente imposible. Por otro lado, tuvimos tambiénen cuentalas denuncias del colectivo de personas mayores acerca de la brecha digital que hay hoy en día.Por lo tanto, HelpVoice! trata de ser una herramienta que mejora un servicio elemental, la atención de primer triaje hospitalario,y esto lo consiguemediante tecnologías potentes basadas en datos e inteligencia artificial la cual, a su vez, resulta accesible tanto para los usuarios como a los hospitales, los cuales necesitan tomar decisiones rápidas y precisas a la hora de atender emergencias.

3. ¿Cómo fue el proceso de desarrollo del prototipo? ¿Qué retos se encontraron y cómo los solucionaron?

El desarrollo de HelpVoice ha sido todo un desafío.En primer lugar, tuvimos dificultades para desarrollarnuestros sistemas de detección de palabras clave y predicción de enfermedades, ya que actualmente no existen bases de datos públicas en español que contemplen este tipo de problemas (finalmente, recurrimos a recursos en inglés).Por otro lado, la programación de la aplicación fue en sí un proceso complicado, ya que realizamos muchas iteraciones y tuvimos que aprender nuevas tecnologías que nos permitiesen llegar a ese prototipo que presentamos. Por ejemplo, realizamos tres versiones de la arquitectura de comunicación de las alertas y fue la primera vez que creamos softwareorientado a escritorio.A todo esto, se suma que uno de nuestros compañeros, Antonio, estaba viviendo en Canadá durante el desarrollo del prototipo, por lo que la diferencia horaria entre países supuso un obstáculo importante a la hora de establecer reuniones para coordinarse y evaluar los avances desarrollados.Sin embargo, aunque el camino fuese complicado, también ha sido una oportunidad única para aprender en todos los sentidos.

4. ¿Cómo ha sido su experiencia en el Desafío Aporta?¿Qué recomendaría a aquellas personas que estén pensando en participar en la próxima edición?

En general ha sido una experiencia muy enriquecedora; desde el principio, donde nos reunimos para idear una solución que se ajustase a los requisitos del desafío y aportase valor, hasta el final, donde tuvimos que desarrollar las ideas que habíamos planteado en la primera fase, haciendo frente a la cantidad de problemas que nos surgieron.A las personas que estén pensando en apuntarse, les recomendaríamos que no duden en apuntarse, porque es una oportunidad única para aprender.Dentro de los aspectos más técnicos del desafío recomendamos que el equipo sea lo más variado posible, con personal que aporte conocimiento experto, lo cual suma mucho valor a la propuesta.Finalmente, recomendamos también reflexionar y explorar sobre el tema propuesto para el desafío. Son propuestas muy abiertas donde muchas soluciones de gran utilidad pueden aparecer si se itera sobre ellas. No quedaros nunca con la primera idea que surja.

5. ¿Cuáles son sus próximos pasos? ¿Tienen pensado continuar trabajando en HelpVoice! u otros proyectos relacionados con los datos abiertos?

En primer lugar, estamos centrados en acabar nuestras tesis doctorales. Al fin y al cabo, HelpVoice! es una propuesta que hemos planteado como trabajo para explorar, aprender y salirnos de nuestra rutina académica. Hemos de admitir que este premio ha sido toda una sorpresa para nosotros. No nos habíamos planteado mucho el futuro del trabajo más allá de participar en el concurso. Sin embargo, con la aceptación que ha tenido, estamos planteándonos concretar el desarrollo del prototipo presentado y proponer una aplicación final que pueda brindar los servicios de HelpVoice! a la sociedad, al igual que también trataremos de buscar vías de financiación para que el desarrollo de ésta sea viable. Lo que sí tenemos claro, es que HelpVoice! no acaba aquí. ¡Veremos qué nos depara el futuro!

calendar icon
Noticia

El Pleno del Consejo de la Comunidad Valenciana ha aprobado un convenio de colaboración entre la Consejería de Participación, Transparencia, Cooperación y Calidad Democrática y la Universidad Politécnica de Valencia (UPV) con el objetivo de fomentar el desarrollo de actividades en materia de transparencia y datos abiertos durante el 2023. 

De este modo, la Consejería de Transparencia destinará 65.000 euros para impulsar las actividades del convenio centradas en la apertura y reutilización de los datos presentes en los distintos niveles de las administraciones públicas. 

Entre las acciones previstas, destaca la celebración de la tercera edición de Datathon de datos abiertos, un evento que busca incentivar el uso de los datos abiertos para desarrollar aplicaciones y servicios que aporten beneficios para la ciudadanía. Esta colaboración también apostará por promocionar la reutilización de datos relacionados con el ámbito empresarial, fomentando la innovación, difusión y sensibilización en distintos sectores.  

De forma paralela, está planificado trabajar de forma conjunta con distintas entidades de la sociedad civil para establecer una serie de sensores inteligentes para recoger datos, a la par que se impulsará la realización de talleres y seminarios sobre periodismo de datos. 

A su vez, se incluyen una serie de jornadas divulgativas dirigidas a difundir conocimiento sobre el uso y la compartición de los datos abiertos, la presentación del proyecto Datos y Mujeres o la difusión del depósito de datos abiertos de investigación o de transparencia en los algoritmos. 

Igualmente, la colaboración contempla la programación de charlas y talleres para la promoción del uso de datos abiertos en institutos de Educación Secundaria, la integración de los datos abiertos en diferentes asignaturas del doctorado, el grado y el máster sobre Gestión y Administración Pública, el máster de Gestión Cultural y algunas materias trasversales de doctorado. 

Por último, esta colaboración entre la universidad y la administración también busca promocionar y tutorizar gran parte de los trabajos en materia de transparencia y datos abiertos, entre los que se incluye la elaboración de una guía de reutilización de datos abiertos dirigida a reutilizadores, así como actividades de difusión de la Alianza para el Gobierno Abierto (OGP) y planes de acción de la Comunitat Valenciana. 

Proyectos anteriores relacionados con los datos abiertos 

Al margen del plan de actividades diseñado para este 2023 y detallado en las líneas anteriores, esta no es la primera vez que la Universidad Politécnica de Valencia y la Consejería de Participación y Transparencia trabajan conjuntamente en la divulgación y promoción de los datos abiertos. De hecho, para ser exactos, desde el  Observatorio de Datos Abiertos y Transparencia perteneciente a la misma universidad, trabajan activamente por promover el valor y la compartición de los datos tanto en el ámbito universitario como social. 

Sin ir más lejos, en línea con este trabajo divulgativo, el pasado 2022, desde la propia entidad impulsaron la iniciativa ‘Mujeres y Datos’, un proyecto que logró a reunir a varias mujeres del ámbito de los datos para hablar de su experiencia profesional, los retos y oportunidades que aborda el sector. 

Entre las entrevistadas destacaron nombres como Sonia Castro, coordinadora de datos.gob.es, Ana Tudela, cofundadora de Datadista o Laura Castro, diseñadora de visualización de datos en Afective Advisory, entre otras muchas otras profesionales.   

Asimismo, la primavera del año pasado y coincidiendo con el Día Internacional de los Datos Abiertos, tuvo lugar la segunda edición del Datathon, cuya finalidad fue impulsar el desarrollo de nuevas herramientas a partir de datos abiertos que estuviesen vinculadas al consumo responsable, el medioambiente o la cultura. 

De este modo, esta particular alianza entre la Conselleria de Participación y Transparencia y la Universidad Politécnica de Valencia demuestra que no solo es posible dar a conocer el potencial de los datos abiertos, sino que además las oportunidades de divulgación se multiplican cuando las instituciones y el ámbito académico trabajan de forma coordinada y planificada sobre los mismos objetivos.  

calendar icon
Noticia

Actualizado: 21/03/2024

En enero de 2023, la Comisión Europea publicó un listado de conjuntos de datos de alto valor que los organismos del sector público deberían poner a disposición de la ciudadanía en un plazo máximo de 16 meses. El principal objetivo de establecer la lista de conjuntos de datos de alto valor es garantizar que los datos públicos de mayor potencial socioeconómico se pongan a disposición para su reutilización con una restricción jurídica y técnica mínima, y sin coste alguno. Dentro de estos conjuntos de datos del sector público, algunos como los meteorológicos o los relativos a la calidad del aire, resultan especialmente interesantes para desarrolladores y creadores de servicios como aplicaciones o páginas webs, que reportan valor añadido e importantes beneficios para la sociedad, el medioambiente o la economía.

La publicación del Reglamento se acompañó de unas preguntas frecuentes para ayudar a los organismos públicos a entender el beneficio de los HVDS (High Value Datasets) en la sociedad y la economía, así como para explicar algunos aspectos sobre la obligatoriedad y las ayudas para la publicación.

En línea con esta propuesta, la Vicepresidenta Ejecutiva para una Europa adaptada a la era digital, Margrethe Vestager, declaró lo siguiente en la nota de prensa lanzada por la Comisión Europea:

“Poner a disposición del público conjuntos de datos de gran valor beneficiará tanto a la economía como a la sociedad, por ejemplo, ayudando a combatir el cambio climático, reduciendo la contaminación atmosférica urbana y mejorando las infraestructuras de transporte. Se trata de un paso práctico hacia el éxito de la Década Digital y la construcción de un futuro digital más próspero”.

De forma paralela, Thierry Breton, Comisario de Mercado Interior, quiso añadir también las siguientes palabras a colación del anuncio del listado de los datos de alto valor: “Los datos son una piedra angular de nuestra competitividad industrial en la UE. Con la nueva lista de conjuntos de datos de alto valor estamos desbloqueando una gran cantidad de datos públicos en beneficio de todos. Las nuevas empresas y las pymes podrán utilizar estos para desarrollar nuevos productos y soluciones innovadoras que mejoren la vida de los ciudadanos de la UE y de todo el mundo”.

Seis categorías para aglutinar los nuevos conjuntos de datos de alto valor

De este modo, el reglamento se crea al amparo de la Directiva Europea de Datos Abiertos, que define seis categorías para diferenciar los nuevos conjuntos de datos de alto valor solicitados:

  • Geoespaciales
  • De observación de la Tierra y medioambiente
  • Meteorológicos
  • Estadísticos
  • De empresas
  • De movilidad

No obstante, tal y como recoge la nota de prensa de la Comisión Europea, esta gama temática podría ampliarse posteriormente en función de la evolución de la tecnología y el mercado. Así, los conjuntos de datos estarán disponibles en formato legible por máquina, a través de una interfaz de programación de aplicaciones (API) y, si fuera relevante, también con opción de descarga masiva.

Además, la reutilización de conjuntos de datos como los de movilidad o geolocalización de edificios puede ampliar las oportunidades de negocio disponibles para sectores como la logística o el transporte. De forma paralela, los datos de observación meteorológica, de radar, de calidad del aire o de contaminación del suelo también pueden apoyar la investigación y la innovación digital, así como la elaboración de políticas en la lucha contra el cambio climático.

En definitiva, una mayor disponibilidad de datos y, en especial de alto valor, tiene la capacidad de impulsar el espíritu empresarial ya que estos conjuntos de datos pueden ser un recurso importante para que las pymes desarrollen nuevos productos y servicios digitales, lo que a su vez también puede atraer nuevos inversores.

Descubre más en esta infografía:

Infografía-resumen sobre los datos de alto valor

Accede a la versión accesible en dos páginas.

calendar icon
Empresa reutilizadora

Digital Earth Solutions es una empresa tecnológica cuyo objetivo es contribuir a la conservación de los ecosistemas marinos mediante soluciones innovadoras de modelización oceánica.
Basados en más de 20 años de estudio del CSIC en dinámica oceánica, Digital Solutions ha desarrollado un software único capaz de predecir en pocos minutos y con alta precisión la evolución geográfica de cualquier vertido o cuerpo flotante (plásticos, personas, algas...), pronosticando su trayectoria en el mar para los siguientes días o su origen analizando su movimiento atrás en el tiempo.
Gracias a esta tecnología es posible minimizar el impacto que generan los vertidos de petróleo y otros residuos en costas, mares y océanos.

calendar icon
Blog

Llevamos años anunciando que la Inteligencia Artificial está viviendo uno de sus periodos más prolíficos y excitantes. Un momento en el que comienzan a verse aplicaciones y casos de uso donde la inteligencia humana se funde con la artificial. Algunas profesiones están cambiando para siempre. Los periodistas y escritores disponen ahora de herramientas de software que pueden escribir por ellos. Los creadores de contenido - imágenes o video - pueden pedirle a la máquina que, mediante una frase, que cree por ellos. En este post profundizamos en este último ejemplo. Hemos podido probar Dall-e 2 y nos hemos quedado de piedra con los resultados.

Introducción

Estos días, en la comunidad tecnológica del mundo entero, hay un murmullo de fondo, una excitación colectiva de todos los amantes de las tecnologías digitales y en particular de la inteligencia artificial. En varias ocasiones hemos mencionado en este espacio de comunicación las innovaciones de la compañía OpenAI. Hemos escrito varios artículos donde hablamos del algoritmo GPT-3 y de lo que es capaz en el campo del procesamiento del lenguaje natural. Recientemente, OpenAI ha ido eliminando las listas de espera (en las que muchos llevábamos tiempo inscritos) para permitirnos probar de forma limitada las capacidades del algoritmo GPT-3 implementado en diferentes tipos de aplicación.

Ejemplo de las múltiples aplicaciones de GPT-3 en el ámbito del lenguaje natural.

Recomendamos a nuestros lectores experimentar con la herramienta para completar texto, en la que con tan solo proporcionar una corta frase, la IA nos completa el texto con varios párrafos indistinguibles de la redacción de un humano. Los últimos días, están siendo frenéticos con multitud de personas probando la herramienta de Chat GPT-3. El nivel de naturalidad de la IA para mantener una conversación es, sencillamente, alucinante. Los resultados están impactando en casos de uso muy variados, como por ejemplo, la asistencia para programadores de software. Chat GPT-3 está siendo capaz de programar sencillas rutinas de código o algoritmos con tan solo describir en lenguaje natural lo que se quiere programar. Pero, el resultado impresiona más aún si caemos en que la IA es capaz de corregir sus propios errores de programación.

DALL-E

Dejando a un lado, las capacidades de generar lenguaje natural indistinguible del escrito por un humano, vamos al tema central de este post. Una de las aplicaciones más sorprendentes de la IA de OpenAI es la solución conocida cómo DALL-E. Qué mejor manera de presentar DALL-E que preguntarle a Chat GPT-3 qué es DALL-E.

La descripción más formal de DALL-E, de acuerdo con su propia web es:

DALL·E es una versión de GPT-3 entrenado con 12 mil millones de parámetros para generar imágenes a partir de descripciones de texto. DALL-E tiene un conjunto diverso de capacidades, incluida la creación de versiones antropomórficas de animales y objetos, la combinación de conceptos no relacionados de manera plausible, la representación de texto y la aplicación de transformaciones a imágenes existentes.

Actualmente existe una segunda versión del algoritmo DALL-E 2 capaz de generar imágenes más realistas y precisas con una resolución 4 veces mayor. La herramienta para probar DALL-E está disponible aquí https://labs.openai.com/. Para usarla es necesario crear previamente una cuenta en OpenAI que nos permitirá jugar con todas las herramientas de la compañía. Cuándo accedemos a la web de prueba podemos escribir nuestro propio texto o pedirle a la herramienta que genere descripciones aleatorias de imágenes en lenguaje natural para crear imágenes. Por ejemplo, haciendo clic sobre el botón Surprise me:

La web nos genera esta descripción aleatoria: an astronaut lounging in a tropical resort in space, pixel art

Y este es el resultado:

Repetimos: an expressive oil painting of a basketball player dunking, depicted as an explosion of a nebula

Podemos asegurar que el ejercicio resulta algo adictivo y damos fe de que algunos nos hemos pasado horas del fin de semana jugando con las descripciones y esperando, una y otra vez, el asombroso resultado.

Sobre el entrenamiento de DALL-E 2

DALL-E 2 (arXiv:2204.06125) es una versión refinada del sistema original DALL-E (arXiv:2102.12092). Para entrenar el modelo original de DALL-E, que contiene 12 mil millones de parámetros, se utilizó un conjunto de 250 millones de pares de texto-imagen (públicamente disponibles en Internet). Este conjunto de datos es una mezcla de varios datasets previos compuesto por: Conceptual Captions de Google; los pares de texto e imagen de Wikipedia y un subconjunto filtrado de YFCC100M.

Curiosidades de DALL-E 2

Algunas curiosidades más allá de las pruebas que podemos hacer para generar nuestras propias imágenes. OpenAI ha creado un repositorio específico de Github en el que describe los riesgos y limitaciones de DALL-E. En el sitio se informa, por ejemplo, de que, por el momento, el uso de DALL-E está limitado para propósitos no comerciales. Así que no es posible hacer ningún uso comercial de las imágenes generadas. Es decir, no pueden ser vendidas, ni licenciadas bajo ningún supuesto. En este sentido, todas las imágenes generadas por DALL-E incluyen una marca distintiva que permite saber que han sido generadas con la IA. En el sitio de Github podemos encontrar ingente cantidad de información sobre la generación de contenido explícito, los riesgos relacionados con el sesgo que la IA pueda introducir en la generación de imágenes y los usos inadecuados de DALL-E cómo por ejemplo, el acoso, el bullying o la explotación de individuos.

En clave nacional, MarIA

En clave nacional, tras meses de pruebas y ajustes, ha visto la luz MarIA: la primera inteligencia artificial supermasiva, entrenada con datos abiertos procedentes de los archivos web de la Biblioteca Nacional de España (BNE) y gracias a los recursos de computación del Centro Nacional de Supercomputación. En relación con este post, MarIA ha sido entrenada haciendo uso del algoritmo GPT-2, del que hemos hablado mucho meses atrás en este espacio. Para realizar el entrenamiento de MarIA, se han utilizado 135 mil millones de palabras precedentes del banco documental de la Biblioteca Nacional con un volumen total de 570 Gigabytes de información.

Conclusiones

A medida que transcurren los días y las semanas desde la apertura general de las APIs y las herramientas de OpenIA, se suceden torrencialmente las publicaciones en todo tipo de medios, redes sociales y blogs especializados sobre las capacidades y posibilidades de Chat GPT-3 y DALL-E. No creo que en estos momentos nadie sea capaz de avanzar las potenciales aplicaciones comerciales, científicas y sociales de esta tecnología. Lo que está claro, es que muchos pensamos que OpenAI ha enseñado solo una muestra de lo que es capaz y parece que podemos estar a las puertas de un hito histórico en el desarrollo de la IA tras muchos años de sobreexpectación y promesas a medio cumplir. Seguiremos informando sobre los avances de GTP-3, pero por el momento, no nos queda más que seguir disfrutando, jugando y aprendiendo con las sencillas herramientas que tenemos a disposición!


Contenido elaborado por Alejandro Alija, experto en Transformación Digital.

Los contenidos y los puntos de vista reflejados en esta publicación son responsabilidad exclusiva de su autor.

calendar icon
Noticia

A tan solo unos días de que finalice 2022, queremos aprovechar para hacer un pequeño balance del año que termina, un periodo en el que la comunidad de datos abiertos no ha dejado de crecer en España y en el que hemos sumado fuerzas e ilusión con la adhesión de  la Oficina del Dato, unidad encargada de dinamizar la gestión, compartición y el uso de los datos a lo largo de todos los sectores productivos de la Economía y Sociedad española, focalizando sus esfuerzos en particular en el impulso de los espacios de compartición y explotación de datos sectoriales.

Gracias precisamente a la incorporación de la Oficina del Dato, desde la Iniciativa Aporta hemos podido duplicar el efecto divulgativo, y promover el papel que desempeñan los datos abiertos en el desarrollo de la economía del dato.

De forma paralela, durante este 2022, hemos continuado trabajando para acercar los datos abiertos a la ciudadanía, la comunidad profesional y las administraciones públicas. Así y con el objetivo de fomentar la reutilización de los datos abiertos con fines sociales, hemos vuelto a organizar una nueva edición del Desafío Aporta.

Con el foco puesto en la salud y el bienestar de los ciudadanos, la cuarta edición de esta competición contó con tres ganadores del más alto nivel y cuyas soluciones digitales tienen como denominador común, mejorar la salud física y mental de las personas, gracias a servicios desarrollados con datos abiertos.

Nuevos ejemplos de casos de uso y visualizaciones paso a paso

A su vez, a lo largo de este año, hemos continuado caracterizando nuevos ejemplos de casos de uso que contribuyen a aumentar el catálogo de empresas reutilizadoras de datos abiertos y aplicaciones. Con las nuevas incorporaciones, datos.gob.es ya cuenta con un catálogo de 84 empresas reutilizadoras y un total de 418 aplicaciones desarrolladas a partir de datos abiertos. De estas, más de 40 han sido identificadas en 2022.

Además, desde que el pasado año inauguramos la sección de visualizaciones paso a paso, seguimos explorando el potencial de las mismas para que los usuarios puedan inspirarse y replicar los ejemplos de manera sencilla.

Informes, guías y material audiovisual para promover el uso de los datos abiertos

Con el propósito de seguir brindando asesoramiento a las comunidades de publicadores y reutilizadores de datos abiertos, otro de los ejes de este 2022 se ha focalizado en ofrecer informes innovadores sobre las últimas tendencias en inteligencia artificial y otras tecnologías emergentes, así como el desarrollo de guías, infografías y vídeos que ayudan a conocer de cerca nuevos casos de uso y tendencias relacionadas con los datos abiertos.

Algunos de los artículos más leídos en el portal datos.gob.es han sido ‘4 ejemplos de proyectos de empresas privadas que apuestan por la compartición de datos en abiertos’, ‘¿Cómo evoluciona la transformación digital en España?’ o ‘Los principales retos para impulsar espacios de datos sectoriales’, entre otros. Respecto a las entrevistas, destacamos las realizadas a los ganadores del IV Desafío Aporta, a Hélène Verbrugghe, Public Policy Manager para España y Portugal de Meta o a Alberto González Yanes, Jefe de Servicio de Estadísticas Económicas del Instituto Canario de Estadística (ISTAC), entre algunos ejemplos.

Por último, queremos agradecer un año más a la comunidad open data su apoyo. Durante 2022, hemos conseguido que el Catálogo Nacional de Datos supere los 64.000 conjuntos de datos publicados. Además, datos.gob.es ha recibido más de 1.300.000 visitas, un 25% más que en 2021, y los perfiles de datos.gob.es en LinkedIn y en Twitter han crecido un 45% y un 12% respectivamente.

Desde datos.gob.es y la Oficina del Dato afrontamos este nuevo año cargados de ilusión y ganas de trabajar para que los datos abiertos sigan avanzando en España de la mano de publicadores y reutilizadores.

¡Por un 2023 cargado de éxitos!

Si deseas ver la infografía a tamaño completo puedes hacer click aquí.

** Para poder acceder a los enlaces incluidos dentro de la propia imagen descargar la versión pdf disponible a continuación.

calendar icon
Blog

En este post describimos paso a paso un ejercicio de ciencia de datos en el que tratamos de entrenar un modelo de deep learning con el objetivo de clasificar automáticamente imágenes médicas de personas sanas y enfermas.

El diagnóstico por radio-imagen existe desde hace muchos años en los hospitales de los países desarrollados, sin embargo, siempre ha existido una fuerte dependencia de personal altamente especializado. Desde el técnico que opera los instrumentos hasta el médico radiólogo que interpreta las imágenes. Con nuestras capacidades analíticas actuales, somos capaces de extraer medidas numéricas como el volumen, la dimensión, la forma y la tasa de crecimiento (entre otras) a partir del análisis de imagen. A lo largo de este post trataremos de explicarte, mediante un sencillo ejemplo, la potencia de los modelos de inteligencia artificial para ampliar las capacidades humanas en el campo de la medicina.

Este post explica el ejercicio práctico (sección Action) asociado al informe Tecnologías emergentes y datos abiertos: introducción a la ciencia de datos aplicada al análisis de imagen”. Dicho informe introduce los conceptos fundamentales que permiten comprender cómo funciona el análisis de imagen, detallando los principales casos de aplicación en diversos sectores y resaltando el papel de los datos abiertos en su ejecución.

Proyectos previos

No podríamos haber preparado este ejercicio sin el trabajo y el esfuerzo previo de otros entusiastas de la ciencia de datos. A continuación, te dejamos una pequeña nota y las referencias a estos trabajos previos.

  • Este ejercicio es una adaptación del proyecto original de Michael Blum sobre el desafío STOIC2021 - dissease-19 AI challenge. El proyecto original de Michael, partía de un conjunto de imágenes de pacientes con patología Covid-19, junto con otros pacientes sanos para hacer contraste.
  • En una segunda aproximación, Olivier Gimenez utilizó un conjunto de datos similar al del proyecto original publicado en una competición de Kaggle. Este nuevo dataset (250 MB) era considerablemente más manejable que el original (280GB). El nuevo dataset contenía algo más de 1000 imágenes de pacientes sanos y enfermos. El código del proyecto de Olivier puede encontrarse en el siguiente repositorio.

Conjuntos de datos

En nuestro caso, inspirándonos en estos dos fantásticos proyectos previos, hemos construido un ejercicio didáctico apoyándonos en una serie de herramientas que facilitan la ejecución del código y la posibilidad de examinar los resultados de forma sencilla. El conjunto de datos original (de rayos-x de tórax) comprende 112.120 imágenes de rayos-X (vista frontal) de 30.805 pacientes únicos. Las imágenes se acompañan con las etiquetas asociadas de catorce enfermedades (donde cada imagen puede tener múltiples etiquetas), extraídas de los informes radiológicos asociados utilizando procesamiento de lenguaje natural (NLP). Partiendo del conjunto de imágenes médicas original hemos extraído (utilizando algunos scripts) una muestra más pequeña y acotada (tan solo personas sanas frente a personas con una sola patología) para facilitar este ejercicio. En particular, la patología escogida es el neumotórax.

Si quieres ampliar la información sobre el campo de procesamiento del lenguaje natural puedes consultar el siguiente informe que ya publicamos en su momento. Además, en el post 10 repositorios de datos públicos relacionados con la salud y el bienestar se cita al NIH como un ejemplo de fuente de datos sanitarios de calidad. En particular, nuestro conjunto de datos está disponible públicamente aquí.

Herramientas

Para la realización del tratamiento previo de los datos (entorno de trabajo, programación y redacción del mismo) se ha utilizado R (versión 4.1.2) y RStudio (2022-02-3). Los pequeños scripts de ayuda a la descarga y ordenación de ficheros se han escrito en Python 3.

Acompañando a este post, hemos creado un cuaderno de Jupyter con el que poder experimentar de forma interactiva a través de los diferentes fragmentos de código que van desarrollando nuestro ejemplo. El objetivo de este ejercicio es entrenar a un algoritmo para que sea capaz de clasificar automáticamente una imagen de una radiografía de pecho en dos categorías (persona enferma vs persona no-enferma). Para facilitar la ejecución del ejercicio por parte de los lectores que así lo deseen, hemos preparado el cuaderno de Jupyter en el entorno de Google Colab que contiene todos los elementos necesarios para reproducir el ejercicio paso a paso. Google Colab o Collaboratory es una herramienta gratuita de Google que te permite programar y ejecutar código en Python (y también en R) sin necesidad de instalar ningún software adicional. Es un servicio online y para usarlo tan solo necesitas tener una cuenta de Google.

Flujo lógico del análisis de datos

Nuestro cuaderno de Jupyter, realiza las siguientes actividades diferenciadas que podrás seguir en el propio documento interactivo cuándo lo vayas ejecutando sobre Google Colab.

  1. Instalación y carga de dependencias.
  2. Configuración del entorno de trabajo
  3. Descarga, carga y pre-procesamiento de datos necesarios (imágenes médicas) en el entorno de trabajo.
  4. Pre-visualización de las imágenes cargadas.
  5. Preparación de los datos para entrenamiento del algoritmo.
  6. Entrenamiento del modelo y resultados.
  7. Conclusiones del ejercicio.

A continuación, hacemos un repaso didáctico del ejercicio, enfocando nuestras explicaciones en aquellas actividades que son más relevantes respecto al ejercicio de análisis de datos:

  1. Descripción del análisis de datos y entrenamiento del modelo
  2. Modelización: creación del conjunto de imágenes de entrenamiento y entrenamiento del modelo
  3. Analisis del resultado del entrenamiento
  4. Conclusiones

Descripción del análisis de datos y entrenamiento del modelo

Los primeros pasos que encontraremos recorriendo el cuaderno de Jupyter son las actividades previas al análisis de imágenes propiamente dicho. Como en todos los procesos de análisis de datos, es necesario preparar el entorno de trabajo y cargar las librerías necesarias (dependencias) para ejecutar las diferentes funciones de análisis. El paquete de R más representativo de este conjunto de dependencias es Keras. En este artículo ya comentamos sobre el uso de Keras como framework de Deep Learning. Adicionalmente también son necesarios los siguientes paquetes: httr; tidyverse; reshape2;patchwork.

A continuación, debemos descargar a nuestro entorno el conjunto de imágenes (datos) con el que vamos a trabajar. Como hemos comentado previamente, las imágenes se encuentran en un almacenamiento remoto y solo las descargamos en Colab en el momento de analizarlas. Tras ejecutar las secciones de código que descargan y descomprimen los ficheros de trabajo que contienen las imágenes médicas encontraremos dos carpetas (No-finding y Pneumothorax) que contienen los datos de trabajo.

Una vez que disponemos de los datos de trabajo en Colab, debemos cargarlas en la memoria del entorno de ejecución. Para ello hemos creado una función que verás en el cuaderno denominada process_pix(). Esta función, va a buscar las imágenes a las carpetas anteriores y las carga en memoria, además de pasarlas a escala de grises y normalizarlas todas a un tamaño de 100x100 pixels. Para no exceder los recursos que nos proporciona de forma gratuita Google Colab, limitamos la cantidad de imágenes que cargamos en memoria a 1000 unidades. Es decir, el algoritmo va a ser entrenado con 1000 imágenes, entre las que va usar para entrenamiento y las que va a usar para la validación posterior.

Una vez tenemos las imágenes perfectamente clasificadas, formateadas y cargadas en memoria  hacemos una visualización rápida para verificar que son correctas.Obtenemos los siguientes resultados:

Obviamente, a ojos de un observador no experto no se ven diferencias significativas que nos permitan extraer ninguna conclusión. En los siguientes pasos veremos cómo el modelo de inteligencia artificial sí que tiene mejor ojo clínico que nosotros.

Modelización

Creación del conjunto de imágenes de entrenamiento

Como comentamos en los pasos previos, disponemos de un conjunto de 1000 imágenes de partida cargadas en el entorno de trabajo. Hasta este momento, tenemos clasificadas (por un especialista en rayos-x) aquellas imágenes de pacientes que presentan indicios de neumotórax (en la ruta "./data/Pneumothorax") y aquellos pacientes sanos (en la ruta "./data/No-Finding")

El objetivo de este ejercicio es, justamente, demostrar la capacidad de un algoritmo de asistir al especialista en la clasificación (o detección de signos de enfermedad en la imagen de rayos-x). Para esto, tenemos que mezclar las imágenes, para conseguir un conjunto homogéneo que el algoritmo tendrá que analizar y clasificar valiéndose solo de sus características. El siguiente fragmento de código,  asocia un identificador (1 para personas enfermas y 0 para personas sanas) para, posteriormente, tras el proceso de clasificación del algoritmo, poder verificar aquellas que el modelo ha clasificado de forma correcta o incorrecta.

Bien, ahora tenemos un conjunto “df” uniforme de 1000 imágenes mezcladas con pacientes sanos y enfermos. A continuación, dividimos en dos este conjunto original. El 80% del conjunto original, lo vamos a utilizar para entrenar el modelo. Esto es, el algoritmo utilizará las características de las imágenes para crear un modelo que permita concluir si una imagen se corresponde con el identificador 1 o 0. Por otro lado, el 20% restante de la mezcla homogénea la vamos a utilizar para comprobar si el modelo, una vez entrenado, es capaz de tomar una imagen cualquiera y asignarle el 1 o el 0 (enfermo, no enfermo).

Entrenamiento del modelo

Listo, solo nos queda configurar el modelo y entrenar con el anterior conjunto de datos.

Antes de entrenar, veréis unos fragmentos de código que sirven para configurar el modelo que vamos a entrenar. El modelo que vamos a entrenar es de tipo clasificador binario. Esto significa que es un modelo que es capaz de clasificar los datos (en nuestro caso imágenes) en dos categorías (en nuestro caso sano o enfermo). El modelo escogido se denomina CNN o Convolutional Neural Network. Su propio nombre ya nos indica que es un modelo de redes neuronales y por lo tanto cae dentro de la disciplina de Deep Learning o aprendizaje profundo. Estos modelos se basan en capas de características de los datos que se van haciendo más profundas a medida que la complejidad del modelo aumenta. Os recordamos que el término deep hace referencia, justamente, a la profundidad del número de capas mediante las cuales estos modelos aprenden.

Nota: los siguientes fragmentos de código son los más técnicos del post. La documentación introductoria se puede encontrar aquí, mientras que toda la documentación técnica sobre las funciones del modelo está accesible aquí.

Finalmente, tras la configuración del modelo, estamos en disposición de entrenar el modelo. Como comentamos, entrenamos con el 80% de las imágenes y validamos el resultado con el 20% restante.

Resultado del entrenamiento

Bien, ya hemos entrenado nuestro modelo. ¿Y ahora qué? Las siguientes gráficas nos proporcionan una visualización rápida sobre cómo se comporta el modelo sobre las imágenes que hemos reservado para validar. Básicamente, estas figuras vienen a representar (la del panel inferior) la capacidad del modelo de predecir la presencia (identificador 1) o ausencia (identificador 0) de enfermedad (en nuestro caso neumotórax). La conclusión es que cuando el modelo entrenado con las imágenes de entrenamiento (aquellas de las que se sabe el resultado 1 o 0) se aplica al 20% de las imágenes de las cuales no se sabe el resultado, el modelo acierta aproximadamente en el 85% (0.87309) de las ocasiones.

En efecto, cuando solicitamos la evaluación del modelo para saber qué tan bien clasifica enfermedades el resultado nos indica la capacidad de nuestro modelo recién entrenado para clasificar de forma correcta el 0.87309 de las imágenes de validación.

Hacemos ahora algunas predicciones sobre imágenes de pacientes. Es decir, una vez entrenado y validado el modelo, nos preguntamos cómo va a clasificar las imágenes que le vamos a dar ahora. Como sabemos "la verdad" (lo que se denomina el ground truth) sobre las imágenes, comparamos el resultado de la predicción con la verdad. Para comprobar los resultados de la predicción (que variarán en función del número de imágenes que se usen en el entrenamiento) se utiliza lo que en ciencia de datos se denomina la matriz de confusión. La matriz de confusión:

  • coloca en la posición (1,1) los casos que SÍ tenían enfermedad y el modelo clasifica como "con enfermedad"
  • coloca en la posición (2,2), los casos que NO tenían enfermedad y el modelo clasifica como "sin enfermedad"

Es decir, estas son las posiciones en las que el modelo "acierta" en su clasificación.

En las posiciones contrarias, es decir, la (1,2) y la (2,1) son las posiciones en las que el modelo se "equivoca". Así, la posición (1,2) son los resultados que el modelo clasifica como CON enfermedad y la realidad es que eran pacientes sanos. La posición (2,1), justo lo contrario.

Ejemplo explicativo sobre cómo funciona la matriz de confusión. Fuente: wikipedia https://en.wikipedia.org/wiki/Confusion_matrix

En nuestro ejercicio, el modelo nos proporciona los siguientes resultados:

Es decir, 81 pacientes tenían esta enfermedad y el modelo los clasifica de forma correcta. De la misma forma, 91 pacientes estaban sanos y el modelo los clasifica, igualmente, de forma correcta. Sin embargo, el modelo clasifica cómo enfermos, 13 pacientes que estaban sanos. Y al contrario, el modelo clasifica cómo sanos a 12 pacientes que en realidad estaban enfermos. Cuando sumamos los aciertos del modelo 81+91 y lo dividimos sobre la muestra de validación total obtenemos el 87% de precisión del modelo.

Conclusiones

En este post te hemos guiado a través de un ejercicio didáctico que consiste en entrenar un modelo de inteligencia artificial para realizar clasificaciones de imágenes de radiografías de pecho con el objetivo de determinar automáticamente si una persona está enferma o sana. Por sencillez, hemos escogido pacientes sanos y pacientes que presentan un neumotórax (solo dos categorías) previamente diagnosticados por un médico. El viaje que hemos realizado nos ofrece una idea de las actividades y las tecnologías involucradas en el análisis automatizado de imágenes mediante inteligencia artificial. El resultado del entrenamiento nos ofrece un sistema de clasificación razonable para el screening automático con un 87% de precisión en sus resultados. Los algoritmos y las tecnologías avanzadas de análisis de imagen son y cada vez más serán, un complemento indispensable en múltiples ámbitos y sectores como, por ejemplo, la medicina. En los próximos años veremos cómo se consolidan los sistemas que, de forma natural, combinan habilidades de humanos y máquinas en procesos costosos, complejos o peligrosos. Los médicos y otros trabajadores verán aumentadas y reforzadas sus capacidades gracias a la inteligencia artificial. La combinación de fuerzas entre máquinas y humanos nos permitirá alcanzar cotas de precisión y eficiencia nunca vistas hasta la fecha. Esperamos que con este ejercicio os hayamos ayudado a entender un poco más cómo funcionan estas tecnologías. No olvides completar tu aprendizaje con el resto de materiales que acompañan este post.


Contenido elaborado por Alejandro Alija, experto en Transformación Digital. Los contenidos y los puntos de vista reflejados en esta publicación son responsabilidad exclusiva de su autor.

calendar icon
Documentación

Te presentamos un nuevo informe de la serie ‘Tecnologías emergentes y datos abiertos’, de la mano de Alejandro Alija. El objetivo de estos informes es ayudar al lector a entender cómo funcionan diversas tecnologías, cuál es el papel de los datos abiertos en ellas y qué impacto tendrán en nuestra sociedad. A esta serie pertenecen algunos monográficos sobre técnicas de análisis de datos como el análisis del lenguaje natural o la analítica predictiva.  En este nuevo volumen de la serie se analizan los aspectos clave del análisis de datos aplicado a las imágenes y, a través de este ejercicio Inteligencia Artificial aplicada a la identificación y clasificación de enfermedades mediante radio imagen médica, se profundiza en la vertiente más práctica del monográfico.

El análisis de imágenes adopta diferentes nombres y formas de referirse a él. Algunos de los más comunes son visual analytics, computer vision o image processing. La importancia de este tipo de análisis presenta una gran relevancia actualmente, ya que muchas de las más modernas técnicas algorítmicas de inteligencia artificial han sido diseñadas concretamente con este objetivo. Algunas de sus aplicaciones las vemos en nuestro día a día, como la identificación de matrículas para acceder a un párking o la digitalización de texto escaneado para poder ser manipulado.

El informe introduce los conceptos fundamentales que permiten comprender cómo funciona el análisis de imagen, detallando los principales casos de aplicación en diversos sectores. Tras una breve introducción elaborada por el autor, que servirá como base para contextualizar la materia a tratar, se expone el informe completo, que sigue la estructura tradicional de la serie:

  • Awareness. En la sección Awareness se explican los conceptos clave de las técnicas de análisis de imagen. A través de este apartado, los lectores pueden encontrar respuestas a cuestiones del tipo: ¿cómo se manipulan las imágenes como datos? o ¿cómo se clasifican las imágenes?, además de descubrir algunas de las aplicaciones más destacadas en el análisis de imagen.
  • Inspire. La sección Inspire analiza detalladamente algunos de los principales casos de uso en sectores tan diferentes como la agricultura, la industria o el sector inmobiliario. También se incluyen ejemplos de aplicación en el campo de la medicina, donde el autor muestra algunos retos de especial importancia en este ámbito.
  • Action: En este caso, la sección Action se ha publicado en formato notebook, de manera separada al informe teórico. En ella se muestra un ejemplo práctico de Inteligencia Artificial aplicada a la identificación y clasificación de enfermedades mediante radio imagen médica. En este post se incluye la explicación paso a paso del ejercicio realizado. El código fuente está disponible para que los lectores puedan aprender y experimentar por sí mismos el análisis inteligente de imágenes.

A continuación, puedes descargarte el informe -secciones Awareness e Inspire- en pdf y word (versión reutilizable). 

calendar icon