Browsing articles in "Semántica"

“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.

Como hacer tu blog accesible semánticamente en LinkedData. Un ejemplo sencillo y práctico.

Oct 1, 2013   //   by wpuser   //   Semántica  //  Comentarios desactivados en Como hacer tu blog accesible semánticamente en LinkedData. Un ejemplo sencillo y práctico.

Las paginas Web actuales, tienen dos formas de ser indexadas y analizadas… Una, buscando e interpretando el fichero HTML de las páginas por los humanos, a través de buscadores, que básicamente, indexan información “meta” dentro de las páginas, y leyéndolas, y otra, permitiendo que sean las propias máquinas las que lean el contenido (URI, o cualquier concepto abstracto con información) de forma automática de las páginas, lo “comprendan”, y lo indexen, en los llamados buscadores semánticos, (hay varios, cada vez más), y que permiten que los contenidos relacionados estén disponibles en la nube de LinkedData, para compartirlos con el mundo, e incluso, enlazar dicha información con otros “datasets” disponibles.

Básicamente, hay dos estándares para realizar este tipo de publicaciones, que son RDF, admitida por la comunidad W3C, como el estándar semántico por excelencia, basado en tripletas (sujeto->objeto->predicado), y RDFa, (microformatos), basados en una estandarización llamada Schema, promocionada por los grandes buscadores, como Google, Yahoo y Bing.

Transformar nuestra información en tripletas semánticas no es demasiado complicado, y existen numerosas herramientas que nos permiten realizarlo, y en numerosas plataformas de programación. La ventaja de utilizar RDF es que existen numerosos vocabularios ya estándares que permiten a las máquinas entender qué es cada concepto. El mejor ejemplo es Dbpedia, que es básicamente, el contenido de la wikipedia estructurado en tripletas con vocabularios normalizados que las máquinas entienden. Por ejemplo, si buscamos en Wikipedia, “Kutxa”, tendremos la siguiente información:

 kuctawikipedia

Pero si buscamos en dbpedia, la misma información, veremos que ya está “normalizada” en formato RDF, accesible y comprensible para las máquinas:

 kutxadbpedia

 Es como si el sistema fuese capaz de incluir en una Base de Datos la información de la Wikipedia, pero en vez de estar alojada en nuestros servidores, está disponible en Internet, que se convertirá en la gran Base de Datos distribuida y normalizada para todos, incluidas las máquinas.

Una vez generado el fichero .rdf, hay que publicarlo para que los buscadores semánticos o el mundo, sean capaces de reconocerlos, y aquí, también hay varias formas: o almacenarlas en una base de datos especial, que trabaja con tripletas, como Virtuoso u otras, o publicarlas como un archivo accesible desde nuestra Web, adjuntando el enlace a dicho archivo al HTML de turno, y así, ya tendremos disponible la información para el mundo. ¿Cómo hacerlo? Ver:  How to publish Linked Data on the Web

La idea de este post es mostrar cómo podemos publicar información general sobre nuestra web, y nuestros posts en una plataforma de blogs (por ejemplo, WordPress), para que sean accesibles al mundo.

Una buena manera es empezar con nosotros mismos, creando lo que llamamos un archivo “foaf“, que muestra al mundo quienes somos. FOAF es una aplicación de XML y RDF. Básicamente es un archivo XML (en realidad, RDF escrito en XML) con el cual se describen PersonasDocumentos, etc, siendo su uso en la descripción de personas el más interesante hoy por hoy.

Una de las formas más sencillas de darse a conocer en el mundo semántico es a través de una sencilla aplicación, llamada Foaf-a-matic, que en un pequeño formulario,  nos permite generar nuestro archivo .rdf con nuestra información.  Accesdemos a la páqina, rellenamos nuestros datos, y generamos nuestro fichero rdf. Todos los pasos está muy bien descritos en la página: http://www.ldodds.com/foaf/foaf-a-matic.es.html

Es interesante, si ya tenemos otros rdf que nos interesa que los buscadores infieran nuevo conocimiento sobre ellos, incorporarlos a Foaf, como “seaaAlso” si son recursos externos, o como “knows”, si son personas.

 Por ejemplo, dentro del RDF que hace referencia al blog: (rtdibermatica.rdf):

<dct:contributor>
      <rdf:Description>
        <foaf:name rdf:resource=”http://rtdibermatica.com/AitorMoreno.rdf#me“></foaf:name>
        <rdfs:seeAlso rdf:resource=”http://rtdibermatica.com/AitorMoreno.rdf#me” />
        <foaf:holdsAccount rdf:resource=”http://rtdibermatica.com/AitorMoreno.rdf#me“/>
      </rdf:Description>
    </dct:contributor>

o dentro del foaf propio, hacer referencia al blog: (en AitorMoreno.rdf):

<foaf:homepage rdf:resource=”http://rtdibermatica.com“/>
<rdfs:seeAlso rdf:resource=”http://rtdibermatica.com/rtdibermatica.rdf“/>

  Podemos incrementar la información con los siguientes enlaces:

foaf:workplaceHomepage rdf:resource=”http://ibermatica.com/innovacion“/>
<foaf:workInfoHomepage rdf:resource=”http://rtdibermatica.com“/>
<schema:worksFor rdf:resource=”http://ibermatica.com/innovacion“/>
<foaf:interest rdf:resource=”http://dbpedia.org/resource/Semantic_Web“/>
<foaf:interest rdf:resource=”http://dbpedia.org/resource/Data_Mining“/>
<foaf:interest rdf:resource=”http://dbpedia.org/resource/Artificial_Intelligence“/>

 Y enlaces a las publicaciones que tiene:

 <owl:sameAs rdf:resource= “http://dblp.l3s.de/d2r/resource/authors/Aitor_Moreno“/>

Bien, ya tenemos nuestro rdf, que podemos validar si es correcto con la herramienta W3C, rdfvalidator(u otros validadores en formato y tiempo), como:

 rdfvalidator

Como ya está validado, y es correcto, sólo tenemos que subir dicho fichero a nuestro sitio web (vía FTP, o como podamos), y alojarlo como parte de nuestro blog.

