Introduccion - Curso Ontologías

59
Introducción al modelamiento de ontologías Expositor: Francisco Cifuentes Silva Sistemas y Servicios de Información en Red - BCN 14/06/22

Transcript of Introduccion - Curso Ontologías

Page 1: Introduccion - Curso Ontologías

Introducción al modelamiento de ontologíasExpositor: Francisco Cifuentes Silva

Sistemas y Servicios de Información en Red - BCN13/04/23

Page 2: Introduccion - Curso Ontologías

Objetivos

• Introducir al modelamiento de ontologías

• Definir conceptos clave

• Describir una metodología de modelado sin considerar aun factores técnicos

• Acercar a los asistentes a una primera fase de modelamiento

• Realizar una práctica para internalizar lo expuesto

Page 3: Introduccion - Curso Ontologías

Introducción

Page 4: Introduccion - Curso Ontologías

El gran problema

• Personas, organizaciones y sistemas de software necesitan comunicarse

• Cada uno tiene diferente conocimiento previo, contexto y puntos de vista

• Visión compartida dificulta la construcción de sistemas

Page 5: Introduccion - Curso Ontologías

Un ejemplo: ¿qué es la leche?

Personas Alimento

Software Códigobinario

Empresa Producto

Page 6: Introduccion - Curso Ontologías

Una solución

Una ontología permitirá:• Comunicación: unificar puntos de vista

• Interoperabilidad: un lenguaje común para todos

Beneficios Reusabilidad: podrá usarse en múltiples contextos, tiempo, etc.

Fiabilidad: cierta certeza de los datos respecto a un modelo

Especificación: homogeneizar realidad, puntos de vista, acuerdo

Page 7: Introduccion - Curso Ontologías

¿Qué es una ontología?

Nace en la filosofía, rama de la metafísica que estudia la existencia de las entidades.

En informática

“Es una especificación de una conceptualización”

Thomas Gruber, 1993

Page 8: Introduccion - Curso Ontologías

¿Qué es una ontología?

“Las ontologías son modelos conceptuales que capturan y hacen explícito el vocabulario usado en un dominio o en una aplicación semántica, de forma de garantizar la ausencia de ambigüedades”

Breitman et al., 2007

“Una ontología es leíble tanto por humanos como por máquinas. En conjunto con una sintaxis y semántica, provee el lenguaje por el que sistemas basados en conocimiento pueden interoperar (ej. Intercambiar aserciones, consultas y respuestas). Una ontología determina lo que existe para un sistema.”

Gruber, 1992

Page 9: Introduccion - Curso Ontologías

Usos y aplicaciones de las ontologías

Modelo de datos compartido Definición de un sistema complejo Estructura jerárquica de elementos y sus relaciones Validación de datos

Page 10: Introduccion - Curso Ontologías

Ingeniería ontológica

• Rama de la informática

• Desarrolla técnicas y métodos para sistematizar la creación de ontologías

• Enfoque que adoptaremos para la construcción de ontologías

• Actualmente impulsadas por la emergente Web Semántica

• Requiere conocimiento de lógica descriptiva

Page 11: Introduccion - Curso Ontologías

Elementos similares a las ontologías

• Folksonomías

• Vocabularios controlados

• Taxonomías

• Tesauros

Page 12: Introduccion - Curso Ontologías

Folksonomías

• Sistema de indexación social

• Clasificación colectiva por medio de etiquetas o palabras clave

• Sin jerarquía

• Sin relaciones

Sitios Web representativos

• Flickr

• Del.icio.us

• Bibsonomy

Page 13: Introduccion - Curso Ontologías

Vocabularios controlados

• Lista selecta de palabras y frases para etiquetado

• Permite uniformar un mismo concepto que aparece en diferentes palabras, garantizando coherencia

• En Web Semántica, un vocabulario es similar a una ontología pero sin reglas (menor expresividad)

Page 14: Introduccion - Curso Ontologías

Taxonomías

• Nace en las ciencias biológicas para la clasificación de organismos.

• Utilizada para categorizar y clasificar elementos.

• Incorporan una estructura y jerarquización de estos conceptos.

