Browsing articles tagged with " plugin"

“Semantic Learning” en Salud. Un ejemplo de Minería sobre Estructuras Semánticas

Feb 9, 2018   //   by oa.usun   //   Minería de Datos, Semántica  //  1 Comment

Introducción

Con el actual crecimiento de información, cada vez más se hace necesario contar con nuevos métodos de procesamiento de datos y nuevas tecnologías de análisis de información que permitan crear procesos de búsqueda de conocimiento a partir de fuentes datos no explotadas hasta ahora. La Web recoge cada vez más el conocimiento humano, y los conceptos de WEB Semántica y de Minería Web entran en juego para dar interpretación sobre la información encontrada y generar modelos que representen algún tipo de valor agregado.

Desde el Instituto de Innovación de Ibermática (I3B) llevamos años realizando proyectos de todo tipo donde desarrollamos modelos de Minería de Datos sobre estructuras tradicionales de bases de datos relacionales, o “aplanando” estructuras jerárquicas del tipo xml, json y otras, y, por otro lado, inferimos conocimiento y generamos consultas basadas en la gestión, la inferencia y el acceso a Estructuras Semánticas en forma de grafos. Y claramente, cada vez se observa y demanda una mayor necesidad de unir ambos conocimientos.

El objetivo final es poder “atacar” de forma directa la información “sita” en estructuras jerárquicas ya ordenadas (en otras palabras, conocimiento sobre un contexto poblado con instancias que particularizan dicho conocimiento en casos de uso particulares), buscando un nuevo modelo de análisis avanzado (minería semántica), que saque provecho de la extración directa de modelos supervisados y no supervisados directamente sobre el conocimiento jerarquizado y en grafo, sin necesidad de “aplanar” dichas estructuras en tablas relacionales “clásicas”, dado que dicho “aplanamiento” produce una reducción importante del conocimiento anterior. La idea es poder aplicar minería directamente sobre la estructura de grafos, sea la que sea, dado que dicha estructura, en base a su topología, contiene ya información relevante sobre qué indicadores son los que han de ser los primeros en analizarse, cuáles son los secundarios, y cómo se organizan los indicadores entre ellos.

Para lograr este reto, se debe tener conocimientos profundos de la gestión de algoritmos no supervisados sobre estructuras jerárquicas, y en procesos de análisis recurrentes por niveles, así como una gestión matemática de los análisis de componentes principales por capas, en dos direcciones, la reducción de información capa por capa, y la traducción de esta “reducción” y su consecuente ganancia de información a indicadores comprensibles semánticamente, puesto que el resultado de esta segmentación semántica debe poder trasladarse a un conjunto de hechos en la ontología original, para poder ser comprendida por los consumidores de la información, en este caso, facultativos médicos.

La estructura de los pacientes no es un estructura plana, relacional, en la que cada paciente tiene un diagnóstico, un tratamiento, unas dosis, sino que su vida clínica se compone de múltiples episodios, cada uno de ellos con información diversa, algunos se corresponden con el diagnóstico de episodios anteriores, otros se corresponden con reacciones adversas a un tratamiento anterior, referente a un diagnóstico que no es el inicial, sino que es secundario, otros se refieren a actuaciones médicos, pruebas analíticas, etc… En definitiva, los sistemas actuales de entidad-relación que modelan la historia clínica  de un paciente es una “simplificación” de la historia clínica actual.

La tecnología actual (bases de datos en forma de grafo), permiten almacenar la información clínica en estructuras de información denominadas “grafo”, o “tripletas”, que permiten estructurar el conocimiento en distintas jerarquías, que representan de forma muy fidedigna lo que ocurre en la realidad. Las ventajas de esta tecnología es la plasticidad del almacenamiento de la información, la posibilidad de “navegar” por la información en forma de consultas sobre enlaces de un nodo a otro, la velocidad de recuperación de la misma, la facilidad de plasmar la particularidad de cada individuo en un sistema de base de datos, y por último, la posibilidad de aplicar sobre dichas estructuras matemática muy concreta de análisis de grafos (similaridad), y de poder aplicar reglas que generen nuevo conocimiento sobre dicha información de base.