Una vez subido nuestro fichero, deberíamos poder ver el archivo accediendo a su ruta desde la Web (por ejemplo, http://rtdibermatica.com/AitorMoreno.rdf), o de la forma indirecta http://rtdibermatica.com/AitorMoreno.rdf#me.

Para que los “robots” automáticos de los buscadores semánticos sean capaces de encontrar esta información, deben ser capaces de gestionarla con un tipo de negociación basada en un tipo type=”application/rdf+xml”. Algunos servidores no son capaces de realizarlo, y para ello, hay que configurar un fichero, sito en la raiz de WordPress, junto con el fichero index.php, llamado .htaccess, y añadiendo la siguiente línea (esto es vital para que la negociación funcione):

# Directive to ensure *.rdf files served as appropriate content type, # if not present in main apache config AddType application/rdf+xml .rdf

Si todo está bien configurado, con la herramienta Vapour Validator, podemos ver que si introducimos nuestra URL a nuestro RDF, todo va bien:

 vapourvalidator_ok

 

Pero no es suficiente con que los buscadores ya encuentren nuestro archivo “foaf” vía nuestro directorio FTP, sino que además, es interesante que incluyamos en nuestro HTML una referencia (como si fuese un link), ha dicho archivo, para que los buscadores, cuando lean los HTML, lo encuentren y lo interpreten.

Para ello, hay que incluir en nuestra página Web, en las cabeceras del html, en la sección “meta”, el siguiente enlace:

<link rel=”meta” type=”application/rdf+xml” title=”FOAF” href=”foaf.rdf” />

Desde WordPress, tenemos algunos plugins que nos permiten hacer esto. El principal que instalamos es wp-rdfa, que nos permite incluir de forma automática, después de parametrizarlo, un enlace a los rdf por cada post o página que automáticamente creemos en WordPress. Hay que configurar el plugin, y cambiar el código un poco, pero es muy sencillo: básicamente, en la función insert_foaf_meta_tag, hay que cambiar el foaf.php que viene por defecto, por el nuestro (está muy bien explicado en Semantic Web: FOAF en WordPress » InGonza.com):

function insert_foaf_meta_tag() {

echo ‘<link rel=”meta” href=”http://www.rtdibermatica.com/rtdibermatica.rdf” type=”application/rdf+xml” title=”FOAF”/>’;

}

De esta forma, tendremos en la cabecera de todas nuestras páginas por WordPress, la siguiente cabecera:

<link rel=’archives’ title=’julio 2011′ href=’http://rtdibermatica.com/?m=201107‘ />
<link rel=”meta” href=”http://www.rtdibermatica.com/rtdibermatica.rdf” type=”application/rdf+xml” title=”FOAF”/>

Otro plugin que convierte nuestros post en enlaces RDF para ser descubirtos, en formato de publicaciones de revistas y artículos de interés, que también hemos incorporado a nuestro blog es el plugin Enhanced Publication

Una vez que ya hemos incluido nuestros archivos semánticos en la red, podemos ver los servicios de indexación de distintas plataformas, como por ejemplo:

Para que nuestra información sea recogida por los numerosos robots semánticos que actúan en los buscadores, hay estrategias que ayudan a los mismos a encontrar los ficheros rdf en nuestros servidores, estrategias como Semantic Web Crawling: A Sitemap ExtensionSindice Search Engine SupportDisco – Hyperdata Browser, y más….

Por último, podemos indexar directamente nuestra información en Sindice, para que sea visible en el mundo de LinkedData.

Una vez publicada, podemos ver cómo aplicaciones de terceros, utilizan foaf como entrada ( FoafSites – W3C Wiki)

Finalmente, podremos acceder a nuestra información, vía un explorador de foaf (FoafExplorer), o Yandex (livejournal), y relacionarla con otro tipo de información (dbpedia), haciendo “queries”, tipo “Selects SQL”, a la web, a través de el lenguaje SPARQL (a través de JENA, por ejemplo, o de la librería Semantic Web Client Library).

Un ejemplo sencillo es utilizar Twinkle, o Triplr, con el que podemos acceder a nuestros datasets:

 sparqltwinkle

Se pueden hacer consultas del tipo (“devuelve todas las tripletas de dos namespaces):

 Select * 
from <http://rtdibermatica.com/AitorMoreno.rdf>
from <http://rtdibermatica.com/rtdibermatica.rdf>
where {?x ?y ?z}

Finalmente, si no queremos usar SPARQL para realizar nuestras consultas por falta de conocimientos técnicos, podemos utilizar herramientas gráficas como Yahoo Pipes, que de una forma más sencilla, nos permitirá enlazar estos datos en la web en formato RDF, con otros datos disponibles…

A a hora de indexar nuestra información en buscadores como GoogleBot, estos buscan un fichero rdf para indexar esta información (index.rdf), que, desde WordPress se configura automáticamente en base a sus ficheros index.php y wp-rdf.php, pero que podemos generar manualmente, como se escribe en Generating RDF from data.gov – Data-gov Wiki, para mejorar el posicionamiento de nuestra web.

Si alguien tiene más interés en el modelado semántico de posts, o páginas web, o publicar datos masivos en formato LinkedData (OpenData a nivel internacional) no dudéis en poneros en contacto con I3B...

Search Seeker: Un sistema de búsqueda basada en Evidencias Biomédicas.

Abr 29, 2013   //   by wpuser   //   Semántica  //  Comentarios desactivados en Search Seeker: Un sistema de búsqueda basada en Evidencias Biomédicas.

“SearchSeeker” es un producto que permite la búsqueda y hallazgo de la literatura biomédica original y relevante, con el objetivo de favorecer la lectura crítica de la misma y establecer su nivel de evidencia para que sea interpretada correctamente.

Algunas de las herramientas básicas sobre las que se asienta la metodología de la MBE (Medicina Basada en la Evidencia) son la lectura crítica de la literatura médica y la revisión sistemática de la evidencia existente en el “Estado del Arte”. El objetivo final es que, dentro de la actividad médica y de investigación en ensayos “bio”, en la fase inicial de un trabajo concreto, los cimientos del mismo se fundamenten sobre bases científicas provenientes de estudios de la mejor calidad metodológica, y en los que se refleje de forma fidedigna el estado actual de conocimientos a nivel internacional.

“SearchSeeker” ayuda a los investigadores y expertos a la hora de encontrar la información relevante, y sólo ésta, necesaria para cada problemática, incorporando “inteligencia” avanzada en sus búsquedas. De esta forma, el contexto de la pregunta incide directamente en el filtro y ponderación de las posibles respuestas. La idea es que “SearchSeeker” sea capaz de responder a preguntas directas con respuestas directas, y en cualquier caso, si esto no es posible, devuelva una lista máximo de 20 a 30 documentos muy relacionados, y no más.

SearchSeerker

SearchSeerker

El proceso por el que se obtienen las respuestas consiste en formular a la plataforma una pregunta clínica en leguaje natural, sin ningún tipo de proceso estructurado, sino tal y cómo lo preguntaría un experto a otro. El sistema es capaz de homogenizar la pregunta, analizar el contexto, agregar información adicional si se le enlaza (historiales clínicos relacionados, grupos de inclusión o exclusión predefinidos, objetivos del experimento, intervalos de variables) y, con toda esta información, buscar en fuentes predefinidas por el usuario, (Pubmed, ClinicalTrial, LinkedLifeData, Google, Social Media, bases de datos especializadas, patentes…) ,  los resultados más relevantes y precisos apropiados para el problema en cuestión.

Además, con el objetivo de ayudar a los expertos en el análisis de la información resultado,  “SearchSeeker” cataloga automáticamente los documentos en temáticas, asigna “tags” de forma desasistida a las publicaciones extraídas, y genera resúmenes automáticos (de 5 a 10 líneas), que constituyen lo más relevante de todo el contenido de la publicación. De esta forma, el experto no tiene que leerse todo el contenido de cada resultado, sino que, accediendo al resumen, y de un solo vistazo, puede determinar qué publicaciones son interesantes y cuales no.

Por último, “SearchSeeker” se configura como un espacio de conocimiento compartido entre los distintos expertos, en el que pueden comentar las publicaciones, valorarlas y resaltar aquella información relevante, de cara a que otros expertos con perfiles de búsqueda similares puedan reutilizar este conocimiento adicional, en forma de gráficas visuales, analizando cuáles son las publicaciones más relevantes, temáticas más interesantes para su perfil personal (calculado automáticamente en función de las publicaciones asignadas a cada investigador), y recomendaciones del tipo “otros como tú han leído…”.

 

BSV – Un sistema de pregunta-respuesta para la gestión de incidencias en ERPs

Ago 9, 2012   //   by wpuser   //   Semántica  //  Comentarios desactivados en BSV – Un sistema de pregunta-respuesta para la gestión de incidencias en ERPs

La mayoría de los sistemas de gestión implementados en las PYMES, se centran en la gestión modular de los problemas de dimensión empresarial, pero existe la necesidad de plataformas (buscadores) que focalicen la necesidad de información relevante a estos sistemas. La manera usual de detectar esta información es en base al conocimiento de un experto en el sector particular de cada empresa, y su habilidad para seleccionar esta información a través de consultas a en la Intranet propia, o la habilidad de gestionar la documentación de una forma más o menos ordenada dentro de sus propios sistemas.

Estas acciones determinan un coste del tiempo invertido en estas búsquedas que no reportan ningún valor añadido al rendimiento de estos profesionales. Es por ello, que desde estas empresas urge la necesidad de un buscador centralizado que, de una forma inteligente, sea capaz, desde un único punto de control, devolver la información relevante para su negocio, y no otra.

BSV es la respuesta a esta necesidad, que de una forma sencilla y ágil, es capaz de proveer a los usuarios de SAP la información ajustada a las preguntas sobre su negocio sobre toda la documentación interna existente. El caso de uso aplicado es en el mantenimiento de incidencias, soporte, correctivos y evolutivos que Ibermática ofrece a sus clientes, permitiendo a los consultores de primer y segundo nivel, solucionar dichas incidencias o consultas en base a la búsqueda dentro del propio sistema de aquellas resoluciones dadas en el pasado relacionadas con la consulta actual, independientemente que la resolución esté incluida en las observaciones de la gestión de incidencias, en documentos anexos a dichas incidencias o en la gestión propia de los expedientes en SAP.

Las ventajas de BSV sobre otros sistemas son:

  • Sistema totalmente embebido en la base de datos del propio ERP.

Los procesos de indexación, extracción, consulta y selección de las mejores respuestas está totalmente incluido en la base de datos del ERP nativo, y programado totalmente en el lenguaje propio de cada ERP (por ejemplo, en el caso de SAP, en Abap, pero está disponible para .NET, Java, etc…), de forma que no es necesario incluir ningún otro módulo adicional (TREX, Lucene, u otros…)

  • Parametrización mínima

El sistema no necesita de expertos en parametrización para poner el marcha el sistema. Símplemente hay que indicar al módulo de indexación que campos del sistema queremos analizar, (registro/campo), y con ello, el sistema comenzará a procesar dicha información, manteniendo en todo momento el control de seguridad de los accesos a la información propios de la política de cada ERP.

  • Autocatalogación y anotación automáticos

No es necesario clasificar, anotar, incluir “tags” o diferenciar la información introducida en el sistema. BSV se encarga, internamente de realizar las anotaciones de forma desasistida, extraer la información relevante, ordenar las indicencias por nivel de importancia en base a los históricos de ANS o resoluciones, de forma que el usuario, ´solo tiene que dar de alta la incidencia, procesarla según el flujo normal de resolución, y finalizarla. BSV se encarga de todo lo demás.

  • Sencillez de uso y Sistema de preguntas en lenguaje natural.

El usuario, (bien cliente final, bien consultores o resolutores de los distintos niveles de servicio), sólo tienen que especificar a BSV cuál es la nueva incidencia ocurrida, y el servidor de búsqueda extraerá un lista de incidencias similares ocurridas en el pasado, con la solución específica de las mismas, ahorrando tiempo de búsqueda, revisión, y análisis. El “sé que esto mismo me ocurrió hace un año, pero no ´se cómo lo hice” está solucionado con BSV.

  • Implantación inmediata

Al ser una plataforma modular, integrada en la arquitectura del ERP, pero independiente de la misma, BSV sólo lee la información origen, y genera sus propias tablas de análisis, que utiliza para dar respuesta al sistema. De esta forma, una vez integrado el ERP con BSV, el sistema, dese el primer momento, comienza analizar la información y dar respuesta a las consultas pedidas por los usuarios del sistema.

  • Multiidioma y multiformato

BSV es un sistema independiente de idioma, basando su tecnología en técnicas de “stemmer” y análisis estadístico, vectorizando la información por medio de índices de frecuencia inversa, entre otros.

Además, contiene un módulo semántico, que, en base a distintos diccionarios generales y/o particulares dentro de un contexto, facilita la selección de los documentos a encontrar independientemente de lo que escriba el usuario. De esta forma, si por ejemplo, estamos en un entorno contable, cuando busquemos “asientos sin asignar” en el sistema, BSV sabrá que debe devolver información contable, aunque la empresa se dedique a mobiliario urbano, y no traerá información comercial sobre los productos de la empresa, todo lo contrario que si la misma consulta la realiza el departamento técnico o comercial.

Esto supone un avance sobre las búsquedas, que no se realizan solamente sobre índices preestablecidos (como Sorl, Lucene, etc..), sino que se realizan sobre conceptos construidos en base a equivalencias y sinónimos semánticos.

  • Seguimiento y control:

BSV mantiene constantemente un seguimiento de las preguntas realizadas, adecuación de las respuestas, logs de errores, accesibles desde el propio sistema.

  • Sistema de auto-corrector ortográfico integrado

Permite, a la hora de realizar una consulta, chequear si la consulta es correcta o no.

Funcionamiento

El proceso de búsqueda de solicitudes consta de una pantalla de selección con dos campos: el cliente al que pertenecen las solicitudes, en caso de no introducir ninguno sacara peticiones de todos los clientes, y el texto libre por el que realizar la búsqueda.

 

 En el campo de texto libre el sistema sugiere una serie de palabras correctas en el caso de detectar que no esta bien escrita la palabra.  Estas sugerencias podrán aceptarse o no.

Texto libre de ejemplo: NO CONSIGUE IMPREMIR FACTURAS LOTES Y ENTREGAS

 Al ejecutar se visualizara un listado ALV (en SAP)  con las peticiones relacionadas con el texto de búsqueda, permitiendo la navegación desde el listado.

 

Los campos que aparecen en el listado son el Cliente, la solicitud, el título, área-modulo-submodulo, consultor responsable, el % de acierto y la frecuencia.

El % Acierto es el número de aciertos que hay en la incidencia con respecto a las palabras que introducimos en la búsqueda. Es decir, si buscamos, por ejemplo, “errores en facturas y sus efectos”, internamente, el sistema va a buscar todos los documentos relacionados con <errores>, <facturas> y <efectos>, y sus declinaciones (facturado, facturó, facturé, facturación, etc….). Si en una incidencia, existen (en cualquier lugar de la misma), las tres palabras, el acierto será del 100%, sino, el acierto será el número de palabras encontradas en el aviso entre las palabras buscadas (n / 3).

La frecuencia es un ratio de repeticiones. Bajo el mismo ejemplo anterior, si por ejemplo, una solicitud tiene las palabras anteriores, pero sin repetición, la frecuencia será 1+1+1 / número de palabras buscadas, es decir, 1. Pero suponer que una solicitud aparece <facturado>, <facturación> y <facturé>, y luego, <efecto> y <error>, el porcentaje será el mismo (199%), pero la frecuencia, será (3 + 1+ 1)/3 -> 1.6 -> 2, con lo que tendrá más peso en la lista de aciertos.

Además, BSV indica en qué lugar de la gestión de incidencias se encuentra la información de interés:

 

Puede parecer extraño que le primer acierto tenga facturas y entregas cerca, pero si se accede a la solicitud, doble-click sobre ella y visualicemos el documento indicado, veremos que se justifica la relación entre la pregunta y la mejor de las respuestas:

 

 CARACTERES ESPECIALES PARA BÚSQUEDAS

Además de las consultas en lenguaje natural de forma directa, existen alguno “comodines” que permiten refinar las búsquedas, como lo son:

 1. Búsqueda por cercanía, carácter “/”

Si se quiere que las palabras a buscar se encuentren cerca en la búsqueda y no en lugares muy separados, se utiliza el carácter “/”.

Ejemplo: NO CONSIGUE IMPREMIR /FACTURAS LOTES Y /ENTREGA

  2. Excluir solicitudes por palabra, carácter “-”

Se puede proceder a eliminar de la búsqueda solicitudes que contengan una palabra concreta.

Siguiendo con el ejemplo anterior, eliminar de la búsqueda aquellas solicitudes que contengan la palabra “CME”.

 Ejemplo: NO CONSIGUE IMPREMIR /FACTURAS LOTES Y /ENTREGAS –CME.

 Se ve en el listado de peticiones que desaparece la encontrada en el caso 3.1.1, de cercanía de palabras.

 3. Frases exactas, carácter “””” (dobles comillas)

Con estos caracteres se obtienen resultados de textos exactos dentro de las solicitudes. Para este caso hay que tener en cuenta que no se deben incluir entre las dobles comillas palabras como: a, de, con, guiones ‘-‘, barras ‘/’, etc…, al no ser significativas.

 Ejemplo: NO CONSIGUE IMPREMIR /FACTURAS LOTES Y /ENTREGAS -CME “CHOCOLATES”

 Otro ejemplo: NO CONSIGUE IMPREMIR /FACTURAS LOTES Y /ENTREGAS -CME “BAJA ALTA”.

En definitiva, BSV permite agilizar las búsquedas en formato no estructurado dentro de nuestra organización de una forma sencilla, transparente y directa, y es integrable en cualquier sistema CRM o ERP que deseemos.

Adquisición de conocimiento para poblar Ontologías

May 18, 2012   //   by oa.usun   //   Semántica  //  1 Comment

El proceso de adquisición de conocimiento para la población de una ontología se descompone en tres etapas separadas y complementarias.

– Recuperación de la Información (IR), que se ocupa de encontrar documentos que satisfagan una determinada información o consulta dentro de una gran base de datos de documentos.

Un sistema típico de minería de texto comienza con una colección de documentos, sin ningún tipo de etiqueta. Los documentos son etiquetados en primer lugar por categorías, o por términos o relaciones extraídos directamente de los documentos. Este proceso se denomina categorización de textos, y divide enormes colecciones de textos en subconjuntos que estén interrelacionados por algún criterio predefinido. Ésta es una subárea de Recuperación de la Información (Information Retrieval o IR). La recuperación de información se ocupa de la representación, almacenamiento, organización y acceso a la información. Dentro de este tipo de búsqueda, existen distintas aproximaciones para recuperar información. Las tres clásicas son el modelo booleano, el vectorial y el probabilístico, sin embargo existen muchas más como las redes Bayesianas, redes neuronales, redes de inferencia, etc.

DocThor – Un auto-catalogador de Documentos automático en función del contenido

– Extracción de la Información Relacionada  (IER), que puede ser considerada un campo de NLP y está centrada en encontrar entidades explícitas y hechos dentro de un texto no estructurado.

Identifica automáticamente las frases que permiten la extracción de relaciones arbitrarias de sentencias, evitando la restricción a un vocabulario especificado anteriormente.

La salida de los sistemas de extracción automática de información (IE) se ha utilizado para apoyar tareas de aprendizaje de preferencias selectivas, la adquisición de conocimiento en razonamiento, y en vinculación de reconocimiento. Además las extracciones obtenidas en procesos de extracción automática de información relacionada (IER) pueden ser incluidas en ontologías.

El futuro del Text Mining se llama T2k (Text to Knowledge)Tucán – Un extractor automático de información relacionada

Cargar la ontología y poblarla con tripletas.

Buscadores semánticos en medicina: Codificación CIE-9 y Medicina Basada en la Evidencia

La integración entre la extracción de lingüística y los conceptos del dominio ontológico se debe realizar en varios pasos:

1) Crear el árbol conceptual derivado del análisis lingüístico.

