UNA REVISIÓN DE LA LITERATURA SOBRE DATOS ENLAZADOS (A REVIEW OF THE LITERATURE ABOUT LINKED DATA) Revista Ingeniería al Día. ISSN: 2389 - 7309. Volumen 5 Edición No 1. Enero – Junio de 2019 Recibido: 01/10/2018 Aprobado: 12/12/2018 Ricardo Jose Dos Santos Guillén Tepuy R+D Group, Artificial Intelligence Software Development Mérida, Venezuela Centro de Estudios en Microelectrónica y Sistemas Distribuidos (CEMISID) Universidad de Los Andes, Mérida, Venezuela ricardojdsg@gmail.com José Lisandro Aguilar Castro Tepuy R+D Group, Artificial Intelligence Software Development Mérida, Venezuela Centro de Estudios en Microelectrónica y Sistemas Distribuidos (CEMISID) Universidad de Los Andes, Mérida, Venezuela aguilar@ula.ve, aguilarjos@gmail.com Taniana Josefina Rodríguez de Paredes Tepuy R+D Group, Artificial Intelligence Software Development Mérida, Venezuela Centro de Estudios en Microelectrónica y Sistemas Distribuidos (CEMISID) Universidad de Los Andes, Mérida, Venezuela taniana@ula.ve RESUMEN En este artículo, se presenta una revisión del estado de arte sobre los Datos Enlazados en las siguientes dimensiones: trabajos que usen los datos enlazados para la recomendación de información basada en lógica descriptiva/dialéctica, trabajos que aprovechen las fuentes de datos enlazados para la generación de modelos de Aprendizaje Automático, trabajos sobre la generación de datos artificiales con información proveniente de fuentes de datos enlazados, y por último, trabajos sobre el aprendizaje de ontología explotando el conocimiento almacenados en los datos enlazados. Cada una de estas dimensiones representa retos de investigación en el ámbito de los datos enlazados. Palabras claves: Datos Enlazados, lógica dialéctica, aprendizaje recomendador de información, aprendizaje automático, generación de datos. ontológico, ABSTRACT This article presents a review of the state of the art of Linked Data in the following dimensions: works that use the linked data for the recommendation of information based on descriptive/dialectical logic, works that take advantage of the linked data sources for the 54 generation of Machine Learning models, works about the generation of artificial data with information coming from linked data sources, and finally, works about ontological learning exploiting the knowledge stored in the linked data. These dimensions represents research challenges in the field of linked data. Keywords: Linked Data, dialectic logic, ontology learning, information recommender, machine learning, data generation Revista Ingeniería al Día. ISSN: 2389 - 7309. Volumen 5 Edición No 1. Enero – Junio de 2019 INTRODUCCIÓN En la Web Semántica, se busca describir el contenido de los sitios web por medio de ontologías y metadatos semánticos, de tal manera que tanto las personas como las máquinas, puedan buscar y descubrir la información en ellos en un lenguaje más cercano al natural, aprovechando el gran potencial del conocimiento contenido en los mismos, como en las relaciones (enlaces) existente entre ellos [1],[2]. Un paradigma que coadyuva a ese objetivo son los Datos Enlazados (DE). Los datos enlazados o vinculados (en inglés, Linked Data) definen una forma de publicar datos en la Web para que se puedan interconectar entre ellos, permitiendo identificar, describir, conectar y relacionar los distintos elementos o conceptos en la Web [3],[5]. Los vocabularios y las ontologías son pilares muy importantes para el enlazado de datos, ya que ellos permiten identificar y describir los recursos y sus contextos operacionales. En este trabajo, se presentan dos aspectos. En primera instancia, se realiza una revisión del estado de arte sobre los datos enlazados basado en las siguientes dimensiones: trabajos sobre datos enlazados para la recomendación de información basada en lógica descriptiva/dialéctica, trabajos que usen las fuentes de datos enlazados para la generación de modelos de Aprendizaje Automático, trabajos sobre la generación de datos con información proveniente de fuentes de datos enlazados, y finalmente, trabajos sobre el aprendizaje de ontología basado en los datos enlazados. Esas dimensiones fueron seleccionadas, porque cada una de ellas representa retos de investigación en el ámbito de los datos enlazados. En segunda instancia, se presenta una discusión y propuestas de futuros trabajos sobre datos enlazados basados en esas dimensiones. MARCO TEÓRICO Metodología para Realizar el Estado de Arte La metodología usada para llevar a cabo esta investigación es la Methodology for Systematic Literature Review applied to Engineering and Education [6], que divide el proceso en cuatro fases: a) identificación de la necesidad de revisión; b) desarrollo de un protocolo de revisión; c) realización de la revisión; d) informe de la revisión. En la primera fase, se establece el estado inicial de conocimiento de las áreas o dimensiones de interés de la investigación, indicando la justificación, importancia e interés en dichas dimensiones. Asimismo, se explican los términos y conceptos relevantes 55 Revista Ingeniería al Día. ISSN: 2389 - 7309. Volumen 5 Edición No 1. Enero – Junio de 2019 asociados a cada dimensión. Además, se especifican las preguntas que orientan la investigación, así como las estrategias de búsquedas y organización de los documentos. En la segunda fase, se definen los criterios de inclusión o exclusión de los trabajos. En esta fase también se especifican una serie de preguntas para evaluar la relevancia, además determinar la calidad de los documentos encontrados. Seguidamente, en la tercera fase se procede a ejecutar las búsquedas en las fuentes de datos académicas, seleccionando y guardando los documentos que cumplan los criterios de inclusión y exclusión descritos en la fase anterior. Después, se hace una revisión exhaustiva de cada documento, para determinar si están realmente enfocados en las dimensiones. Los trabajos que no cumplan con las características esperadas son descartados, y con el resto se procede a desarrollar un resumen detallado de cada trabajo, mostrando sus aportes en cada dimensión. Finalmente, en la última fase se presentan los resultados del estudio, realizando un análisis general para cada dimensión con los resultados encontrados, complementado con sugerencias de aplicación y áreas de investigación. PRIMERA FASE Temas de Investigación Alrededor de los Datos Enlazados Los datos enlazados ofrecen un abanico gigantesco de potencialidades, entre las que se destaca el uso de estándares, tal como el protocolo HTTP (Hypertext Transfer Protocol), que permite obtener información sin APIs (Application Programming Interface) especializadas. Además, la variedad y cantidad de información que pone a disposición los datos enlazados, a través de la interconexión semánticamente de los mismos, permite razonar para extraer conocimiento. Las dimensiones que se buscan abarcar en este trabajo, son algunas de las áreas que pueden explotar el uso de los datos enlazados. En [7] se describen las áreas de investigación alrededor de los datos enlazados, haciendo énfasis en las siguientes: Recomendación de Información basada en lógica descriptiva/dialéctica, Generación de modelos de Aprendizaje Automático, Generación de datos artificiales y Aprendizaje Ontológico. Esas cuatro áreas están en boga como temas de investigación en la actualidad, siendo interesante determinar los aportes de los datos enlazados en dichas áreas. Recomendación de Información Un recomendador de información permite construir un modelo de conocimiento con la capacidad de prever y predecir las preferencias de los usuarios. Su objetivo principal es sugerir o recomendar información o recursos (películas, música, páginas web, noticias, etc.), basado en el conocimiento obtenido de las experiencias de otras personas y/o las preferencias propias [4],[8]. Una parte fundamental en los recomendadores es el perfil del usuario (gustos y preferencias), con la información específica de un usuario. Para la construcción de dichos perfiles se deben recopilar los datos, que pueden ser explícitos 56 Revista Ingeniería al Día. ISSN: 2389 - 7309. Volumen 5 Edición No 1. Enero – Junio de 2019 (obtenido directamente del usuario) o implícitos (obtenidos por sus historiales de búsquedas, ubicación del equipo, entre otros) [4],[8]. Los recomendadores hacen uso de mecanismos de inferencia, que buscan acercarse a las capacidades del razonamiento humano. Clásicamente, estos mecanismos se basan en la lógica descriptiva, pero existen otros tipos, tal como los basados en lógica temporal o dialéctica, que poseen la capacidad de resolver situaciones con información inconsistente. En especial, la lógica dialéctica permite manejar situaciones de contradicción o ambigüedad, y en particular, contextos donde la presuposición falla, existen contingencias sobre el futuro basado en que algo fue verdad y falso en el pasado, y/o discursos ficticios que generan supuestos [9]. En el caso de la recomendación de información basada en lógica descriptiva/dialéctica, los datos enlazados tienen intrínseco un mecanismo de razonamiento que permite identificar el contexto, resolver las ambigüedades, entre otras. Además, los datos enlazados, a través de sus mecanismos de interconexión, permiten ofrecer información adicional. Generación de Modelos de Aprendizaje Automático En la generación de modelos de aprendizaje basado en el Aprendizaje Automático, los datos enlazados son una fuente de datos con conocimiento importante, ya que permiten tener un gran conjunto de datos para entrenar y probar los modelos de conocimientos. Además, las relaciones semánticas de los datos ofrecen nuevas variables/descriptores, que, eventualmente, pueden encontrar mejores modelos de aprendizaje para analizar, predecir, entre otras cosas. Es decir, los datos enlazados coadyuvan al desarrollo del aprendizaje automático, al profundizar el estudio sistemático de algoritmos y sistemas que mejoran su conocimiento o rendimiento con las experiencias [10], y al posibilitar extraer características/descriptores resaltantes de un problema desde los datos vinculados, con la finalidad de construir modelos de conocimientos más robustos para clasificar, agrupar, entre otras. Generación de Datos Artificiales La generación de datos artificiales es una parte fundamental para el entrenamiento, testeo y/o validación de cualquier sistema o algoritmo [11]. La fusión de los datos enlazados con la generación de datos artificiales, permite obtener características más reales sobre el contexto (por ejemplo, las propiedades de un concepto, los rangos de una variable, entre otros). Además, los datos enlazados permiten agregar descripciones adicionales (métodos de generación, fuentes usadas como referencia, etc.) a los datos artificiales generados. Aprendizaje Ontológico En el aprendizaje ontológico, los datos enlazados son una fuente rica en información, que permite enriquecer las ontologías, al poblarlas con instancias, tanto de conceptos como de relaciones, creando vocabularios y/o conocimiento en un área específica (por ejemplo: medicina, deporte, comercio, etc.), es decir, permite la construcción de ontologías [12]. 57 Especificación del Proceso de Investigación En esta sección, se especifican las actividades realizadas para la revisión sistemática de la literatura. Revista Ingeniería al Día. ISSN: 2389 - 7309. Volumen 5 Edición No 1. Enero – Junio de 2019 Preguntas de investigación A continuación se presentan las preguntas en las cuatro áreas de interés de la investigación objeto de este artículo: 1) ¿Cómo se usan los Datos Enlazados para mejorar los Recomendadores de Información? 2) ¿Cuáles son las estrategias a considerar para generar modelos de Aprendizaje Automático con los Datos Enlazados? 3) ¿Cómo usar los Datos Enlazados para generar Datos Artificiales o Sintéticos? 4) ¿Cómo se usan los Datos Enlazados para el Aprendizaje Ontológico? Estrategias de búsquedas En la primera parte de la estrategia de búsqueda, se establecen los términos o palabras claves para las búsquedas asociadas a la investigación. Dichos términos o palabras se resumen en las Tablas 1 y 2. Tabla 1. Expresiones relacionadas con Datos Enlazados, Recomendadores de Información y Aprendizaje Automático Datos Enlazados A1: Datos Enlazados A2: Datos Vinculados A3: Linked Data A4: Linked Open Data Recomendadores de Información B1: Recomendadores de Información B2: Sistemas Recomendadores B3: Information Recommenders B4: Recommender Systems Aprendizaje Automático C1: Aprendizaje Automático C2: Aprendizaje Automatizado C3: Aprendizaje de Máquinas C4: Machine Learning En la segunda parte, se generan las consultas booleanas para la revisión sistemática de la literatura, combinando los anteriores términos. A continuación, algunos ejemplos: 1) (A1 or A2 or A3 or A4) and (B1 or B2); 2) (A3 or A4) and (B3 or B4); 3) (A1 or A2 or A3 or A4) and (C1 or C2 or C3); 4) (A3 or A4) and (C4); 5) (A1 or A2 or A3 or A4) and (D1 or D2 or D3 or D4 or D5); 6) (A3 or A4) and (D6 or D7 or D8 or D9 or D10); 7) (A1 or A2 or A3 or A4) and (E1 or E2); 8) (A3 or A4) and (E3 or E4). En la última parte, se determinan las posibles fuentes de consulta y cómo organizar los documentos encontrados. En particular, se usan las bases de datos académicas IEEEXplore, Scopus y Google Académico (Google Scholar), y se guardan los documentos (asociando el año y título) en directorios según las dimensiones de la investigación. 58 Revista Ingeniería al Día. ISSN: 2389 - 7309. Volumen 5 Edición No 1. Enero – Junio de 2019 Tabla 2. Expresiones relacionadas con Datos Artificiales y Aprendizaje Ontológico Datos Artificiales D1: Datos Artificiales D2: Datos Sintéticos D3: Generador de Datos Artificiales D4: Generador de Datos Sintéticos D5: Generador de Datos D6: Data Generation D7: Artificial Data D8: Synthetic Data D9: Artificial Data Generation D10: Synthetic Data Generation Aprendizaje Ontológico E1: Aprendizaje Ontológico E2: Enriquecimiento Ontológico E3: Ontology Learning E4: Ontology Enrichment SEGUNDA FASE Selección de Trabajos y Criterios de Inclusión y Exclusión En la Tabla 3, se presentan los criterios de inclusión y exclusión. Tabla 3. Expresiones relacionadas con Datos Artificiales y Aprendizaje Ontológico Artículos científicos, reportes técnicos, patentes, revistas especializadas, memorias de conferencias y simposios, y tesis. Criterio de Inclusión Publicaciones en español e inglés. Publicaciones del año 2011 en adelante. Publicaciones que contengan el concepto de datos enlazados con al menos una de las dimensiones en estudio. Publicaciones que sólo contengan el concepto de datos enlazados. Criterio de Exclusión Publicaciones antes del año 2011. Publicaciones no digitales. Publicaciones no disponibles para su revisión completa. Evaluación de la Calidad En esta sección, se presenta un conjunto de preguntas según cada dimensión, que permitirá evaluar la calidad de las publicaciones encontradas en la sección anterior. Recomendación de información 1. ¿El documento describe cómo se explotan los datos enlazados para mejorar los algoritmos de recomendación? 2. ¿El documento describe cómo se aprovechan los datos enlazados en los distintos mecanismos de razonamientos lógicos? 59 Generación de modelos de aprendizaje automático 1. ¿El documento describe cómo enriquecer información para los modelos de Aprendizaje Automático con los Datos Enlazados? 2. ¿El documento describe cómo representar la información con Datos Enlazado para su uso en los modelos de Aprendizaje Automático? Revista Ingeniería al Día. ISSN: 2389 - 7309. Volumen 5 Edición No 1. Enero – Junio de 2019 Generación de datos artificiales 1. ¿El documento describe cómo explotar los Datos Enlazados para crear los modelos de generación de Datos Artificiales? 2. ¿El documento describe cómo generar/enriquecer Datos Artificiales con los Datos Enlazados? Aprendizaje ontológico 1. ¿El documento describe cómo enriquecer las Ontologías con Datos Enlazados? 2. ¿El documento describe cómo determinar el contexto de extracción de información de los Datos Enlazados, es decir, usa ontologías propias o las crea? TERCERA FASE Resultados de Búsqueda La Figura 1, muestra el proceso de selección que permitió obtener los trabajos pertinentes a las necesidades de la investigación, que son detallados en la siguiente sección. Figura 1. Proceso de selección 60 Estado del Arte Revista Ingeniería al Día. ISSN: 2389 - 7309. Volumen 5 Edición No 1. Enero – Junio de 2019 Recomendación de información En [13] se estudian dos enfoques para extraer datos usando LOD (Linked Open Data). El primer enfoque extrae las distintas propiedades o característica de un texto ya identificado o relacionado con una URI (Uniform Resource Identifier), que es el estándar que usa los datos enlazados para identificar entidades del mundo real). Estas URIs permiten extraer directamente de DBpedia un conjunto de propiedades de cada ítem. El segundo enfoque usa un algoritmo para identificar los distintos conceptos que existan en las descripciones de los elementos obtenidos a través de sus propiedades o características. En este trabajo, se usa un algoritmo de desambiguación para relacionar las URIs a textos, que permite relacionar, clasificar o agrupar textos cortos, tal que los conceptos más relevantes en las URIs son mapeados a artículos de Wikipedia. Toda la información recogida por los distintos enfoques, permiten conocer el contexto de los elementos a recomendar, lo que mejora la precisión de los diferentes algoritmos de recomendación para extraer los N elementos más recomendables. Algunos de los algoritmos de recomendación estudiados son los basados en: a) Espacio vectorial: las recomendaciones se calculan aplicando una medida de similitud vectorial de la base de conocimiento con respecto a las preferencias y palabras buscadas; b) Clasificadores: las recomendaciones son vistas como una tarea de clasificación binaria, en la cual cada ítem tiene que ser clasificado como interesante o no con respecto a las preferencias del usuario; y c) Grafos: las recomendaciones son calculadas con el algoritmo PageRank, que obtiene un grafo con pesos, donde los nodos representan los usuarios, propiedades y entidades, y los enlaces son las relaciones entre los nodos. En [14], los autores presentan un sistema de recomendación basado en contenidos, que aprovecha el conocimiento codificado en los conjuntos de datos semánticos de LOD y un núcleo de grafos basado en vecindad. El conjunto de datos usado proviene de MovieLens (un recomendador de películas), dónde cada ítem está mapeado con sus respectivas URIs en DBpedia. Los grafos del núcleo son construidos tomando cada película como inicio del grafo, las propiedades de ellos corresponden a los otros nodos, y la cantidad de saltos o distancia es cuanto se requiere para llegar a esa propiedad desde los datos enlazados. Eso constituye cada grafo de vecindad, como los mostrados en la Figura 2 [14]. Por último, para calcular el peso de las películas a recomendar, se realiza una sumatoria de las propiedades que se consigan en el grafo de vecindad, multiplicado por un factor de decaimiento según la distancia de su ubicación en el grafo. Estos cálculos darían como resultado una lista de películas a recomendar a un usuario, basada en sus preferencias. Otro trabajo es [15], donde se propone un sistema de recomendación colaborativo de música, que utiliza Datos Enlazados para facilitar la adquisición de datos desde diversas fuentes, para mejorar la experiencia de los usuarios. El sistema recomendador colaborativo usa información proveniente de distintas fuentes (Wikipedia, MySpace, DBTune) con Datos Enlazados. Para la integración de las fuentes usan los vocabularios Friend of a Friend (FoaF), Music Ontology (mo), entre otros. En general, se transforma la información en una 61 matriz que representa el conocimiento obtenido, para finalmente aplicar algoritmos de filtrados sobre la matriz, para calcular la similitud entre los usuarios y el conocimiento adquirido, para determinar la información a recomendar. Revista Ingeniería al Día. ISSN: 2389 - 7309. Volumen 5 Edición No 1. Enero – Junio de 2019 Figura 2. Grafos de vecindad con dos saltos (i y j representan las películas y las e son las propiedades) De la misma manera, en [16] se presenta un sistema recomendador denominado QALD (Question Answering over Linked Data), que traduce preguntas planteadas en Lenguaje Natural a consulta SPARQL. Para ello, combina la Lógica de Primer Orden con información proveniente de fuentes de datos enlazados como DBpedia y YAGO (Yet Another Great Ontology). Este sistema aborda el problema de la siguiente manera: a) Detección de frases: donde se detectan las posibles frases o secuencias de tokens; esto se logra generando todos los n-gramas como candidatos a frases. Luego, se filtran las frases a través de distintas reglas (por ejemplo, se aceptan las frases con secuencias de palabras capitalizadas, se rechazan las frases mayores a cuatro palabras, entre otras); b) Mapeo de frases: se buscan los elementos semánticos (entidad, clase y relación) que correspondan con las frases candidatas, y por cada elemento se usan distintas técnicas. Para mapear frases a entidades, se consideran las entidades consistentes con DBpedia y Wikipedia. Para asignar frases a clases, se consideren que las clases tienen variación léxica, especialmente sinónimos, por lo que se usa la herramienta word2vec, que calcula la similitud entre la frase y la clase, retornando las primeras N clases más similares para cada frase. Para mapear frases a relaciones, se alinean las instancias entre las relaciones ontológicas en DBpedia y los patrones de relación que ofrece PATTY y ReVerb, y si una frase detectada se ajusta a algún patrón de relación, las relaciones ontológicas correspondientes en DBpedia serán devueltas como candidatas; c) Extracción de características e inferencia conjunta: este paso se centra en abordar los problemas de ambigüedades y de seleccionar los mejores mapeos obtenidos en los dos pasos anteriores, y para ello, se usa MLN (Markov Logic Network). MLN es una lógica probabilística que aplica las ideas de una red de Markov a la lógica de primer orden, lo que permite una inferencia incierta. En estos primeros tres pasos se descompone y se enriquece la pregunta de entrada planteada al sistema; d) Construcción del grafo de consulta de los elementos semánticos: sus vértices contienen las frases detectadas, los elementos semánticos 62 mapeados y sus tipos, y los arcos indican la relación de coincidencia del argumento entre dos vértices. Finalmente, e) Generación de consultas: permite generar tres tipos de consultas en SPARQL, las cuales son, ASK WHERE, para respuestas Si/No, SELECT COUNT, para respuestas numéricas, y SELECT para una lista de coincidencias. Revista Ingeniería al Día. ISSN: 2389 - 7309. Volumen 5 Edición No 1. Enero – Junio de 2019 Generación de modelos con aprendizaje automático En [17] se estudian las características de un grafo de conocimiento que permita expresar el conocimiento heterogéneo de forma natural, que pueda ser usado como entrada para los distintos mecanismos de aprendizaje automático. El grafo de conocimiento especificado en este trabajo se basa en tres principios básicos de la Web Semántica: a) Codificar el conocimiento usando sentencias: cada sentencia consiste en una sola propiedad binaria (el verbo) que relaciona dos recursos (el sujeto y el objeto) en un orden de izquierda a derecha. Juntos, los tres conforman una tripleta. Por ejemplo: Kate conoce Mary. b) Expresar conocimientos previos en ontologías: las ontologías contienen clases (tipos de entidades) y propiedades que describen un dominio, así como restricciones e inferencias sobre estas clases y propiedades. Por ejemplo, Kate tipo Persona. c) Reutilizar el conocimiento entre conjuntos de datos: la reutilización del conocimiento se especifica al referirse a los recursos no por su nombre, sino por un identificador único. Por ejemplo, se puede usar los identificadores vu:KateBishop y vu:MaryWatson para referirse a Kate y Mary, y foaf:knows para indicar la relación, quedando la tripleta así: vu:KateBishop foaf:knows vu:MaryWatson. Por su parte, para diseñar modelos de aprendizaje automático capaces de aprender con estos grafos de conocimiento, detallan dos enfoques diferentes: a) los que extraen vectores de características del grafo: este enfoque, en lugar de aprender directamente desde el grafo, traduce el grafo a una estructura que se adapte a los métodos disponibles para el aprendizaje automático. b) los que crean una representación interna en el propio grafo: este enfoque busca consumir los datos directamente desde el grafo, a través de representaciones internas. Por ejemplo, la opción Grafos de Redes Neuronales Convolucionales utiliza la estructura del grafo de los datos como información para la topología de la red neuronal. Por otro lado, en [18] los autores proponen un sistema para obtener las características y sentimientos de las reseñas de productos usando Datos Enlazados, y un esquema de clasificación de reseñas usando aprendizaje automático supervisado. Para ello, se usa un conjunto de técnicas de minería de texto, en las que se procesa el lenguaje natural para identificar nombres, sustantivos, características del contexto (usando los adjetivos y adverbios), entre otros. Luego, por medio de un análisis de sentimiento, se determina si la reseña es positiva, negativa o neutra, para finalmente enriquecer todo lo encontrado con Datos Enlazados, usando el vocabulario de la ontología MARL, que es un esquema de datos estandarizado diseñado para anotar y describir opiniones subjetivas expresadas en la Web o en Sistemas de Información. De esa manera, asocian el producto con la información en la Web, para determinar las "Características/Sentimientos" de los productos 63 Revista Ingeniería al Día. ISSN: 2389 - 7309. Volumen 5 Edición No 1. Enero – Junio de 2019 basadas en el contexto de las opiniones. Además, esas opiniones sirven como datos de entrenamiento, para crear a través de un esquema de Aprendizaje Supervisado, un modelo para clasificar las reseñas, y al mismo tiempo, con estas clasificaciones, ayudar a los clientes a tomar decisiones informadas sobre la compra de un producto. Del mismo modo, en [19],[20] se detalla el framework DL-Learner, que implementa varios algoritmos de Aprendizaje Supervisado que usan los datos enlazados como entrada, y devuelve, en la mayoría de los casos, un clasificador. La información que va a ser usada por el framework se especifica en un archivo de configuración, donde se indican las distintas fuentes que va a recibir, tales como OWL (Web Ontology Language) File, SPARQL endpoint, etc.), y cómo va a ser tratada cada fuente. Por otro lado, se describe el problema de aprendizaje, y se especifica el algoritmo que se desea utilizar para resolverlo, como, por ejemplo, OWL Class Expression Learner (OCEL), EL Tree Learner (ELTL), entre muchos. El objetivo de DL-Learner es proporcionar un framework con componentes reutilizables para resolver distintos problemas, usando una variedad de fuentes de conocimiento, que juntas forman el conocimiento de base para una tarea dada. Dentro de ese conocimiento, se puedan seleccionar casos positivos y negativos, para ser procesados por un algoritmo de Aprendizaje para generar un clasificador, legible por el ser humano, expresado en una representación lógica, ya sea como un modelo lógico descriptivo o como una consulta SPARQL. Ese resultado tiene dos propósitos. En primer lugar, utilizarse para clasificar recursos, y en segundo lugar, gracias a su representación lógica, determinar los conceptos más relevantes del modelo para distinguir los casos positivos de los negativos. Otro trabajo es RDF2Vec [21], que presenta un enfoque para el aprendizaje de entidades desde los grafos de datos enlazados. En este enfoque, primero se convierte los grafos de datos enlazados (DBpedia y Wikidata) en un conjunto de secuencias (considerando entidades y relaciones entre entidades), generando los vectores de características (feature vectors). Seguidamente, se usan esas secuencias para entrenar un modelo de lenguaje natural (Bag-of-Words y Skip-Gram), que estima la probabilidad de que una secuencia de entidades aparezca en un grafo. Una vez finalizado el entrenamiento, cada entidad del grafo se representa como un vector de características. Por último, los vectores de características pueden ser usados para construir modelos de aprendizaje, ya que dichos vectores son independientes de la tarea (clasificación, regresión, etc.) y del conjunto de datos enlazados. Esos vectores de características pueden ser usados para cualquier tarea dada, y por cualquier algoritmo (Support Vectorial Machine, Naive Bayes, Random Forests, etc.). En [22], se extiende la forma en que se calcula los vectores de características, probando doce funciones diferentes de ponderación en el grafo. Algunas de las funciones son uniforme, centrados en los bordes y centrados en nodos usando frecuencia de objeto y PageRank. Finalmente, en [23] se presenta una novedosa técnica denominada Geo-SemanticParsing (GSP), que recibe un documento de texto como entrada y devuelve un documento enriquecido, donde todas las menciones de lugares/ubicaciones están asociadas a las coordenadas geográficas correspondientes, aprovechando dos conceptos muy importantes como son, los datos enlazados y el aprendizaje automático. Esta técnica involucra tres 64 Revista Ingeniería al Día. ISSN: 2389 - 7309. Volumen 5 Edición No 1. Enero – Junio de 2019 procesos: a) Anotación semántica: se identifican las partes relevantes del texto de entrada y se vinculan a los recursos relacionados en la nube de datos enlazados (por ejemplo, entidades de DBpedia). Para este paso, se usan las APIs de los anotadores semántico existentes en el mercado (DBpedia Spotlight, TagMe, Dexter y Dandelion), pasando un documento de texto, que luego retornar las URIs de DBpedia de los recursos identificados y una puntuación de confianza”p” que expresa la probabilidad de que una anotación específica sea correcta. b) Extracción de información geográfica: se analizan otros recursos equivalentes pertenecientes a diferentes bases de conocimiento de datos enlazados (por ejemplo, YAGO, Freebase, Geonames, etc.), para extraer posible información geográfica relacionada con los recursos ya identificados. La capacidad de asociar un conjunto de coordenadas geográficas a un recurso, depende de la capacidad para analizar tantos predicados con información geográfica (geo:lat y geo:long, georss:point, etc.) como sea posible. Esta implementación soporta 45 tipos de predicados. Además, los datos pueden estar en diferentes formatos (por ejemplo, grados decimales; grados, minutos, segundos), por lo que se implementan un conjunto de fórmulas sencillas para convertir los diferentes formatos de entrada en coordenadas decimales de latitud y longitud. c) Filtrado con aprendizaje automático: se evalúan y se filtran las coordenadas geográficas candidatas de cada recurso identificado, donde se descartan (podan) las coordenadas que sean incorrectas. Esta operación de filtrado es realizada por un clasificador de aprendizaje automático binario, implementado con una Máquina Vectorial de Soporte o SVM. Una vez entrenado, el clasificador SVM toma como entrada un conjunto de características que describen un resultado candidato, y produce la etiqueta de clase pronosticada para ese resultado candidato. Generación de datos artificiales En SWING (Semantic Web INstance Generation) [24] se desarrolla un generador de datos que toma como entrada un conjunto de fuentes de datos enlazados y devuelve varios conjuntos de datos (descritas como ontologías), a los que se le aplican diferentes procesos de transformación. Este sistema está compuesto por tres fases: a) Adquisición de datos: aquí se seleccionan los conjuntos de datos u ontologías a considerar de cada una de las fuentes de datos enlazados. b) Transformación de los datos: donde los esquemas y las instancias se transforman empleando variaciones, tales como: i) Valor de los datos: trabaja sobre los valores concretos de las propiedades de los datos y sus tipos de datos, dando como resultado un nuevo valor. Por ejemplo: “Luke Skywalker” a “L4kd Skiwaldek”, “10” a “110”; ii) Estructura de los datos: cambian la forma en que los valores de los datos se conectan a los individuos en el grafo ontológico original, especificando el tipo, el número de propiedades asociadas, las transformaciones, la supresión/adición de propiedades, etc.; iii) Semántica de los datos: se basa en la idea de cambiar la forma en que se clasifican y describen los individuos en la ontología original. Por ejemplo: Character(k) a Creature(k). c) Evaluación de datos: en la que se crean las alineaciones de referencia para cada conjunto 65 Revista Ingeniería al Día. ISSN: 2389 - 7309. Volumen 5 Edición No 1. Enero – Junio de 2019 de datos generados; esas alineaciones contienen los mapeos correspondientes entre los individuos originales y los individuos transformados en los datos generados. Semantic Publishing Benchmark (SPB) [25],[26] implementa un generador de datos que soporta la creación de conjuntos de datos de gran tamaño, del orden de miles de millones de tripletas, utilizando varias ontologías y conjuntos de datos de referencia proporcionados por BBC (British Broadcasting Corporation), para producir conjuntos de datos que imitan las características de los conjuntos de datos de referencia. Las ontologías permiten definir las principales entidades y sus propiedades, necesarias para describir los conceptos esenciales de los datos de referencia, tales como obras creativas, personas, documentos, productos de la BBC (noticias, música, deporte, educación, blogs), anotaciones (etiquetas), etc. Los conjuntos de datos de referencia empleados por el generador de datos son instancias de los conjuntos de datos reales proporcionado por la BBC y un conjunto de datos enlazados de referencia de GeoNames y DBPedia, que enriquece las anotaciones con geolocalizaciones que permiten la formulación de consultas geoespaciales. El generador de datos SPB funciona en cuatro fases: a) las ontologías y los conjuntos de datos de referencia se cargan en un repositorio; b) todas las instancias de las ontologías de dominio que existen en los conjuntos de datos de referencia se recuperan mediante consultas SPARQL predefinidas; c) de las instancias anteriores, se seleccionan las entidades “popular” y “regular”; d) el generador produce los datos de acuerdo a tres mecanismos de generación: i) Agrupación de datos: se produce generando datos sobre una sola entidad a partir de conjuntos de datos de referencia y durante un período de tiempo fijo. Un ejemplo podría ser las noticias que se refieren a eventos para un período de tiempo; ii) Correlaciones de entidades: se produce generando datos sobre dos o tres entidades a partir de datos de referencia en un período fijo de tiempo. Un ejemplo podría ser que varias personas "populares" son mencionadas juntas por distintas obras creativas en un cierto período de tiempo; iii) Etiquetado aleatorio de entidades: las distribuciones aleatorias de datos se definen con un sesgo hacia las entidades populares creadas cuando se realiza el etiquetado. Un ejemplo son los eventos de cada día que se vuelven menos importantes varios días después de su fecha de inicio. SPIMBENCH (Semantic Publishing Instance Matching Benchmark) [27] cuenta con un generador de datos enlazados escalable, que amplía la propuesta de SPB para producir descripciones de datos que son instancias válidas de las clases de las ontologías proporcionadas por la BBC. Además, este generador se basa en las ideas SWING, ya que implementa las variaciones de valores, estructurales y lógicas, organizadas en transformaciones simples y complejas. Una transformación simple implica una combinación de variaciones de la misma categoría, mientras que la combinación de variaciones de diferentes categorías resulta en una transformación compleja. Las variaciones de valores soportadas incluyen transformaciones en las propiedades del tipo de datos de la instancia, errores tipográficos, y el uso de diferentes formatos de datos (numéricos, de fecha, etc.). Las variaciones estructurales se aplican a las propiedades de instancias tales como la división, agregación, adición y eliminación de propiedades. Las variaciones lógicas es donde SPIMBENCH pone más énfasis, ya que, soporta variaciones lógicas que van más 66 Revista Ingeniería al Día. ISSN: 2389 - 7309. Volumen 5 Edición No 1. Enero – Junio de 2019 allá de las construcciones de RDFS, utilizando los axiomas de OWL y OWL2 para descubrir correspondencias entre las instancias, al considerar la información de los esquemas de los datos. En [25],[28] se describe DATAGEN, generador de datos enlazados artificiales que imita las características de los datos reales en una Red Social (similar a Facebook). DATAGEN simula las actividades de los usuarios en una red social durante un periodo de tiempo, y las principales entidades que usa son: Personas, Etiquetas, Foros, Mensajes (Publicaciones, Comentarios y Fotos), Gustos, Organizaciones y Lugares. El proceso de generación de datos artificial pasa por los siguientes pasos [25]: a) Inicializar parámetros de configuración (tipo de salida de los datos, número de personas, número mínimo y máximo de etiquetas para una personas, etc) y diccionarios (toma la información de las fuentes de datos enlazados como DBpedia, GeoNames, entre otros); b) Crear personas, incluyendo relaciones con universidades y empresas (correlacionadas por ubicación); c) Generar interés/etiquetas de personas (correlacionadas por ubicación); d) Generar relaciones de amistad (amistades correlacionadas universidad-país, amistades correlacionadas con intereses y amistades aleatorias); e) Generar foros, mensajes y comentarios (correlacionados con los intereses de la persona); f) Serializar (csv o ttl, en formato NTriples) los datos generados (incluyendo datos estáticos sobre Lugares y etiquetas de las clases). Por otro lado, el algoritmo generador de datos de DATAGEN, utiliza el algoritmo MapReduce (Hadoop), lo que permite manejo de grandes datos. La idea es que una función “Map” se ejecuta con diferentes partes de los datos de entrada, en paralelo y en muchos clusters (distribuido). En [29],[30] se describe un generador de benchmark denominado LANCE, mostrado en la Figura 3 [29], donde se implementa un generador de datos sintéticos tomando como insumo distintas fuentes de datos enlazados. Además, este generador es independiente del dominio, por lo que, acepta cualquier conjunto de datos enlazados (acompañado de su esquema de configuración) para producir un conjunto de datos artificial que cumpla con los objetivos especificados. El sistema está compuesto por un repositorio que almacena los conjuntos de datos fuentes, y un generador de casos de prueba que toma un conjunto de datos de origen como entrada y produce un conjunto de datos de destino. El generador de casos de prueba consta de tres módulos: a) Inicialización: lee los parámetros de generación (fuentes de datos, transformaciones basadas en valores, estructuras y semánticas, entre otros) y construye el esquema que se utilizará para producir el set de datos de destino. Este esquema se obtiene al realizar consultas SPARQL, según los parámetros de generación, recogiendo las clases y propiedades de interés; b) Generador de recursos: utiliza los datos enlazados de entrada y el esquema creado por el modulo anterior, para recuperar instancias a través de consultas SPARQL que cumplan con esos esquemas; y c) Transformación de recursos: toma las instancias recuperadas, junto con los parámetros de generación, para crear y almacenar una instancia transformada (Valores: tipos, formatos de fecha/número, etc.; Estructuras: borrado de clases/propiedades, agregaciones, divisiones, etc.; y Semánticas: clases, instancias, propiedades, restricciones, etc) por cada instancia de origen. 67 Revista Ingeniería al Día. ISSN: 2389 - 7309. Volumen 5 Edición No 1. Enero – Junio de 2019 Figura 3. Arquitectura del Sistema LANCE LinkGen [31] es un generador de datos enlazados sintéticos que emplea mecanismos de generación aleatoria de datos basados en la distribución estadística Zipf y Gaussiana. El generador pasa por tres procesos para crear los datos sintéticos: a) se cargan las ontologías a considerar en la generación de datos enlazados (DBpedia y schema.org) y se recopila la información estadística sobre cada ontología. Entre la estadística a considerar está el número de clases, las propiedades de los tipos de datos, las propiedades de los objetos y las propiedades para las que no están definidos el dominio y el rango. También se almacena la conectividad de cada clase, para ordenar las clases en función de su frecuencia; b) se genera un gran número de entidades utilizando las distribuciones estadísticas. Por ejemplo, se usa la distribución gaussiana para los fenómenos de la vida real como las alturas de las personas, y la distribución de Zipf para las frecuencias de las palabras y las frecuencias de los nombres y apellidos; c) Se genera los tripletes sintéticos de las propiedades asociadas a cada clase. LinkGen tiene las siguientes capacidades: soporta el modo streaming, acepta cualquier vocabulario u ontología, puede complementar la salida con datos ruidosos e inconsistentes (errores sintácticos, declaraciones incorrectas, entre otros), puede generar diferentes conjuntos de salidas al variar los parámetros de configuración, y genera salidas en formato N-Triples y N-Quad. Además, tiene la capacidad de relacionar instancias artificiales con instancias reales. Aprendizaje ontológico En [32] se propone un método para generar metadatos de manera automática, para enriquecer el conocimiento con información de procedencia de otros metadatos, que pueden ser capturados en las distintas etapas de un flujo de trabajo de un conjunto de datos enlazados (extracción, generación y publicación). En ese trabajo, se considera cada paso del flujo de tareas como una actividad, cuyas propiedades son necesarias rastrear. Entre los pasos principales que se consideran son los siguientes: a) Generación de las definiciones de mapeo: se captura la información desde que se definen las reglas de mapeo, ya que es importante hacer un seguimiento de cuándo y quién editó o modificó las reglas de mapeo; b) Recuperación de las fuentes de datos: un conjunto de datos puede derivarse de una o más fuentes de datos heterogéneas. Cada fuente de datos podría derivarse de un insumo. Por ejemplo, una tabla podría derivarse de una base de datos o algunos datos 68 Revista Ingeniería al Día. ISSN: 2389 - 7309. Volumen 5 Edición No 1. Enero – Junio de 2019 JSON (JavaScript Object Notation) podrían derivarse de una API. Por lo tanto, es importante hacer un seguimiento de los metadatos relacionados con las fuentes de datos y su recuperación; c) Generación de datos enlazados: tan pronto como las reglas de mapeo y la fuente de datos están disponibles, se generan los datos. Este paso es crucial para capturar el origen de los datos, ya que en este paso es donde se almacena en los datos generados la información recogida en los pasos anteriores; d) Publicación de datos enlazados: los datos publicados no siempre son idénticos a los generados. Por ejemplo, podría ser el resultado de la fusión de múltiples conjuntos de datos, que se generan a partir de diferentes fuentes de datos en el mismo momento o en momentos diferentes. Además, el conjunto de datos publicado podría publicarse de una manera diferente, en comparación con la forma en que se generaron los datos. Si los datos generados difieren de los publicados, entonces se deben definir los metadatos para este paso. Por otro lado, en este trabajo también se estudiaron los diferentes niveles de detalles en la recolección de la información de procedencia y metadatos, donde se identifican los siguientes niveles: a) Conjunto de datos: se refiere a todas las anotaciones para el conjunto de datos completo, es decir, un void:Dataset es el mismo para cada tripleta; b) Grafo con nombre: son las anotaciones que están relacionadas con un determinado grafo con nombre, es decir, un void:Dataset es el mismo para todas las tripletas de un grafo con nombre; c) Conjunto de datos particionado: son todas las anotaciones que están relacionadas con un determinado conjunto de datos particionado según diferentes aspectos (por ejemplo, la fuente de datos subyacente, el objeto de la tripleta, el predicado de la tripleta o cualquier otra partición personalizada), es decir, un void:Dataset es el mismo para todas las tripletas de un conjunto de datos particionado; d) Conjunto de tripletas: son todas las anotaciones que están relacionadas con una tripleta. Adquiere importancia en casos de big data y datos en streaming, donde el tiempo en el que se generó una tripleta puede diferir significativamente en comparación con el resto de tripletas del conjunto de datos; e) Conjunto de términos: son todas las anotaciones que están relacionadas con un término. Adquiere importancia cuando un término que forma parte de una determinada tripleta puede derivar de diferentes fuentes de datos. De la misma manera, en [33] se presenta un esquema para el análisis y enriquecimiento semánticos de los metadatos de las distintas publicaciones científicas, con el objetivo de detectar potenciales redes de colaboración, a través del uso de los recursos de las fuentes de conocimiento sociales como los de datos enlazados de DBPedia, tomando como base la utilización de las palabras clave (keywords) de los artículos científicos, para determinar grupos de publicaciones relacionadas cuyos autores no han trabajado en coautoría, lo que permitirá descubrir a pares académicos que trabajan en temas de investigación similares, y con quienes se podría llegar a establecer redes de colaboración. Para conseguir ese propósito, primero se cuenta con la información sobre las publicaciones, y se crea los enlaces entre las palabras claves del repositorio local y los correspondientes recursos en el repositorio de datos enlazados objetivo (DBPedia). Luego, se inicia el proceso de enriquecimiento de cada palabra clave asociadas a las publicaciones. El enriquecimiento consiste en encontrar una taxonomía de conceptos cercanos al nodo de interés; esto es 69 Revista Ingeniería al Día. ISSN: 2389 - 7309. Volumen 5 Edición No 1. Enero – Junio de 2019 posible, aprovechando las relaciones semánticas de la ontología SKOS (Knowledge Organization System), al aplicar un proceso iterativo de recorrido del grafo a través de las relaciones semánticas definidas por SKOS en el repositorio de datos enlazado disponible en DBPedia. Además, DBpedia incluye vínculos a entidades de otras fuentes de datos enlazados, tales como YAGO, OpenCyc y WordNet, permitiendo así, consolidar e integrar información de un mismo recurso (persona, institución, producto, localización, etc.) a través de diferentes fuentes heterogéneas. Por ejemplo, en la Figura 4 se muestra la representación de los conceptos relacionados a la palabra Learning en DBpedia [33]. Figura 4. Taxonomía representada en SKOS: meta-conceptos relacionados a “Learning” En [34] se propone un algoritmo estadístico que usa los datos enlazados para la extracción de conceptos relevantes del texto, denominado glimpseLD, y está basado en SPOT [35]. La operación atómica detrás de este algoritmo es el descubrimiento de todas las instancias que pertenecen a cada concepto ontológico. Su funcionamiento es totalmente independiente con respecto al idioma, el dominio y el estilo del corpus. Además, el agente humano puede intervenir en el bucle del algoritmo para conducir la extracción de conceptos hacia su interpretación semántica, asegurando así la pertenencia al dominio de los conceptos extraídos y descartando rápidamente a los no pertinentes, evitando la propagación de patrones de extracción erróneos. Por otro lado, los datos enlazados sirven como una poderosa herramienta de arranque en frio, al tomar información de estas fuentes como una semilla en las iteraciones iniciales, que permitan encontrar nuevos conceptos en los textos, sin descartar que el experto en la materia pueda también proporcionar semilla(s) inicial(es). El algoritmo comienza tomando el corpus del documento dónde se va a realizar la búsqueda. Este documento puede ser de un tema específico o uno general (por ejemplo, contenidos de Twitter, facebook, blog, entre otros). Además del corpus, glimpseLD necesita uno o más ejemplos (semillas) de las instancias del concepto (por ejemplo, Colores) a extraer de los datos enlazados (por ejemplo, seleccionando todas las entidades de tipo dbo:Colour de DBpedia y todas las entidades de tipo wikidata:Q1075 de Wikidata), recuperando las etiquetas de los colores en múltiples idiomas como el inglés, alemán, español e italiano. A partir de ellas, se evalúan los contextos (el conjunto de palabras que rodean a una instancia) en los que se usan las semillas, y se identifican los contextos "buenos". Los contextos se califican retrospectivamente en términos de cuántos resultados "buenos" se generan, manteniendo todos los contextos que tienen una puntuación sobre 70 Revista Ingeniería al Día. ISSN: 2389 - 7309. Volumen 5 Edición No 1. Enero – Junio de 2019 un determinado nivel (se pueden encontrar más detalles sobre la función de puntuación en [35]). Los contextos "buenos" se utilizan para identificar otros términos o frases en el corpus, que son presentados a un agente humano o agente artificial (que conoce los elementos que pertenecen al concepto de destino, pero no las comparte a priori) como candidatos a un nuevo concepto (por ejemplo, "azulgrana" o "rojo vivo" para el español, que no está presente en las fuentes de datos enlazados usados como semillas). Los conceptos aceptados por el agente o experto en la materia, son añadidos al diccionario y utilizados como semillas adicionales para la siguiente iteración. Por último, en [36] se especifica una arquitectura que recopila, integra y enriquece los datos públicos sobre las ciudades. La arquitectura está compuesta por las siguientes capas: a) Crawler: recoge periódicamente los datos abiertos de 32 tipos de fuentes heterogéneas (por ejemplo, Datos Enlazados: DBpedia, APIs Web: Urban Audit), usando los distintos scripts definidos en la capa Wrapper Components; b) Wrapper Components: define los scripts que permiten transformar y/o mapear los datos recopilados. Para lograr ese objetivo, se crean manualmente los distintos componentes de envolturas personalizados que atienden los diversos problemas específicos de cada fuente. Estas envolturas preprocesan los datos de las fuentes, antes de integrarlos en el almacén de tripletas de datos enlazados. Dicho preprocesamiento contiene tareas de limpieza de datos, es decir, conversiones de unidades, formateo de números y datos, codificación de cadenas y filtrado de datos no válidos. Entre el conjunto de envolturas se cuenta con extracción de hojas Excel, CSV (con análisis y limpieza), JSON, tablas en documentos HTML (HyperText Markup Language) y RTF, Datos Enlazados, APIs, RDF (limpieza), entre otros; c) Semantic Integration: unifica el vocabulario de las diferentes fuentes de datos, a través de una ontología CityDataModel (ver Figura 5 [36]) y parte de esta capa se implementa en las envolturas individuales de la capa Wrapper Components. La ontología cubre varios aspectos: contexto espacial (país, región, ciudad, distrito), contexto temporal (validez, fecha de recuperación), procedencia (fuente de datos), términos de uso (licencia) y una lista extensible de indicadores. También maneja información de contexto de las fuentes (fecha y hora de los datos descargados, periodo de validez, nombre y ubicación de las fuentes, entre otros) a través de la clase CityDataContext. Para enriquecer e integrar las distintas fuentes, se mapean las propiedades de las fuentes con las propiedades de CityDataModel (por ejemplo, los datos enlazados de DBpedia etiquetados como dbpedia:population son relacionados con citydata:population mediante subPropiedadOf); d) Otras Capas (Data Storage, Analytics y User Interface y LOD): En estas capas se pone a disposición los datos procesados como datos enlazados, y el motor de consultas SPARQL proporciona acceso a ellos. Además, permite realizar análisis con la información de los datos unificados a través de la ontología CityDataModel. Por otro lado, en este trabajo proponen un primer paso para la automatización de las capas Crawler y Wrapper Components, al presentar un enfoque de aprendizaje de mapeos ontológicos de pares de indicadores de diferentes conjuntos de datos, que permitiría a los indicadores de nuevos conjuntos de datos ser mapeados a los indicadores existentes. El enfoque propuesto busca calcular el coeficiente de correlación 71 de los indicadores en las propiedades de los diferentes conjuntos de datos, para determinar que propiedades son equivalentes, obteniendo el mapeo de dichas propiedades. Revista Ingeniería al Día. ISSN: 2389 - 7309. Volumen 5 Edición No 1. Enero – Junio de 2019 Figura 5. Fragmento de la ontología CityDataModel TERCERA FASE Discusión y Futuros Desafíos En esta sección se presenta un análisis de los resultados encontrados en las distintas dimensiones. En la Tabla 4, se muestran los trabajos agrupados por dimensión. Tabla 4. Trabajos que explotan los datos enlazados por dimensión Dimensiones relacionadas con los datos enlazados Número de trabajos Trabajos Recomendación de información 4 [13], [14], [15], [16] Generación de modelos de aprendizaje basado en el Aprendizaje Automático 7 [17], [18], [19], [20], [21], [22], [23] Generación de datos artificiales 8 [24], [25], [26], [27], [28], [29], [30], [31] Aprendizaje Ontológico 5 [32], [33], [34], [35], [36] Recomendación de información En la Tabla 5, se muestra un conjunto de trabajos que explotan distintas características para recomendar información usando los datos enlazados. En general, las investigaciones prueban distintos algoritmos recomendadores basados en espacio vectorial y modelos probabilísticos (aplicando cálculos de medida de similitud vectorial), clasificadores (cada preferencia es clasificada como interesante o no) y grafos (cálculos de peso y distancia entre nodos del grado). Además, todos los trabajos muestran recomendadores basados en lógica descriptiva usando datos enlazados, pero no se encontraron trabajos que muestren recomendadores usando inferencias híbridas de lógica descriptiva/dialéctica con datos 72 Revista Ingeniería al Día. ISSN: 2389 - 7309. Volumen 5 Edición No 1. Enero – Junio de 2019 enlazados, o en su defecto, usando inferencias con lógica dialéctica con datos enlazados. Por otro lado, en [16] se traducen preguntas planteadas en Lenguaje Natural a consulta SPARQL utiliza Lógica de Primer Orden, con información proveniente de datos enlazados. Tabla 5. Trabajos que explotan los datos enlazados para recomendar información Características Trabajos Usa algoritmo basados en espacio vectorial y modelos probabilísticos [13], [15] Usa algoritmo basados en clasificadores [13], [15] Usa algoritmo basados en grafos [13], [14], [16] Usa lógica descriptiva [13], [14], [15], [16] Usa lógica dialéctica No Encontrado El desafío en este tópico es desarrollar un recomendador de información con datos enlazados que permita usar ambas lógicas, para resolver una variedad mucho más amplia de problemas. En particular, la lógica dialéctica podría conferirle al recomendador, la capacidad de resolver situaciones en las que un razonamiento se encuentra con información inconsistente (estado de contradicción o ambigüedad). En relación a la lógica dialéctica, en [9] se describe el razonador RM3 que soporta este tipo de razonamiento. El posible funcionamiento de este recomendador sería el siguiente (ver Figura 6): En el paso 1, el usuario realiza una solicitud al recomendador, indicando la consulta que desea resolver. En los pasos 2 y 3, se identifica y se enriquece la consulta con datos enlazados, detectando su contexto. En los pasos 4, 5, 6 y 7 (proceso repetitivo) es donde se van detectando las preferencias del usuario, y se van enriqueciendo y almacenando con datos enlazados. En los pasos 8, 9, 10 y 11 se solicita al módulo con lógica descriptiva las posibles recomendaciones. En los pasos 12 y 13 se verifican las inconsistencias y/o ambigüedades que presentan las posibles recomendaciones según la consulta y se resuelven usando lógica dialéctica, y se resuelven las recomendaciones a entregar. En el paso 14 se entrega las recomendaciones al usuario. Generación de modelos de aprendizaje automático En la Tabla 6, se presentan los trabajos que explotan los datos enlazados para definir modelos de aprendizaje automático. En [18],[23], se toma la información de un texto sin estructura y se asignan URIs (Uniform Resource Identifier) de los datos enlazados a cada concepto detectado, es decir, se hacen anotaciones semánticas. En los trabajos [18],[21],[23], se extrae información de los datos enlazados, para enriquecer el conocimiento que se posee de un concepto determinado. La tercera característica en la Tabla 6, transforma los datos enlazados a matrices o vectores para construir la topología de base del modelo de aprendizaje; y en la cuarta característica en la Tabla 6 se usa la información directamente desde los datos enlazados, para deducir descriptores. Por otro lado, en [19],[20] se especifica un framework con componentes reutilizables para solucionar 73 distintos problemas de aprendizaje con una variedad de fuentes de conocimiento, que juntos forman el conocimiento de base para resolver una tarea dada usando aprendizaje automático. Revista Ingeniería al Día. ISSN: 2389 - 7309. Volumen 5 Edición No 1. Enero – Junio de 2019 Figura 6. Diagrama de secuencia del recomendador de información Tabla 6. Trabajos que usan datos enlazados para generar modelos con aprendizaje automático Características Trabajos Extrae información de textos (minería de texto) y los relacionan con [18], [23] datos enlazados Enriquece la información con los datos enlazados [18], [21], [23] Transforma la información representa en el grafo de datos enlazados [17], [21], [22], [23] Usa la información directamente del propio grafo de datos enlazados [17], [18], [19], [20], [21], [22] El desafío en relación al aprendizaje automático, sería desarrollar un servicio generador de modelos de aprendizaje automático con componentes reutilizables, que permita usar algoritmos de aprendizaje supervisados o no supervisados para resolver distintos problemas, usando como fuentes de conocimiento los Datos Enlazados. Particularmente, en esta fase se requieren varias tareas: definir la estructura, los descriptores, etc., del modelo de aprendizaje. Por ejemplo, la tarea de detectar el conjunto de descriptores a considerar en el modelo de aprendizaje, para un problema dado, es usar los Datos Enlazados en el proceso de Ingeniería de Descriptores (extracción, reducción, selección y fusión de descriptores). Ese servicio puede ser invocado en diferentes tipos de ambientes. Para poner en perspectiva lo interesante de este servicio, supóngase el caso de una ciudad inteligente, en la que un ciudadano necesita encontrar los mejores lugares para comer en la ciudad según 74 Revista Ingeniería al Día. ISSN: 2389 - 7309. Volumen 5 Edición No 1. Enero – Junio de 2019 el tipo de comida. Este servicio se desplegaría de la siguiente forma (ver Figura 7): En el paso 1 se pasa como datos de entrada el objetivo del problema a resolver (encontrar los mejores lugares para comer en la ciudad según el tipo de comida), y los algoritmos a usar (arboles de decisiones, redes bayesianas, crónicas, etc.). En los pasos 2 y 3 se construye el modelo de aprendizaje (estructura, descriptores, etc.). En los pasos 4, 5, 6 y 7 se buscan los datos a usar para entrenar y probar el modelo. En este caso particular, se usan los datos enlazados para poblar los conjuntos de datos de entrenamiento y prueba, basadas en los ciudadanos y las características de los lugares. En el paso 8, se genera el modelo de conocimiento y su calidad (métricas de rendimiento). Figura 7. Diagrama de secuencia del servicio generador de modelos Generación de datos artificiales En la Tabla 7, se pueden observar las características usadas en los trabajos para la generación de datos que exploten los datos enlazados. Muchos de los trabajos usan los datos enlazados como modelo para extraer las características de los datos artificiales a generar. También se observan que en los trabajos se filtran y/o se transforman los datos enlazados de entrada (datos reales) para producir perturbaciones o cambios en los datos, logrando generar datos artificiales con variaciones (de estructura, de tipos y/o de valor) de los datos reales. Otra forma de usar los datos enlazados para generar datos artificiales, es obteniendo información externa para los datos de entrada, al enriquecerlos con los datos enlazados. Además, se observan trabajos que describen generadores con la capacidad de tomar y generar grandes conjuntos de datos, o de generar datos en tiempo real, usando técnicas y tecnologías de Big Data. También, se puede notar un grupo especial de trabajos enfocados a la generación de datos que simulan ambientes reales, por ejemplo, en [25],[28] simulan las actividades de los usuarios en una red social durante un periodo de tiempo, donde se especifican las relaciones de las personas, organizaciones, lugares, etc. Un interesante desafío, sería desarrollar un generador de datos en tiempo real, tal que el generador sea responsable de mantener actualizada los cambios del modelo de dominio de las fuentes de datos enlazados, para permitir optimizar la generación, es decir, la 75 Revista Ingeniería al Día. ISSN: 2389 - 7309. Volumen 5 Edición No 1. Enero – Junio de 2019 generación artificial se adaptaría a los cambios de manera incremental, evitando recalcular la información estadística de todos los datos de entrada [37]. Tabla 7. Trabajos que explotan los datos enlazados para generar datos Características Trabajos [24], [25], [26], [27], Usa los datos enlazados de entrada como modelo [29], [30], [31] Filtra los datos enlazados de entrada para casos particulares [24], [25], [26], [29], [30] Transforma los datos enlazados de entrada [24], [27], [29], [30] Enriquece los datos de entrada con datos enlazados [25], [26], [28] Relaciona datos enlazados a los datos generados [24], [31] Genera grandes conjuntos de datos (Big Data) [25], [26], [28] Genera datos en Streaming (en tiempo real) [31] Genera datos que simulan ambientes reales [25], [26], [28] Un contexto de funcionamiento para este generador, puede ser un ambiente inteligente como los encontrados en la Industria 4.0, donde se puede invocar a este servicio generador de datos, para probar las capacidades de reacción al ambiente. En la Figura 8, se muestra como trabajaría este servicio: En el paso 1 se pasan los parámetros de configuración del generador (modelo de generación, fuentes de datos enlazados, cantidad de datos a generar, etc.). Los pasos 2 y 3 son opcionales, para el caso cuando no se especifiquen las características del modelo de generación, tal que se extraería el modelo de generación (estructura, tipos y datos) desde las fuentes de datos enlazados indicados en la configuración. En los pasos 4 y 5, opcionales, se enriquecen los datos de entrada desde las fuentes de datos enlazados indicados en la configuración. En los pasos 6 y 7 (proceso repetitivo) se generan los datos artificiales. En los pasos 8 y 9 (proceso repetitivo) se relacionan y enriquecen los datos artificiales con las fuentes de datos enlazados. En el paso 10 se retorna los datos artificiales generados. Figura 8. Diagrama de secuencia del servicio generador de datos artificial 76 Revista Ingeniería al Día. ISSN: 2389 - 7309. Volumen 5 Edición No 1. Enero – Junio de 2019 Aprendizaje ontológico En general, en las investigaciones en esta área, se busca enriquecer los datos enlazados, en las tres etapas clásicas que se consideran para usarlos (ver Tabla 8), para lo cual se usan ontologías. En la etapa de extracción se enriquece con información de las fuentes, como su ubicación, fecha de actualización, datos que maneja, etc. En la etapa de generación se enriquece con información de otras fuentes: fecha de generación, procesos de transformación de los datos, entre otros. En la etapa de publicación, solo se enriquece si hay cambios en los datos, es decir, si los datos de publicación van a ser distintos a los datos en la etapa de generación. Por ejemplo, si al momento de la publicación se toma parte de los datos o si los datos de publicación es una suma de varias etapas de generación. También se observa que la información a usar en el aprendizaje ontológico se puede extraer de distintas formas, como pueden ser: i) Desde mapeos, se usa un conjunto de reglas que indican que datos extraídos son iguales a un concepto o propiedad de la ontología; ii) Desde el contexto, se analizan las frases o estructuras de las fuentes de datos a través de distintos métodos, para determinar a qué concepto o propiedad de la ontología se asemeja. Por último, los trabajos se enfocan en dos maneras de usar las ontologías. La primera, que es la más usada, consiste en usar una ontología de base con los conceptos y propiedades a considerar, que luego es poblado con los datos extraídos de los datos enlazados. En la segunda y más complicada, se crea una ontología a partir de los datos extraídos de los datos enlazados, donde se toman los conceptos y propiedades según una necesidad particular o problema emergente (problema que no fue considerado desde un principio). Tabla 8. Trabajos que explotan los datos enlazados para el aprendizaje ontológico Características Trabajos Enriquece la etapa de extracción [32], [34] Enriquece la etapa de generación [32], [33], [36] Enriquece la etapa de publicación [32] Extrae información desde mapeos [32], [33], [36] Extrae información desde el contexto [34], [35], [36] Extrae información desde múltiples fuentes de datos [32], [33], [34], [35], [36] Usa su propia ontología [32], [33], [36] Crea la ontología a partir de los datos [34], [35] Un desafío interesante sería desarrollar un servicio que permita crear ontologías emergentes con los datos enlazados. Dicho servicio tendría la capacidad de generar ontología emergente según la necesidad que se presente, aprendiendo los distintos axiomas (conceptos o propiedades) de las ontologías de las fuentes de datos enlazados. Luego, estas ontologías creadas pueden ser enriquecidas/pobladas con la información que se extraigan desde las distintas fuentes de datos enlazados. Los ambientes que pueden desplegar este tipo de servicio son muy variados, por ejemplo, en una ciudad inteligente. Supóngase que ocurre un infarto de un ciudadano, el 77 Revista Ingeniería al Día. ISSN: 2389 - 7309. Volumen 5 Edición No 1. Enero – Junio de 2019 cual debe ser atendido de manera inmediata, por lo tanto, la ciudad necesita crear una ontología para brindar la atención al ciudadano. Esa ontología debe considerar las enfermedades y síntomas presentes del paciente (historial) y las características de las enfermedades con sus tratamientos recogidos a través de los datos enlazados. Además, esa ontología debe recoger información del entorno, que pueda permitir obtener conocimiento de las posibles causas de dicho problema. Este servicio funcionaría de la siguiente forma (ver Figura 9): En el paso 1, se pasan los parámetros de configuración al servicio (ontología, mapeo, fuentes de datos enlazados, etc.). En los pasos 2 y 3 (proceso opcional, cuando no se especifique la ontología y/o el mapeo de los datos) se crea a partir de ciertas fuentes de datos enlazados, una ontología que considere las enfermedades con sus síntomas, características y tratamientos. En los pasos 4 y 5 se extrae la información necesaria de los datos enlazados, para enriquecer/poblar la ontología. Para este caso, se obtienen las enfermedades y síntomas presentes en el paciente (historial), además de información del entorno que puedan permitir obtener conocimiento de las posibles causas de dicho problema. En el paso 6 se retorna la ontología con toda la información ya aprendida. Figura 9. Diagrama de secuencia del servicio de aprendizaje ontológico CONCLUSIONES El estado de arte objeto de este artículo, ha permitido establecer los avances sobre los datos enlazados en los aspectos de cada dimensión considerada, dejando relucir los posibles retos o desafíos a resolver en próximas investigaciones. Así, en la dimensión sobre la Recomendación de información con datos enlazado, se describe un desafío interesante, como es explotar los datos enlazados, usándolos en conjunto con las lógicas descriptiva y dialéctica, para ampliar las capacidades de los sistemas recomendadores ante problemas que necesiten razonar en estados de contradicción o ambigüedad. Otros desafíos interesantes descritos en este trabajo, son los distintos servicios que explotan los datos enlazados apoyándose en otras áreas tecnológicas. En ese sentido, en la dimensión de la Generación de modelos de Aprendizaje Automático, es usar los datos enlazados como fuentes de conocimiento para construir los modelos de conocimiento (topología o estructura, descriptores, etc.), para distintos problemas. Por su parte, en la 78 Revista Ingeniería al Día. ISSN: 2389 - 7309. Volumen 5 Edición No 1. Enero – Junio de 2019 Generación de datos artificiales, es usar los datos enlazados para generar datos artificiales que representen las características de un contexto dado, evitando en muchos casos el uso de los datos originales por seguridad o privacidad. Además, es una propuesta interesante para la generación masiva de datos artificiales, en casos donde no se cuente con suficientes datos, o en casos que se deseen simular ambientes inteligentes. A su vez, en la dimensión del Aprendizaje ontológico, algunos de los posibles trabajos es explotar los datos enlazados para crear o poblar las ontologías, entre otras cosas. También permiten enriquecer dichas ontologías en un dominio particular o emergente, ofreciendo conocimientos en un área o ambiente específico, extraídos automáticamente de las fuentes de datos enlazados. Finalmente, un desafío interesante sería contar con un ambiente donde se integren y desplieguen todos estos servicios o características, permitiendo resolver múltiples problemas en conjunto, ya que cada uno de estos servicios ofrece o resuelven necesidades particulares. De esta manera, sería un entorno en donde se podrían encadenar/orquestar los servicios, es decir, la respuesta de un servicio puede ser usado como entrada a los servicios, permitiendo resolver problemas de mayor envergadura. REFERENCIAS [1] [2] [3] [4] [5] [6] 79 T. Berners-Lee, J. Hendler, and O. Lassila, “The Semantic Web”, Scientific American, vol. 284, no. 5, pp. 28-37, May 2001. [Online]. Available: https://www.scientificamerican.com/article/the-semantic-web/ [Accessed: June 20, 2018]. T. Berners-Lee, et al., “Tabulator: Exploring and Analyzing Linked Data on the Semantic Web”, in 3rd International Semantic Web User Interaction Workshop (SWUI 2006), Nov. 2006, pp. 1-16. Online]. Available: https://www.cs.columbia.edu/~chilton/my_publications/BernersLeeTabulator2006.pdf [Accessed: June 20, 2018]. T. Rodríguez, R. Dos Santos, y J. Aguilar, “Metodología para el desarrollo de Aplicaciones Web utilizando Datos Enlazados”, en 5ta. Conferencia Nacional de Computación, Informática y Sistemas (CONCISA 2017), Oct. 2017, pp. 114-122. [En línea]. Disponible en: http://concisa.net.ve/memorias/CoNCISa2017/CoNCISa2017p114-122.pdf [Consultada: 30 de junio de 2018]. R. Dos Santos, y J. Aguilar, “Enlazado de Datos”, en Introducción a la Minería Semántica, J. Aguilar, Ed. San Cristóbal: Fondo Editorial Universidad Nacional Experimental del Táchira (FEUNET), 2018, pp. 177-216. T. Berners-Lee, “Linked Data”, 2006. [Online]. Available: https://www.w3.org/DesignIssues/LinkedData.html [Accessed: July 10, 2018]. P.V. Torres-Carrión, et al., “Methodology for Systematic Literature Review Applied to Engineering and Education”, in 9th IEEE Global Engineering Education Conference (EDUCON 2018), April 2018, pp. 1364-1373. doi: https://doi.org/10.1109/EDUCON.2018.8363388 [7] [8] Revista Ingeniería al Día. ISSN: 2389 - 7309. Volumen 5 Edición No 1. Enero – Junio de 2019 [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] 80 A. Zouaq, J. Jovanovic, S. Joksimovíc, and D. Gašević, “Linked data for learning analytics: Potentials and challenges. Handbook of Learning Analytics”, 2017. [Online]. Available: https://solaresearch.org/wp-content/uploads/2017/05/hla17.pdf [Accessed: July 23, 2018]. J. Aguilar, P. Valdiviezo-Díaz, and G. Riofrio “A General Framework for Intelligent Recommender Systems”, Applied Computing and Informatics, vol. 13, no. 2, pp. 147160, July 2017. doi: https://doi.org/10.1016/j.aci.2016.08.002 F.J. Pelletier, G. Sutcliffe, and A.P. Hazen, “Automated Reasoning for the Dialetheic Logic RM3”, in 30th International Florida Artificial Intelligence Research Society Conference (FLAIRS 2017), May 2017, pp. 110-115. [Online]. Available: https://www.aaai.org/ocs/index.php/FLAIRS/FLAIRS17/paper/download/15415/1492 6 [Accessed: July 23, 2018]. P. Flach, Machine Learning: The Art and Science of Algorithms that Make Sense of Data. Cambridge: Cambridge University Press, 2012. Y. Pei, and O. Zaıane, A Synthetic Data Generator for Clustering and Outlier Analysis. Technical Report, Department of Computing Science, University of Alberta, 2006. doi: https://doi.org/10.7939/R3B23S J. Lehmann, and J. Volker, “An Introduction to Ontology Learning”, in Perspectives on Ontology Learning, J. Lehmann, and J. Volker. Ed. Amsterdam: IOS Press, 2014, pp. ix-xvi. C. Musto, et al., “Linked Open Data-enabled Strategies for Top-N Recommendations”. CBRecSys 2014, Oct. 2014, pp. 49-56. [Online]. Available: http://ceur-ws.org/Vol-1245/cbrecsys2014-proceedings.pdf [Accessed: Aug. 06, 2018]. V.C. Ostuni, et al., “A Linked Data Recommender System Using a Neighborhoodbased Graph Kernel”, in E-Commerce and Web Technologies, M. Hepp, and Y. Hoffner. Ed. Cham, Switzerland; Springer, 2014, pp. 89-100. B. Heitmann, and C. Hayes, “Using Linked Data to Build Open, Collaborative Recommender Systems”, in 2010 AAAI Spring Symposium: Linked Data Meets Artificial Intelligence, March 2010, pp. 1-6. [Online]. Available: https://www.researchgate.net/publication/221250862_Using_Linked_Data_to_Build_ Open_Collaborative_Recommender_Systems [Accessed: Sep. 30, 2018]. S. He, et al., “Question Answering over Linked Data Using First-order Logic”, in 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP), Oct. 2014, pp. 1092-1103. doi: https://doi.org/10.3115/v1/D14-1116 X. Wilcke, P. Bloem, and V. De Boer, “The Knowledge Graph as the Default Data Model for Learning on Heterogeneous Knowledge”, Data Science. vol. 1, no 1-2, pp. 39-57, 2017. doi: https://doi.org/10.3233/DS-170007 D. Teja-Santosh, and B. Vishnu-Vardhan, “Obtaining Feature- and Sentiment-Based Linked Instance RDF Data from Unstructured Reviews using Ontology-Based Machine Learning”, International Journal of Technology, vol. 6, no. 2, pp. 198-206, April 2015. doi: https://doi.org/10.14716/ijtech.v6i2.555 Revista Ingeniería al Día. ISSN: 2389 - 7309. Volumen 5 Edición No 1. Enero – Junio de 2019 [19] L. Bühmann, et al., “DL-Learner Structured Machine Learning on Semantic Web Data”, in The Web Conference 2018, April 2018, pp. 467-471. doi: https://doi.org/10.1145/3184558.3186235 [20] L. Bühmann, J. Lehmann, and P. Westphal, “DL-Learner - A Framework for Inductive Learning on the Semantic Web”, Journal of Web Semantics, vol. 39, pp. 15-24, Aug. 2016. doi: https://doi.org/10.1016/j.websem.2016.06.001 [21] P. Ristoski, and H. Paulheim, “RDF2Vec: RDF Graph Embeddings for Data Mining”, in The Semantic Web – ISWC 2016, P. Groth, et al. Ed. Cham, Switzerland: Springer, 2016, pp. 498-514. [22] M. Cochez, et al., “Biased Graph Walks for RDF Graph Embeddings”, in 7th International Conference on Web Intelligence, Mining and Semantics (WIMS 2017), June 2017, pp. 1-12. doi: https://doi.org/10.1145/3102254.3102279 [23] M. Avvenuti, et al., "GSP (Geo-Semantic-Parsing): Geoparsing and Geotagging with Machine Learning on Top of Linked Data", in The Semantic Web, A. Gangemi, et al. Ed. Cham, Switzerland: Springer, 2018, pp. 17-32. [24] A. Ferrara, et al., “Benchmarking Matching Applications on the Semantic Web”, in The Semanic Web: Research and Applications, G. Antoniou, et al. Ed. Berlin: Springer, 2011, pp. 108-122. [25] I. Fundulaki, et al., D2.2.2 Data Generator. Technical Report, Linked Data Benchmark Council (LDBC), 2013. [Online]. Available: http://ldbcouncil.org/sites/default/files/LDBC_D2.2.2.pdf [Accessed: Oct. 28, 2018]. [26] V. Kotsev, et al., “Benchmarking RDF Query Engines: The LDBC Semantic Publishing Benchmark”, in Workshop on Benchmarking Linked Data (BLINK 2016), Oct. 2016, pp. 1-16. [Online]. Available: http://ceur-ws.org/Vol-1700/paper-01.pdf [Accessed: Nov. 06, 2018]. [27] T. Saveta, et al., “Pushing the Limits of Instance Matching Systems: A SemanticsAware Benchmark for Linked Data”, in 24th International Conference on World Wide Web (WWW 2015), May 2015, pp. 105-106. doi: https://doi.org/10.1145/2740908.2742729 [28] O. Erling, et al., “The LDBC Social Network Benchmark: Interactive Workload”, in 2015 ACM SIGMOD International Conference on Management of Data (SIGMOD 2015), May-June 2015. pp. 619-630. doi: https://doi.org/10.1145/2723372.2742786 [29] T. Saveta, et al., “LANCE: Piercing to the Heart of Instance Matching Tools”, in The Semantic Web - ISWC 2015, M. Arenas, et al. Ed. Cham, Switzerland: Springer, 2015, pp. 375-391. [30] T. Saveta, et al., “LANCE: A Generic Benchmark Generator for Linked Data”, 2015 [Online]. Available: http://ceur-ws.org/Vol-1486/paper_43.pdf [Accessed: Dec. 12, 2018]. [31] A.K. Joshi, P. Hitzler, and G. Dong, “LinkGen: Multipurpose Linked Data Generator”, in The Semantic Web – ISWC 2016, P. Groth, et al. Ed. Cham, Switzerland: Springer, 2016, pp. 113-121. 81 Revista Ingeniería al Día. ISSN: 2389 - 7309. Volumen 5 Edición No 1. Enero – Junio de 2019 [32] A. Dimou, et al., “Automated Metadata Generation for Linked Data Generation and Publishing Workflows”, in 9th Workshop on Linked Data on the Web (LDOW 2016), April 2016, pp. 1-10. [Online]. Available: http://events.linkeddata.org/ldow2016/papers/LDOW2016_paper_04.pdf [Accessed: Dec. 19, 2018]. [33] N. Piedra, et al., “Una Aproximación Basada en Linked Data para la Detección de Potenciales Redes de Colaboración Científica a partir de la Anotación Semántica de Producción Científica: Piloto Aplicado con Producción Científica de Investigadores Ecuatorianos”. Maskana, vol. 5 (Número Especial), 2015. [34] A. Alba, et al., “Multi-lingual Concept Extraction with Linked Data and Human-in-theLoop”, in 9th International Conference on Knowledge Capture (K-CAP 2017), Dec. 2017, pp. 1-8. doi: https://doi.org/10.1145/3148011.3148021 [35] A. Coden, et al., “Spot the Drug! An Unsupervised Pattern Matching Method to Extract Drug Names from Very Large Clinical Corpora”, in 2nd International Conference on Healthcare Informatics, Imaging and Systems Biology (HISB 2012), Sep. 2012, pp. 33-39. https://doi.org/10.1109/HISB.2012.16 [36] S. Bischof, et al., “Collecting, Integrating, Enriching and Republishing Open City Data as Linked Data”, in The Semantic Web - ISWC 2015, M. Arenas, et al. Ed. Cham, Switzerland: Springer, 2015, pp. 57-75. [37] N. Li, et al., “Applying Combinatorial Test Data Generation to Big Data Applications”, in 31st IEEE/ACM International Conference on Automated Software Engineering (ASE 2016), Sep. 2016, pp. 637-647. https://doi.org/10.1145/2970276.2970325 82