1. Introduction
En [1] se propone MiSCi ( Middleware for Smart Cities ), un middleware reflexivo autonómico para Ciudades Inteligentes (Smart City - SC), el cual soporta la comunicación entre los diferentes elementos de una ciudad inteligente, y el despliegue de las aplicaciones de base de toda ciudad inteligente, para la gestión inteligente del sistema de transporte, energético, entre otros. MiSCi permite ver a los elementos de la ciudad inteligente como agentes, y a las tareas que realizan ellos, y en general, a las aplicaciones de gestión de la ciudad, como servicios. MiSCi es una arquitectura multicapas basado en los conceptos de Sistemas Multi-Agentes (MAS, por sus siglas en inglés), Conciencia de Contexto (Context-Awareness), Emergencia Ontológica y Computación en la Nube. Luego, en [2] es ampliada MiSCi al incluir el concepto de Computación en la Niebla, que permite la capacidad de procesar los datos y las aplicaciones como servicios en los dispositivos al borde de la red, en lugar de hacerlo en la nube.
En las ciudades inteligentes, el gran reto tecnológico es saber recolectar, procesar y aprovechar el gran volumen de datos que la ciudad tiene, en tiempo real [3]. Además, todos estos datos recolectados necesitan ser enriquecidos con información semántica que ayuden al descubrimiento de conocimiento oculto, para mejorar los procesos de toma de decisiones. En este sentido, los datos enlazados resultan factibles para resolver dicho reto.
Los datos enlazados o vinculados (en inglés, Linked Data) describen una forma de publicar los datos estructurados en la Web para que se puedan interconectar entre ellos [4], es decir, permiten identificar, describir, conectar y relacionar los distintos recursos en la Web.
En esta investigación, se amplía el trabajo propuesto en [1,2], al agregar una nueva capa, denominada Datos Enlazados, que aumenta las capacidades del middleware MiSCi, para enriquecer los datos recogidos a través de los distintos mecanismos del middleware con información externa (Redes Sociales, Páginas Web, entre otros).
Algunas similares investigaciones sobre framework o middleware, basadas en el paradigma de datos enlazados, son los siguientes: En [5] se desarrolla un framework que busca aprovechar las tecnologías de los datos enlazados para la colaboración empresarial, enriqueciendo los procesos de negocio con información de sensores ubicados en las maquinarias. En ese trabajo se aborda el problema de fuentes de datos heterogéneos, y se crea un modelo de datos semántico del entorno empresarial como una ontología de dominio, luego se transforman los datos a RDF, y se publican como datos enlazados en un servidor. Finalmente, la aplicación cliente accede a los datos realizando operaciones de consulta y filtrado. En [6] se describe Sense2Web platform, una plataforma que permite publicar y acceder a los datos de la red de sensores semánticos, y los enlaza a recursos existentes en la Web. En esa investigación se especifican los sensores web con atributos espaciales, temporales, temáticos y específicos. Los atributos espaciales son la ubicación geográfica (longitud y latitud), y conceptos de alto nivel que son tomados de fuentes de datos enlazados (GeoNames y LinkedGeoData). Los atributos temporales son zona horaria, la marca de tiempo de las mediciones, el tiempo de disponibilidad de los nodos de sensores, entre otros. Los atributos temáticos son tipo de sensor, tipo de medición, atributos de operación y despliegue, enriquecidos por fuentes como DBPedia. Toda la información es representada en tripletas RDF, que luego son publicadas en repositorios de datos enlazados.
Otro trabajo es IES CITIES platform [7], que es una plataforma que explota los datos enlazados ofrecidos por los ayuntamientos, enriquecidos con datos dinámicos recopilados a través de redes de sensores en toda la ciudad, o de aplicaciones que funcionan en los teléfonos de los ciudadanos. Lo interesante de ese trabajo es la manera como se enriquecen los datos enlazados con las distintas fuentes de información, por parte de los ciudadanos, ya que cada uno de ellos va publicando fotos y textos de la zona donde está ubicado el dispositivo. También, Linked Sensor Middleware (LSM) [8] es un middleware conformado por capas, una de adquisición de datos desde los sensores, otra de gestión de datos enlazados, otra de acceso a los datos, y finalmente, otra para el consumo de datos por parte de las aplicaciones, para facilitar la integración de datos con otras fuentes de datos enlazados, enriqueciendo los flujos de datos desde los sensores con descripciones semánticas, para su explotación a través de las aplicaciones.
La principal diferencia de los trabajos descritos anteriormente con respecto a esta investigación, es que son trabajos enfocados a resolver un problema específico usando datos enlazados (por ejemplo, gestión de sensores ambientales, enriquecimiento de datos empresariales, etc.); en cambio, esta investigación aprovecha las ventajas que ofrece el middleware MiSCi, que permite la ubicuidad, la conciencia del contexto, la emergencia ontológica, la computación en la nube y en la neblina, entre otras cosas, en la gestión de las aplicaciones de una ciudad, y lo extiende con una capa de gestión de Datos Enlazados, para enriquecerlo, darle acceso y permitirle explotar una cantidad de conocimiento aún mayor. De esta manera, MiSCi puede darle soporte de una manera más eficiente, escalable y robusta, a las aplicaciones inteligentes, basadas en el contexto de una ciudad inteligente.
Este articulo está organizado de la siguiente manera: la sección 2 presenta el marco teórico alrededor de MiSCi y los Datos Enlazados; la sección 3 describe la ampliación de MiSCi con los Datos Enlazados; la sección 4 describe los casos de estudios donde se prueba la ampliación del MiSCi; la sección 5 presenta el análisis de los resultados y se compara con otras arquitecturas; y finalmente, la sección 6 presenta las conclusiones de esta investigación.
2. Marco teórico
2.1. MiSCi
MiSCi es un middleware reflexivo multicapas que se basa en el paradigma de MAS. Los distintos elementos de este middleware aportan características esenciales a una ciudad inteligente, permitiendo la ubicuidad, conciencia del contexto, emergencia ontológica, decisiones inteligentes, computación en la nube y en la neblina, entre otras cosas. MiSCi contiene 9 capas (ver [9-14] para más detalles):
Capa de Gestión MAS (MAS Management Layer - MMAL): Esta capa es una adaptación del estándar FIPA [9,10], y define las reglas que permiten a una sociedad de agentes coexistir. Sus agentes son [9]: AMA (Agents Manager), CCA (Communication Control Agent) y DMA (Data Management Agent).
Capa de Gestión de Servicios (Service Management Layer -SML): Posibilita la integración entre los paradigmas MAS y SOA (Service-Oriented Architecture). Esta capa consta de los agentes [11,12]: SMA (Services Management Agent), WSA (Web Service Agent), WSOA (Web Service Oriented Agent), RMA (Resource Manager Agent) y ApMA (Application Manager Agent).
Capa de Conciencia de Contexto (Context-Awareness Layer - CAL): El propósito de esta capa es ofrecer servicios contextuales, para la gestión de la información sobre el contexto [1]. Esta información se gestiona en un ciclo conformado por: el descubrimiento y modelización del contexto, el razonamiento basado en el contexto, y la distribución del mismo. Esta capa está basada en [13].
Capa de Emergencia Ontológica (Ontological Emergence Layer - OEL): Esta capa proporciona un conjunto de servicios para el manejo de ontologías. Estos servicios han sido propuestos en [14], los cuales permiten la actualización automática de ontologías, entre otras cosas.
Capa de Gestión Lógica de SC (SC Logical Management Layer - SCLML): Esta capa es donde se encuentran todas las aplicaciones (software, objetos virtuales, etc.) y las personas presentes en la Ciudad. Básicamente, cada elemento/persona se caracteriza por un agente (es una abstracción de él). Esta capa contiene agentes como CzA (Citizen Agent, caracteriza a cada ciudadano en la ciudad) y AppA (Application Agent, caracteriza aplicaciones necesarias para una ciudad inteligente, como el Sistema de Movilidad Inteligente, el Sistema de Salud Inteligente, entre otros).
Capa de Gestión Física de SC (SC Physical Management Layer - SCPML): En esta capa se caracterizan todos los elementos físicos del entorno, permitiendo la interacción entre agentes y dispositivos de MiSCi. Así, cada dispositivo físico se caracteriza por un agente DA (Device Agent, es una abstracción de él). Esta capa se comunica con el dispositivo físico real que está en la capa SCPL.
Capa Lógica de SC (Smart City Logical Layer - SCLL): es la capa donde se despliegan los principales sistemas de una ciudad inteligente, tales como: Sistema Inteligente Vehicular, responsable del control del tráfico; Sistema de Salud Inteligente, encargado de facilitar el acceso a los servicios de salud, entre otros. Los agentes de MiSCi pueden comunicarse con estos sistemas a través de los agentes de AppA.
Capa Física de SC (SC Physical Layer - SCPL): Es en esta capa donde se despliegan todos los componentes físicos de la ciudad inteligente, tales como: a) Sensores, b) Efectores, c) Objetos Inteligentes.
Capa de Gestión en la Niebla (Fog Layer - FL): Esta capa permite el paradigma de computación en la niebla en MiSCi. Los agentes de esta capa ayudan a decidir si los datos serán procesados localmente o en la nube, siendo FogA (Fog Agent) el responsable de esta tarea. FogA utiliza una meta-ontología proporcionada por la capa de OEL, información contextual proporcionada por la capa CAL, e información del sistema recopilada por SmonA (System Monitor Agent), sobre el nivel de ocupación en términos de procesamiento y comunicación (ancho de banda) de los agentes y servicios web locales, para decidir si los datos deben ser procesados localmente o en la nube (ver [24] para más detalles de esta capa).
2.2. Datos Enlazados
Los datos enlazados o vinculados describen una forma de publicar los datos en Internet para que se puedan interconectar entre ellos [4]. Particularmente, los datos enlazados es la manera que tiene la Web Semántica de enlazar un conjunto de datos que estén publicados en la Internet, para mejorar la comprensión de sus significados, tanto para los humanos como para las máquinas [15,16]. En específico, este concepto hace referencia a que los datos están enlazados mediante tecnologías de la Web Semántica, lo que permite que sean conectados y consultados datos desde diferentes fuentes, para agregar más semántica a los datos. Tim Berners-Lee introduce los principios de los datos enlazados, los cuales son [17,18]: i) Identidad: Utilizar URIs (Uniform Resource Identifier) para identificar los recursos; ii) Accesibilidad: Usar URIs HTTP (Hypertext Transfer Protocol) para que las personas puedan buscar recursos; iii) Estructura: Utilizar estándares RDF para describir recursos, y SPARQL (Query Language for RDF) para realizar consultas; iv) Navegación: Incluir enlaces a otras URIs para descubrir más recursos.
Por otro lado, la implementación de datos enlazados implica un proceso dinámico complejo con diferentes etapas [18]. En [4] se propone una metodología, llamada Metodología para el Desarrollo de Aplicaciones Web utilizando Datos Enlazados (MEDAWEDE), que permite desarrollar servicios basados en datos enlazados, compuesta por seis etapas divididas en dos grandes tareas. La primera tarea tiene la finalidad del enriquecimiento de los datos y su transformación a datos enlazados, y está integrada por las siguientes etapas: i) Especificación: se centra en el análisis de fuentes de datos, en esta fase se selecciona el conjunto de datos; ii) Modelado: se centra en la creación del modelo que describe el conocimiento del área de estudio, para ello se utilizan vocabularios estándares, se reutilizan ontologías, e incluso, se diseñan ontologías propias, iii) Generación: se centra en la transformación de los datos al lenguaje RDF; iv) Vinculación: en esta fase se vinculan los datos con otros conjuntos de datos para aumentar su valor, visibilidad y calidad, v) Publicación: se pone a disposición los datos en repositorios de tripletas. La segunda tarea tiene como objetivo la explotación de los datos enlazados, y la integra la siguiente etapa: i) Explotación: esta etapa permite el manejo e integración de distintas interfaces o aplicaciones, para consumir los recursos publicados de manera agradable y sencilla.
3. Extensión de MiSCi con datos enlazados
3.1. Datos enlazados en MiSCi
Los datos enlazados responden a varias necesidades en las ciudades inteligentes: la primera es para interpretar grandes cantidades de datos que provienen de distintas fuentes como: sensores, efectores, entre otros, donde muchos de estos datos son manejados en tiempo real. La segunda es para enriquecer los datos con información semántica, proveniente de MiSCi o de fuentes externas. En esta investigación se amplía el trabajo propuesto en [1,2,25], al agregar una nueva capa denominada Datos Enlazados (Linked Data Layer - LDL), que aumenta las capacidades del middleware MiSCi, para identificar, describir, conectar, relacionar y explotar los distintos datos generados por los usuarios y las aplicaciones de la ciudad inteligente usando el paradigma de datos enlazados (ver Fig. 1).
Los distintos agentes de la capa LDL automatizan las etapas de especificación, modelado, generación, vinculación, publicación y explotación de los datos que aparecen en la metodología MEDAWEDE, en el middleware MiSCi. En esta capa se llevan a cabo dos procesos, según MEDAWEDE: i) Enriquecimiento: Este proceso realiza las etapas de especificación, modelado y generación de los datos de MiSCi, por parte de los agentes ILDA (Internal Linked Data Agent) y ELDA (External Linked Data Agent). Además, se realizan las tareas de vinculación y publicación de los datos de MiSCi por parte del agente LDIA (Linked Data Integration Agent); ii) Explotación: Este proceso realiza la etapa de explotación de los datos de MiSCi, la cual es realizada por el agente LDKA (Linked Data Knowledge Agent). Ahora bien, estos agentes pueden ser activados simultáneamente desde distintos procesos, según las circunstancias que lo ameriten.
El proceso de enriquecimiento semántico implica recolectar datos internos y externos al MiSCi (ver Fig. 2). La recolección de datos internos se activa cada vez que algún agente CzA, AppA o DA es actualizado, para lo cual se invoca al agente ILDA con los datos nuevos que pueden provenir simultáneamente de diferentes fuentes (ver paso 1 en Fig. 2), Estos datos son preparados y enriquecidos simultáneamente con información del Servicio Web de Contexto (Context Web Services - Cx WS) y del Servicio Web de Meta Ontología (Meta Ontology Web Services - MO WS) (ver paso 2 y 3 en Fig. 2). De la misma manera ocurre con la recolección de los datos externos, lo cual es realizado por el agente ELDA. Luego, el agente LDIA es activado con la información enriquecida generada por los agentes ILDA o ELDA, para vincular los datos previamente obtenidos con otros datos enlazados (ver paso 4 en Fig. 2), para finalmente publicarlos como datos enlazados (ver paso 5 en Fig. 2).
El proceso de explotación es activado por un agente del MiSCi cuando solicita información enlazada (ver Fig. 3). Para este tipo de consulta se debe invocar al agente LDKA de MiSCi (ver paso 1 en Fig. 3). Luego, el agente LDKA (ver paso 2 en Fig. 3) por medio de los distintos mecanismos inteligentes de explotación de conocimiento enlazado, explora simultáneamente todas las fuentes de datos enlazados, y retorna la información solicitada por el agente.
Los agentes de la capa LDL definen cuatro ciclos autonómicos para la autogestión de los Datos Enlazados en MiSCi, basado en el concepto de ciclos autonómicos como servicios propuestos en [19,20]. Cada ciclo autonómico establece la relación entre las tareas de los agentes, para la explotación de cada una de las formas de conocimiento que permite el agente LDKA. Algunas de esas tareas establecen las reglas a activar del sistema recomendador según el contexto, o identifican el modelo o el conjunto de datos pertinente a una situación dada, entre otras cosas.
3.2. Especificación de los agentes de datos enlazados
La capa de datos enlazados está conformada por 4 tipos de agentes. Para la especificación de cada agente se usa MASINA [21], y en específico, los modelos de agentes y de tareas.
3.2.1. Agente de Datos Enlazados Internos (Internal Linked Data Agent - ILDA)
Son los agentes que brindan la capacidad de extracción, curación, agregación y modelado de las fuentes de información provenientes de agentes internos, como CzA, AppA y DA, para finalmente ser transformadas a formatos adecuados para el enlazado de datos. Específicamente, su objetivo es enriquecer los datos del agente solicitante con información del contexto de MiSCi. El diagrama de actividad (ver Fig. 4) muestra el servicio de este agente, y está compuesto por dos sub-servicios; el primero extrae los datos de las fuentes internas, y el segundo enriquece estos datos con información del contexto y de las ontologías
Modelo de Agente de ILDA. Este modelo indica el tipo de agente, el rol que cumple y la descripción de su funcionalidad:
Tipo: agente de servicio.
Roles: ofrecer servicio de extracción y enriquecimiento de los datos generados por el MiSCi.
Descripción: procesa solicitudes para extraer y enriquecer datos de MiSCi con información del contexto (Cx WS) y de las ontologías (MO WS), a petición de los agentes CzA, AppA, DA
Modelo de tareas de ILDA. El servicio “Enriquecer Datos” del agente ILDA presenta las siguientes tareas:
3.2.2. Agente de Datos Enlazados Externos (External Linked Data Agent - ELDA)
Son los agentes que brindan la capacidad de extracción, curación, agregación y modelado de las fuentes de información provenientes del exterior de MiSCi (Redes Sociales, Páginas Web, entre otros), para finalmente ser transformadas a formatos adecuados para el enlazado de datos, que permitan enriquecer semánticamente a la capa CAL del MiSCi con información del exterior. Es decir, ofrece el servicio de extracción y enriquecimiento de las fuentes externas al MiSCi. En la Fig. 5 se observa su diagrama de actividad.
Modelo de Agente de ELDA:
Tipo: agente de servicio.
Roles: ofrecer servicio de extracción y enriquecimiento de los datos de fuentes externas al MiSCi.
Descripción: procesa solicitudes para extraer y enriquecer datos provenientes del exterior (Redes Sociales, Páginas Web, entre otros) con información del contexto (Cx WS) y de las ontologías (MO WS).
Modelo de tareas de ELDA. Las tareas del servicio “Enriquecer Datos” de este agente son los siguientes:
3.2.3. Agente de Integración de Datos Enlazados (Linked Data Integration Agent - LDIA)
Es el agente que brinda la capacidad de vincular y publicar la información interna y externa generada por ILDA y/o ELDA. Este agente vincula los datos, para luego ser publicados como datos enlazados. En la Fig. 6 se observa su diagrama de actividad.
Modelo de Agente de LDIA.
Tipo: agente de servicio.
Roles: ofrecer servicio de vinculación y publicación de datos enriquecidos.
Descripción: procesa solicitudes de vinculación de datos enriquecidos con los distintos conjuntos de datos obtenidos en anteriores invocaciones, que luego son publicados como datos enlazados.
Modelo de tareas de LDIA. Las tareas del servicio “Vincular y Publicar los Datos Enriquecidos” de este agente son:
3.2.4. Agente de Conocimiento de Datos Enlazados (Linked Data Knowledge Agent - LDKA)
Son los agentes que ofrecen mecanismos para explotar el conocimiento vinculado a los datos enlazados, permitiendo capacidades de: análisis semántico, manejo de ambigüedad, etiquetado semántico, búsqueda exploratoria, visualización, filtrado, entre otros. Los servicios que presta LDKA son: i) Recomendar Información usando inferencia híbrida de lógica descriptiva/dialéctica para retornar información según la necesidad particular de un agente; ii) Generar Modelos de Aprendizaje Automático permite retornar modelos de conocimiento basado en distintas técnicas de aprendizaje automático como árboles de decisiones, redes bayesianas, crónicas, redes neuronales como las de aprendizaje profundo, etc.; iii) Generar Datos para entrenamiento de modelos de conocimiento, muestreos, etc.; iv) Aprender Ontologías usa los datos enlazados para poblar nuevas ontologías. El diagrama de actividad (ver Fig. 7) muestra los detalles de los servicios prestados por LDKA.
Los cuatros servicios para explotar el conocimiento vinculado a los datos enlazados, permitirá mejorar trabajos previos vinculados a la integración de datos [22], construcción de recomendadores o modelos de máquinas de aprendizaje más robustos [23], entre otros.
Modelo de Agente de LDKA. El modelo de agente de LDKA se describe de la misma manera que los anteriores agentes.
Tipo: agente de servicio
Roles: ofrecer servicio de explotación del conocimiento, como Recomendar información, Generar modelos de Aprendizaje Automático, Generar datos, o Aprender Ontologías.
Descripción: explora los datos enlazados y realiza las transformaciones del conocimiento según el tipo de solicitud (Recomendar información, Generar modelos de Aprendizaje Automático, Generar datos o Aprender Ontologías).
Modelo de tareas de LDKA. En la Tabla 1 se definen las tareas del agente LDKA, por cada servicio prestado.
4. Caso de estudio
En esta sección se presenta un caso de estudio, dividido en dos escenarios que ocurren en paralelo, para mostrar las capacidades del MiSCi usando la capa de enlazado de datos.
4.1. Escenario 1: enriquecer datos
Este escenario (ver Fig. 8) tiene como objetivo mostrar cómo se realiza el proceso de enriquecimiento de los datos del MiSCi. En este proceso es dónde se extraen y enriquecen los datos de las fuentes de información, que luego son publicados como datos enlazados.
Los agentes CzA, AppA y DA envían datos constantemente al Agente ILDA.
El agente ILDA recibe y procesa los datos de CzA, AppA y DA. Además, solicita información del contexto (Cx WS) y de las ontologías (MO WS).
El agente ILDA recupera los datos solicitados del contexto y de las ontologías, para aprovechar la información del entorno y de los servicios que posee el middleware.
Luego, ILDA prepara y enriquece los datos usando la información recuperada. Luego, genera los datos enriquecidos en formato de Tripletas RDF.
El agente ELDA procesa los datos de fuentes externas (Redes Sociales, Páginas Web, etc.). Además, solicita información del contexto y de las ontologías.
El agente ELDA recupera los datos solicitados del contexto y de las ontologías.
ELDA también prepara y enriquece los datos, pero mezclando las fuentes externas con la información solicita del contexto y de las ontologías.
LDKA-S1. Recomendar información |
---|
T1. Recibir la solicitud T2. Inferencia híbrida basado en lógica descriptiva/dialéctica T3. Retornar información solicitada |
LDKA-S2. Generar modelos de Aprendizaje Automático |
T1. Recibir la solicitud T2. Generar modelo de conocimiento basado en técnicas tales como crónicas, redes neuronales, árboles de decisión, redes bayesianas u otros. T3. Retornar modelo de conocimiento |
LDKA-S3. Generar datos de entrenamiento |
T1. Recibir la solicitud T2. Generar los datos de entrenamiento T3. Retornar los datos |
LDKA-S4. Aprender Ontologías |
T1. Recibir la solicitud T2. Extraer fuentes de datos T3. Enriquecer Ontologías |
Fuente: Los Autores.
El agente LDIA solicita los datos enriquecidos que se encuentre en espera de ser procesados.
Luego, LDIA enlaza los datos con otros datos previamente registrados/enlazados.
Finalmente, LDIA pone a disposición los nuevos conocimientos para ser consultados como Datos Enlazados.
En este primer escenario es donde los distintos agentes de la capa LDL enriquecen y transforman sus datos a datos enlazados. Por ejemplo, ILDA obtiene información interna como los signos vitales del ciudadano por medio de sensores (presión arterial, respiración, temperatura), o el historial clínico del ciudadano (enfermedades anteriores, enfermedades ancestrales, tratamientos actuales, hábitos, alergias, etc.). ELDA recoge datos externos, por ejemplo sobre los síntomas de las distintas enfermedades y sus tratamientos. Finalmente, LDIA vincula toda la información enriquecida y la transforma a datos enlazados.
4.2. Escenario 2: explotar datos
Este escenario tiene como objetivo mostrar cómo se explotan los datos enlazados por la capa LDL del MiSCi en la ciudad. Los datos enlazados necesarios para este escenario son recogidos previamente, o en paralelo, por el proceso de enriquecimiento mostrado en el escenario 1. En este escenario también se muestra el uso de servicios de LDKA, que requieren de otros servicios ofrecidos por el mismo. Por ejemplo, en la Fig. 9 se observa el diagrama de actividad del agente de conocimiento (Knowledge Agent - KA) del MiSCi, para el servicio de Generar Conocimiento , que invoca a otros dos servicios del agente LDKA. A continuación se describe este escenario (ver Fig. 10):
El agente CzA detecta problemas en los signos vitales del ciudadano, y genera la señal de alarma al HSS (Sistema Inteligente de Salud), a través del AppA que caracteriza a ese sistema.
El agente AppA (HSS) solicita al servicio Recomendar Información del agente LDKA, buscar los ciudadanos en los alrededores con capacidades de practicar los primeros auxilios, que permita brindarle atención médica inmediata al paciente.
LDKA retorna la información solicitada por AppA (HSS).
Luego, AppA (HSS) envía la notificación a los ciudadanos a través de CzA.
En los distintos procesos de actualización de conocimiento van emergiendo ontologías, en consecuencia el componente MO WS va solicitando el servicio de Aprender Ontología de LDKA, para extraer información y enriquecer dichas ontologías emergentes.
LDKA retorna las ontologías emergentes enriquecidas.
El AppA (HSS) solicita al servicio Recomendar Información del agente LDKA, recomendar los servicios de ambulancias, para tratar al paciente y trasladarlo al centro médico más cercano.
LDKA retorna la información solicitada por AppA (HSS).
El agente AppA (HSS) también solicita al servicio Generar Conocimiento (Fig. 9) del agente KA, los posibles diagnósticos y sugerencias de tratamiento.
El agente KA necesita un modelo de conocimiento para resolver el problema, por lo que activa el servicio Generar Modelos de Aprendizaje Automático de LDKA, para obtener el modelo de conocimiento sobre dicho problema.
LDKA genera y retorna el modelo de conocimiento a KA.
También KA necesita datos de entrenamiento para afinar el modelo de conocimiento, para eso solicita al servicio Generar Datos de LDKA.
LDKA genera y retorna los datos de entrenamiento para el modelo de conocimiento de KA.
Finalmente, el agente del MiSCi retorna los posibles diagnósticos y sugerencias de tratamiento a AppA (HSS).
En este segundo escenario, se le solicita a LDKA explotar los datos enlazados para generar conocimiento para responder a las distintas necesidades presentes en el MiSCi. LDKA responde con información contextualizada y adaptada a cada necesidad.
5. Análisis de resultados y comparación
En esta sección, se compara el MiSCi ampliado con datos enlazados, con otras plataformas y/o middleware que poseen características similares. Cada una de las etapas de la metodología MEDAWEDE [4] es usada como criterio de comparación (ver Tabla 2), basados en las características o procesos considerados en cada trabajo para esas etapas. Por ejemplo, el criterio de la etapa de Especificación se subdivide en criterios basados en el origen de la información usada en cada trabajo.
Sistemas Criterios | [5] | [6] | [7] | [8] | Este Trabajo | |||
---|---|---|---|---|---|---|---|---|
Especificación | Fuentes Internas | Sensores | ✓ | ✓ | ✓ | ✓ | ✓ | |
Aplicaciones | x | x | ✓ | x | ✓ | |||
Ciudadanos | x | x | ✓ | x | ✓ | |||
Fuentes Externas | Datos Enlazados | ✓ | ✓ | ✓ | ✓ | ✓ | ||
Páginas Web | x | x | x | x | ✓ | |||
Redes Sociales | x | x | x | x | ✓ | |||
Otros | x | x | x | x | ✓ | |||
Modelado | Ontologías | ✓ | ✓ | ✓ | ✓ | ✓ | ||
Vocabularios | ✓ | ✓ | ✓ | ✓ | ✓ | |||
Servicios | x | x | x | x | ✓ | |||
Información del Contexto | ✓ | ✓ | x | x | ✓ | |||
Fuentes Externas | ✓ | ✓ | ✓ | ✓ | ✓ | |||
Generación | Tripletas RDF | ✓ | ✓ | ✓ | ✓ | ✓ | ||
Vinculación y publicación | Datos Enlazados | ✓ | ✓ | ✓ | ✓ | ✓ | ||
Explotación | Búsquedas | ✓ | ✓ | ✓ | ✓ | ✓ | ||
Extracción | ✓ | ✓ | ✓ | ✓ | ✓ | |||
Filtrado | ✓ | ✓ | ✓ | ✓ | ✓ | |||
Inferencia | x | x | x | x | ✓ | |||
Enriquecimiento de Ontologías | x | x | x | x | ✓ | |||
Generación de Modelos de Conocimiento | x | x | x | x | ✓ | |||
Generación de Datos de Entrenamientos | x | x | x | x | ✓ | |||
Otros | x | x | x | x | ✓ |
Fuente: Los Autores
En cuanto al criterio de especificación, todos usan fuentes comunes como sensores y datos enlazados. La diferencia es que [7] y el sistema propuesto en este trabajo poseen también información recolectada por las aplicaciones, e información de los perfiles de las personas o ciudadanos en distintas redes sociales, y/o de sus interacciones con el middleware ([7] no considera esto último). En relación con el criterio de modelado, todos los sistemas enriquecen sus fuentes internas con información extraída de las fuentes externas, ontología y vocabularios. Además, [5,6] y el sistema propuesto en este trabajo se enriquecen con información del contexto, pero este sistema va más allá, al enriquecerse con información de las características de los servicios que presta en general MiSCi. En cuanto al criterio de generación, todos usan las tripletas RDF, y en los criterios de vinculación y publicación, todos usan los datos enlazados, aunque este trabajo no se enfoca a resolver un problema específico usando los datos enlazados, como el resto. Este trabajo fusiona las ventajas de los datos enlazados con las provenientes de las otras capas del MiSCi, que permiten ubicuidad, conciencia del contexto, emergencia ontológica, entre otras cosas, para proveer un entorno con una cantidad de conocimiento aún mayor, a las aplicaciones inteligentes de una ciudad inteligente, que puedan explotarlos según sus necesidades.
En el criterio de explotación, que es donde más diferencias existe entre este trabajo y los anteriores, todos los sistemas realizan tareas comunes, como la búsqueda, extracción y filtrado, pero el sistema propuesto en este trabajo ofrece servicios nuevos, como recomendación híbrida basado en lógica descriptiva/dialéctica, enriquecimiento de ontologías, generación de modelos de conocimiento (por ejemplo, modelos de clasificación o predicción), y generación de datos de entrenamientos para modelos de conocimiento, entre otros. Así, este sistema ofrece un conjunto de servicios innovadores, que permiten explotar los datos enlazados. Además, el sistema propuesto en este trabajo permite aprovechar los datos ofrecidos por las distintas fuentes en una ciudad, ya sea interna (sensores, aplicaciones o ciudadanos) o externa (redes sociales, páginas web, etc.), para convertirlos en conocimiento. A su vez, en el caso de los servicios de enriquecimiento de ontologías y generación de datos de entrenamiento, permite filtrar los datos relevantes de la ciudad. Por otro lado, el servicio de recomendación basado en inferencia híbrida usando lógica descriptiva/dialéctica, es necesario para la toma de decisiones en momentos de ambigüedades, en contexto donde la presuposición falla (para el diagnóstico o detección de fallas), en contingencias sobre el futuro (que indican que algo fue verdad y falso en el pasado), y/o en el discurso ficticio donde se toman decisiones según ciertos supuestos.
El añadir una capa a MiSCi para explotar los datos enlazados, si bien introduce costos computacionales y de almacenamiento extras (ver sección 3), son largamente sobrepasados por los beneficios que provee la misma a las aplicaciones inteligentes conscientes del contexto, por el acceso a una gran cantidad de conocimiento.
6. Conclusiones
La extensión de MiSCi con datos enlazados, provee un middleware innovador para el manejo de datos enlazados en un ambiente inteligente, aprovechando los datos generados por las distintas fuentes, ya sea interna (sensores, aplicaciones o ciudadanos) o externa (redes sociales, páginas web, etc.), para integrarlos para ser explotados. Además, la integración permite aprovechar los datos externos para enriquecer los internos, lo que es una ventaja al momento de arrancar un sistema. Por otro lado, la capa de datos enlazados, al aprovechar la información del entorno y de los servicios del MiSCi, le permite adaptarse a distintas circunstancias, es decir, aprovecha la información del contexto del MiSCi para responder a problemas y necesidades particulares, como se muestra en los escenarios del caso de estudio. Por ejemplo, en dichos escenarios aprovecharía las ontologías taxonómicas que MiSCi posee, y sus datos enlazados, para enriquecer el contexto en cada escenario.
Asimismo, este middleware tiene la capacidad de transformar y explotar la información obtenida, usando distintos mecanismos inteligentes. Por ejemplo, puede enriquecer ontologías existentes en MiSCi, puede generar modelos de conocimiento requeridos por los servicios de MiSCi, generar datos para construir modelos de conocimiento para MiSCi, y recomendar información en contextos de incertidumbre a través de una inferencia híbrida basada en lógica descriptiva/dialéctica.
En los casos de estudio se muestra como el middleware MiSCi orquesta los agentes para trabajar con los datos enlazados, y así responder a las necesidades de la ciudad y sus ciudadanos. En el escenario 1, se describe cómo interactúan los agentes para extraer y enriquecer los datos desde las distintas fuentes, para que luego estos datos enriquecidos sean vinculados y publicados como datos enlazados. En el escenario 2, se observa cómo se aprovechan los distintos servicios ofrecidos por LDKA, para explotar el conocimiento obtenido de los datos enlazados. En particular, esta nueva capa es vital en los procesos de actualización de conocimiento, en los que van emergiendo ontologías para responder a situaciones imprevistas (emergentes) [1]. En específico, estas ontologías necesitan poblarse, y gracias al servicio de aprender ontología de LDKA se puede extraer conocimiento proveniente de los datos enlazados del MiSCi, que permita enriquecer dichas ontologías emergentes.
Así, los elementos diferenciadores de nuestra propuesta con respecto a las anteriores, es que explota diferentes fuentes internas y externas para el enlazado de datos, y ofrece un grupo de servicios de gestión del conocimiento basado en datos enlazados.
En trabajos futuros se desarrollarán prototipos de los distintos agentes y procesos involucrados en el enriquecimiento y explotación de los datos. En este trabajo, en la sección 3.2 se hizo una especificación general de los agentes de esta capa, particularmente de sus características generales y las tareas que brindan como servicios en el contexto de MiSCi. Ahora, bien, falta por definirle a cada uno sus mecanismos de razonamiento y aprendizaje, así como también, diseñar como representarán sus conocimientos. Además, en trabajos futuros se harán desarrollos para la extracción automática de datos desde las fuentes internas y externas a MiSCi, para la inferencia híbrida basada en lógica descriptiva/dialéctica, para la generación de modelos de conocimiento y generación de datos (entrenamiento, muestreo, entre otros), y finalmente, para el enriquecimiento ontológico. Para la implementación de los mismos, algunos de los problemas a resolver será cómo realizar la construcción automática de la base de conocimiento y su motor de inferencia para el sistema recomendador según el contexto; o cómo identificar el modelo de conocimiento o el conjunto de datos pertinente a una situación dada, para el contexto de aprendizaje automático, entre otras cosas.