2) La definición manual de normas de adquisición entre las etiquetas lingüísticas y conceptos ontológicos.

3) Activar las reglas automáticas de adquisición de los textos.

Árbol conceptual resultante del análisis lingüístico

Como se mencionó anteriormente, el IDE crea un árbol conceptual  de cada análisis lingüístico de un informe como este ejemplo sobre decisiones jurídicas (ver fig. 3).

Cada nodo de este árbol es una etiqueta lingüística y el valor del texto del informe, entre paréntesis.

Nuestra solución debe atravesar el árbol con el fin de extraer la información relevante y más cercana a un concepto de la ontología, el segundo es un sujeto, atributo, asociación o papel en la base de conocimientos.

El recorrido del árbol se rige por unos principios básicos:

1) Un árbol necesariamente tiene un padre de raíz, aquí representa el documento o el tema principal.

2) El análisis de árbol se hace para prefijo profunda: a partir de la raíz, el primer algoritmo analiza el hijo de la izquierda antes de cruzar el hijo de la derecha y así sucesivamente de forma recursiva.

3) Dos caminos del árbol se necesitan: una para adquirir el sujeto con sus
atributos, y el segundo para adquirir las asociaciones con diferentes roles
sujetos en ella.
Estos dos caminos son esenciales porque no todos los sujetos están necesariamente involucrados en una asociación.

