Introduccion - Curso Ontologías
-
Upload
francisco-cifuentes-silva -
Category
Documents
-
view
4.282 -
download
0
Transcript of 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
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
Introducción
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
Un ejemplo: ¿qué es la leche?
Personas Alimento
Software Códigobinario
Empresa Producto
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
¿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
¿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
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
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
Elementos similares a las ontologías
• Folksonomías
• Vocabularios controlados
• Taxonomías
• Tesauros
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
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)
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.
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
Conceptos previos
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.”
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/
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/
Instancias de un modelo
Elementos definidos en un modelo que representan una entidad “del mundo real”
http://www.flickr.com/photos/tngarquitectos/4051440210/
Metemodelo – modelo - instancias
Elementos del mundo real (dominio)
Elementos del mundo real (dominio)
ModeloModelo MetamodeloMetamodelodescribedescribe describedescribe
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)
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
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
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)
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.
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.
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
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
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
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
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
URI HTTP
Una URI HTTP es una URI sobre la Web
Ejemplo:
http://www.bcn.cl
Tecnologías de Web Semántica
¿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
¿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”
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
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
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.
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 .
La Web como Base de datos - enfoque
Cómo construir 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
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
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.
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.
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á
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
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
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
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
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
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
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?
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
¿Cómo representamos lo que hicimos?
Utilizaremos una notación especial
Clase
Propiedad de dato
Propiedad de objeto
Propiedad jerárquica
Un ejemplo
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.
Material disponible en
Desde la VPN
http://laloma-desarrollo.bcn.cl/curso-ontologias/