Representación de conocimiento biomédico mediante web semántica
Grado en biotecnología
Bioinformática
Dr. Alejandro Rodríguez González
http://www.alejandrorg.com
ETS de Ingenieros Informáticos
Índice
Representación del conocimiento
Tecnologías Semánticas / Web Semántica
Linked Data
Ontologías
Web Semántica + Biotec
¿Como no funciona esta clase?
REPRESENTACIÓN DEL CONOCIMIENTO
¿Que es el conocimiento?
REPRESENTACIÓN DEL CONOCIMIENTO
¿Que es el conocimiento?
El conocimiento es un conjunto de información almacenada mediante la experiencia o el aprendizaje (a posteriori), o a través de la introspección (a priori). En el sentido más amplio del término, se trata de la posesión de múltiples datos interrelacionados que, al ser tomados por sí solos, poseen un menor valor cualitativo.
representación del conocimiento
¿Que es la representación del conocimiento?
representación del conocimiento
La representación del conocimiento y el razonamiento es un área de la inteligencia artificial cuyo objetivo fundamental es representar el conocimiento de una manera que facilite la inferencia (sacar conclusiones) a partir de dicho conocimiento.
Representación del conocimiento
Inferencia
Inferencia es el acto o proceso de derivar conclusiones lógicas a partir de premisas conocidas o que se asumen como ciertas.
Dentro del campo de la lógica tenemos tres tipos de lógicas (clásicas):
- Lógica proposicional (orden cero): Elementos simples (proposiciones), conectivas (operaciones sobre proposiciones).
- Lógica de 1er orden: Lógica de predicados. Incluye cuantificadores y funciones.
- Lógica de segundo orden: Se añaden variables para propiedades, funciones y relaciones y cuantificadores que operan sobre las variables.
Representación del conocimiento
Lógica
Representación del conocimiento
Inferencia
Además de las 3 lógicas clásicas, en las que se basan gran parte de los sistemas inteligentes existentes, existen más lógicas..
-
Lógica difusa: Infinitos valores.
- Lógica no monotónica: Diagnóstico médico.
- Lógica modal
- Lógica temporal
- ...
Representación del conocimiento
Inferencia: Tipos de razonamiento
Existen dos tipos fundamentales de razonamiento:
- Razonamiento deductivo
- Razonamiento inductivo
Representación del conocimiento
Inferencia: Razonamiento deductivo
La conclusión se infiere necesariamente de las premisas.
Ejemplo:
- Todo estudiante de biotecnología es sexy.
- Chindasvinto es estudiante de biotecnología.
- ?? Conclusión ??
Representación del conocimiento
Inferencia: Razonamiento deductivo
Otro ejemplo:
- Todo estudiante de biotecnología es sexy.
- Menganito es sexy.
- ... es Menganito estudiante de biotecnología?
Hay que tener cuidado cuando se está realizando inferencia con las proposiciones y como están afectadas por los cuantificadores.
Representación del conocimiento
Inferencia: Razonamiento inductivo
El razonamiento inductivo es más complejo y depende de más factores. En contrasten con el razonamiento deductivo donde la conclusión puede considerarse completamente cierta en el razonamiento inductivo se habla de probablemente cierta.
Representación del conocimiento
Inferencia: Razonamiento inductivo
Ejemplo:
Premisa: Todos los estudiantes de biotecnología que conozco son sexys.
Conclusión: Seguramente, todos los estudiantes de biotecnología sean sexys.
No hay conclusión certera.
Representación del conocimiento
Además de la propia inferencia para obtener nuevas deducciones, dentro de la representación del conocimiento tenemos que tener en cuenta las propias formas de representación. Fundamentalmente, necesitamos:
-
Sistema de símbolos para representar el dominio del discurso.
-
Funciones de inferencia.
REPRESENTACIÓN DEL CONOCIMIENTO
Ejemplo
Vamos a representar el conocimiento de una estructura familiar usando como lenguaje de representación Prolog.
Prolog es un lenguaje de programación lógica asociado generalmente su uso a la inteligencia artificial. Tiene sus raíces en la lógica de primer orden y es un lenguaje declarativo: se desarrollan programas mediante la especificación de condiciones, proposiciones, afirmaciones, restricciones, ecuaciones o transformaciones para definir el problema y detallar su solución.
REPRESENTACIÓN DEL CONOCIMIENTO
Vamos a representar la estructura familiar de los Griffin
Tecnologías Semánticas
Tecnologías Semánticas
Se le pidió a seis ciegos que determinaran como era un elefante palpando diferentes partes del cuerpo del animal.
El hombre que tocó la pata dijo que el elefante era como un pilar; el que tocó su cola dijo que el elefante era una cuerda; el que tocó su trompa dijo que era como la rama de un árbol; el que tocó la oreja dijo que era como un abanico; el que tocó su panza dijo que era como una pared; y el que tocó el colmillo dijo que el elefante era como un tubo sólido.
Tecnologías Semánticas
Un rey les explicó:
Todos ustedes están en lo cierto. La razón por la que cada uno de ustedes esté diciendo diferentes cosas es que cada uno de ustedes tocó una parte diferente del elefante. Por lo tanto el elefante tiene todas las características que mencionaron.
Tecnologías SEmánticas
Dependiendo del área donde se trabaje, puede cambiar su definición.
Tienen un marco común de aplicación, basado en la tecnología subyacente que las componen.
Se definen como "Tecnologías para manejar las relaciones entre datos, proporcionando acceso inteligente a recursos, que sirve para mediar entre las intenciones de los usuarios y la información disponible. Su reto es crear, codificar y extraer significados, así como ofrecer un "conocimiento" para manipular, reutilizar y direccionar la información."
Tecnologías Semánticas
¿Que es la Web Semántica?
Web Semántica
La web actual es una Web Sintáctica.
Los recursos (páginas con información) se enlazan entre ellos mediante vínculos.
WEB SEMÁNTICA
Dificultades de la Web actual
- Búsquedas complejas (limitadas)
- Información multimedia
- Información multilingüe
- Información imprecisa (bajo incertidumbre)
- Búsquedas conceptuales
- Ambigüedad de contenido
- Problemas de etiquetado
- Carencia de etiquetado
- Etiquetados erróneos
WEB SEMÁNTICA
Dificultades de la Web actual
Todo hay que decir que los buscadores mejoran sus algoritmos y ofrecen cada vez búsquedas más refinadas.
Sin embargo, estos resultados se basan en la mejora de sus algoritmos y no porque la web se esté volviendo más semántica.
Es necesario crear herramientas para semantizar la web.
WEB SEMÁNTICA
Dificultades de la Web actual
Ejemplo: Web actual
Fuente: Dr. Jose Emilio Labra Gayo
Web Semántica
Dificultades de la Web actual
Ejemplo: Buscador semántico
Fuente: Dr. Jose Emilio Labra Gayo
WEB SEMÁNTICA
Solución
- Mejorar etiquetado
- Dotar a la información de significado → Creación de conocimiento
- Permitir que las máquinas comprendan la información que parsean.
Solución: Web Semántica
Web Semántica
¿Qué es la web Semántica?
WEB SEMÁNTICA
¿Que es la Web Semántica?
Definición W3C:
Al dotar a la Web de más significado y, por lo tanto, de más semántica, se pueden obtener soluciones a problemas habituales en la búsqueda de información gracias a la utilización de una infraestructura común, mediante la cual, es posible compartir, procesar y transferir información de forma sencilla.
WEB SEMÁNTICA
¿Como funciona?
La web actual permite definir elementos de visualización sobre las webs (letra, tamaño, color, posición, etc..): HTML
El código se interpreta para su visualización, pero no se interpreta su contenido.
Web Semántica
¿Como funciona?
Fuente: Dr. Jose Emilio Labra Gayo
Web Semántica
¿Como funciona?
Web Semántica
¿Como funciona?
- Uso de ontologías
- Enlaces entre recursos
- Tareas
- Definir y clasificar entidades
- Vocabulario para definir enlaces entre recursos
- Relacionar términos entre varias ontologías
WEB SEMÁNTICA
¿Como funciona?
Pretende disponer datos en la Web definidos y enlazados de forma que puedan ser usados por las máquinas para más tareas aparte de la visualización:
- Automatización
- Integración
- Reutilización
Web Semántica
Web semántica
Para finalizar..
Características de la Web
-
No centralizada: Problemas para garantizar la integridad de la información.
-
Información dinámica: La información cambia.
-
Cantidad de información: Existe una cantidad enorme de información.
Web Semántica → Linked Data
De la evolución de la Web Semántica, o como parte de esta, nace el concepto de Linked Data.
¿Que es Linked Data?
Linked Data
«Método para publicar datos estructurados de tal forma que pueda ser enlazado de forma interna y por lo tanto ser más útil»
Se basa en la idea de que la información está disponible, pero oculta para los actuales métodos de búsqueda.
Linked Data
Linked Data
Linked Data
Linked Data
Ejemplo
Linked Data
Y... todo esto, ¿en que resulta?
Linked Data
Aclaraciones (I/V)
- La mayoría de los datos publicados en LD lo hacen instituciones (de investigación, periódicos, gobiernos).
- Nosotros podemos CONSUMIR sus datos, que se presuponen curados y "ciertos" (para datos de gobiernos, periódicos.. en investigación las reglas son diferentes).
- Al igual que con la web normal, nosotros podemos crear nuestros datos, pero eso no significa que otros vayan a reconocerlos como válidos.
Linked Data
Aclaraciones (II/V)
- Reconocer nuestros datos como válidos implica que ellos nos enlacen.
- La idea de LD es que en vez de procesar millones de textos para encontrar las relaciones entre conceptos, estas, estén ya proporcionadas.
- La web actual busca palabras clave, no entiende de relaciones. La web semántica y LD funciona con relaciones.
Linked Data
Aclaraciones (III/V)
- No obstante, publicar en LD tiene por detrás un proceso de curación: Data curation.
- El proceso de curación de datos comprueba la validez de los datos (enlaces correctos, formatos, trazabilidad).. aunque también hay enfoques para solucionar datos erróneos.
- Linked Data trata de semantizar la web y relacionar los datos. La web actual, no funciona así y las búsquedas son conceptualmente muy diferentes.
Linked Data
Aclaraciones (IV/V)
Se pretende que la web semántica pueda ser consultada de forma natural, con lenguaje natural.
Actualmente, no es tan sencillo, ya que LD se compone de elementos cuyas queries son complejas y hay lenguajes para hacerlo.
No obstante, existen varias herramientas en las que se está trabajando.
Linked Data
Aclaraciones (V/V)
Más información:
Linked Data, Web SEmántica
¿Como represento el conocimiento?
Ontologías
¿Que es una ontología?
Ontologías
Definición
La palabra Ontología deriva del griego ontos (estudio del ser) y logos (palabra). Filosóficamente, Ontología es la ciencia de qué es, es una explicación sistemática de la existencia, de los tipos de estructuras, categorías de objetos, propiedades, eventos, procesos y relaciones en cada área de la realidad.
Ontologías
Definición
Una ontología es una especificación explícita y formal de una conceptualización compartida.
- Conceptualización: Vista simplificada y abstracta del mundo a representar para un propósito específico. Se define un vocabulario controlado.
- Explícita: El tipo de conceptos usados sean explícitamente definidos.
- Formal: Debe ser interpretado por una máquina.
-
Compartido: La ontología no es restringida para un individuo, sino que es aceptada por un grupo de personas.
Ontologías
Otros términos relacionados
Cuando hablamos de ontologías suelen salir a la palestra otros términos relacionados. Por ejemplo:
- Tesauro
- Vocabulario
- Taxonomía
- Folksonomía
Ontologías
Otros términos relacionados
Fuente: Artículo externo
Ontologías
¿Como se construyen?
Ontologías
¿Como se construyen?
Se usa el modelo de datos RDF (Resource Description Framework) como base.
Es un método general para la descripción conceptual o modelado de información implementada en recursos web.
Tiene diferentes notaciones de sintaxis y formatos de serialización.
Ontologías
URI
URI es el acrónimo de Universal Resource Identifier.
Es una cadena que identifica inequivocamente un recurso.
En las ontologías y en la web semántica todo se define a través de URIs.
Ontologías
RDF
Se basa en la idea de crear declaraciones de recursos en la forma sujeto-predicado-objeto.
Estas declaraciones se conocen como tripletas.
Ontologías
RDF
Ontologías
RDF
Notación Turtle:
<http://www.example.org/index.html> <http://purl.org/dc/elements/1.1/creator> <http://www.example.org/staffid/85740> .
<http://www.example.org/index.html> <http://www.example.org/terms/creation-date> "August 16, 1999" .
<http://www.example.org/index.html> <http://purl.org/dc/elements/1.1/language> "en" .
Ontologías
RDF
Notación XML:
Ontologías
RDF
Grafos RDF
Un grafo RDF es un conjunto de tripletas.
Fuente imagen: Dr. Mikel Egaña Aranguren
Ontologías
Grafos RDF
Algunos objetos pueden ser valores literales (Cadenas de caracteres)
Sujetos y predicados sólo pueden ser recursos
Los valores literales pueden tener tipo (XML Schema datatypes)
Fuente imagen: Dr. Mikel Egaña Aranguren
Ontologías
RDF
Como modelo de datos, es relativamente pobre. Solo permite:
- Definir que algo es un determinado tipo o clase (type).
- Definir que algo es una propiedad (rdf:property).
- Definir listas y conjuntos.
-
Hacer afirmaciones sobre ternas (reificación). Convierte ternas en recursos.
Ontologías
RDFS
Además de RDF, existe RDFS (RDF Schema).
- RDFS extiende RDF con nuevas primitivas.
-
Define un lenguaje básico para la creación de ontologías.
- Determina la semántica de "subclase de".
- Posee jerarquía de clases y propiedades.
- Posee herencia.
- Existen restricciones de dominio y rango.
Ontologías
RDFS
Con RDFS empezamos a hablar de clases (rdfs:Class) e instancias o individuos (rdf:type).
Tenemos jerarquía de subclases (rdfs:subClassOf).
Propiedades (rdf:Property) y sus restricciones de dominio (rdfs:domain) y rango (rdfs:range).
Ontologías
Vocabulario e instancias
Fuente imagen: Dr. Mikel Egaña Aranguren
Ontologías
RDFS
Violación de la semántica
Ontologías
RDFS
Ontologías
RDFS
RDFS posee las siguientes limitaciones:
- Las restricciones de rango no se pueden aplicar a algunas clases solamente.
- No permite expresar:
- Clases disjuntas. Ej: Masculino y femenino
- Combinación booleana de clases: Hombre U Mujer
- Restricciones de cardinalidad
- Características de propiedades: transitiva, inversa, ...
Ontologías
Recordemos...
Ontologías
OWL
OWL es el acrónimo de Ontology Web Language.
- Es un lenguaje ideado para construir ontologías.
- Está construido sobre RDFS añadiendo más expresividad.
- Dos versiones y varios sublenguajes.
Ontologías
OWL
Las ontologías en OWL se componen de:
- Entidades: las entidades del dominio de conocimiento. Están identificadas mediante URIS y las crea el desarrollador (proteina, participa_en, ...).
- Axiomas: Relacionan las entidades mediante el vocabulario lógico que ofrece OWL.
Una ontología puede importar otra (owl:import) y hacer referencia a sus entidades.
Ontologías
OWL
Las entidades básicas que componen una ontología, son:
- Individuos
- Clases
- Propiedades
- Objeto
- Anotación
- Datos
Ontologías
Entidades OWL
Individuos
Fuente imagen: Tutorial pizza
Ontologías
Entidades OWL
Propiedades
Ontologías
Entidades OWL
Clases
Ontologías
Semántica OWL
Una ontología OWL formada por individuos y clases es una "Base de Conocimiento" (KB) formada por:
-
TBox (Terminological Box): clases (~ "esquema")
-
Abox (Assertional Box): individuos (~ "datos")
Ontologias
OWL
Ontologías
OWL
OWL Lite: Clasificación en jerarquía de clases y restricciones simples.
OWL DL (Description Logic): Máxima expresividad con completitud computacional (se garantiza que las conclusiones son computables) y decibilidad (los cálculos requieren un tiempo finito). Incluye todos los constructores de OWL, pero usados sólo con restricciones.
OWL Full: Máxima expresividad sin garantias computacionales.
Ontologías
OWL2
Diferencias con OWL1:
-
Nueva sintaxis llamada functional-style syntax.
-
Nuevas especies: OWL 2 Full y DL se corresponden con OWL 1 Full y DL. Para OWL Lite OWL2 especifica 3 nuevos perfiles.
- Mejoras del lenguaje.
Ontologías
OWL
Definición de clases:
- owl:Class (subclase de rdfs:Class)
- rdfs:subClassOf (definición de subclase)
- owl:Thing (superclase de todas las clases)
- owl:Nothing (subclase de todas las clases)
Ontologías
OWL
Jerarquía de clases
Fuente imagen: Dr. Mikel Egaña Aranguren
Ontologías
OWL
Propiedades:
- owl:ObjectProperty: Relación entre instancias de dos clases.
- owl:DatatypeProperty: Relaciona instancias con literales o tipos de datos de XML Schema.
- rdfs:subPropertyOf: Subpropiedades.
- rdfs:domain: Dominio.
- rdfs:range: Rango.
Ontologías
OWL
Propiedades
ONTOLOGÍAS
OWL. Características de propiedades
Ontologías
OWL. Características de propiedades
Ontologías
OWL. Características de propiedades
owl:FunctionalProperty: Funcional.
Solo puede tener un valor. Ej: año nacimiento
owl:inverseOf: Inversa
Relaciones inversas.
Además, OWL2 soporta varias características de propiedades adicionales (ReflexiveObjectProperty, NegativeAssertion over properties, ...)
Ontologías
OWL
Restricciones de propiedades
owl:allValuesFrom: Restricción universal para establecer que una relación solo puede tener valores de una determinada clase.
Fuente imágen: Tutorial pizza
Ontologías
OWL
Restricción de propiedades
someValuesFrom: Restricción existencial de forma que al menos un valor esté restringido a la clase especificada.
Ontologías
OWL
Restricción de propiedades
owl:hasValue: Restricción a un valor concreto.
Ontologías
OWL
Restricción de propiedades
owl:cardinality / owl:maxCardinality / owl:minCardinality
Fuente imagen: Tutorial pizza
Ontologías
OWL
Clases complejas
Además de las restricciones y definiciones de clases y propiedades se puede aplicar teoría de conjuntos para obtener clases en función a los siguientes constructores.
Ontologías
OWL
Clases complejas
intersectionOf(C ⊓ D) y unionOf(C ⊔ D)
Ontologías
OWL
Clases complejas
complementOf(¬C)
Ontologías
OWL
Clases complejas
owl:disjointWith: Clases disjuntas (sin individuos en común)
owl:oneOf: Enumeración de individuos que pertenecen a una clase.
Ontologías
OWL
Condiciones axiomáticas (equivalentClass / subClassOf)
Fuente imagen: Tutorial pizza
Ontologías
Razonamiento automático
El razonador infiere nuevos axiomas que en función del conocimiento introducido en la ontología.
El conocimiento inferido puede servir para retroalimentar el conocimiento.
También existe la opción de razonar mediante reglas.
Los razonadores semánticos trabajan con Open World Assumption (OWA).
Ontologías
OWA
OWA establece que las conclusiones que se pueden alcanzar no sólo dependen de la información contenida en la base de conocimiento, sino también de la que se desconoce.
En otras palabras: con base en el concimiento que tenemos, podemos concluir que una cierta declaración/consulta/afirmación es cierta, pero no podemos negarla por si no tenemos los datos suficientes para hacerlo de forma fehaciente. Esto es debido a que es posible que el conocimiento que haga realmente falsa la afirmación es posible que no esté contenida en la base de conocimiento.
Ontologías
OWA
Ejemplo:
Declaración: Ariadna es francesa.
Pregunta: ¿Es Alicia francesa?
Respuesta en CWA (por ejemplo, respuesta basada en consulta SQL): No
Respuesta en OWA: Desconocido.
En OWA por lo tanto no existe negación por fallo.
Ontologías
Razonamiento automático
Tareas más comunes
- Mantener taxonomía
- Consistencia
- Clasificar entidades y consultas
Ontologías
Razonamiento automático: Mantener taxonomía
Fuente: Dr. Mikel Egaña Aranguren
Ontologías
Razonamiento automático: Consistencia
Fuente: Dr. Mikel Egaña Aranguren
Ontologías
Razonamiento automático: Clasificación entidades
Dada una determinada entidad nueva, se trata de obtener como se relaciona con las demás entidades (tipos, equivalencias, subclases, etc.).
Una consulta es una clase anónima que clasificamos contra la ontología como si fuese una entidad.
Ontologías
Razonamiento automático
Existen diferentes razonadores en la actualidad. Los más destacados son:
Web Semántica + Biotec
Todos los aspectos "bio" (bioinformática, biomedicina, biotecnología, ...) tienen un gran impacto y presencia en temas de Web Semántica.
Existe un grupo oficial de esta temática formado por el W3C (HCLS IG).
Solamente hablar de todos los esfuerzos dedicados a esta temática podría llevar una asignatura entera.. resumamos en los más relevantes.
Web Semántica + Biotec
Bio2RDF
Bio2RDF / OpenLifeData es un proyecto de tipo Open Source que usa la Web Semántica para crear y proporcionar la red más amplia de datos enlazados en el área de ciencias de la salud.
Características:
- 1 billón de tripletas a través de múltiples datasets.
- uso de dataset provenance para informar al usuario de que versión están usado y como fue generada.
- estadísticas de los datasets para describir intra e inter conectitividad.
Web Semántica + BIOTEC
Gene Ontology
Gene Ontology (GO) es un proyecto cuyo objetivo es estandarizar la representación de los genes y sus productos (así como sus atributos) a través de las especies y bases de datos.
Por otra parte, GO proporciona un vocabulario controlado de términos (ontología) para describir las características de los productos de los genes así como anotación de datos. También existe una serie de herramientas para procesar los datos contenidos en GO.
Web Semántica + Biotec
Gene Ontology
Más información:
Web Semántica + Biotec
OBO Foundry
OBO Foundry es un consorcio creado para la creación de ontologías con fundamento biológico/biomédico a través de medios colaborativos. El consorcio establece una serie de principios sobre el desarrollo de ontologías con el objetivo de crear una serie de ontologías ortogonales e interoperables en el dominio biomédico.
WEB SEMÁNTICA + BIOTEC
WEB SEMÁNTICA + BIOTEC
Semantic PHI
PHI-Base es una base de datos sobre interacciones host-patógeno desarrollada por Rothamsted Research (UK).
La versión 4.0 (Septiembre 2015) contiene 6473 interacciones de los que la mayoría son interacciones con plantas.
Semantic PHI es la versión semántica de dicha base de datos desarrollada por investigadores del CBGP.
WEB SEMÁNTICA + BIOTEC
Semantic PHI
WEB SEMÁNTICA + BIOTEC
Semantic PHI
WEB SEMÁNTICA + BIOTEC
Semantic PHI
Web Semántica + BIOTEC
Otros esfuerzos y ontologías
- SWAN (Semantic Web Applications in Neuroscience)
- ChEBI (Chemical Entities of Biological Interest)
- PPIO (Plant Pathogen Interactions Ontology)
Web Semántica
Software de edición de ontologías
Existen varios editores de ontologías en la actualidad.
El más utilizado y que más repercusión tiene actualmente es Protégé.
Bibliografía
.. Y enlaces adicionales
Representación del conocimiento:
Lógica:
Bibliografía
.. Y enlaces adicionales
Web Semántica:
Linked Data:
Bibliografía
.. Y enlaces adicionales
Ontologías:
Semantic Web + Bio:
Bibliografía
.. Y enlaces adicionales
Especial agradecimiento al material proporcionado por:
Sesión Representación del conocimiento: Bioinformática [Curso 2015-16]
By Alejandro Rodríguez González
Sesión Representación del conocimiento: Bioinformática [Curso 2015-16]
- 2,200