Definición de las reglas de adquisición o población

Manualmente cada nodo del árbol conceptual debe estar cerca de su concepto de la ontología correspondiente, sea cual sea su tipo (sujeto, atributo, asociación y rol).

Para ello, hay que crear las reglas para la adquisición de conocimientos que dará lugar a la creación de una instancia del concepto ontológico de cada nodo correspondiente del árbol conceptual.

• Una etiqueta es un solo concepto: « /art num » para el atributo « Num

Article ».
• Varias etiquetas corresponden a un mismo concepto: « /Nom lex » y « /Noms

lex » en el tema « Personne ».
• Una etiqueta corresponde a varios conceptos del mismo tipo: « /MEMBRES

COUR » para los sujetos « Personnalité Juridique »  y « Personnalité Politique ».
• Una etiqueta corresponde a diferentes tipos de conceptos:
« /REFERENCE » para el sujeto « Réf Editoriale Législative TNC » y « Réf

Editoriale Législative TNC Article », la asociación « Renvoi simple » y el rol de « Cible lien ».

• Una etiqueta no coincide con ningún concepto de la ontología: « /MOTIF ».
•  Un concepto no tiene etiquetas de equivalencia existentes: el
rol de « Origine Lien ».

En los casos en que una etiqueta pueda instanciar conceptos múltiples, es necesario entonces utilizar los padres nodo de contexto, hijos o hermanos para resolver las ambigüedades.

Por ejemplo, si el nodo « /REFERENCE » tiene un nodo hijo « /article », el
sujeto « Réf Editoriale Législative TNC Article » creará una instancia, de lo contrario será « Réf Editoriale Législative TNC ».

En la primera parte del documento, y por lo tanto, las extracciones lingüísticas, son concernientes a una decisión de la Corte de Casación. Por lo tanto, contiene los atributos del concepto que representan esta decisión, es decir, « Réf Editoriale Jurisprudence » marcado por la etiqueta « /REFERENCE DECISION ». Por consiguiente, es posible relacionar con cada uno de los nodos de la primera parte con los atributos correspondientes, que la etiqueta« /FORMATION »  con « formation » en la figura. 4.

En la segunda parte del documento se recogen otros tipos de instancias de conceptos, incluidas las personas, las partes o personas jurídicas (abogados, presidentes, secretarios, etc.) Y referencias a los textos legales en que se basan los argumentos de las diferentes partes. Estas referencias serán instanciadas de acuerdo a sus conceptos, el texto codificado o no codificado, con sus atributos (fecha, tipo de texto, etc.), a continuación poner en relación con la decisión a través de la asociación « Renvoi simple » y la especificación de su rol « Cible lien », cf. Fig. 5.

Una vez que la correspondencia está definida, cada una de las reglas de adquisición se formalizará y se añade lenguaje XPath (XPath se utiliza durante la fase de población para navegar a través de elementos y atributos en un documento XML) en la ontología del dominio del concepto y se creará una instancia. Por ejemplo, el concepto de  «Réf Editoriale Législative TC Article » en la ontología se asociará con « /REFERENCE DECISION/REFERENCE/ref[ARTICLE and TEXTE] ».

Activación de una regla de adquisición

Después de un análisis lingüístico, el árbol conceptual del documento seleccionado por el usuario es automáticamente cubierto por todas las reglas de adquisición. En cada nodo pertinente, la acción de instanciación de la base de conocimientos, asociada a toda regla de adquisición, se activa. Sin embargo, para evitar la duplicación de la base de conocimientos, se realiza una comprobación antes de la creación del concepto para verificar su existencia en la base de conocimientos. Una vez que el camino del árbol completado, el usuario puede ver todas las nuevas instancias de la base de conocimientos a través de una interfaz de validación. Desde esta interfaz, el usuario puede modificar y / o eliminar una instancia creada, así como añadir nuevas. A través de esta interfaz, el usuario puede controlar la calidad de la base de conocimientos y enriquecerla.

Esta plataforma propone, pues, una solución innovadora para enriquecer la base de conocimientos limitados por la ontología del dominio lingüístico a partir de las extracciones lingüísticas con la definición de las reglas de adquisición.

Referencias:

Juliette Dibie-Barthélemy, Intégration de données guidée par une ontologie. Application au domaine du risque alimentaire. HDR_JDB 2009

Florence AmardeilhPhilippe Laublet, Jean-Luc Minel: Document annotation and ontology population from linguistic extractions. K-CAP 2005: 161-168

Yoan Chabot : Rapport de Stage Enrichissement et peuplement d’ontologies. Le2i – Laboratoire Electronique, Informatique et Image. IQS4B 2009

Oren Etzioni, Anthony FaderJanara ChristensenStephen SoderlandMausam: Open Information Extraction: The Second Generation. IJCAI 2011: 3-10

 

El proyecto ‘Kodifika’, galardonado en los premios Profesor Barea 2012

May 4, 2012   //   by wpuser   //   Semántica  //  Comentarios desactivados en El proyecto ‘Kodifika’, galardonado en los premios Profesor Barea 2012
El Hospital de Galdakao ha sido uno de los centros reconocidos en los premios Profesor Barea 2012 por la implementación del proyecto Kodifika. En su décima edición, estos galardones, otorgados por la Fundación Signo, han pretendido destacar y reconocer la labor de las instituciones públicas y privadas en la mejora de la gestión sanitaria y el desarrollo de nuevas iniciativas que procuren la optimización de los servicios asistenciales.

