Explora I+D+i UPV

Volver atrás Líneas de estructuras de investigación

Institut Universitari Valencià d'investigació en Intel·ligència Artificial

Compartir

Principales cifras de actividad del último año

  • investigadores 102
  • subvenciones 3.663.233 €
  • contratación 482.185 €
Principales clientes

SYNDENO , LABERIT SISTEMAS, WATCHITY , EMBALPACK LEVANTE, ALGEMEEN, LOGIFRUIT IBERIA U.

Líneas I+D+i

  • Agentes asesores en Privacidad.
    Dentro del marco de las Tecnologías del Acuerdo, trabajamos en el diseño de un modelo de agente de privacidad que integre mecanismos para adquirir información sobre el estado emocional del usuario, las normas sociales, y las preferencias y valores del usuario para poder establecer un diálogo argumentado sobre qué acciones son recomendables para disminuir los riesgos asociados al uso de las redes sociales y a la revelación de la información privada. Dicho modelo se integrará en un demostrador de red social en un entorno educativo en la infancia y la adolescencia, que involucre a usuarios reales y sus agentes asesores asociados, así como otros agentes que representen comportamientos predefinidos en redes sociales, con el objetivo de validar el efecto de la integración de dichos agentes asesores sobre la privacidad de los usuarios en determinados escenarios.
  • Aprendizaje automático, ciencia de datos y minería de datos.
    Se desarrollan nuevas técnicas de aprendizaje automático orientadas al descubrimiento de conocimiento para entornos de ciencia de datos más explorativos y minería de datos más dirigidos, especialmente en problemas de clasificación sensible al coste, adaptación de modelos, automatización del proceso de ciencia de datos (y en particular de la fase de data wrangling) y metodologías de ciencia de datos. También, desarrollamos diferentes técnicas de aprendizaje automático, como aprendizaje supervisado, semi supervisado, no supervisado, adaptativo y profundo. Realizamos la adaptación de modelos, abordamos la clasificación jerárquica y multiclase y el aprendizaje sensible al coste. Desarrollo de herramientas de análisis, procesamiento y extracción de conocimiento a partir de datos de diferentes fuentes como datos públicos, redes sociales, etc.
  • Argumentación Computacional y Tecnologías de la Persuasión para Tecnologías del Acuerdo.
    Las Tecnologías del Acuerdo (AT) tratan sobre sistemas informáticos distribuidos abiertos de gran escala en los que los agentes software autónomos negocian entre sí, normalmente en nombre de seres humanos, con el fin de llegar a acuerdos mutuamente aceptables que deben ser coherentes con el contexto normativo en el que están establecidos y que permitirán, una vez aceptados, que los agentes soliciten servicios mutuos y los respeten. La argumentación computacional estudia la aplicación de la teoría (psicológica/filosófica) de la argumentación a sistemas computacionales, donde los argumentos se usan para resolver conflictos (razonamiento social y toma de acuerdos), resolver inconsistencias de razonamiento (razonamiento individual) o proporcionar explicaciones. Por otra parte, las tecnologías de persuasión son un campo interdisciplinar de investigación que se enfoca en el diseño y desarrollo de tecnologías interactivas que pueden crear, mantener o cambiar el pensamiento y el comportamiento humano usando técnicas de persuasión. Sin embargo, aunque la teoría de la argumentación considera a la persuasión como uno de los tipos de diálogo de argumentación más estudiados, la aplicación de la argumentación computacional para aumentar el potencial persuasivo de los sistemas inteligentes es un área de investigación incipiente con numerosos desafíos pendientes. Por lo tanto, trabajamos en tecnologías de persuasión que incluyen modelos computacionales de argumentación que permitan: generar y gestionar explícitamente argumentos y contra-argumentos; la creación de protocolos de diálogo que controlen el intercambio de argumentos persuasivos entre las partes involucradas; y la creación de estrategias de persuasión que hacen uso de un modelo del usuario para persuadir a seleccionar los argumentos potencialmente más eficaces para cada individuo en un momento específico de diálogo. En este contexto, estamos trabajando en el desarrollo de técnicas de argumentación computacional persuasiva desde la perspectiva de su aplicación: (1) como técnica de persuasión, provocando cambios en el pensamiento y conducta de los usuarios. (2) como método para proporcionar explicaciones a las decisiones de un sistema inteligente (Explainable AI, XAI). (3) en los sistemas de recomendación y ayuda a la toma de decisiones (con especial interés en Sistemas de Recomendación Educacionales). (4) en sociedades virtuales de humanos y agentes, donde los agentes actúan como asistentes virtuales para los humanos, monitorizando al usuario y proporcionándole un sistema de ayuda a la toma de decisiones de forma proactiva, personalizada y justificada. (5) Áreas de aplicación: Comercio online; e-Health (aplicaciones médicas y medicina preventiva); Entornos de aprendizaje asistido; Sostenibilidad, eficiencia energética; Redes sociales (especialmente destinadas a adolescentes).
  • Computación Natural y Evolutiva.
    Propuesta, análisis y caracterización de modelos de computación basados en el procesamiento de la información realizado a nivel biomolecular y biocelular. Entre otros, se estudian e investigan modelos basados en la Computación con ADN, modelos basados en procesadores bioinspirados y en la computación con membranas (sistemas P). Aplicación de los modelos anteriores en la resolución de problemas de elevada complejidad. También, como generalización de los anteriores paradigmas, proponemos nuevas arquitecturas de procesamiento de la información basándonos en un paradigma evolutivo, especialmente, mediante algoritmos genéticos (paralelos) y redes de procesadores genéticos.
  • Criptografía.
    Propuesta de nuevos métodos de cifrado simétricos y asimétricos, nuevos protocolos de comunicación cifrada y sus aplicaciones en tecnología colaborativa y participativa (i.e. sistemas de votación electrónico).
  • Desarrollo dirigido por modelos (MDD) y generación automática de código.
    Model-Driven Development (MDD) es un enfoque para el desarrollo de sistemas de software basado en la separación entre la especificación de la estructura y la funcionalidad del sistema y la implementación final utilizando plataformas de implementación específicas. El objetivo es aumentar el nivel de abstracción en el desarrollo de software dando mayor importancia al modelado conceptual y el papel de estos modelos en el desarrollo de software. Para ello, se utilizan anotaciones de modelado conceptual orientado a objetos para especificar la estructura y funcionalidad del sistema que se construirá. También tenemos un modelo de presentación que nos permite especificar la forma en que un usuario final interactúa con el sistema para proporcionar y obtener datos e información. La especificación completa y precisa de los aspectos estáticos, dinámicos y de presentación del sistema de información (SI) en los modelos conceptuales permite la generación automática de código. Este proceso es un paso importante para la industria; En este contexto, tenemos experiencia en el desarrollo, la implementación y el uso de entornos avanzados de desarrollo de software que aseguran la generación de productos software de manera fácil, ágil y automática, que son la representación correcta de sus modelos conceptuales correspondientes. Además de estos modelos conceptuales, trabajamos con modelos especializados para aplicaciones web e inteligentes ambientales a nivel de requisitos de especificación con modelos organizacionales.
  • Diseño de Sistemas Autónomos, Autoadaptación y Human-in-the-Loop.
    El "mundo inteligente" del futuro se está diseñando como complejos ecosistemas compuestos por una amplia variedad de dispositivos y servicios distribuidos, que interactúan entre sí y que están controlados por un gran número de elementos de computación y usuarios (humanos). Estos sistemas son cruciales para soportar la movilidad, calidad de vida, y el bienestar de los ciudadanos, así como la prosperidad y sostenibilidad, abriendo un gran abanico de posibilidades en diferentes dominios de aplicación como las Ciudades Inteligentes y los Vehículos Autónomos. El objetivo principal de esta línea es proporcionar soluciones metodológicas (métodos, técnicas y herramientas) que permitan el diseño y desarrollo sistemático de sistemas software con capacidades autónomas, y que desde etapas iniciales en la ingeniería de estos sistemas se involucre al humano. Se diseñarán soluciones que permitan a los ingenieros afrontar de manera más eficiente y efectiva las actividades a las que se enfrentan durante la construcción de estos sistemas.
  • Evaluación en machine learning e inteligencia artificial y sus impactos.
    Análisis ROC, predicción, calibración y evaluación de modelos para el apoyo de decisiones. Evaluación de agentes inteligentes. Medidas de Generalidad. Psicometría Universal. Impactos de la IA en la cognición (cognición extendida) y en el mercado laboral.
  • IA e industria: sostenibilidad y fabricación inteligente .
    La fabricación sostenible se define como la creación de productos manufacturados que utilicen procesos que minimicen los impactos ambientales negativos, conserven la energía y los recursos naturales, sean seguros para los empleados, las comunidades y los consumidores y sean económicamente asequibles. Las nociones de manufactura limpia y ecológica (por nombrar algunas) se utilizan a menudo para describir estrategias o filosofías que son más o menos similares en el contexto de la sostenibilidad industrial. En esta línea de investigación nos centramos en la aplicación de técnicas de inteligencia artificial para conseguir soluciones optimizadas para sistemas de fabricación en los que se combinan objetivos sostenibles con objetivos económicos, temporales y otros. Los sistemas inteligentes de fabricación son una de las líneas de investigación de Factories of the Future and Industry 4.0, se concibe como un sistema inteligente distribuido en el que cada componente, elemento y/o recurso de fabricación es modelado y controlado mediante agentes de software que pueden cooperar para resolver problemas complejos. Se sabe que los sistemas inteligentes de control de fabricación satisfacen la necesidad de reactividad y adaptabilidad de los futuros sistemas de fabricación sostenibles. La cooperación entre agentes permite una asignación equitativa de recursos (como la asignación de energía) que puede conducir a un bienestar social. Además, Cyber Pyshical Systems, Systems of Systems, Industrial IoT y Digital Twins son sublíneas relacionadas en las que el grupo está trabajando.
  • IA emocional: Detección de emociones y comportamientos empáticos en sistemas inteligentes.
    Los humanos no siempre nos comportamos de manera racional. Habitualmente nuestro comportamiento está influenciado por las emociones que sentimos. Los sistemas inteligentes que reaccionan de una manera perfectamente racional sin considerar ningún tipo de emoción presentan un comportamiento extremadamente artificial que frecuentemente genera rechazo en sus relaciones con seres humanos. Nuestra línea de trabajo permite construir sistemas inteligentes que adaptan su comportamiento racional en función de las emociones que sienten. De igual forma, al detectar emociones en las personas, son capaces de mostrar un comportamiento empático que facilita la aproximación y aceptación en sus relaciones con los humanos a medio y largo plazo. En esta línea, trabajamos en el desarrollo de un modelo del estado emocional basado en el conocimiento obtenido mediante técnicas de análisis sentimental, análisis de estrés y análisis de información procedente de bioseñales, que permita determinar la situación emocional actual y futura del usuario.
  • IA en la bioinformática y en las ciencias biomédicas.
    Diseño, ajuste y evaluación de modelos computacionales para la resolución de problemas en el ámbito de la genómica y de la biología de sistemas. Fundamentalmente, trabajamos con modelos discretos basados en computación natural y en la teoría de lenguajes formales cuyo ajuste, en algunos casos, se realiza mediante técnicas de aprendizaje automático que permiten una gran adaptabilidad al dominio del problema. Esos modelos los utilizamos para nuevos sistemas de predicción y anotación de información de naturaleza genómica. Además, usamos modelos de computación natural (especialmente de computación con membranas) para el diseño, implementación y calibración de simuladores de sistemas complejos biológicos con incidencia en las ciencias de la salud.
  • IA en las Ciencias de la Salud.
    Entender y manipular el genoma implica entender y manipular la vida tal y como la percibimos en nuestro planeta. Este desafío de primera magnitud tiene implicaciones en todo lo relacionado con el ámbito de la salud. Esta línea de trabajo tiene como objetivo desarrollar plataformas que sean capaces de buscar, identificar, recuperar e interpretar la información genómica relevante. Esta información debe ser obtenida de repositorios en constante crecimiento, con volúmenes de datos inmensos en los que las técnicas de aprendizaje automático son indispensables para seleccionar la información de valor en un contexto de diagnóstico clínico y tratamiento preventivo que integre el conocimiento genómico en la práctica médica tal y como la entendemos. Integrar información clínica convencional con información genómica en un ámbito IA es esencial para desarrollar una medicina de precisión viable y confiable. La aplicación de técnicas de IA es indispensable para interpretar el caos de datos genómico que se están generando con el fin de poder determinar qué datos son relevantes desde el punto de vista clínico.
  • IAE aplicada en las Ciencias de la Salud.
    Entender y manipular el genoma implica entender y manipular la vida tal y como la percibimos en nuestro planeta. Este desafío de primera magnitud tiene implicaciones en todo lo relacionado con el ámbito de la salud. Esta línea de trabajo tiene como objetivo desarrollar plataformas que sean capaces de buscar, identificar, recuperar e interpretar la información genómica relevante. Esta información debe ser obtenida de repositorios en constante crecimiento, con volúmenes de datos inmensos en los que las técnicas de aprendizaje automático son indispensables para seleccionar la información de valor en un contexto de diagnóstico clínico y tratamiento preventivo que integre el conocimiento genómico en la práctica médica tal y como la entendemos. Integrar información clínica convencional con información genómica en un ámbito IA es esencial para desarrollar una Medicina de Precisión (MP) viable y confiable. La aplicación de técnicas de IA es indispensable para interpretar el caos de datos genómico que se están generando día a día con el fin de poder determinar qué datos son relevantes desde el punto de vista clínico.
  • Inferencia gramatical, autómatas y lenguajes formales.
    Proponemos nuevos algoritmos de aprendizaje automático bajo el paradigma de la inferencia inductiva como aproximación al aprendizaje de conceptos y máquinas formales, gramáticas y autómatas (Inferencia Gramatical). Diseñamos bancos de prueba para la evaluación de las prestaciones de los anteriores algoritmos y abordamos el estudio teórico de la capacidad del aprendizaje automático bajo distintos protocolos de intercambio de información. Estudiamos las propiedades de las clases de lenguajes formales y sus autómatas para investigar la posibilidad de su aprendizaje automático.
  • Ingeniería de métodos.
    Se han propuesto diferentes métodos y herramientas para el análisis, diseño, implementación y/o generación automática de sistemas de software en el contexto de varias áreas de investigación relacionadas con la construcción de software. Sin embargo, la mayoría de ellos ha sido vagamente definido y sin una base de ingeniería. Además, la evolución meteórica de los propios sistemas de software hace necesaria la revisión sin problemas de la idoneidad de los métodos y herramientas propuestos. Las características del método, como la agilidad o la adaptabilidad, pueden ser posiblemente requisitos ideales de los métodos para el desarrollo de nuevas tendencias de software. Por lo tanto, es necesaria una profunda revisión pragmática y social de estos métodos y herramientas, junto con una revisión del proceso y las técnicas aplicadas durante el diseño y la aplicación de los mismos. Esta línea de investigación tiene como objetivo estudiar de manera teórica y práctica los fundamentos de métodos, técnicas y herramientas para el desarrollo de software. Aplicamos la filosofía Model-Driven; por lo tanto, la ingeniería de métodos basada en modelos da como resultado un paradigma para la ingeniería de métodos donde los modelos juegan un papel clave en el diseño, construcción y adaptación de métodos, técnicas y herramientas para el desarrollo de sistemas de software.
  • Ingeniería de requisitos (IR) y modelado organizacional.
    El modelado organizacional es una actividad vital para construir sistemas de software que estén alineados con los objetivos de la organización. La línea de investigación en modelado organizacional e ingeniería de requisitos promueve la alineación de varios modelos organizacionales para apoyar el desarrollo y la evolución organizacional. Nuestro objetivo en esta línea de investigación es enriquecer las tareas de ingeniería de requisitos con un conjunto de métodos, herramientas y técnicas para capturar las propiedades de los productos de software deseados. Esta línea de investigación se centra en la definición de métodos basados en paradigmas de ingeniería basados en modelos. Como resultado, nuestros métodos automatizan los procesos de requisitos a código; estamos cerrando la brecha entre el espacio problemático y el espacio de la solución. Trabajamos en el diseño de nuevos lenguajes y notaciones de modelado que faciliten la especificación de requisitos de una manera ligera y modular. Nuestros métodos actuales respaldan la especificación de procesos comerciales desde una perspectiva comunicacional, perspectiva de objetivos y perspectiva de diseño. Las pautas de transformación de modelo a modelo respaldan el proceso desde los requisitos hasta el código. Nuestros métodos, técnicas y pautas se implementan en plataformas Eclipse.
  • Ingeniería de sistemas auto-adaptativos.
    El mundo inteligente y conectado del futuro se está diseñando como ecosistemas compuestos por una amplia variedad de dispositivos y servicios distribuidos (sistemas ciberfísicos), que interactúan entre sí y que están controlados por un gran número de elementos de computación. Un ejemplo claro de ámbitos de aplicación son las actuales arquitecturas de microservicios, o las aplicaciones en el ámbito de la Internet de las Cosas o las Fábricas del Futuro. Estos sistemas son altamente complejos ya que se componen de multitud de dispositivos y servicios distribuidos que operan en entornos dinámicos y que deben coordinarse de forma dinámica para proporcionar los servicios requeridos con una disponibilidad y calidad de servicio adecuados, adaptándose a situaciones adversas, cambiantes, e incluso inesperadas. El objetivo principal de esta línea de trabajo es proporcionar soluciones metodológicas (métodos, técnicas y herramientas) que permitan el diseño y desarrollo sistemático de sistemas software con capacidades autónomas. Para ello se incorpora, desde etapas iniciales, una fase de ingeniería para dotar a estos sistemas de capacidades auto-autoadaptación (self-*): auto-configuración, auto-reparación, auto-protección y auto-curación.
  • Ingeniería del Software Testing.
    Hoy en día, tendencias como la globalización, la estandarización y los ciclos de vida más cortos imponen grandes exigencias a la flexibilidad de la industria del software. Para competir y cooperar a escala internacional, es esencial un tiempo de salida al mercado en constante disminución y un nivel de calidad cada vez mayor. Las pruebas son en este momento la técnica de aseguramiento de la calidad más importante y utilizada en la industria. Sin embargo, la complejidad del software y, por tanto, de su cantidad de desarrollo está aumentando. Los sistemas modernos se vuelven más grandes y complejos, ya que conectan grandes cantidades de componentes que interactúan de muchas maneras diferentes y tienen cambios constantes y diferentes tipos de requisitos (funcionalidad, confiabilidad, seguridad, entre otros). El procesamiento de datos que afecta todos los aspectos de nuestra vida se distribuye cada vez más a través de la nube y distintos dispositivos portátiles. Esto lleva a que surjan nuevas preocupaciones, como disponibilidad, seguridad y privacidad. En consecuencia, el desarrollo de sistemas rentables y de alta calidad abre nuevos desafíos que no pueden enfrentarse solo con los enfoques de prueba o validación tradicionales. La linea, por un lado, se centra en nuevas técnicas para sistematizar y automatizar las pruebas a lo largo del ciclo de vida del sistema software. Aunque muchas herramientas de automatización de prueba están actualmente disponibles para ayudar en la planificación y control de pruebas, así como en la ejecución y supervisión de casos de prueba, todas estas herramientas comparten una filosofía pasiva similar al diseño de casos de prueba, selección de datos de prueba y evaluación de prueba. Dejan estas actividades cruciales, lentas y exigentes al tester humano. Esto no es sin razón; el diseño de casos de prueba y la evaluación de pruebas mediante oráculos de datos son difíciles de automatizar con las técnicas disponibles en la práctica industrial actual. El dominio de las posibles entradas (posibles casos de prueba), incluso para un método, programa, modelo, interfaz de usuario o servicio trivial, suele ser demasiado grande para ser explorado exhaustivamente. En consecuencia, uno de los principales desafíos asociados con el diseño de casos de prueba es la selección de casos de prueba que son efectivos para encontrar fallas sin requerir que se lleve a cabo un número excesivo de pruebas. La automatización de todo el proceso de prueba requiere una nueva forma de pensar que va más allá del diseño de prueba o herramientas de ejecución de prueba específicas. Un resultado importante de la linea es la herramienta TESTAR (testar.org) para realizar pruebas automatizadas a nivel de Interfaz gráfica de usuario. Por otro lado, la I+D de esta linea también busca mejorar la educación en temas del testing y aseguramiento de calidad para tener futuros profesionales mejor preparados para la industria. Mediante nuevos enfoques de enseñanza y aprendizaje se intenta responder a preguntas tales como: ¿Cómo asegurar que los estudiantes sean conscientes de la calidad y ejecuten tests de sus códigos? ¿Que técnicas aplican los alumnos para crear modelos de testing? ¿Cómo influyen en la calidad de sus tests?.
  • Ingeniería web.
    Los métodos de ingeniería web basados en modelos han mejorado la calidad y la eficiencia del desarrollo de aplicaciones web. Estos métodos utilizan modelos conceptuales sólidos para reunir una rica especificación de la aplicación que se desarrollará. La principal ventaja de este enfoque es que a partir de esos modelos es factible generar sistemáticamente el código fuente que implementa la aplicación web especificada. Siguiendo esta línea de razonamiento, en esta área de investigación nos hemos ocupado de cómo construir modelos descriptivos y cómo transformar modelos en códigos web. Específicamente, hemos desarrollado enfoques para: (i) mejorar la recopilación de requisitos para los sistemas web, (ii) proporcionar aplicaciones web adaptativas y accesibles, (iii) generar servicios web de acuerdo con las mejores prácticas de la comunidad SOA y () incluir a los sitios interfaces y patrones de colaboración del dominio Web 2.0.
  • Integración de la IoT en Procesos de Negocio.
    Los dispositivos IoT actuales son inteligentes y capaces de reaccionar individualmente ante algunos eventos, es su uso combinado lo que proporciona un valor añadido e innovador para sus usuarios. Dentro de este contexto, los procesos de negocio (BPM) aparecen como un componente esencial para llevar a cabo la coordinación e interacción entre dispositivos IoT, así como para presentarse como participantes activos de los futuros procesos de negocio. Al adoptar dispositivos IoT, un proceso de negocio podrá, por ejemplo, tener en cuenta datos del mundo real para tomar decisiones más informadas, así como automatizar tareas del proceso para mejorar su ejecución. En esta línea se propone la definición de soluciones que permitan llevar a cabo la integración de la IoT y los procesos de negocio afrontando los siguientes desafíos: i) Definición de métodos y técnicas para el desarrollo ingenieril y sistemático de sistemas IoT dirigidos por procesos de negocio, ii) Definición de soluciones arquitectónicas basadas en microservicios que faciliten la integración de dispositivos IoT en el contexto de un proceso de negocio, así como su posterior mantenimiento y evolución, iii) Definición de plataformas de bajo código para la configuración y personalización de procesos de negocio con soporte IoT.
  • Inteligencia Ambiental (Aml).
    Inteligencia Ambiental (AmI) propone la creación de entornos inteligentes que se adapten a las necesidades, preferencias e intereses de las personas que viven allí, ayudándoles a llevar a cabo sus tareas diarias integrando la informática en el entorno de la persona, para que las computadoras no sean percibidas como objetos diferenciados. Esta línea de investigación estudia y desarrolla métodos de Ingeniería de Software para proporcionar rigor al desarrollo de sistemas AmI. El objetivo general de la línea es aplicar los principios y técnicas del desarrollo impulsado por modelos para desarrollar este tipo de sistemas que mejoran su calidad, productividad y facilidad de mantenimiento. Todas estas características deseables se pueden lograr mediante el desarrollo de Lenguajes Específicos de Dominio (DSL), transformaciones de Modelo a Modelo (M2M) y de Modelo a Texto (M2T), aplicando Líneas de Producto de Software a la producción de tales sistemas (para mejorar la reutilización y la productividad en dominios delimitados), y aplicar los principios de Computación Autónoma para poder implementar sistemas auto-configurables y dinámicos.
  • Inteligencia Artificial Explicable (IAE).
    A partir de la premisa de que la Inteligencia Artificial (IA) ha de ser responsable, confiable, basada en valores éticos y sociales, enfocada al ser humano, segura ("safe" and "secure") e interpretable/explicable, esta línea se desarrolla como un enfoque novedoso en el campo de la IA, que describe un sistema en el que los seres humanos pueden comprender fácilmente los resultados que un sistema de IA proporciona, centrándose principalmente en comprender exactamente "cómo" y "por qué" se toman determinadas decisiones para llegar a los resultados [6]. Esto minimiza el riesgo de obtener conclusiones inadecuadas y maximiza la calidad y fiabilidad de las mismas. Una solución IAE debe combinar el razonamiento simbólico (reglas de negocio o dominio) para tratar con el conocimiento del sentido común y el aprendizaje automático (estadísticas) para manejar la incertidumbre (en términos de IA, esto se denomina solución híbrida) Para poner en práctica un enfoque IAE es fundamental proporcionar en primer lugar un modelo que permita compartir de forma inequívoca el conocimiento del dominio (shared domain understanding) que incluya todos los elementos participantes en el mismo. Una vez se dispone de este modelo de conocimiento (modelo conceptual), es necesario recolectar los datos asegurando su máxima calidad, definir las técnicas de análisis de datos que permitan obtener los resultados requeridos y finalmente, proporcionar explicaciones claras sobre cómo se han obtenido para poder comprenderlos y evolucionar la solución a lo largo del tiempo.
  • Inteligencia Artificial Responsable (Responsable AI -RAI-; AI Safety/Security y Explainable AI -XAI-).
    A partir de la premisa de que la inteligencia artificial ha de ser responsable, confiable, basada en valores éticos y sociales, enfocada al ser humano, segura (safe and secure) e interpretable/explicable, trabajamos en varias direcciones. Por un lado, en relación con el aprendizaje trabajamos en técnicas de explicación de modelos de caja negra (modelos miméticos), en el análisis de ataques adversarios según la familia de aprendizaje usado y, más recientemente, en cómo se relacionan diferentes paradigmas de IA y su efecto en su seguridad y robustez. Por otro lado, en relación con métodos simbólicos, trabajamos en seguridad demostrable, análisis de protocolos criptográficos, computación reversible y métodos formales para el análisis, modelado, verificación, síntesis, depuración, certificación, transformación, y optimización de sistemas críticos e inteligentes. Aplicamos la teoría de sistemas normativos para dotar de valores éticos a los sistemas de IA.
  • Inteligencia Artificial en Tiempo Real.
    La Inteligencia Artificial en Tiempo Real es una disciplina que incorpora técnicas de resolución de problemas utilizadas en entornos de IA con restricciones en tiempo real. Estos entornos necesitan una respuesta válida en intervalos de tiempo limitados para garantizar el correcto funcionamiento del sistema. Las técnicas clásicas de IA deben ser adaptadas para ser aplicadas en tales ambientes. Hemos desarrollado modelos computacionales que permiten integrar técnicas de IA, generalmente con tiempos de computo no predecibles, en sistemas de tiempo real en los que, previo análisis de planificabilidad, se puede garantizar la respuesta del mismo en un plazo máximo predeterminado.
  • Interacción Persona-Ordenador (HCI).
    El diseño de un sistema de información (SI) implica una especificación estructural y funcional, así como una interacción precisa con los usuarios finales. Teniendo en cuenta el gran impacto que tienen las interfaces de usuario en el éxito o fracaso de los productos software, esta línea de investigación combina la experiencia de modelado de interacción de la comunidad de ingeniería de software con estudios de la comunidad de interacción humano-computadora (HCI). Nuestro objetivo es especificar todas las características de interacción a través de modelos conceptuales que representan el sistema. Estos modelos tienen una vista abstracta donde las interfaces se definen independientemente de la plataforma, y una vista más concreta donde el analista puede especificar características que son específicas de la plataforma. El objetivo final es generar el código que implemente todas las características expresadas a través de ambas vistas (abstracta y concreta). La usabilidad se considera cuando se construyen modelos conceptuales. Esta línea de investigación propone un conjunto de primitivas conceptuales para representar las funciones de usabilidad con el objetivo de optimizar la usabilidad desde el punto de vista de los usuarios finales. También trabajamos con un método de obtención de requisitos para capturar los requisitos de usabilidad desde los primeros pasos del proceso de desarrollo de software. Este método consiste en utilizar árboles de decisión para guiar las entrevistas con el usuario final con el objetivo de conocer sus preferencias visuales. El enfoque puede incluirse en un método basado en modelos de tal manera que estos requisitos generen parte del modelo conceptual. El enfoque se basa en preguntas textuales extraídas de alternativas de diseño. Los usuarios finales deben elegir qué alternativa es la más adecuada según sus requisitos (o restricciones). Las pautas de usabilidad pueden ayudar al usuario final a seleccionar una alternativa en toda la estructura del árbol. Al final del proceso, tenemos un diseño para nuestro sistema basado en los requisitos del usuario final. Finalmente, esta línea de investigación también realiza evaluaciones de usabilidad a través de heurísticas y con usuarios finales. Al final de las evaluaciones, informamos una lista de mejoras para mejorar la calidad del software.
  • Interacción humano-sistema auto-adaptativa.
    En los sistemas con una importante colaboración humano-sistema, donde el humano participa activamente en la realización de algunas tareas, la fluidez de la interacción, la comunicación transparente y el uso de interacciones intuitivas es crucial para completar con éxito las tareas colaborativas, y lograr su aceptación por las personas usuarias. En esta línea de investigación el objetivo es estudiar y desarrollar propuestas que ayuden a los diseñadores de interacciones humano-sistema a construir interacciones personalizadas y adaptativas en tiempo de ejecución, es decir, interacciones que se adapten de forma continua al propio comportamiento del humano con el sistema. El modelado, prototipado y los modelos en tiempo de ejecución combinados con técnicas de inteligencia artificial, como el aprendizaje automático, pueden lograr sistemas que aprendan del propio comportamiento humano para ofrecer interacciones inteligentes, que se adecúen a las necesidades de cada momento y cada usuario particular. Esto adquiere especial importancia en algunos dominios, como el de Vehículos Autónomos, donde la conducción a niveles altos de autonomía implica que el vehículo toma decisiones pero el conductor debe estar pendiente para retomar el control en caso necesario, o en la Industria 4.0, donde los robots colaborativos (o cobots) trabajan codo con codo con los trabajadores humanos.
  • Límites computacionales de la IA.
    En esta línea trabajamos bajo la teoría de la computabilidad como marco del aprendizaje automático y de la IA en general. Estudiamos los problemas decidibles e indecidibles asociados al aprendizaje automático, establecemos las cotas de complejidad computacional para los problemas que son resolubles y trabajamos bajo el paradigma de la hipercomputación (en especial, mediante el uso de oráculos) para estudiar y proponer soluciones para problemas no computacionalmente resolubles.
  • Métodos de Producción de Software en el ámbito de la IA.
    Esta línea de trabajo tiene como objetivo aplicar técnicas de IA en la mejora continua de las capacidades diversas que están asociadas a un proceso convencional de producción de software en sus distintas fases y perspectivas: Modelado Organizacional y de Proceso de Negocio, Ingeniería de Requisitos, Modelado de la Interacción, Desarrollo Dirigido por Modelos, Testeo de Software,... Nuevos enfoques que incorporen conocimiento, métodos, algoritmos y herramientas desde una perspectiva IA en esas distintas dimensiones son necesarios para ir más allá de los procesos convencionales actuales de creación de software, incluyendo el mayor nivel de automatismo que sea posible, y utilizando una perspectiva integradora, holística que asegure que el software finalmente construido se corresponde con las especificaciones iniciales del proceso de producción aplicado.
  • Planificación automática.
    Desarrollo de herramientas para la planificación automatizada y sistemas de apoyo a la toma de decisiones para diversas tareas en una empresa. La planificación automatizada es un área de la Inteligencia Artificial que consiste en encontrar un curso de acción de procedimientos para que un sistema descrito de forma declarativa alcance sus objetivos mientras optimiza las medidas de rendimiento general. Los planificadores automatizados encuentran las transformaciones a aplicar en cada estado dado, fuera de las posibles transformaciones para ese estado. Podemos encontrar muchas aplicaciones de planificación en la industria: robots y sistemas autónomos, composición de servicios, asignación inteligente de recursos, optimización de procesos de negocio o flujos de trabajo.
  • Procesamiento del lenguaje natural y minería de textos.
    El procesamiento del lenguaje natural es un campo de la informática, la inteligencia artificial y la lingüística que se ocupa del tratamiento de lenguajes humanos (naturales) mediante un ordenador. La investigación se centra en el desarrollo de tecnologías avanzadas para el procesamiento del lenguaje natural en múltiples idiomas. El objetivo principal es facilitar la comunicación oral y escrita multilíngüe en línea para superar las barreras lingüísticas en tareas complejas de lenguajes naturales. Para conseguir este objetivo se combinan diversas tecnologías, como son el reconocimiento del habla continua, la traducción automática y la síntesis de habla. El objetivo final es el desarrollo de sistemas de comprensión de habla y de diálogo multilíngües. Además, el procesamiento de lenguaje natural se encarga del diseño de modelos acústicos y de lenguaje, del reconocimiento de entidades, del etiquetado morfosintáctico para la recuperación de información, de la búsqueda por voz y búsqueda de respuestas, el resumen automático y el análisis de contenido en redes sociales (análisis de emociones, polaridad, análisis de reputación). En el ámbito de la minería de textos, trabajamos en el análisis de contenido en redes sociales (análisis de sentimientos, emociones, reputación, tendencias y posicionamiento entre otros), en el resumen automático de documentos (texto y audio) y en problemas que requieren de una representación semántica como los relacionados con la búsqueda de respuestas, la detección del doble sentido, clasificación de tópicos, etc. Para estas aplicaciones se están utilizando diversas arquitecturas de modelos basados en redes neuronales.
  • Programación Conceptual.
    Hacer viable el diseño e implementación de una "Máquina de Programar" implica determinar cuáles son los componentes conceptuales canónicos que están asociados al proceso de programar tal y como el ser humano lo concibe. Actualmente, "el código es el modelo" de la aplicación software construida, lo que hace el proceso totalmente dependiente del desarrollador humano. Esta línea de trabajo tiene como objetivos explotar el uso de técnicas avanzadas de IA que determinen los componentes conceptuales esenciales con una soporte ontológico riguroso, y hacer posible que "el modelo sea el código" para que la máquina sea capaz de aprender cómo diseñar y desarrollar modelos conceptuales ejecutables a través de un proceso interactivo inteligente. El objetivo esencial es hacer viable esa "Máquina de Programar" en un contexto IA. Esta "Programación Conceptual" puede suponer un nuevo paso adelante en el proceso asociado a la historia de la Ingeniería del Software, que usa niveles de abstracción cada vez más próximos a los esquemas cognitivos humanos, y más alejados de las peculiaridades de los entornos de programación convencional.
  • Programación inductiva y probabilística, machine teaching.
    Una línea de trabajo a medio camino entre el aprendizaje automático y la programación declarativa es el aprendizaje de modelos declarativos, a través de técnicas de programación inductiva (p.ej., lógica y funcional), con distintas conexiones en modelos cognitivos y sistemas de razonamiento sobre eventos como el event calculus. Más recientemente hemos trabajado en paradigmas de machine teaching sobre lenguajes universales.
  • Razonamiento y deducción automáticos.
    La semántica de muchos sistemas de cómputo (bases de datos, bases de conocimiento, sistemas de consulta, lenguajes de programación, etc.) se especifica mediante teorías lógicas. Con relación al razonamiento y deducción automáticos, trabajamos en técnicas de reescritura y técnicas de razonamiento formal usando lenguajes multi-paradigma (funcional, lógico, OO, concurrente, con restricciones). En relación con los métodos semánticos, donde las consultas, objetivos a ejecutar y propiedades asertadas sobre dichos sistemas se formulan mediante expresiones lógicas (cuyo valor de verdad se comprueba respecto a un modelo canónico o designado del sistema), desarrollamos modelos abstractos para verificar dichas propiedades, que generamos de forma automática a partir de los componentes lógicos mencionados y que dan soporte a la construcción de herramientas de verificación automática.
  • Reconocimiento de actividad.
    Desarrollo de herramientas para el reconocimiento automático de las actividades realizadas por un agente (software o humano) con el objetivo de ayudar en la realización de acciones futuras. Muchos de los retos actuales de la sociedad (tanto a nivel general como individual) requieren el desarrollo de nuevos sistemas ciber-físicos que exhiban un nivel de autonomía superior al de los sistemas actuales. Se pueden encontrar ejemplos en muchas aplicaciones, tales como: gestión de ciudades, asistentes personales, robótica (hogar, oficina o depósitos), planificación logística, desarrollo de juegos o gestión de la seguridad. Estos sistemas deben incluir funcionalidades como la percepción, la representación, el razonamiento, la actuación y el aprendizaje, que les permitan actuar de forma autónoma.
  • Recuperación de información.
    Extraer información de la web es sin duda útil para las personas. Por ejemplo, podemos extraer noticias de un periódico eliminando el resto de información no relevante (por ej., anuncios, cabeceras, cuestiones de formato, etc.). Además, resulta también útil para muchos procesos automáticos tales como la indexación de páginas web mediante la extracción de palabras relevantes que aparecen en su contenido. Otro ejemplo de su interés es la detección del patrón de un sitio web para agilizar el proceso de sus páginas.
  • Redes neuronales y aprendizaje profundo.
    En los últimos años la introducción de las técnicas de aprendizaje profundo y su incorporación a las redes neuronales ha significado un gran avance en múltiples aplicaciones de la Inteligencia Artificial. El aprendizaje profundo (Deep Learning) ha permitido abordar aplicaciones más complejas debido a la gran cantidad de datos disponibles en la red (Big Data) y a las mejoras en las arquitecturas de computadores, concretamente, en las Unidades de Procesamiento Gráfico (GPU) aplicadas al cálculo científico. Además, se está consiguiendo desarrollar sistemas neuronales "end-to-end" que reducen el esfuerzo en la ingeniería de características, llevada a cabo por humanos en el paradigma tradicional, para aumentar la eficacia predictiva de los modelos de aprendizaje automático. Nuestras líneas de trabajo en este ámbito se centran en la aplicación del aprendizaje profundo al procesado de secuencias y su aplicación a la resolución de problemas de Procesamiento del Lenguaje Natural. En concreto, trabajamos el en diseño de nuevos mecanismos de atención basados en "transformer encoders" (self attention mecanisms), representaciones continuas de unidades lingüísticas (palabras, segmentos de palabras y oraciones, etc.) en términos de "embeddings" no solamente para el inglés, sino también para otras lenguas y dominios semánticos diversos (artículos de prensa, redes sociales, etc.). Trabajamos también en la propuesta de nuevas funciones de "loss" en los modelos basados en redes neuronales.
  • Sistemas Normativos para Tecnologías del acuerdo.
    Las Tecnologías del Acuerdo (AT) tratan sobre sistemas informáticos distribuidos abiertos de gran escala en los que los agentes software autónomos negocian entre sí, normalmente en nombre de seres humanos, con el fin de llegar a acuerdos mutuamente aceptables que deben ser coherentes con el contexto normativo en el que están establecidos y que permitirán, una vez aceptados, que los agentes soliciten servicios mutuos y los respeten. Sistemas Normativos son los que se utilizan las normas como mecanismo para abordar la coordinación en los sistemas multiagente, especialmente en entornos abiertos, regulando así el comportamiento de los agentes y sus interacciones. En concreto, trabajamos en la implementación de agentes normativos, capaces de inferir, describir y deliberar sobre las normas, así como en el análisis y descripción de las normas sociales que emergen a partir de las interacciones repetidas entre los agentes, como una convención dentro de la sociedad no impuesta por ninguna autoridad central.
  • Sistemas complejos adaptativos.
    Análisis de redes sociales, consenso, y otros sistemas.
  • Sistemas de información genómica (SIG).
    La modelización conceptual es esencial para especificar un sistema de información (SI). Sin embargo, su aplicación no se limita a dominios relacionados con la informática. La medicina, biomedicina, biotecnología, bioinformática y, más específicamente, la bioinformática aplicada a la Genómica Humana, son algunos de los campos que pueden aprovechar todos los beneficios que brinda la aplicación de técnicas de modelado conceptual. Debido al creciente interés del Genoma Humano en la comunidad científica, es fundamental analizar qué beneficios realmente impactan en la especificación de un sistema de información genómica (SIG). Esta línea de investigación se centra en traducir las técnicas satisfactorias y tradicionalmente bien aplicadas del desarrollo de software basado en modelos (MDSD) en el campo de la Bioinformática y sus aplicaciones en entornos clínicos. La idea principal es definir modelos que faciliten la comprensión de los complejos mecanismos biológicos asociados al Genoma Humano y su relación con enfermedades específicas. Estos modelos servirán para fines descriptivos, pero también como una guía para descubrir nuevos objetivos terapéuticos. El objetivo final de esta línea de investigación es definir nuevas estrategias científicas, así como nuevas herramientas de software que puedan ser utilizadas en la práctica por investigadores y médicos que dedican su investigación a la genómica humana y las enfermedades de origen genético.
  • Sistemas de recomendación.
    Un sistema de recomendación es una herramienta de personalización que intenta proporcionar a las personas una lista de elementos de información que mejor se adapte a sus gustos individuales. Incide en las preferencias del usuario analizando los datos del usuario disponibles, la información sobre otros usuarios y la información sobre el entorno, y selecciona los elementos que mejor se adaptan a estas preferencias. En resumen, un sistema de recomendación ofrece la posibilidad de personalizar el filtrado de la información para que sólo se muestre la información adaptada a las necesidades y preferencias del usuario. Tenemos una larga experiencia en el desarrollo de sistemas de recomendación turística, tanto para individuos como para grupos, basados en diferentes tipos de información, como preferencias explícitas/implícitas, psicología del usuario, etc.
  • Sistemas multiagente.
    El paradigma de los sistemas multiagente es un área de creciente interés en la IA. Esto se debe a su aplicación a la resolución de problemas complejos, donde las técnicas clásicas fallan en la obtención de una solución. Los sistemas multiagente (MAS) se enfrentan a la necesidad de comunicación y colaboración entre agentes autónomos (entidades cuyo comportamiento está guiado por ellos mismos).
  • Tecnologías del Acuerdo para Organizaciones virtuales.
    Las Tecnologías del Acuerdo (AT) tratan sobre sistemas informáticos distribuidos abiertos de gran escala en los que los agentes software autónomos negocian entre sí, normalmente en nombre de seres humanos, con el fin de llegar a acuerdos mutuamente aceptables que deben ser coherentes con el contexto normativo en el que están establecidos y que permitirán, una vez aceptados, que los agentes soliciten servicios mutuos y los respeten. Trabajamos en Organizaciones virtuales, que describen las relaciones y estructuras organizativas permitidas en la sociedad, y cuya descripción y funcionalidad pueda ser analizada por agentes, con capacidad suficiente para decidir su participación en la organización y/o la creación de nuevas estructuras organizativas. En esta línea trabajamos el desarrollo de metodologías para el diseño de sistemas multi-agente basados en organizaciones virtuales, en la descripción de estructuras organizativas y en el desarrollo de plataformas de agente con organizaciones virtuales.
  • Tecnologías educativas y Big Data .
    Por big data (datos masivos) nos referimos a una colección de conjuntos de datos masivos y complejos que son difíciles de procesar utilizando herramientas y aplicaciones de gestión de datos convencionales. Las tecnologías educativas son un área en la que el big data están ganando impulso a gran velocidad. La investigación se dedica al estudio e implantación de soluciones innovadoras para el procesamiento de datos masivos en el área de las tecnologías educativas. En particular, se hace hincapié en el desarrollo y la integración de herramientas, soluciones y servicios digitales innovadores para el aprendizaje y la enseñanza.
  • Uso de modelos lógicos en sistemas de razonamiento automatizado.