Introduccion - Curso Ontologías
Upcoming SlideShare
Loading in...5
×
 

Introduccion - Curso Ontologías

on

  • 3,866 views

 

Statistics

Views

Total Views
3,866
Views on SlideShare
2,031
Embed Views
1,835

Actions

Likes
7
Downloads
97
Comments
1

8 Embeds 1,835

http://datos.bcn.cl 1593
http://www.bibliopos.es 101
http://datos2.bcn.cl 41
http://laloma-desarrollo.bcn.cl 35
http://bibliointeresante.bligoo.ec 27
http://localhost 21
https://twitter.com 16
http://www.linkedin.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • Que buen esbozo del tema realizaste, Te felicito.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Introduccion - Curso Ontologías Introduccion - Curso Ontologías Presentation Transcript

  • Introducción al modelamiento de ontologías Expositor: Francisco Cifuentes Silva Sistemas y Servicios de Información en Red - BCN 01/02/12
  • 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ódigo binario 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) Modelo Metamodelo describe describe describe describe
  • 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 Razonador Nuevos 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”
    cliente servidor Internet 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#Pedro http://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#Pedro http://ejemplo.org#Juan http://ejemplo2.org#tieneHijo http://ejemplo.org#Chile http://ejemplo2.org#viveEn http://ejemplo2.org#tieneEdad 40
  • 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
    • Definir propósito y ámbito
    • Acotar el dominio
    • Identificar conceptos
    • Clasificar conceptos
    • Identificar relaciones
    • Relacionar
    • Optimizar
    • Evaluar y corregir
  • I) Definir propósito y ámbito
    • Responder a las siguientes preguntas:
    • ¿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?
    • 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
    • Realizar una clasificación de los conceptos, generando sub conjuntos
    • Realizar una breve descripción del subconjunto
    • Como criterio de clasificación pensar en qué cosas comunes tienen los conceptos, y tomar nota de ello
    • Los conceptos podrán aparecer en más de un conjunto
    • 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:
    • Atributos : datos pertenecientes al concepto o entidad
    • Jerárquicas : relacionar conceptos y clases de la forma “más general o más particular qué”
    • 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/