Ha sido en la Categoría “Proyectos Multientidad” donde la Fundación Signo ha reconocido la labor desarrollada por el Hospital de Galdakao, la Subdirección de Calidad de Osakidetza e Ibermática, que han presentado “Kodifika”.

Este proyecto ha establecido un sistema de codificación automática de los diagnósticos generados en consultas externas, con el fin de medir la actividad asistencial ambulatoria. Kodifika ha codificado en el año 2011 635.111 casos; ya está plenamente integrado en la historia clínica electrónica de los pacientes y es considerado una herramienta de gestión de gran utilidad para realizar una verdadera codificación centralizada de los diagnósticos que se realizan en la red asistencial del País Vasco. En 2012 se está produciendo la extensión de la HCE-Osabide Global a todos los médicos de todos los hospitales y ambulatorios de asistencia especializada de Osakidetza con lo que el número de consultas llegará a los 4 millones anuales.

Según han explicado los organizadores de los premios, en este ejercicio se han presentado un total de 31 trabajos, de los cuales nueve han sido finalistas. Finalmente, han resultando galardonadas las iniciativas presentadas por el Hospital Universitario de Bellvitge (Barcelona), el Ministerio de Sanidad, Servicios Sociales e Igualdad, el Hospital Infanta Cristina de Parla (Madrid), además de la mencionada en el Hospital de Galdakao (Bizkaia).

Este proyecto forma parte del proyecto OsabideGlobal (Ibermática – CIA Norte), con la colaboración de i3B, a través de su departamento de Inteligencia Artificial, para el desarrollo del motor de tratamiento inteligente de lenguaje natural, quedando totalmente encajado con la Historia Clínica Electrónica de Osakidetza y aportando información muy valiosa para conocer la realidad sanitaria de la población al Conjunto Mínimo Básico de Datos (CMBD), requerido por normativa ministerial desde el año 1990 en el Sistema Nacional de Salud

Este premio ha sido fruto del esfuerzo de numerosas personas, a las que tengo que estar agradecido por su apoyo incondicional:

Gracias a Iñaki del Rio, Nora Ruiz de Arbulo y Estibaliz Ulacia por apoyarnos ciegamente en las posibilidades de la “magia” de la Inteligencia Artificial, ya que sin ellos, no estaríamos dónde estamos. Gracias a Juan Carlos del Álamo, Oscar Álvarez, y por supuesto, a Javier Yetano , por confiar en nosotros, por su paciencia, y por sus consejos. Gracias a Alberto Graña y a Juan Carlos Febrer, por asistir al nacimiento de la criatura, y sufrir sus primeros pasos. Muchas gracias a Javier Larrea, Vega Lapresa, Carlos Les, Ainara Zamakona, Iratxe Mediavilla, Alexeiw Martinez, Miguel Ángel Lanz, Lucía Aulestia, Inés Lenza, y a todos aquellos que siguen mejorando Kodifika, día a día, para ser un referente en las codificaciones médicas automáticas. Gracias a Ibermática e I3B, por ayudarnos a desarrollar día a día tecnología punta, útil, pragmática e innovadora.

Muchas gracias a todos, seguimos trabajando en ello ….

Monitorización e investigación en la web 2.0 para la toma de decisiones

Mar 1, 2012   //   by oa.usun   //   Semántica  //  Comentarios desactivados en Monitorización e investigación en la web 2.0 para la toma de decisiones

El uso de la Red y del ciberespacio construido sobre ella ha supuesto la reorganización en apenas dos décadas de las costumbres de millones de personas. También ha influido en asuntos como la toma de decisiones empresariales, la economía, la expresión de la identidad, la sociabilidad, el ocio y la educación formal, el activismo, el aprendizaje, y por supuesto el acceso, organización, distribución, consumo, gestión y recuperación de la información.

Las redes sociales son el fenómeno emergente más significativo de lo que se denomina web 2.0 y la eclosión de la comunicación de masas como nueva forma de comunicación en red.

Esto ha facilitado la producción de una gran cantidad de medios y contenidos por parte de los usuarios (Blogger, WordPress, Twitter, Facebook, …), que ha entrado en competencia directa con los medios de comunicación tradicionales, que se han visto obligados a adaptarse y a realizar cambios en sus redacciones, la tecnología usada, los contenidos o las condiciones de trabajo. Esto ha creado un nuevo contexto para la comunicación, la participación y el intercambio de información.

Esta web 2.0 provee a los individuos de plataformas que le permiten mejorar sus capacidades y le facilitan el acceso a información diversificada desde múltiples fuentes. Es un factor acelerador y amplificador de la extraordinaria habilidad de las personas para comunicar significados e ideas abstractas de forma social y colectiva. La Red está cambiando también el escenario de la investigación, ahora Internet se estudia como una estructura social o se utilizan tecnologías basadas en internet como herramientas para la investigación.

El ciberespacio es un campo de investigación idóneo donde es preciso acceder con una metodología científica tanto para la comprensión como para la elaboración de nuevas teorías o ampliaciones conceptuales de otras ya existentes. Lo más característico es que los sujetos investigados expresan sus opiniones en la web 2.0 sin la obligación de ceñirse a cuestionarios estandarizados o a guiones que restrinjan su experiencia a favor de las cuestiones decididas por un investigador.

Todo esto se puede investigar mediante un modelo, que propone dos horizontes temporales a la hora de abordar una investigación online. La información disponible en la web 2.0 se recolecta con aplicaciones de web mining y la investigación tiene dos fases:

1. La monitorización, que es la recopilación sistemática de la información delimitada tras seleccionar una serie de keywords o palabras clave estableciendo un corte temporal, un hipotético hoy, y haciendo un control diario y acumulativo de la información.

2. La investigación, que supone remontarnos hacia atrás en e tiempo entre uno y dos años o simplemente meses en función del volumen de información resultante.

Tanto la monitorización como la investigación tienen a su vez dos subfases:

–          La primera es de extracción, y en ella se rastrea la información textual o text mining, aunque también puede hacerse un rastreo multimedia o media mining.

–          La segunda es de clasificación automática para la monitorización, y automática y manual para la investigación, con el objetivo de no perder la sutileza de las ideas abstractas y los aspectos simbólicos inferibles del lenguaje no analizable por la tecnología.

Bajo la denominación de minería web o web mining se engloba todo un conjunto de técnicas encaminadas a la extracción de la información no trivial que reside de manera implícita en los datos. El web mining se usa para identificar y capturar información sobre una temática, marcas, productos o servicios de organizaciones y competidores; y en un sentido más amplio para realizar búsquedas más inteligentes (Ver El futuro del Text Mining se llama T2k  (Text to Knowledge) Tucán – Un extractor automático de información relacionada  y  Programación Neurolingüística (PNL) y los mapas mentales, procesos que cartografían el conocimiento y pueden facilitar la creación de ontoligías).

La información disponible en la Red es multimedia: texto, sonido, imágenes y bases de datos, pero este modelo se centra en la minería de datos textuales, que hoy son dominantes. El valor de esta tecnología está limitado por:

a) el estado del saber en cada momento del procesamiento de lenguaje natural.

b) la disponibilidad y acceso a tecnologías semánticas.

 

La monitorización consiste en la definición y creación de una estrategia de búsqueda y rastreo web, el establecimiento de un patrón de reconocimiento basado en las características del texto e independiente del tipo de medio online donde se encuentre. Es necesario establecer filtros, reglas de inclusión y exclusión de los resultados, que extraigan información propia y significativa de la temática objetivo.

El web mining semántico en la web 2.0 está también condicionado por el desarrollo de la estructura, arquitectura y posibilidades de navegación semántica de internet, cosa que depende de la aceptación y difusión de los estándares propuestos en el proyecto Semantic Web del W3C. La mayor limitación en internet no reside en el acceso al contenido sino a su sentido y significados. Tras el web mining se dispone de datos y referencias que conforman el universo objetivo. Debido al volumen de información puede ser oportuna la selección de una muestra tanto para la fase cuantitativa como la cualitativa.