Modelo Digital del Paciente.

                                                Modelo Digital del Paciente.

El problema de esta tecnología, esta en el lado de la analítica. Así como realizar consultas muy especializadas, del tipo “devuélveme los pacientes entre estos rangos de edad, que alguna vez hayan tenido este tratamiento, más de dos meses, después de haber pasado por estos dos diagnósticos previos concretos”, es relativamente sencillo, puesto que el acceso a la información tiene una lógica muy similar a cómo lo expresamos en lenguaje natural, (SPARQL),  generar patrones automáticos en base a tecnología “Machine Learning”, es decir, generalizar patrones inductivos que perfilen la información de una forma más general, y de forma automática, es complicado para las máquinas cuando la base de la información no está normalizada en atributos y dimensiones.  Lo habitual (como se explicará en siguientes “posts”), es aplanar esta información en una tablón de análisis, al estilo clásico, para luego aplicar Minería de datos sobre dicho tablón.

Aplanamiento de la Información Semántica

                                Aplanamiento de la Información Semántica

Pero en este proceso, perdemos la particularidad de la información, con un problema adicional, ¿qué atributos consideramos como representativos de la generalidad de un base de datos estructurada en distintos niveles jerárquicos? ¿Con cuántos niveles nos quedamos? ¿Qué hacemos con los datos de los niveles más inferiores? Otra estrategia en este sentido es realizar análisis por capas de niveles, pero, ¿por dónde empezamos el análisis? ¿Por los tratamientos? ¿Por los diagnósticos? ¿Por la zona geográfica?

Para ello, desde I3b hemos implementado un nuevo método que analiza directamente los datos desde las estructuras semánticas de una ontología, sin tener que realizar el paso previo de “traducir” las jerarquías en una base de datos relacional o un cubo de BI. Así, la generación de una nueva tecnología que genere patrones, reglas y modelos directamente sobre consultas semánticas (SPARQL), o sobre estructuras de grafos (RDF) es un nuevo reto, que nos va a permitir, además, realizar todos los procesos de minería clásica sobre dichas estructuras y comprobar qué ventajas y desventajas nos pueden aportar.

Web Semántica

La web semántica es un conjunto de tecnologías que nos permiten publicar datos legibles por aplicaciones informáticas y que se basa en la idea de añadir metadatos semánticos y ontológicos.

La Web Semántica se basa en dos puntos fundamentales:

  1. a)  La descripción del significado. Donde se definen los conceptos; y
  2. b)  La manipulación  automática  de  estas descripciones. Se efectúa mediante  lógica y motores de inferencia.

Estructura de la WEB Semántica

La figura muestra la capa de lenguajes y tecnologías recogidas por el campo de la Web Semántica. Estos esfuerzos por la definición de estándares se llevan a cabo en el contexto de la W3C. Aunque muchos de sus componentes están finalizados y son estables, algunas de sus partes aún están en desarrollo.

Estas capas centrales definen los lenguajes para describir recursos de una forma adecuada para que puedan ser procesado por máquinas y el objetivo de nuestro estudio.

Estos lenguajes y las capas superiores son:

  • XML: Aporta la sintaxis superficial para los documentos estructurados, pero sin dotarles de ninguna restricción sobre el significado.
  • Resource Description Framework (RDF): esta capa define un modelo de datos abstracto para el intercambio de información en la Web.
  • RDF Schema (RDFS): este componente extiende RDF con un vocabulario que puede ser empleado para describir propiedades RDF y relaciones entre esas propiedades y otros recursos.
  • Web Ontology Language (OWL): esta capa extiende RDFS para obtener un lenguaje completo para la definición de ontologías.
  • Rule Interface Format (RIF): esta capa tiene como meta proporcionar un lenguaje común para representar y expresar reglas.
  • SPARQL Protocol and RDF Query Language (SPARQL): este componente proporciona un protocolo y lenguaje de consulta para la gestión de los datos semánticos de la Web.