Page 15: Introduccion - Curso Ontologías

Tesauros

Listas de términos orientados a la normalización terminológica

• Permiten Interrelaciones:• Jerárquica (parte de, general,

particular)• Polijerárquica (pertenecer a más

de una parte)• Equivalencia (sinónimos,

polisemia, homonimia, antonimia, • Asociativas (dos elementos que

se relacionan de alguna forma)

http://www.visualthesaurus.com

Page 16: Introduccion - Curso Ontologías

Conceptos previos

Page 17: Introduccion - Curso Ontologías

Sintaxis

“Parte de la gramática que estudia las reglas que gobiernan la combinatoria de elementos.”

Desde la RAE

“Parte de la gramática que enseña a coordinar y unir las palabras para formar las oraciones y expresar conceptos.”

“Conjunto de reglas que definen las secuencias correctas de los elementos de un lenguaje de programación.”

Page 18: Introduccion - Curso Ontologías

Metamodelo

Conjunto de elementos relacionados bajo cierta semántica que combinados permitirán especificar, construir y documentar un modelo

El metamodelo ofrecerá los elementos para construir un modelo

http://www.flickr.com/photos/manitobamaps/3765896667/

Page 19: Introduccion - Curso Ontologías

Modelo

Conjunto de elementos definidos en el metamodelo que combinados permitirán especificar, construir y documentar elementos del dominio (conceptualización del mundo real) denominadas instancias

http://www.flickr.com/photos/oliverbogler/4278693195/

Page 20: Introduccion - Curso Ontologías

Instancias de un modelo

Elementos definidos en un modelo que representan una entidad “del mundo real”

http://www.flickr.com/photos/tngarquitectos/4051440210/

Page 21: Introduccion - Curso Ontologías

Metemodelo – modelo - instancias

Elementos del mundo real (dominio)

Elementos del mundo real (dominio)

ModeloModelo MetamodeloMetamodelodescribedescribe describedescribe

Page 22: Introduccion - Curso Ontologías

Lógica de predicados

• Tipos de frases en el lenguaje:– Interrogativo

– Imperativo

– Declarativo

• Lógica estudia formalización del conocimiento humano mediante expresiones matemáticas

• Lógica de predicados estudia frases declarativas en donde se distinguen dos elementos:– Qué se afirma (predicado)

– De quién se afirma (objeto)

Page 23: Introduccion - Curso Ontologías

Lógica de predicados

Ejemplo:

“Todos los estudiantes del curso de ontologías son muy inteligentes”

Podría formalizarse como

F1(x) = x estudia el curso de ontologías

F2(x) = x es muy inteligente

Page 24: Introduccion - Curso Ontologías

Inferencia

Mecanismo por el cual obtenemos conclusiones a partir de declaraciones establecidas anteriormente

Ejemplo

A) “Todos los estudiantes del curso de ontologías son muy inteligentes”

B) “Yo soy estudiante del curso de ontologías”

Inferencia

A y B => Yo soy inteligente

Page 25: Introduccion - Curso Ontologías

Razonador

Herramienta de software capaz de realizar inferencias (obtener conclusiones) a partir de declaraciones realizadas en algún lenguaje de descripción de predicados lógicos.

Conjunto de predicados

RazonadorNuevos predicados

(conclusiones)

Page 26: Introduccion - Curso Ontologías

Consistencia

“Propiedad de un conjunto de datos que indica que dentro de ellos como conjunto no existe una contradicción”.

La consistencia semántica implica adicionalmente que el conjunto de datos está basado en un modelo existente.

Page 27: Introduccion - Curso Ontologías

Dato

Representación simbólica (número, texto, valor de verdad, fecha, etc.) que permite describir un hecho relativo a una entidad.

Una estructura de datos permite describir una entidad mediante atributos o características.

Page 28: Introduccion - Curso Ontologías

Tipo de dato

Atributo de un dato que indica su naturaleza.

Ejemplo:

Dato Valor Tipo de dato

año 2012 Numero entero

Probabilidad de ganar el loto

0.000000000000000000000000001

Número real

Soy humano sí booleano

La inicial de mi nombre

“F” Carácter de texto