En el web mining nos encontramos con dos unidades básicas:

Referencia, que  es la unidad básica de publicación de información (una noticia en un medio de comunicación online, un comentario en un foro, un post en un blog, etc.) extraída de la monitorización, en formato texto, que contiene al menos una de las palabras clave que delimitan el objeto de investigación desde un punto de vista sintáctico. Las referencias pueden ser limpias o falsos positivos. Una referencia limpia es todo bloque de información extraído de la monitorización en formato texto, relevante para la investigación desde el punto de vista sintáctico y semántico; todas las referencias que no cumplan esta condición son referencias no válidas o falsos positivos.

Opinión, es la unidad mínima de análisis informacional textual significativa siempre que contenga elementos informativos y/o valorativos relevantes para el objeto de estudio. Las referencias se pueden desagregar en opiniones.

Una vez codificadas las referencias y opiniones se diseña un plan de explotación y se genera información estadística para dimensionar bajo parámetros científicos los resultados de la investigación.

Tras la fase cuantitativa del modelo pasamos a una fase cualitativa, que permite conocer una parcela del objeto de estudio. Se trata de analizar las referencias para generar percepciones y/o puntos de vista útiles para la toma de decisiones. Para esta fase cualitativa el método se deberá elegir en función de los objetivos de la investigación y se optará por una o diferentes aproximaciones dentro de las amplias posibilidades que se ofrecen.

Así este modelo propuesto abre un nuevo campo de investigación al tener acceso desde una perspectiva científica a la expresión natural de las personas sobre organizaciones, marcas, productos, servicios, competidores, etc. (Ver  Redes Sociales, análisis, Marketing Personalizado, Líderes Virtuales, Topología, Datos Abiertos Y LinkedData. ¿Cómo se modelan los comportamientos para ofertarte lo que realmente necesitas?).

Programación Neurolingüística (PNL) y los mapas mentales, procesos que cartografían el conocimiento y pueden facilitar la creación de ontologías

Ene 22, 2012   //   by oa.usun   //   Semántica  //  Comentarios desactivados en Programación Neurolingüística (PNL) y los mapas mentales, procesos que cartografían el conocimiento y pueden facilitar la creación de ontologías

La Programación Neurolingüística (PNL), tiene características que la definirían como el arte y la ciencia de la excelencia personal. Deriva del estudio de cómo las mejores personas en distintos hábitos obtienen sus sobresalientes resultados. Trata sobre las ideas y las personas, de comprender y organizar sus propios éxitos de tal forma que pueda disfrutar de muchos más momentos exitosos. Un objetivo es el de construir nuevas opciones de aprendizaje

La Programación Neurolingüística(PNL) es un sistema que sirve para preparar (programar), sistemáticamente nuestra mente (neuro), y lograr que comuniquemos de manera eficaz lo que pensamos (lingüística), logrando así una comunicación eficaz a través de una estrategia para el desarrollo humano.

  • Estudia cómo nos comunicamos con nosotros mismos (comunicación intrapersonal) y por ende cómo nos comunicamos con otros (comunicación interpersonal).
  • Es una escuela de pensamiento pragmático que sostiene que en última instancia toda conducta humana se desarrolla sobre una “estructura” o “plantilla de pensamiento” aprendida, la cual puede ser detectada para ser modelada (copiada) por otras personas y obtener con ello similares resultados.
  • sostiene que es posible cambiar o reprogramar esta estrategia o plantilla de pensamiento, si es que hay algo que limite o para potenciar algún recurso, comportamiento o creencia, con el fin mejorar la calidad de vida.

La Programación Neurolingüística(PNL) define tres elementos como constituyentes claves de la conducta humana:

  • El sistema nervioso (el soporte neurológico).
  • El lenguaje que sirve para la comunicación externa e interna (con uno mismo) es verbal y no verbal.
  • La conducta que se puede aprender.

En Programación Neurolingüística (PNL) se le llama “mapa mental” a la percepción individual y mental que tiene una persona del mundo. Este mapa mental se conforma a través de los filtros personales por los cuales cada uno va asimilando el mundo y la realidad. Me refiero a la educación, la cultura, las creencias, en fin, todas las experiencias y manera de observar que desarrolla una persona, así como de las percepciones y sentimientos de sus propias vivencias a través de sus propios filtros de la realidad. El mapa mental está determinado por la estructura genética y la historia personal. De ahí que es imposible que dos personas tengan exactamente la misma percepción ante un mismo hecho.

Estos mapas mentales elaborados a través de las técnicas dela Programación Neurolingüística(PNL) además de para crear nuestro “universo” único y personal sirven para estudiar y analizar cualquier área de conocimiento, por lo que podemos llamarlos también mapas de conocimiento.

Los mapas mentales o de conocimiento permiten tener una visión grafica, permiten que se identifiquen los aspectos principales y las relaciones que existen entre ellos. El objetivo de éstos mapas es que el conocimiento indispensable de los procesos y su utilización de manera semántica.

Cuando se construye un mapa de conocimiento, se realiza una auditoría donde poder entender el proceso, sus estrategias, objetivos, prioridades, como ha ido evolucionando y por supuesto, las necesidades de información y de conocimiento.

El mapa debe contener:

• Los procesos y las actividades claves.

• La información y el conocimiento estratégico que se necesita para llevarlos acabo.

• Quienes son las personas, clientes, usuarios internos o externos asociados y quienes son los suministradores o proveedores de la información y conocimiento.

• Como usan las personas la información y el conocimiento.

La creación de mapas o representación de los elementos (clases) que integran cualquier conocimiento es lo que se conoce como cartografía del conocimiento.

Cuando se habla sobre cartografía del conocimiento, se suelen considerar tres metodologías para representar gráficamente conceptos: las redes semánticas, los mapas mentales y los mapas conceptuales.

En las redes semánticas, los datos se estructuran mediante diagramas de nodos y flechas, esto para que los conceptos puedan ser vinculados mediante taxonomías o relaciones, que influyen en la estructura de los datos. La ventaja de estas redes es que presentan gran capacidad para poder representar cualquier estructura de datos o su mayoría. La desventaja más sobresaliente es que, si se aumenta el número de enlaces para establecer relaciones, se vuelve más complicado seguirlos, y por lo tanto, su entendimiento es difícil.

Los mapas mentales, buscan hacer diagramas de conocimiento asociando diferentes ideas, creando diagramas que se asemejan al proceso que el cerebro humano sigue para procesar y organizar la información.

Entre sus características se encuentran:

• Los contenidos se distribuyen de manera flexible y subjetiva.

• Se pueden usar imágenes y texto de forma alternada.

• Es muy visual.

• Se puede reflejar una lluvia de ideas.

• Cuando son mapas online, se asocian enlaces y objetos multimedia.

Los mapas conceptuales, tienen una metodología más estructurada, ya que se puede contribuir a la representación visual de los conceptos mediante árboles que clarifiquen de manera ordenada las relaciones entre categorías y subcategorías, esto mediante nodos y descriptores.

Los elementos principales de los mapas conceptuales pudieran ser:

• El tema base, a partir del cual, se desprenden diferentes conceptos.

• Los conceptos, que pueden ser nombres, procesos, objetivos, o eventos.

• Palabras de enlace, que describen la relación entre los conceptos.

• Líneas y flechas, que permiten unir los conceptos, las suelen usarse solo para indicar que un concepto depende de otro o para resaltar el dinamismo de los procesos.

• Conexiones cruzadas: Para indicar que un concepto influye en otro y a su vez éste influye en el primero, es decir, hay una influencia recíproca entre los conceptos y procesos.

Y así llegamos a las ontologías que representan de manera formal el conocimiento en una estructura conceptual de un determinado campo de estudio.

Las ontologías pueden ser utilizadas varias cosas tales como:

-Como repositorio para organizar el conocimiento.

-Herramienta para adquirir información.

-Como referencia en la construcción de sistemas de bases de conocimiento.

-Compartir el conocimiento.

-Permitir construir de manera automatizada los mapas conceptuales.

-La reutilización del conocimiento existente en los nuevos sistemas.

El usar ontologías beneficia en varias cosas:

-Como utilizan un vocabulario común, el conocimiento representado será más fácil de compartir.

