Introduccion - Curso Ontologías

  • 3,753 views
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
  • Que buen esbozo del tema realizaste, Te felicito.
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
3,753
On Slideshare
0
From Embeds
0
Number of Embeds
6

Actions

Shares
Downloads
99
Comments
1
Likes
7

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Introducción al modelamiento de ontologías Expositor: Francisco Cifuentes Silva Sistemas y Servicios de Información en Red - BCN 01/02/12
  • 2. 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
  • 3. Introducción
  • 4. 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
  • 5. Un ejemplo: ¿qué es la leche? Personas Alimento Software Código binario Empresa Producto
  • 6. 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
  • 7. ¿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
  • 8. ¿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
  • 9. 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
  • 10. 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
  • 11. Elementos similares a las ontologías
    • Folksonomías
    • Vocabularios controlados
    • Taxonomías
    • Tesauros
  • 12. 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
  • 13. 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 )
  • 14. 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.
  • 15. 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
  • 16. Conceptos previos
  • 17. 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.”
  • 18. 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/
  • 19. 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/
  • 20. Instancias de un modelo
    • Elementos definidos en un modelo que representan una entidad “del mundo real”
    http://www.flickr.com/photos/tngarquitectos/4051440210/
  • 21. Metemodelo – modelo - instancias Elementos del mundo real (dominio) Modelo Metamodelo describe describe describe describe
  • 22. 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)
  • 23. 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
  • 24. 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
  • 25. 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)
  • 26. 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.
  • 27. 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.
  • 28. 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
  • 29. 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
  • 30. 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
  • 31. 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
  • 32. 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
  • 33. URI HTTP
    • Una URI HTTP es una URI sobre la Web
    • Ejemplo:
    • http ://www.bcn.cl
  • 34. Tecnologías de Web Semántica
  • 35. ¿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
  • 36. ¿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”
  • 37. 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
  • 38. 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
  • 39. 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.
  • 40. 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 .
  • 41. La Web como Base de datos - enfoque
  • 42. Cómo construir ontologías
  • 43. 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
  • 44. 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
  • 45. 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.
  • 46. 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.
  • 47. 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á
  • 48. 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
  • 49. 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
  • 50. 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
  • 51. 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
  • 52. 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
  • 53. 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
  • 54. 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?
  • 55. 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
  • 56. ¿Cómo representamos lo que hicimos?
    • Utilizaremos una notación especial
    Clase Propiedad de dato Propiedad de objeto Propiedad jerárquica
  • 57. Un ejemplo
  • 58. 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.
  • 59. Material disponible en
    • Desde la VPN
    • http://laloma-desarrollo.bcn.cl/curso-ontologias/