Mi nombre “Francisco” Cadena de caracteres

Page 29: Introduccion - Curso Ontologías

HTTP

Hyper Text Transfer Protocol• Primera versión por Tim Berners-Lee 1990

• Especificación RFC2616 (1.1)

• Base de lo que conocemos como “la Web”

clienteservidorInternet

Petición HTTP

Respuesta HTTP

Page 30: Introduccion - Curso Ontologías

URL - URI- IRI

URL

• Uniform Resource Locator

• Universal Resource Locator

Cadena de caracteres que permite referenciar un recurso sobre Internet.

Ejemplos:

• http://www.bcn.cl/index.html

• ftp://documentos.bcn.cl/publicaciones/articulo1.pdf

Page 31: Introduccion - Curso Ontologías

URL - URI- IRI

URI

• Uniform Resource Identifier

Cadena de caracteres que permite identificar un recurso unívocamente, algo similar a una clave primaria universal.

El uso de URI’s permite separar el recurso de sus múltiples representaciones.

Adicionalmente, una URI permite identificar segmentos

Ejemplo de URI:• http://datos.bcn.cl/recurso/cl/ley/18010/

Representaciones de este recurso:• http://www.leychile.cl/Navegar?idNorma=29438

• http://datos.bcn.cl/recurso/cl/ley/18010/datos.rdf

Page 32: Introduccion - Curso Ontologías

URL - URI- IRI

IRI

• Internationalized Resource Identifier

Es una URI, pero que permite cualquier tipo de carácter Unicode (como japonés, Chino, Cyrílico, Español).

Ejemplo de IRI:

http://biografias.bcn.cl/wiki/Néstor_Jofré_Núñez

http://www.w3.org/2003/Talks/0904-IUC-IRI/slide11-0.html

Page 33: Introduccion - Curso Ontologías

URI HTTP

Una URI HTTP es una URI sobre la Web

Ejemplo:

http://www.bcn.cl

Page 34: Introduccion - Curso Ontologías

Tecnologías de Web Semántica

Page 35: Introduccion - Curso Ontologías

¿Web Semántica?

“Es una extensión de la Web actual en donde la información es entregada de manera bien definida, habiltando que computadores y personas puedan trabajar mejor en cooperación”

Berners-Lee T. 2001

Page 36: Introduccion - Curso Ontologías

¿Web Semántica?

Activar un nuevo modelo mental, posibilita nuevos tipos de búsqueda en la Web.

¿cómo obtenemos el siguiente resultado de búsqueda?

“Todas las novelas de autores nacidos en América del sur antes de 1950 que hablen sobre viajes a alguna ciudad

Europea”

Page 37: Introduccion - Curso Ontologías

RDF

Resource Description Framework• Recomendación W3c en 1999

• Método para describir recursos– Recurso: algo que pueda identificarse mediante una URI

– Propiedad: una característica o atributo de un recurso

• Recursos se describen basados en el concepto de tripleta:

sujeto – propiedad – objeto

http://ejemplo.org#Pedrohttp://ejemplo.org#Pedro http://ejemplo.org#Juanhttp://ejemplo.org#Juan

http://ejemplo2.org#tieneHijo

Page 38: Introduccion - Curso Ontologías

RDF

• Modelo de datos en forma de grafo, cada nodo es un Recurso: URI ó Literal

• Las aristas del grafo son también URIs y también pueden ser recursos