La minería de Estructuras Semánticas se puede definir como aquella disciplina extendida de la minería de datos en la que es posible descubrir y extraer información automáticamente de los datos presentes en el contexto de la WEB.

Fases del Descubrimiento de Conocimiento

 

Los procedimientos típicos para la selección y la transformación de datos en la Minería WEB son los siguientes:

  1. La localización y descubrimiento de fuentes de información sobre la que se aplicará el proceso de minería.
  2. Selección y pre – procesado, en la cual se extrae de forma automática información específica de las fuentes antes mencionadas por medio de procesos de selección y transformación de datos.
  3. Reconocimiento de patrones generales encontrados durante la etapa de extracción, como el agrupamiento de clúster y reglas de asociación para diagnosticar la secuencia de patrones.
  4. Proceso de análisis, en la cual se desarrollan técnicas y herramientas que permitan modelar la forma en que se utiliza el conocimiento.

Herramientas

Para analizar las diferentes opciones que nos permiten trabajar con datos no estructurados y jerarquizados hemos estado investigando diferentes “plugins” que ofrece la herramienta Rapidminer, como:

  1. Linked Open Data Extension

Es una extensión del software de minería de datos de código abierto que permite el uso de datos de datos abiertos vinculados tanto como una entrada para la minería de datos, así como para enriquecer los conjuntos de datos existentes con conocimientos de fondo.

Proporciona tres categorías principales de operadores:

  • Importadores de datos que cargan datos de Linked Open Data para su procesamiento posterior.
  • Enlaces que crean vínculos desde un conjunto de datos dado a un conjunto de datos en Linked Open Data (por ejemplo, vinculando un archivo CSV a DBpedia).
  • Generadores que recopilan datos de Linked Open Data y lo añaden como atributos en el conjunto de datos a mano.
  1. Semweb

Transforma las triplas de RDF en un conjunto de ejemplos y luego se puede aplicar cualquier tipo de aprendizaje sobre dichos datos. Proporciona dos operadores de transformación de datos con algoritmos ‘FastMap’ y ‘Correspondence Analysis’ y un operador de visualización para ver el proceso subyacente mediante la visualización de la matriz de distancia y la matriz de datos transformados. Estas técnicas de transformación de datos utilizan las cuatro métricas de distancia Levenshtein, Dice-coefficient, VDM and VDM-SetValue, que también forman parte del proyecto.

Proceso con operadores Semweb
  1. RMONTO

Es un framework fácilmente extensible, actualmente provee soporte para clustering no supervisado con métodos de kernel y modelación de patrones en bases de conocimiento. Una característica importante de RMonto es que permite trabajar directamente en datos estructurados y relacionales. Además, sus implementaciones de algoritmos personalizados pueden combinarse con la potencia de RapidMiner a través de la transformación / extracción de los datos ontológicos a los datos de valor de atributo.

Como triplestore se ha elegido a Virtuoso para almacenar las anotaciones de las ontologías.

Virtuoso es una solución moderna para el acceso a datos, integración y gestión de bases de datos relacionales (tablas SQL y/o RDF basados en gráficos de propiedades/predicados).

 

 

Modelo Semántico de Segmentación

El clustering o segmentación se caracteriza por ser una técnica de aprendizaje automático no supervisado. Esto significa que un algoritmo de clustering deberá ser capaz de establecer por sí mismo patrones de comportamiento genérico en la muestra de datos y a su vez categorizar cada instancia de datos en alguno de los grupos formados.

Todas las pruebas y ejemplos las hemos realizado con los operadores de RMonto y una ontología de cáncer de mama.

Operadores utilizados:

Selector SPARQL ( Ejemplo de query para seleccionar los datos a tratar):