-Esto trae consigo, que se tenga un formato para intercambiar conocimiento.

-Se obtiene un protocolo específico de comunicación.

-Facilita la reutilización de conocimiento.

Si quieres complementar esta información puedes leer estos post:

Redes Sociales, análisis, Marketing Personalizado, Líderes Virtuales, Topología, Datos Abiertos Y LinkedData. ¿Cómo se modelan los comportamientos para ofertarte lo que realmente necesitas?

Procesamiento del lenguaje natural y Descubrimiento de conocimiento (KDD)

Minería de datos sobre ontologías

El futuro del Text Mining se llama T2k (Text to Knowledge)Tucán – Un extractor automático de información relacionada

DocThor – Un auto-catalogador de Documentos automático en función del contenido

Buscadores semánticos en medicina: Codificación CIE-9 y Medicina Basada en la Evidencia

El futuro del Text Mining se llama T2k (Text to Knowledge)Tucán – Un extractor automático de información relacionada

Nov 16, 2011   //   by oa.usun   //   Semántica  //  7 Comments

La información que hay que tratar cada vez es mayor y desde ahora mismo ya no son suficientes  los resultados de una aplicación de recuperación de información(IR) como Doc Thor por lo que hemos dando un paso hacia lo que va a demandarse en el futuro y que consiste en desarrollar una aplicación donde se deduzca, extraiga y relacione lo más importante de la información contenida en los documentos obtenidos y que nos permite además realizar una vigilancia prospectiva sobre un tema tratado. Esta aplicación es T2k (Text to Knowledge) Tucán – Extractor automático de Información.

El procesado automático de textos es un área de investigación formada por diversas disciplinas. Incluyen Recuperación dela Información(IR), que se ocupa de encontrar documentos que satisfagan una determinada información o consulta dentro de una gran base de datos de documentos, como pudiera ser, por ejemplo, Internet; Procesamiento Natural del Lenguaje (NLP), que es una disciplina que abarca todas las técnicas de procesamiento automático tanto de lenguaje escrito como hablado; la Extracción de la Información(IE), que puede ser considerada un campo de NLP y está centrada en encontrar entidades explícitas y hechos dentro de un texto no estructurado. Por ejemplo, encontrar dentro de un texto todas las veces que aparece una determinada proteína. Finalmente, la Minería de Textos es el proceso de analizar el lenguaje natural escrito para descubrir información o conocimientos que son comúnmente difíciles de recuperar.

El proceso actual de extracción de la información es en su gran mayoría manual. Se extrae dicha información de las publicaciones científicas pertinentes y se almacena en grandes bases de datos y/u ontologías que hay repartidas por la red. Dichas bases de información son de gran importancia ya que los resultados de las distintas técnicas experimentales han de ser, en muchos casos, interpretados recurriendo a la información que contienen.

Uno de los temas que más interesa a la comunidad científica es precisamente la de clasificar documentos de acuerdo a los procesos y las funciones que describen. Sabiendo de qué procesos o funciones habla un documento, podremos establecer asociaciones entre las entidades que aparecen en el documento y los tópicos encontrados. Dicho de otra manera, es posible caracterizar entidades a través de sus funciones y del papel que desempeñan en distintos procesos a través del estudio de la literatura y, más en concreto, de la clasificación de documentos.

Minería de Datos

Se define como,”un proceso no trivial de identificación válida, novedosa, potencialmente útil y entendible de patrones comprensibles que se encuentran ocultos en los datos”. Pero lo que en verdad hacela Mineríade Datos es reunir las ventajas de varias áreas como la Estadística, la Inteligencia Artificial, la Computación Gráfica, las Bases de Datos y el Procesamiento Masivo de Datos, principalmente usando como materia prima fuentes de información como las bases de datos o las ontologías.

Las principales fuentes de datos utilizadas son ficheros planos, bases de datos relacionales, base de datos de transacciones, bases de datos objeto relacionales, bases de datos espaciales, series de tiempo, textos, literatura e incluso multimedia (video, audio) o datos en Internet. De ellos se pretende extraer información que abarca desde caracterización de entidades, discriminación, clasificación, agrupamiento, descubrir tendencias, calcular la desviación, detección de datos anómalos, etc. Dentro de la minería de datos, uno de los campos más importantes es la minería de textos. Se trata de un tipo especial de Minería de Datos en el que la información es extraída a partir de textos y/o de literatura.

Text Mining

La Mineríade Textos o Text Mining tiene como objetivo examinar una colección de documentos no estructurados escritos en lenguaje natural y descubrir información no contenida en ningún documento individual de la colección; en otras palabras, trata de obtener información sin haber partido de algo.

Las técnicas de NLP cubren todos los aspectos y etapas necesarias para convertir el lenguaje escrito o hablado en información que pueda ser usada por otros humanos o agentes automatizados.

Las operaciones comunes de procesamiento de texto usadas por los sistemas típicos de Text Mining son tokenización, eliminación de stopwords, lematización, part of speech y análisis sintáctico.

Para más información ver el enlace “Buscadores semánticos en medicina: Codificación CIE-9 y Medicina Basada en la Evidencia“.

Recuperación de Información (IR)

Un sistema típico de minería de texto comienza con una colección de documentos, sin ningún tipo de etiqueta. Los documentos son etiquetados en primer lugar por categorías, o por términos o relaciones extraídos directamente de los documentos. Este proceso se denomina categorización de textos, y divide enormes colecciones de textos en subconjuntos que estén interrelacionados por algún criterio predefinido. Ésta es una subárea de Recuperación de la Información (Information Retrieval o IR). La recuperación de información se ocupa de la representación, almacenamiento, organización y acceso a la información. Dentro de este tipo de búsqueda, existen distintas aproximaciones para recuperar información. Las tres clásicas son el modelo booleano, el vectorial y el probabilístico, sin embargo existen muchas más como las redes Bayesianas, redes neuronales, redes de inferencia, etc.

En Ibermática estos temas los tenemos resueltos con nuestra aplicación DocThor – Un auto-catalogador de Documentos automático en función del contenido

Extracción de Información (IE)

Es el nombre dado a cualquier proceso que recupera información que se encuentren de manera explícita o implícita en uno o más textos. Se trata de una técnica de Text Mining que combinada con herramientas NLP, recursos léxicos y restricciones semánticas, proporciona módulos efectivos para identificar hechos y relaciones en la literatura. Los sistemas de extracción buscan entidades, relaciones entre ellas u otros hechos específicos dentro de los textos. Permite además el etiquetado de los documentos e identifica conceptos explícitos y relaciones dentro de los textos, y asocia partes específicas del documento con algún asunto que sea de interés, es utilizando estas entidades específicas, hechos y eventos encontrados como se puede etiquetar al documento, y no mediante categorías fijadas de antemano.

T2k (Text to Knowledge) Tucán – Extracción de Información Relacionada (IER)

La extracción de información (IE) como hemos leído en el apartado anterior consiste en un proceso que recupera información que se encuentren de manera explícita o implícita en uno o más textos, pero en Ibermática creemos que en un futuro cada vez más próximo lo que se nos va a demandar es conocimiento y este además de la extracción de información (IE) típica es la comprensión de las relaciones existentes en esa información. Para esto hemos desarrollado T2k (Text to Knowledge) Tucán que es un extractor de información relacionada.

Extracción de Información Relacionada (IER) es la identificación automática de frases que permite la extracción de relaciones arbitrarias de sentencias, evitando la restricción a un vocabulario especificado anteriormente.

La salida de los sistemas de extracción automática de información (IE) se ha utilizado para apoyar tareas de aprendizaje de preferencias selectivas, la adquisición de conocimiento en razonamiento, y en vinculación de reconocimiento. Además las extracciones obtenidas en procesos de extracción automática de información relacionada (IER) pueden ser incluidas en ontologías.

Un sistema de extracción automático siguen los siguientes tres pasos:

1. Label: Las oraciones son automáticamente etiquetadas con extracciones usando heurística o supervisión a distancia.

2. Learn: Una frase de relación del extractor aprende utilizando un modelo de secuencia de etiquetado gráfico.

3. Extract: el sistema toma como entrada una frase, identifica una pareja candidata de los argumentos NP (arg1, arg2) de la sentencia, y luego usa la sabiduría del extractor para etiquetar cada palabra entre los dos argumentos como parte de la frase relación o no.