• Varios formatos de representación: RDF/XML, CSV, RDFa, Turtle, etc. (http://datos.bcn.cl/recurso/cl/ley/2000/)

• Relación es unidireccional

http://ejemplo.org#Pedrohttp://ejemplo.org#Pedro http://ejemplo.org#Juanhttp://ejemplo.org#Juan

http://ejemplo2.org#tieneHijo

http://ejemplo.org#Chilehttp://ejemplo.org#Chilehttp://ejemplo2.org#viveEn

http://ejemplo2.org#tieneEdad 4040

Page 39: Introduccion - Curso Ontologías

RDFS

• Recomendación W3C (2004)

• Lenguaje de declaración de esquemas en RDF

• Permite definir de forma estandarizada la estrucura de los elementos en una ontología, incorporando relaciones de herencia (jerárquicas), dominios, rangos, tipos.

Ejemplos:

bcnnorms:publishDate rdf:type owl:DatatypeProperty .

bcnnorms:publishDate rdfs:subPropertyOf dc:date .

bcnnorms:publishDate rdfs:label "fecha de publicación"@es.

bcnnorms:publishDate rdfs:comment "Define la fecha de publicacion de un recurso."@es.

Page 40: Introduccion - Curso Ontologías

OWL

• Ontology Web Language

• Recomendación W3C (2004)

• Permite expresar lógica descriptiva sobre un modelo

Ejemplo

bcnnorms:hasDocument owl:inverseOf bcnnorms:isDocumentOf .

bcnnorms:isRectifiedBy rdf:type owl:TransitiveProperty .

Page 41: Introduccion - Curso Ontologías

La Web como Base de datos - enfoque

Page 42: Introduccion - Curso Ontologías

Cómo construir ontologías

Page 43: Introduccion - Curso Ontologías

Construcción de ontologías - Una receta

I. Definir propósito y ámbito

II. Acotar el dominio

III. Identificar conceptos

IV. Clasificar conceptos

V. Identificar relaciones

VI. Relacionar

VII. Optimizar

VIII. Evaluar y corregir

Page 44: Introduccion - Curso Ontologías

I) Definir propósito y ámbito

Responder a las siguientes preguntas:

1. ¿Sobre qué se tratará la ontología?

2. ¿por qué vamos a construir esta ontología?

3. ¿a quién está dirigida o quiénes serán sus usuarios?

Ejemplo:

R1: Sobre recetas de cocina

R2: Para hablar un mismo idioma con otros creadores de recetas y poder compartir nuestras recetas utilizando un formato estandarizado

R3: A todos quienes quieran publicar o utilizar recetas de cocina

Page 45: Introduccion - Curso Ontologías

II) Acotar el dominio

Consideraciones:

• Definir el alcance, qué elementos podemos modelar con los recursos disponibles, y cuáles no es posible alcanzar

• Intentar visualizar la o las fuentes de datos que permitirán poblar el conjunto de instancias acorde al modelo

• Identificar los tipos de preguntas podré responder con la ontología

Ejemplo

R1: Modelaremos ingredientes, aportes nutricionales, combinaciones de ingredientes y autores. No es posible modelar el valor $ de los ingredientes ni su procedencia, tampoco utencilios de cocina.

R2: Obtendremos los datos a modelar ingresándolos manualmente y también desde una plantilla excel que me facilitará un restaurant amigo.

R3: Usando mi ontología podré responder cosas como: qué autores utilizan más un tipo de ingrediente, qué platos son más nutritivos, etc.

Page 46: Introduccion - Curso Ontologías

III) Identificar conceptos

• Realizar un listado lo más completo posible de conceptos presentes en nuestro dominio

• Los conceptos pueden ser elementos, acciones o relaciones

• El resultado de esta etapa será una lista de conceptos que serán utilizados en la etapa posterior

Ejemplo

Legumbres, aceite, carne, atún, filete, chef, calorías, minerales, vitaminas, leche, líquidos, pastas, acompañamientos, plato principal, etc.

Page 47: Introduccion - Curso Ontologías

IV) Clasificar conceptos

1. Realizar una clasificación de los conceptos, generando sub conjuntos

2. Realizar una breve descripción del subconjunto

3. Como criterio de clasificación pensar en qué cosas comunes tienen los conceptos, y tomar nota de ello

4. Los conceptos podrán aparecer en más de un conjunto

5. Resultado de esta etapa se obtendrá una lista con sus descripciones de las primeras candidatas de clases y propiedades

Ejemplo

• Líquidos: leche, aceite, agua

• Carnes: filete,lomo lis, atún

• Carnes blancas: atún, pollo

• Nutrientes: vitaminas, minerales

• Autores: Chef, Cocinero, Mamá

Page 48: Introduccion - Curso Ontologías

V) Identificar relaciones

Una vez que tengamos la lista de conceptos y la lista de clasificaciones, identificar y nombrar las relaciones existentes entre pares de elementos.

