Introduccion - Curso Ontologías

5,646 views
5,623 views

Published on

3 Comments
12 Likes
Statistics
Notes
No Downloads
Views
Total views
5,646
On SlideShare
0
From Embeds
0
Number of Embeds
3,073
Actions
Shares
0
Downloads
138
Comments
3
Likes
12
Embeds 0
No embeds

No notes for slide

Introduccion - Curso Ontologías

  1. 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. 2. Objetivos <ul><li>Introducir al modelamiento de ontologías </li></ul><ul><li>Definir conceptos clave </li></ul><ul><li>Describir una metodología de modelado sin considerar aun factores técnicos </li></ul><ul><li>Acercar a los asistentes a una primera fase de modelamiento </li></ul><ul><li>Realizar una práctica para internalizar lo expuesto </li></ul>
  3. 3. Introducción
  4. 4. El gran problema <ul><li>Personas, organizaciones y sistemas de software necesitan comunicarse </li></ul><ul><li>Cada uno tiene diferente conocimiento previo, contexto y puntos de vista </li></ul><ul><li>Visión compartida dificulta la construcción de sistemas </li></ul>
  5. 5. Un ejemplo: ¿qué es la leche? Personas Alimento Software Código binario Empresa Producto
  6. 6. Una solución <ul><li>Una ontología permitirá: </li></ul><ul><li>Comunicación : unificar puntos de vista </li></ul><ul><li>Interoperabilidad : un lenguaje común para todos </li></ul><ul><li>Beneficios </li></ul><ul><li>Reusabilidad : podrá usarse en múltiples contextos, tiempo, etc. </li></ul><ul><li>Fiabilidad : cierta certeza de los datos respecto a un modelo </li></ul><ul><li>Especificación : homogeneizar realidad, puntos de vista, acuerdo </li></ul>
  7. 7. ¿Qué es una ontología? <ul><li>Nace en la filosofía, rama de la metafísica que estudia la existencia de las entidades. </li></ul><ul><li>En informática </li></ul><ul><li>“ Es una especificación de una conceptualización” </li></ul><ul><li>Thomas Gruber, 1993 </li></ul>
  8. 8. ¿Qué es una ontología? <ul><li>“ 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 ” </li></ul><ul><li>Breitman et al., 2007 </li></ul><ul><li>“ 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.” </li></ul><ul><li>Gruber, 1992 </li></ul>
  9. 9. Usos y aplicaciones de las ontologías <ul><li>Modelo de datos compartido </li></ul><ul><li>Definición de un sistema complejo </li></ul><ul><li>Estructura jerárquica de elementos y sus relaciones </li></ul><ul><li>Validación de datos </li></ul>
  10. 10. Ingeniería ontológica <ul><li>Rama de la informática </li></ul><ul><li>Desarrolla técnicas y métodos para sistematizar la creación de ontologías </li></ul><ul><li>Enfoque que adoptaremos para la construcción de ontologías </li></ul><ul><li>Actualmente impulsadas por la emergente Web Semántica </li></ul><ul><li>Requiere conocimiento de lógica descriptiva </li></ul>
  11. 11. Elementos similares a las ontologías <ul><li>Folksonomías </li></ul><ul><li>Vocabularios controlados </li></ul><ul><li>Taxonomías </li></ul><ul><li>Tesauros </li></ul>
  12. 12. Folksonomías <ul><li>Sistema de indexación social </li></ul><ul><li>Clasificación colectiva por medio de etiquetas o palabras clave </li></ul><ul><li>Sin jerarquía </li></ul><ul><li>Sin relaciones </li></ul><ul><li>Sitios Web representativos </li></ul><ul><li>Flickr </li></ul><ul><li>Del.icio.us </li></ul><ul><li>Bibsonomy </li></ul>
  13. 13. Vocabularios controlados <ul><li>Lista selecta de palabras y frases para etiquetado </li></ul><ul><li>Permite uniformar un mismo concepto que aparece en diferentes palabras, garantizando coherencia </li></ul><ul><li>En Web Semántica, un vocabulario es similar a una ontología pero sin reglas ( menor expresividad ) </li></ul>
  14. 14. Taxonomías <ul><li>Nace en las ciencias biológicas para la clasificación de organismos. </li></ul><ul><li>Utilizada para categorizar y clasificar elementos. </li></ul><ul><li>Incorporan una estructura y jerarquización de estos conceptos. </li></ul>
  15. 15. Tesauros <ul><li>Listas de términos orientados a la normalización terminológica </li></ul><ul><li>Permiten Interrelaciones: </li></ul><ul><li>Jerárquica (parte de, general, particular) </li></ul><ul><li>Polijerárquica (pertenecer a más de una parte) </li></ul><ul><li>Equivalencia (sinónimos, polisemia, homonimia, antonimia,  </li></ul><ul><li>Asociativas (dos elementos que se relacionan de alguna forma) </li></ul>http://www.visualthesaurus.com
  16. 16. Conceptos previos
  17. 17. Sintaxis <ul><li>“ Parte de la gramática que estudia las reglas que gobiernan la combinatoria de elementos.” </li></ul><ul><li>Desde la RAE </li></ul><ul><li>“ Parte de la gramática que enseña a coordinar y unir las palabras para formar las oraciones y expresar conceptos.” </li></ul><ul><li>“ Conjunto de reglas que definen las secuencias correctas de los elementos de un lenguaje de programación.” </li></ul>
  18. 18. Metamodelo <ul><li>Conjunto de elementos relacionados bajo cierta semántica que combinados permitirán especificar, construir y documentar un modelo </li></ul><ul><li>El metamodelo ofrecerá los elementos para construir un modelo </li></ul>http://www.flickr.com/photos/manitobamaps/3765896667/
  19. 19. Modelo <ul><li>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 </li></ul>http://www.flickr.com/photos/oliverbogler/4278693195/
  20. 20. Instancias de un modelo <ul><li>Elementos definidos en un modelo que representan una entidad “del mundo real” </li></ul>http://www.flickr.com/photos/tngarquitectos/4051440210/
  21. 21. Metemodelo – modelo - instancias Elementos del mundo real (dominio) Modelo Metamodelo describe describe describe describe
  22. 22. Lógica de predicados <ul><li>Tipos de frases en el lenguaje: </li></ul><ul><ul><li>Interrogativo </li></ul></ul><ul><ul><li>Imperativo </li></ul></ul><ul><ul><li>Declarativo </li></ul></ul><ul><li>Lógica estudia formalización del conocimiento humano mediante expresiones matemáticas </li></ul><ul><li>Lógica de predicados estudia frases declarativas en donde se distinguen dos elementos: </li></ul><ul><ul><li>Qué se afirma (predicado) </li></ul></ul><ul><ul><li>De quién se afirma (objeto) </li></ul></ul>
  23. 23. Lógica de predicados <ul><li>Ejemplo: </li></ul><ul><li>“ Todos los estudiantes del curso de ontologías son muy inteligentes” </li></ul><ul><li>Podría formalizarse como </li></ul><ul><li>F1(x) = x estudia el curso de ontologías </li></ul><ul><li>F2(x) = x es muy inteligente </li></ul>
  24. 24. Inferencia <ul><li>Mecanismo por el cual obtenemos conclusiones a partir de declaraciones establecidas anteriormente </li></ul><ul><li>Ejemplo </li></ul><ul><li>A) “Todos los estudiantes del curso de ontologías son muy inteligentes” </li></ul><ul><li>B) “Yo soy estudiante del curso de ontologías” </li></ul><ul><li>Inferencia </li></ul><ul><li>A y B => Yo soy inteligente </li></ul>
  25. 25. Razonador <ul><li>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. </li></ul>Conjunto de predicados Razonador Nuevos predicados (conclusiones)
  26. 26. Consistencia <ul><li>“ Propiedad de un conjunto de datos que indica que dentro de ellos como conjunto no existe una contradicción ”. </li></ul><ul><li>La consistencia semántica implica adicionalmente que el conjunto de datos está basado en un modelo existente. </li></ul>
  27. 27. Dato <ul><li>Representación simbólica (número, texto, valor de verdad, fecha, etc.) que permite describir un hecho relativo a una entidad. </li></ul><ul><li>Una estructura de datos permite describir una entidad mediante atributos o características. </li></ul>
  28. 28. Tipo de dato <ul><li>Atributo de un dato que indica su naturaleza. </li></ul><ul><li>Ejemplo: </li></ul>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. 29. HTTP <ul><li>Hyper Text Transfer Protocol </li></ul><ul><li>Primera versión por Tim Berners-Lee 1990 </li></ul><ul><li>Especificación RFC2616 (1.1) </li></ul><ul><li>Base de lo que conocemos como “la Web” </li></ul>cliente servidor Internet Petición HTTP Respuesta HTTP
  30. 30. URL - URI- IRI <ul><li>URL </li></ul><ul><li>Uniform Resource Locator </li></ul><ul><li>Universal Resource Locator </li></ul><ul><li>Cadena de caracteres que permite referenciar un recurso sobre Internet. </li></ul><ul><li>Ejemplos: </li></ul><ul><li>http://www.bcn.cl/index.html </li></ul><ul><li>ftp://documentos.bcn.cl/publicaciones/articulo1.pdf </li></ul>
  31. 31. URL - URI- IRI <ul><li>URI </li></ul><ul><li>Uniform Resource Identifier </li></ul><ul><li>Cadena de caracteres que permite identificar un recurso unívocamente, algo similar a una clave primaria universal. </li></ul><ul><li>El uso de URI’s permite separar el recurso de sus múltiples representaciones. </li></ul><ul><li>Adicionalmente, una URI permite identificar segmentos </li></ul><ul><li>Ejemplo de URI: </li></ul><ul><li>http://datos.bcn.cl/recurso/cl/ley/18010/ </li></ul><ul><li>Representaciones de este recurso: </li></ul><ul><li>http://www.leychile.cl/Navegar?idNorma=29438 </li></ul><ul><li>http://datos.bcn.cl/recurso/cl/ley/18010/datos.rdf </li></ul>
  32. 32. URL - URI- IRI <ul><li>IRI </li></ul><ul><li>Internationalized Resource Identifier </li></ul><ul><li>Es una URI, pero que permite cualquier tipo de carácter Unicode (como japonés, Chino, Cyrílico, Español). </li></ul><ul><li>Ejemplo de IRI: </li></ul><ul><li>http://biografias.bcn.cl/wiki/Néstor_Jofré_Núñez </li></ul>http://www.w3.org/2003/Talks/0904-IUC-IRI/slide11-0.html
  33. 33. URI HTTP <ul><li>Una URI HTTP es una URI sobre la Web </li></ul><ul><li>Ejemplo: </li></ul><ul><li>http ://www.bcn.cl </li></ul>
  34. 34. Tecnologías de Web Semántica
  35. 35. ¿Web Semántica? <ul><li>“ 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” </li></ul><ul><li>Berners-Lee T. 2001 </li></ul>
  36. 36. ¿Web Semántica? <ul><li>Activar un nuevo modelo mental , posibilita nuevos tipos de búsqueda en la Web. </li></ul><ul><li>¿cómo obtenemos el siguiente resultado de búsqueda? </li></ul><ul><li>“ Todas las novelas de autores nacidos en América del sur antes de 1950 que hablen sobre viajes a alguna ciudad Europea” </li></ul>
  37. 37. RDF <ul><li>Resource Description Framework </li></ul><ul><li>Recomendación W3c en 1999 </li></ul><ul><li>Método para describir recursos </li></ul><ul><ul><li>Recurso: algo que pueda identificarse mediante una URI </li></ul></ul><ul><ul><li>Propiedad: una característica o atributo de un recurso </li></ul></ul><ul><li>Recursos se describen basados en el concepto de tripleta: </li></ul><ul><li>sujeto – propiedad – objeto </li></ul>http://ejemplo.org#Pedro http://ejemplo.org#Juan http://ejemplo2.org#tieneHijo
  38. 38. RDF <ul><li>Modelo de datos en forma de grafo, cada nodo es un Recurso: URI ó Literal </li></ul><ul><li>Las aristas del grafo son también URIs y también pueden ser recursos </li></ul><ul><li>Varios formatos de representación: RDF/XML, CSV, RDFa, Turtle, etc. ( http://datos.bcn.cl/recurso/cl/ley/2000/ ) </li></ul><ul><li>Relación es unidireccional </li></ul>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. 39. RDFS <ul><li>Recomendación W3C (2004) </li></ul><ul><li>Lenguaje de declaración de esquemas en RDF </li></ul><ul><li>Permite definir de forma estandarizada la estrucura de los elementos en una ontología, incorporando relaciones de herencia (jerárquicas), dominios, rangos, tipos. </li></ul><ul><li>Ejemplos: </li></ul>bcnnorms:publishDate rdf:type owl:DatatypeProperty . bcnnorms:publishDate rdfs:subPropertyOf dc:date . bcnnorms:publishDate rdfs:label &quot;fecha de publicación&quot;@es. bcnnorms:publishDate rdfs:comment &quot;Define la fecha de publicacion de un recurso.&quot;@es.
  40. 40. OWL <ul><li>Ontology Web Language </li></ul><ul><li>Recomendación W3C (2004) </li></ul><ul><li>Permite expresar lógica descriptiva sobre un modelo </li></ul><ul><li>Ejemplo </li></ul>bcnnorms:hasDocument owl:inverseOf bcnnorms:isDocumentOf . bcnnorms:isRectifiedBy rdf:type owl:TransitiveProperty .
  41. 41. La Web como Base de datos - enfoque
  42. 42. Cómo construir ontologías
  43. 43. Construcción de ontologías - Una receta <ul><li>Definir propósito y ámbito </li></ul><ul><li>Acotar el dominio </li></ul><ul><li>Identificar conceptos </li></ul><ul><li>Clasificar conceptos </li></ul><ul><li>Identificar relaciones </li></ul><ul><li>Relacionar </li></ul><ul><li>Optimizar </li></ul><ul><li>Evaluar y corregir </li></ul>
  44. 44. I) Definir propósito y ámbito <ul><li>Responder a las siguientes preguntas: </li></ul><ul><li>¿Sobre qué se tratará la ontología? </li></ul><ul><li>¿por qué vamos a construir esta ontología? </li></ul><ul><li>¿a quién está dirigida o quiénes serán sus usuarios? </li></ul><ul><li>Ejemplo: </li></ul><ul><li>R1: Sobre recetas de cocina </li></ul><ul><li>R2: Para hablar un mismo idioma con otros creadores de recetas y poder compartir nuestras recetas utilizando un formato estandarizado </li></ul><ul><li>R3: A todos quienes quieran publicar o utilizar recetas de cocina </li></ul>
  45. 45. II) Acotar el dominio <ul><li>Consideraciones: </li></ul><ul><li>Definir el alcance, qué elementos podemos modelar con los recursos disponibles, y cuáles no es posible alcanzar </li></ul><ul><li>Intentar visualizar la o las fuentes de datos que permitirán poblar el conjunto de instancias acorde al modelo </li></ul><ul><li>Identificar los tipos de preguntas podré responder con la ontología </li></ul><ul><li>Ejemplo </li></ul><ul><li>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. </li></ul><ul><li>R2 : Obtendremos los datos a modelar ingresándolos manualmente y también desde una plantilla excel que me facilitará un restaurant amigo. </li></ul><ul><li>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. </li></ul>
  46. 46. III) Identificar conceptos <ul><li>Realizar un listado lo más completo posible de conceptos presentes en nuestro dominio </li></ul><ul><li>Los conceptos pueden ser elementos, acciones o relaciones </li></ul><ul><li>El resultado de esta etapa será una lista de conceptos que serán utilizados en la etapa posterior </li></ul><ul><li>Ejemplo </li></ul><ul><li>Legumbres, aceite, carne, atún, filete, chef, calorías, minerales, vitaminas, leche, líquidos, pastas, acompañamientos, plato principal, etc. </li></ul>
  47. 47. IV) Clasificar conceptos <ul><li>Realizar una clasificación de los conceptos, generando sub conjuntos </li></ul><ul><li>Realizar una breve descripción del subconjunto </li></ul><ul><li>Como criterio de clasificación pensar en qué cosas comunes tienen los conceptos, y tomar nota de ello </li></ul><ul><li>Los conceptos podrán aparecer en más de un conjunto </li></ul><ul><li>Resultado de esta etapa se obtendrá una lista con sus descripciones de las primeras candidatas de clases y propiedades </li></ul><ul><li>Ejemplo </li></ul><ul><li>Líquidos: leche, aceite, agua </li></ul><ul><li>Carnes: filete,lomo lis, atún </li></ul><ul><li>Carnes blancas: atún, pollo </li></ul><ul><li>Nutrientes: vitaminas, minerales </li></ul><ul><li>Autores: Chef, Cocinero, Mamá </li></ul>
  48. 48. V) Identificar relaciones <ul><li>Una vez que tengamos la lista de conceptos y la lista de clasificaciones, identificar y nombrar las relaciones existentes entre pares de elementos. </li></ul><ul><li>Ejemplo </li></ul><ul><li>carne contiene grasas </li></ul><ul><li>harina es ingrediente para pan </li></ul><ul><li>agua compone receta de pan </li></ul><ul><li>un autor prepara pan </li></ul>
  49. 49. VI) Relacionar <ul><li>Definiremos tres tipos de relaciones: </li></ul><ul><li>Atributos : datos pertenecientes al concepto o entidad </li></ul><ul><li>Jerárquicas : relacionar conceptos y clases de la forma “más general o más particular qué” </li></ul><ul><li>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 </li></ul><ul><li>Resultado de esta etapa, un listado de conceptos, clasificaciones y propiedades que definirán nuestro primer bosquejo del modelo </li></ul>
  50. 50. VI.1) Relacionar - Atributos <ul><li>Identificar los datos relevantes para cada entidad. </li></ul><ul><li>Cada dato relevante, se transformará en una propiedad de dato o atributo de la entidad. </li></ul><ul><li>Definir el tipo de dato del atributo </li></ul><ul><li>Ejemplo </li></ul><ul><li>Autor tiene nombre </li></ul><ul><li>Ingrediente tiene aporte calórico </li></ul><ul><li>Plato tiene nombre </li></ul><ul><li>Plato tiene porcentaje de agua </li></ul>
  51. 51. VI.b) Relacionar - Jerarquizar <ul><li>Identificar las relaciones del tipo: </li></ul><ul><li>X es más general que Y </li></ul><ul><li>X es más particular que Y </li></ul><ul><li>Cada relación de este tipo se transformará en una propiedad jerárquica </li></ul><ul><li>Ejemplo </li></ul><ul><li>Carne es más general que Carne roja y Carne blanca </li></ul><ul><li>Carne roja es más general que filete </li></ul><ul><li>Atún es más particular que carne blanca </li></ul>
  52. 52. VI.c) Relacionar - Asociación <ul><li>Identificar las relaciones entre dos entidades, conceptos o clases del tipo: </li></ul><ul><li>X se relaciona con Y </li></ul><ul><li>Cada relación de este tipo la llamaremos propiedad de objeto </li></ul><ul><li>Ejemplo </li></ul><ul><li>Plato tiene Autor </li></ul><ul><li>Plato tiene ingrediente </li></ul>
  53. 53. IV) Compilar y optimizar <ul><li>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. </li></ul><ul><li>Aquellos conceptos particulares que no encajen con algún subconjunto, son candidatos a ser clases. </li></ul><ul><li>Las clasificaciones son clases. </li></ul><ul><li>No sobre factorizar </li></ul><ul><li>Ejemplo </li></ul><ul><li>harina es ingrediente para pan </li></ul><ul><li>agua compone receta de pan </li></ul><ul><li>Podría unificarse en </li></ul><ul><li>harina es ingrediente de pan </li></ul><ul><li>agua es ingrediente de pan </li></ul>
  54. 54. Evaluación y corrección del modelo <ul><li>Una vez que se ha completado el proceso, volver a la fase (I) y repetir el proceso. </li></ul><ul><li>Verificar si con el modelo obtenido corresponde a lo requerido </li></ul><ul><li>Verificar propósito y ámbito </li></ul><ul><li>¿Ha faltado algo? </li></ul><ul><li>¿puedo responder todas las preguntas que necesito? </li></ul>
  55. 55. Importante <ul><li>El documento de la ontología (con lo que hemos visto hasta ahora) incorpora las siguientes respuestas: </li></ul><ul><li>¿Sobre qué se tratará la ontología? </li></ul><ul><li>¿por qué vamos a construir esta ontología? </li></ul><ul><li>¿a quién está dirigida o quiénes serán sus usuarios? </li></ul><ul><li>¿Qué elementos podemos modelar con los recursos disponibles, y cuáles no es posible alcanzar? </li></ul><ul><li>La o las fuentes de datos que permitirán poblar el conjunto de instancias acorde al modelo </li></ul><ul><li>Tipos de preguntas podré responder con la ontología </li></ul><ul><li>El diagrama y la descripción de las clases y propiedades </li></ul>
  56. 56. ¿Cómo representamos lo que hicimos? <ul><li>Utilizaremos una notación especial </li></ul>Clase Propiedad de dato Propiedad de objeto Propiedad jerárquica
  57. 57. Un ejemplo
  58. 58. Ejercicio <ul><li>Reunirse en grupos por área, máximo 3 personas. </li></ul><ul><li>Aplicar la metodología de acuerdo a los intereses propios del área en algún dominio pequeño. </li></ul><ul><li>Comenzar por responder a las preguntas propuestas. </li></ul><ul><li>Generar documentación y modelo. </li></ul>
  59. 59. Material disponible en <ul><li>Desde la VPN </li></ul><ul><li>http://laloma-desarrollo.bcn.cl/curso-ontologias/ </li></ul>

×