Existen dos limitaciones en frases de relación, una restricción sintáctica y restricción léxica.

La restricción sintáctica sirve para dos propósitos. En primer lugar, eliminar las incoherencias en las extracciones, y en segundo lugar, reducir las extracciones no informativas mediante la captura de frases de relación expresadas por una combinación verbo-sustantivo, incluyendo LCV.

Hay frases que satisfacen la restricción sintáctica, pero no son relacionales. Para superar esta limitación, se introduce una restricción léxica que se utiliza para separar frases de relación válida de frases relación especificada. La restricción se basa en la intuición de que una frase de relación válida debe tener muchos argumentos distintos en un amplio corpus.

Tomamos como entrada un texto etiquetado y fragmentado en sentencia NP
que devuelve un conjunto de (x, r, y) tripletas de extracción.

Dada una frase de entrada s, utiliza el algoritmo de extracción siguiente:

  1. Extracción de relación: Para cada v verbo en s, encontrar la secuencia más larga de rv palabras de tal manera que (1) r comienza en v, (2) r satisface la restricción sintáctica, y (3) r satisface la restricción de léxico.
    Si cualquier par de sentencias son adyacentes o superposición de s, que se funden en una sola sentencia.
  2. Extracción argumento: Para cada frase de relación r  identificados en el punto anterior, encontrar el más cercano sintagma nominal x a la izquierda de r tal que x es s no es un pronombre relativo, el adverbio WHO, o el existencial “THERE”. Encontrar el nombre y la frase más cercana a la derecha de r en s. Si tal par (x, y) podría encontrarse, el retorno (x, r, y) como una extracción.

Comprobamos si una frase relación candidata r satisface la restricción sintáctica, haciendo la coincidir con la expresión regular.

Para determinar si r satisface la restricción léxica, se utiliza un gran diccionario D de frases de relación que se sabe que puede tener muchos argumentos diferentes.

Como ejemplo del algoritmo de extracción en la acción, considerar la entrada siguiente:

Hudson nació en Hampstead, que es un suburbio de Londres.

El paso 1 del algoritmo identifica tres frases relación que satisfacen las restricciones sintácticas y léxicas:

fue, nacido en, y es un suburbio de

La primera de las dos frases que son adyacentes en la sentencia, por lo que se fusionan en una sola frase relación.

El paso 2 encuentra un par de argumentos para cada frase relación.

Para nació en la cercana PN son (Hudson,  Hampstead).

Para es un suburbio, extractora salta por encima de NP que elige el argumento par (Hampstead, Londres).

El resultado final es:

e1: (Hudson, nació en, Hampstead)
e2: (Hampstead, un suburbio de Londres).

Para determinar la confianza de la función  utilizamos un clasificador de regresión logística para asignar un nivel de confianza a cada extracción.

Como ejemplo podemos ver que hemos cargado en T2k (Text to Knowledge) Tucán el siguiente texto:

Peter Stone: A 46-year-old lady was referred to the haematology clinic for evaluation of lymphocytosis in May 1993. She had severe lethargy and intermittent right upper abdominal discomfort without any significant loss in weight. Her past medical history included essential hypertension controlled on atenolol 100 mg once daily and was also on frusemide 40 mg once daily. She had no significant surgical history other than having undergone cholecystectomy in 1972. She had never smoked nor consumed alcohol. Physical examination showed no evidence of lymphadenopathy. Complete blood count showed normal haemoglobin concentration 14.8 g/dl , macrocytosis ( MCV 100.1 ), raised white cell count at 13.4 109/L, lymphocytosis ( absolute number 6.3 109/L ), and normal neutrophil count ( absolute number 5.6 109/L ). Peripheral blood showed numerous Howell-Jolly bodies within erythrocytes. Thyroid function tests, protein electrophoresis, C-reactive protein, immunoglobulin levels and autoimmune screening were normal. Ultrasonography and computed tomography scan of the abdomen and pelvis did not reveal retroperitoneal or mediastinal lymphadenopathy, but the spleen was noted to be very atrophic. Gastroscopy showed multiple gastric erosions and the initial impression was of celiac disease complicated by lymphoma and lymphocytosis.

Y una vez ejecutado el proceso de extracción de información relacionada (IER) hemos obtenido el siguiente resultado en forma de tripletas que posteriormente podemos utilizar para poblar una ontología sobre este tema.

A 46-year-old lady

was referred to

the haematology clinic

——————————-

She

had

severe lethargy

——————————-

Her past medical history

included

essential hypertension

——————————-

atenolol 100 mg

was also on

frusemide 40 mg

——————————-

She

had

no significant surgical history

——————————-

Physical examination

showed no evidence of

lymphadenopathy

——————————-

Complete blood count

showed

normal haemoglobin concentration

——————————-

Peripheral blood

showed

numerous Howell-Jolly bodies

——————————-

Ultrasonography and computed tomography scan of the abdomen and pelvis

did not reveal

retroperitoneal or mediastinal lymphadenopathy

——————————-

Gastroscopy

showed

multiple gastric erosions

——————————-

the initial impression

was of

celiac disease

——————————-

Sistema inteligente de gestión del conocimiento de laboratorios para procesado de cultivos microbiológicos

Jul 15, 2011   //   by oa.usun   //   Semántica  //  1 Comment

El objetivo general ha sido llevar a cabo una investigación en tecnologías de visión y de inteligencia artificial donde hemos desarrollado un nuevo sistema inteligente de procesado de cultivos microbiológicos.

Se ha resuelto el problema de los cuellos de botella que el procesado de cultivos microbiológicos representa para los laboratorios clínicos.
Los procedimientos manuales tienen un impacto negativo en la eficiencia y productividad del laboratorio, dificultan la integración del diagnóstico con el historial del paciente y alargan el tiempo de espera del paciente.

Los retos principales han sido:
• El diseño de un sistema inteligente que controle de una forma integral las fases de preparación, incubación y diagnóstico de cultivos mediante técnicas de visión artificial y otros.
• La definición de un sistema inteligente de análisis de datos que permita implementar la previsión de epidemias.

Se han estudiado nuevas soluciones para manipular los cultivos, analizar el crecimiento de microorganismos y procesar toda esta información para realizar un diagnóstico rápido y fiable.

En este sentido, el proyecto ha estado orientado a los siguientes objetivos tecnológicos parciales:

• El diseño de un sistema integral de manejo de cultivos.


• La definición de un modelo de reconocimiento de imagen para controlar y analizar el crecimiento de las colonias.


• El diseño de un sistema inteligente de procesado y análisis de datos que permita predecir alarmas sanitarias.

Todas estas mejoras se han traducido principalmente en:

Reducción de errores, aumento de la productividad, aumento de la seguridad, y aumento de la satisfacción laboral.

Los avances científicos y técnicos que han supuesto la consecución de los objetivos del proyecto son los siguientes:

– Nuevos modelos de análisis de imagen para el control y análisis de colonias de bacterias.
– Un sistema inteligente de análisis de datos y detección de alertas sanitarias.

Se han integrado diferentes agentes inteligentes utilizando técnicas de razonamiento y de gestión del conocimiento (web semántica, ontología OWL, minería de datos, sistema experto), de manera que puedan entender el contexto local y compartir esta información para el correcto funcionamiento de aplicaciones e interfaces inteligentes en un laboratorio clínico.

La utilización de la tecnología de ontologías en este proyecto es clave debido a que el conocimiento que un técnico de laboratorio posee sobre un diagnóstico es difícilmente transferible.

Es muy importante disponer en todo momento de los datos sanitarios de un paciente. Gracias a los estándares sanitarios, entre los cuales el HL7 es el más extendido, la información sanitaria de un paciente está disponible en cualquier momento. Es por ello que este proyecto ha contribuido al estudio de estas interfaces en este área de operaciones.

También este proyecto ha permitido avanzar en la investigación de la aplicación de la minería de datos y  en el proceso de extracción de conocimiento KDD, realizando análisis sobre datos históricos y aplicando algoritmos de descubrimiento de conocimiento de forma que han generado un conjunto de patrones sobre los datos.

 

Este proyecto ha permitido la investigación de estas tecnologías en el ámbito de laboratorios de análisis clínicos.

Páginas:12»