Ejemplo

carne contiene grasas

harina es ingrediente para pan

agua compone receta de pan

un autor prepara pan

Page 49: Introduccion - Curso Ontologías

VI) Relacionar

Definiremos tres tipos de relaciones:

1. Atributos: datos pertenecientes al concepto o entidad

2. Jerárquicas: relacionar conceptos y clases de la forma “más general o más particular qué”

3. De asociación: nombrar una relación en donde dos conceptos, clases o entidades (o una combinación de ellas) se asocien de alguna manera

Resultado de esta etapa, un listado de conceptos, clasificaciones y propiedades que definirán nuestro primer bosquejo del modelo

Page 50: Introduccion - Curso Ontologías

VI.1) Relacionar - Atributos

• Identificar los datos relevantes para cada entidad.

• Cada dato relevante, se transformará en una propiedad de dato o atributo de la entidad.

• Definir el tipo de dato del atributo

Ejemplo

• Autor tiene nombre

• Ingrediente tiene aporte calórico

• Plato tiene nombre

• Plato tiene porcentaje de agua

Page 51: Introduccion - Curso Ontologías

VI.b) Relacionar - Jerarquizar

Identificar las relaciones del tipo:

• X es más general que Y

• X es más particular que Y

Cada relación de este tipo se transformará en una propiedad jerárquica

Ejemplo

• Carne es más general que Carne roja y Carne blanca

• Carne roja es más general que filete

• Atún es más particular que carne blanca

Page 52: Introduccion - Curso Ontologías

VI.c) Relacionar - Asociación

Identificar las relaciones entre dos entidades, conceptos o clases del tipo:

• X se relaciona con Y

Cada relación de este tipo la llamaremos propiedad de objeto

Ejemplo

• Plato tiene Autor

• Plato tiene ingrediente

Page 53: Introduccion - Curso Ontologías

IV) Compilar y optimizar

• A la lista de propiedades, clasificaciones y conceptos obtenida en la etapa anterior, aplicar una “factorización” de manera tal que no se pierda la semántica de cada propiedad.

• Aquellos conceptos particulares que no encajen con algún subconjunto, son candidatos a ser clases.

• Las clasificaciones son clases.

• No sobre factorizar

Ejemplo

harina es ingrediente para pan

agua compone receta de pan

Podría unificarse en

harina es ingrediente de pan

agua es ingrediente de pan

Page 54: Introduccion - Curso Ontologías

Evaluación y corrección del modelo

• Una vez que se ha completado el proceso, volver a la fase (I) y repetir el proceso.

• Verificar si con el modelo obtenido corresponde a lo requerido

• Verificar propósito y ámbito

• ¿Ha faltado algo?

• ¿puedo responder todas las preguntas que necesito?

Page 55: Introduccion - Curso Ontologías

Importante

El documento de la ontología (con lo que hemos visto hasta ahora) incorpora las siguientes respuestas:

• ¿Sobre qué se tratará la ontología?

• ¿por qué vamos a construir esta ontología?

• ¿a quién está dirigida o quiénes serán sus usuarios?

• ¿Qué elementos podemos modelar con los recursos disponibles, y cuáles no es posible alcanzar?

• La o las fuentes de datos que permitirán poblar el conjunto de instancias acorde al modelo

• Tipos de preguntas podré responder con la ontología

El diagrama y la descripción de las clases y propiedades

Page 56: Introduccion - Curso Ontologías

¿Cómo representamos lo que hicimos?

Utilizaremos una notación especial

Clase

Propiedad de dato

Propiedad de objeto

Propiedad jerárquica

Page 57: Introduccion - Curso Ontologías

Un ejemplo

Page 58: Introduccion - Curso Ontologías

Ejercicio

• Reunirse en grupos por área, máximo 3 personas.

• Aplicar la metodología de acuerdo a los intereses propios del área en algún dominio pequeño.

• Comenzar por responder a las preguntas propuestas.

• Generar documentación y modelo.

Page 59: Introduccion - Curso Ontologías

Material disponible en

Desde la VPN

http://laloma-desarrollo.bcn.cl/curso-ontologias/