select distinct
?paciente ?pc ?historial ?edad ?episodio ?fecha_episodio ?diagnostico_valor ?fecha_diagnostico ?tratamiento_valor ?farmaco
where {
?paciente historial:hasHistory ?his.
?paciente historial:hasPatientCode ?pc.
FILTER(regex(?pc,’MAMA’))
?paciente historial:hasHistory> ?historial.
?paciente historial:hasAge ?edad.
?historial historial:hasEpisode ?episodio.
?episodio historial:hasDate ?fecha_episodio.
?episodio historial:hasDisease ?diagnostico.
?diagnostico historial:hasDiseaseValue ?diagnostico_valor.
?diagnostico historial:hasDate ?fecha_diagnostico.
?diagnostico historial:hasTreatment ?tratamiento.
?tratamiento historial:hasTreatmentValue ?tratamiento_valor.
?tratamiento historial:hasPharmacologicSubstance ?farmaco.
}
order by ASC(?his) ASC(?episodio)

Fr-ONT-Qu: Descubre patrones frecuentes en la Knowledge Base semántica en formas de patrones SPARQL. El espacio de búsqueda está restringido sólo a las partes especificadas en Classes, Abstract properties y Concrete properties parameters. La selección de los mejores patrones se puede hacer de manera no supervisada (Support on KB) o supervisada (el resto de las medidas).

 

 

 

Los patrones generados por este operador a partir de la consulta Sparql, teniendo en cuenta las clases y las propiedades de la ontología seleccionadas, nos genera una tabla con los patrones más frecuentes que serán utilizados por el operador Propositionalisation para transformar estos ejemplos de aprendizaje ó patrones frecuentes en una tabla de atributos-valor.

 

Propositionalisation: Convierte la lista de patrones y ejemplos frecuentes obtenidos por el operador Fr-ONT-Qu  en una tabla de atributos-valor, donde los atributos son los patrones obtenidos y los valores puede ser 0 (si el ejemplo no satisface el patrón) ó 1 (si el ejemplo satisface el patrón), como puede verse aquí arriba.

 

Procesamos el modelo de Clustering.

URI attributes: Lista de atributos con URI de individuos a ser utilizados. (Se seleccionan manualmente, una mejora al sistema sería la selección automática de los mismos por medios analíticos).

Normal attributes: Lista de atributos con valores concretos a utilizar.

Probamos con k= 5,  Kernel function= Identity, obteniendo estos resultados:

Clusters: (por cada cluster, nos muestra el centroide o perfil representativo de cada muestra, y se basa en el diagnóstico, tratamiento, tipo de acción médica, y edad)
1:    [http://www.HOBC.org/clinicalrecords#Breast_Carcinoma,http://www.HOBC.org/clinicalrecords#Zoladex_,http://www.HOBC.org/clinicalrecords#Revision_procedure,34]
2:    [http://www.HOBC.org/clinicalrecords#Endometrial_Polyp,http://www.HOBC.org/clinicalrecords#Tamoxifen_,http://www.HOBC.org/clinicalrecords#Therapeutic_procedure,34]
3:    [http://www.HOBC.org/clinicalrecords#Infiltrating_Ductal_Carcinoma,http://www.HOBC.org/clinicalrecords#Tamoxifen_,http://www.HOBC.org/clinicalrecords#Hormone_Therapy_Procedure,57]
4:    [http://www.HOBC.org/clinicalrecords#Secondary_malignant_neoplasm_of_bone,http://www.HOBC.org/clinicalrecords#Analgesics_,http://www.HOBC.org/clinicalrecords#Exploration_procedure,57]
5:    [http://www.HOBC.org/clinicalrecords#Secondary_malignant_neoplasm_of_bone,http://www.HOBC.org/clinicalrecords#Analgesics_,http://www.HOBC.org/clinicalrecords#Therapeutic_procedure,57]

Probamos con k= 3, Kernel function= Identity, obteniendo estos resultados:

Clusters:
1:    [http://www.HOBC.org/clinicalrecords#Breast_Carcinoma,http://www.HOBC.org/clinicalrecords#Zoladex_,http://www.HOBC.org/clinicalrecords#Revision_procedure,34]
2:    [http://www.HOBC.org/clinicalrecords#Endometrial_Polyp,http://www.HOBC.org/clinicalrecords#Tamoxifen_,http://www.HOBC.org/clinicalrecords#Therapeutic_procedure,34]
3:    [http://www.HOBC.org/clinicalrecords#Secondary_malignant_neoplasm_of_bone,http://www.HOBC.org/clinicalrecords#Analgesics_,http://www.HOBC.org/clinicalrecords#Therapeutic_procedure,57]

 

 

Y finalmente con k= 2, Kernel function= Identity, que nos dan este resultado:

Clusters:
1:    [http://www.HOBC.org/clinicalrecords#Secondary_malignant_neoplasm_of_bone,http://www.HOBC.org/clinicalrecords#Analgesics_,http://www.HOBC.org/clinicalrecords#Therapeutic_procedure,57]
2:    [http://www.HOBC.org/clinicalrecords#Breast_Carcinoma,http://www.HOBC.org/clinicalrecords#Zoladex_,http://www.HOBC.org/clinicalrecords#Revision_procedure,34]

Midiendo estadísticos de comparativa entre las distintas segmentaciones, el sistema nos indica que la mejor “ganancia de información” se obtiene con las segmentación K=2.

Obtenemos un clúster de procedimiento terapéutico y otro clúster de procedimiento de revisión, como podemos ver en el gráfico:

 

Eliminamos el filtro de ‘MAMA’ para obtener una segmentación de todos los historiales y volvemos a procesar la segmentación con K=2, Kernel function= Identity, obteniendo estos resultados:

Clusters:
1:
[http://www.HOBC.org/clinicalrecords#Meningeal_Carcinomatosis,http://www.HOBC.org/clinicalrecords#Acetaminophen_,http://www.HOBC.org/clinicalrecords#Sedation_procedure,59]
2:
[http://www.HOBC.org/clinicalrecords#Malignant_neoplasm_of_breast,http://www.HOBC.org/clinicalrecords#Nolvadex_,http://www.HOBC.org/clinicalrecords#Hormone_Therapy_Procedure,53]

Ahora vamos a investigar cada una de las segmentaciones obtenidas para ver si a su vez existe la posibilidad de afinar más el modelo obteniendo sub segmentaciones de cada segmento.

Para generar estas sub segmentaciones, he intentado utilizar el mismo modelo de RMonto, pero no ha sido posible por lo que al final utilizo un modelo k-Means pero usando los atributos semánticos:

 

 

El segmento_nivel 0 de menores de 56 años se divide en 3 clúster:

Objetivo: ?tratamiento_valor

Objetivo: ?farmaco

 

El segmento_nivel de los mayores de 55 años nos da el siguiente resultado:

 

Objetivo: ?tratamiento_valor

 

Objetivo: ?farmaco

 

 

Resultados:

  • Se genera un sistema de segmentación en jerarquía, en dos niveles….
    • El primer nivel devuelve 2 segmentos diferentes (Segmento_nivel0), uno con los pacientes mayores de 55 años y el otro con los menores de 56 años.
    • El segundo nivel, devuelve 3 subsegmentos (clúster) por cada uno de los segmentos principales.

Otros operadores:

Epistemic kernel: Núcleo semántico utilizando un conjunto de características. El conjunto de características se puede construir con operadores en el grupo TBox.

EL++ Convolution kernel: Núcleo semántico derivado de núcleos de gráfos.

ALCN kernel: Núcleo semántico para el lenguaje ALCN que trabaja en forma normal disyuntiva.

Calculate Gram/distance matrix: Calcula Matriz de valores de núcleo (o distancias) entre cada una de las tuplas dadas. Una tupla contiene al menos un URI que identifica un individuo en Knowledge Base y cero o más valores literales. El resultado es un EjemploSet con tres columnas, las dos primeras contienen descripciones de las tuplas comparadas y la tercera contiene kernel o valor de distancia.

Transform Semantic Clustering Model: transforma el modelo de agrupación semántica en modelo normal.

Add label from KB: Extiende los ejemplos dados con valores de propiedad de tipo de datos recuperados de la base de conocimientos dada.

Extract all clases: Genera una lista de todas las clases, nombradas y sin nombre, que están disponibles en KB.

Create TBox features: Le ayuda a crear un conjunto de funciones TBox.

Modelo Semántico de Anomalías

Al modelo de Segmentación le añadimos el operador Local Outlier Probablity (LoOP) y obtenemos el modelo semántico de anomalías.

Al operador Local Outlier Probablity (LoOP) le rellenamos estos parámetros:

 

Obtenemos este resultado, donde al lado del cluster nos aparece el outlier.

 

En este gráfico podemos ver claramente los outlier que indican una anomalía:

 

 

Modelo Semántico Árbol de Decisión

Como objetivo utilizamos el atributo ?diagnostico_valor y utilizamos el operador Decision Tree.

El operador de Correlación nos da como resultado estos atributos como los que tienen más correlación con nuestro label.

Siendo el principal el fármaco.

 

El resultado del Árbol de Decisión:

Tree
?edad = 28: Malignant_neoplasm_of_breast
?edad = 34
|   ?tratamiento_valor = Revision_procedure: Breast_Carcinoma
|   ?tratamiento_valor = Therapeutic_procedure
|   |   ?farmaco = Gonadorelin_: Neoplasm
|   |   ?farmaco = Tamoxifen_: Neoplasm
|   |   ?farmaco = Zoladex_: Endometrial_Polyp
?edad = 46: Adenocarcinoma
?edad = 53: Malignant_neoplasm_of_breast
?edad = 54
|   ?tratamiento_valor = Hormone_Therapy_Procedure: Invasive_Ductal_Breast_Carcinoma
|   ?tratamiento_valor = Revision_procedure: Infiltrating_Ductal_Carcinoma
|   ?tratamiento_valor = Therapeutic_Radiology_Procedure
|   |   ?farmaco = capecitabine_: Adenocarcinoma
|   |   ?farmaco = letrozole_: Invasive_Ductal_Breast_Carcinoma
|   ?tratamiento_valor = Therapeutic_procedure: Invasive_Ductal_Breast_Carcinoma
?edad = 55: Neoplasm_Metastasis
?edad = 56: Carcinomatosis_of_peritoneal_cavity
?edad = 57
|   ?tratamiento_valor = Demand_clinical: Neoplasm_Metastasis
|   ?tratamiento_valor = Drainage_procedure: Ductal_Carcinoma_
|   ?tratamiento_valor = Exploration_procedure: Secondary_malignant_neoplasm_of_bone
|   ?tratamiento_valor = Hormone_Therapy_Procedure: Infiltrating_Ductal_Carcinoma
|   ?tratamiento_valor = Therapeutic_procedure
|   |   ?farmaco = Analgesics_: Secondary_malignant_neoplasm_of_bone
|   |   ?farmaco = Hyrex_Brand_of_Dimenhydrinate: Secondary_malignant_neoplasm_of_bone
|   |   ?farmaco = Lyrica_: Neoplasm_Metastasis
|   |   ?farmaco = Omeprazole_: Neoplasm_Metastasis
?edad = 59: Meningeal_Carcinomatosis
?edad = 62: Neoplasm_Metastasis
?edad = 66: Colon_Carcinoma
?edad = 69: Adenocarcinoma
?edad = 76: Carcinoma
?edad = 77: Disseminated_carcinoma
 

Modelo Semántico de Reglas de Clasificación

Seguimos con nuestro objetivo de ?DiagnosticoValor.

Utilizamos el operador Rule Induction e utilizamos estos parámetros:

 

 

La correlación de atributos es la misma que el modelo del Árbol de Decisión y obtenemos estas reglas de clasificación:

RuleModel
if ?edad = 55 then Neoplasm_Metastasis
if ?edad = 54 and ?tratamiento_valor = Therapeutic_procedure then Invasive_Ductal_Breast_Carcinoma
if ?edad = 59 then Meningeal_Carcinomatosis
if ?edad = 57 and ?tratamiento_valor = Therapeutic_procedure then Neoplasm_Metastasis
if ?edad = 76 then Carcinoma
if ?edad = 46 then Adenocarcinoma
if ?tratamiento_valor = Hormone_Therapy_Procedure and ?edad = 57 then Infiltrating_Ductal_Carcinoma
if ?edad = 66 then Colon_Carcinoma
if ?farmaco = Zoladex_ and ?tratamiento_valor = Revision_procedure then Breast_Carcinoma
if ?edad = 28 then Malignant_neoplasm_of_breast
if ?edad = 34 and ?farmaco = Gonadorelin_ then Neoplasm
if ?edad = 34 and ?farmaco = Zoladex_ then Endometrial_Polyp
if ?edad = 62 then Neoplasm_Metastasis
if ?edad = 77 then Disseminated_carcinoma
if ?edad = 69 then Adenocarcinoma
if ?tratamiento_valor = Revision_procedure then Infiltrating_Ductal_Carcinoma
if ?edad = 54 and ?tratamiento_valor = Hormone_Therapy_Procedure then Invasive_Ductal_Breast_Carcinoma
if ?tratamiento_valor = Exploration_procedure then Secondary_malignant_neoplasm_of_bone
if ?tratamiento_valor = Demand_clinical then Neoplasm_Metastasis
if ?edad = 57 then Ductal_Carcinoma_
if ?edad = 34 and ?tratamiento_valor = Therapeutic_procedure then Neoplasm
if ?edad = 56 then Carcinomatosis_of_peritoneal_cavity
if ?farmaco = capecitabine_ then Adenocarcinoma
if ?edad = 54 then Invasive_Ductal_Breast_Carcinoma  else Malignant_neoplasm_of_breast
correct: 47 out of 50 training examples.

Consideramos que las reglas de clasificación son más fáciles de anotar en la ontología, pero no existe ningún operador que actualice la ontología con los resultados obtenidos.

 

Conclusiones

 

Los tiempos de respuesta obtenidos como resultado de las pruebas efectuadas nos hacen pensar que el Modelado sobre Estructuras Semánticas puede ser una muy buena alternativa para abordar estos temas sobre fuentes semánticas de información.
Sin embargo y pese a todas las bondades que parece tener el uso de arquitecturas basadas en tecnologías como SPARQL, RDF,  y que sin lugar a dudas, representan la mejor opción en temas de consulta semántica de información, existen problemas de actualización de las herramientas y de sus compatibilidades.
Algunos de los argumentos a  favor o en contra que permiten sustentar esta afirmación, se mencionan a continuación:
  1. Nos permite manejar una gran cantidad de datos.
  2. Datos limpios. Los datos con ruido y corruptos pueden esconder las predicciones y hacerlas más difíciles. La entrada de los datos de forma manual y la integración con los sistemas de envío pueden introducir inconsistencias y anomalías.
  3. El contenido semántico de los documentos que se coloca en Internet, permite una mejor organización de la información, mucho más definida, ya que se lleva a cabo a través de conceptos, “garantizando búsquedas por significado y no por contenido textual”.
  4. Mejora la obtención de conocimiento hasta el momento reservada a las personas y hace posible el uso de modelos de inteligencia artificial.
  5. Una desventaja, es la complejidad de la codificación semántica, es necesario unificar los estándares semánticos, otro laborioso proceso.
  6. Otra desventaja es que la sintaxis RDF/ZML no es muy fácil de leer.
  7. RMonto no ha sido actualizado desde 2012 y las demás herramientas están en fase de experimentación y sería necesario utilizar otros software (Python, R, …) para poder realizar lo que hemos visto en estas pruebas.
  8. Este software no permite realizar inserciones en la ontología, es decir, que no podemos actualizar el conocimiento y deberemos apoyarnos en otro software para ello.
  9. Finalmente, el sistema desarrollado pone de manifiesto la importancia de la Web Semántica como futuro de Internet, demostrando la capacidad del modelo RDF para la comunicación de conocimiento y de las ontologías para expresarlo.
  10. No existen prácticamente diferencias con la minería clásica en los algoritmos utilizados para realizar los modelos. Solamente hay que realizar una doble selección separada de atributos, por un lado los semánticos y por otro los datos normales.