Está en la página 1de 47

Desarrollando una ontologa sencilla

Curso de Doctorado: Sistemas Multiagente Dpt. Informtica Curso 2002-03

11/12/2002

Desarrollando una ontologa sencilla - (c) Csar Llamas. Dpt. Informtica (UVA)

Agenda

q Porqu q Qu q Una

desarrollar una ontologa

es una ontologa

metodologa de KE sencilla para ontologas para la creacin de una ontologa a tener en cuenta

q Pasos

q Elementos

11/12/2002

Desarrollando una ontologa sencilla - (c) Csar Llamas. Dpt. Informtica (UVA)

Porqu desarrollar una ontologa


q

Gran inters en
el WEB
Para categorizar lugares web W3C desarrolla el RDF W3C y ARPA desarrollan DAML

Recuperacin de informacin Libreras digitales Comercio electrnico NLP


Medicina: SNOWMED, UMLS. UNSPSC para terminologa de productos y servicios (www.eccma.org/unspsc/).
11/12/2002 Desarrollando una ontologa sencilla - (c) Csar Llamas. Dpt. Informtica (UVA) 3

Qu permite una ontologa


q Compartir q Permite

conocimiento comn sobre la estructura de las cosas reusar el conocimiento del suposiciones sobre el dominio dominio

q Explicitar q Separar

el conocimiento del dominio del conocimiento operacional el anlisis del conocimiento del dominio

q Posibilitar

11/12/2002

Desarrollando una ontologa sencilla - (c) Csar Llamas. Dpt. Informtica (UVA)

Qu es una ontologa
q Descripcin

formal explcita de ciertas entidades de un dominio de discurso:


Clases conceptos del dominio Slots propiedades de cada concepto describiendo las caractersticas y atributos (tambin llamados roles o propiedades) Facets restricciones sobre los Slots (tambin llamadas restricciones de roles)

q Base

de conocimiento: ontologa + ejemplares de las clases.


Desarrollando una ontologa sencilla - (c) Csar Llamas. Dpt. Informtica (UVA) 5

11/12/2002

Tipos de Ontologas

Ontologa del nivel superior

Ontologa del dominio

Ontologa de la tarea

Ontologa de la aplicacin

11/12/2002

Desarrollando una ontologa sencilla - (c) Csar Llamas. Dpt. Informtica (UVA)

Clases
q Describen q Una q Ej:

conceptos del dominio

subclase representa conceptos ms especficos que su superclase


Vino: - Tinto, Rosado, Blanco Vino: - Con burbujas, Sin burbujas

11/12/2002

Desarrollando una ontologa sencilla - (c) Csar Llamas. Dpt. Informtica (UVA)

Slots
q q

Describe propiedades de las clases e instancias Ej:


Un Protos Gran Reserva tiene un color cereza intenso; se produce en la bodega Protos. Este vino se describe con dos slots:
bodega: Protos olor: cereza intenso

A nivel de clase podemos incluir otros slots ms, como: temperatura, cepas, ...

11/12/2002

Desarrollando una ontologa sencilla - (c) Csar Llamas. Dpt. Informtica (UVA)

El desarrollo de una ontologa incluye...


q Definir

clases en la ontologa una jerarqua taxonmica de

q Encontrar

clases
q Definir q Llenar

los slots y sus valores permitidos.

los valores de los slots en las instancias.

11/12/2002

Desarrollando una ontologa sencilla - (c) Csar Llamas. Dpt. Informtica (UVA)

Una metodologa de KE sencilla


q Puede

emplearse una aproximacin iterativa:


Proponer una ontologa sencilla Refinarla en pocas sucesivas aplicando criterios de modelado

11/12/2002

Desarrollando una ontologa sencilla - (c) Csar Llamas. Dpt. Informtica (UVA)

10

Reglas para la metodologa


q

No hay una nica forma de modelar un dominio.


La mejor solucin suele depender de la aplicacin y las extensiones previstas

El desarrollo de la ontologa es necesariamente un proceso iterativo Los conceptos ontolgicos deben ser cercanos a los objetos y a las relaciones del dominio de inters. Hay que fijarse en el lenguaje comn
Nombres (objetos) Verbos (relaciones)

11/12/2002

Desarrollando una ontologa sencilla - (c) Csar Llamas. Dpt. Informtica (UVA)

11

Criterios de diseo
q Intuitiva q Extensible q Mantenible q Debe

ser un modelo de la realidad

11/12/2002

Desarrollando una ontologa sencilla - (c) Csar Llamas. Dpt. Informtica (UVA)

12

Pasos para la construccin de la ontologa


1. 2. 3. 4. 5. 6. 7.
11/12/2002

Dominio y alcance de la ontologa Utilizacin de ontologas existentes Enumerar los conceptos importantes Definir los conceptos y su jerarqua Definir las propiedades de las clases (slots) Definir los facets de los slots Crear las instancias
Desarrollando una ontologa sencilla - (c) Csar Llamas. Dpt. Informtica (UVA) 13

1.- Dominio y alcance de la ontologa


q Cuestiones

bsicas

Cul es el dominio que cubre la ontologa Para qu se usar la ontologa Para qu tipo de cuestiones Quin usar o mantendr la ontologa

11/12/2002

Desarrollando una ontologa sencilla - (c) Csar Llamas. Dpt. Informtica (UVA)

14

1.- Ejemplo Vinos


q q

Dominio: combinaciones de vinos y comida. Conceptos:


Tipos de vinos Tipos de comidas Combinacin vino-comida No es nuestro objetivo incluir inventarios de vinos. Si se empleara en una revista de vinos habr que incluir sinnimos y frases hechas. Si se empleara para aconsejar compras habr que incluir precios y lugares de compra.

11/12/2002

Desarrollando una ontologa sencilla - (c) Csar Llamas. Dpt. Informtica (UVA)

15

1.- Dominio y alcance de la ontologa (ii)


q Cuestionario

de competencia. Una forma de determinar el alcance de la ontologa es bosquejar un cuestionario de competencia, que deber ser de responder (test):
La ontologa deber permitir responder al cuestionario. Permite saber si es preciso mejorar el nivel de detalle de cierta parte de la ontologa.

11/12/2002

Desarrollando una ontologa sencilla - (c) Csar Llamas. Dpt. Informtica (UVA)

16

1.- Ejemplo Vinos (Competencia)


q

Qu caractersticas del vino debo tener en cuenta al elegir un vino? Es el Burdeos un vino tinto o blanco? Va bien el Cabernet Sauvignon con el pescado? Cul es la mejor eleccin para la carne a la brasa? Qu caractersticas del vino afectan a su adecuacin a cada plato? Cambian sus caractersticas en boca con la aada? Cules fueron las mejores aadas para el Ribera de Duero?

q q q q

q q

11/12/2002

Desarrollando una ontologa sencilla - (c) Csar Llamas. Dpt. Informtica (UVA)

17

2.- Plantese reutilizar una ontologa existente


q Facilita q Es

la integracin con otros sistemas.

posible importar y exportar de diversos formalismos (automticamente o a mano) ontologas pblicas: Ontolngua, DAML, UNSPSC, RosettaNet, DMOZ, CyC... Existen listas de propiedades de vinos (www.wines.com) que se usan.

q Hay

q Ejemplo:

11/12/2002

Desarrollando una ontologa sencilla - (c) Csar Llamas. Dpt. Informtica (UVA)

18

3.- Enumere trminos importantes


q

Escriba la lista de trminos que se usaran para construir sentencias sobre el tema.
Qu trminos nos gustara usar Qu propiedades tienen estos trminos. Qu podemos decir sobre estos trminos.

Ejemplo:
Vino, uva, bodega, ubicacin, color, cuerpo... Pescado, carne roja,

No debe importar el solapamiento de trminos, si son relaciones o trminos o si son clases o slots.
Desarrollando una ontologa sencilla - (c) Csar Llamas. Dpt. Informtica (UVA) 19

11/12/2002

4.- Defina las clases y la jerarqua


q Aproximaciones:

Top-down: Primero conceptos generales, despus las especializaciones.


Ejemplo: Primero vino, comida. Despus vino tinto, vino rosado, ... Despus Burdeos, Cabernet Sauvignon, ...

Bottom-up: Primero las clases ms especficas. Las ms generales se construyen por agrupamiento. Hbrida: de las dos anteriores.
11/12/2002 Desarrollando una ontologa sencilla - (c) Csar Llamas. Dpt. Informtica (UVA) 20

4.- Defina las clases y la jerarqua (ii)


q Ninguna

de ellas es necesariamente mejor q Habitualmente los conceptos de nivel intermedio son los ms manejables:
No son demasiado abstractos Presentan alguna estructura. No as los de bajo nivel.
q Depende

de la experiencia del diseador. q De la lista de trminos se seleccionan aquellos que describen objetos con existencia independiente.
11/12/2002 Desarrollando una ontologa sencilla - (c) Csar Llamas. Dpt. Informtica (UVA) 21

4.- Jerarqua

Si una clase A es una superclase de la clase B, cualquier ejemplar de B lo es tambin de A.


q La

clase B representa un concepto ISAKO A. (una especie de A)

11/12/2002

Desarrollando una ontologa sencilla - (c) Csar Llamas. Dpt. Informtica (UVA)

22

5.- Definir las propiedades de las clases slots


q La

mayora de trminos restantes alude a propiedades de estas clases


Ejemplo: el color, sabor, cuerpo de un vino. La ubicacin de una bodega.

q Debemos

determinar a que clase describe cada trmino


Estas propiedades reflejan slots ligados a las clases. Ojo, porque esta es la aproximacin de Protege.

11/12/2002

Desarrollando una ontologa sencilla - (c) Csar Llamas. Dpt. Informtica (UVA)

23

5.- Definir las propiedades de las clasesslots (ii)


q Tipos

de slots

Intrnsecos
Ej: sabor, color del vino,...

Extrnsecos
Ej: el nombre del vino, el rea,...

Partes
Ej: Los diferentes ingredientes de una comida,...

Relaciones entre instancias de la clase y otros elementos.


Ej: embotellador, la uva,...
11/12/2002 Desarrollando una ontologa sencilla - (c) Csar Llamas. Dpt. Informtica (UVA) 24

5.- Definir las propiedades de las clasesslots (ii)


q Las q Se

subclases heredan los slots.

puede aumentar su nmero.

Ej: en el caso del vino tinto: nivel de tanino.

FEl slot debe agregarse en el nivel ms


externo posible.

11/12/2002

Desarrollando una ontologa sencilla - (c) Csar Llamas. Dpt. Informtica (UVA)

25

6.- Definir los facets de cada slot


q Los

facets describen el

tipo del valor (string, nmero, booleano, enumerado, instancia de otra clase)
Ej: produce: es de tipo instancia de vino

La cardinalidad del facet,


Simple, mltiple (acotado, libre) Ej: bodega tiene cardinalidad mltiple

rango del slot: clases permitidas para los slots de tipo instancia
Ej: el rango de produce es vino
11/12/2002 Desarrollando una ontologa sencilla - (c) Csar Llamas. Dpt. Informtica (UVA) 26

6.- Definir los facets de cada slot (ii) dominio del slot: clases descritas por el slot
Ej: el dominio de produce es bodega

FEl dominio|rango deber ser lo ms general


posible.

FPero sin pasarse: todas las clases del dominio de


un slot se describirn con l y las instancias son potenciales usuarios del slot.

FSi un rango|dominio incluye una clase y sus


subclases, elimine las subclases.
Ej: el rango de produce es vino, no vino tinto

11/12/2002

Desarrollando una ontologa sencilla - (c) Csar Llamas. Dpt. Informtica (UVA)

27

6.- Definir los facets de cada slot (iii)

FSi un rango|dominio contiene todas las

subclases de una superclase, pngase solo la superclase.


Ej: el dominio rango de produce es vino, no vino tinto, rosado, ...

FSi un rango|dominio incluye casi todas las


subclases de una superclase, considere afectar a toda la superclase.

11/12/2002

Desarrollando una ontologa sencilla - (c) Csar Llamas. Dpt. Informtica (UVA)

28

7.- Cree las instancias


q

Proceso:
1. Elegir la clase 2. Crear una instancia de la clase 3. Completar los slots

11/12/2002

Desarrollando una ontologa sencilla - (c) Csar Llamas. Dpt. Informtica (UVA)

29

Elementos a tener en cuenta


q Definiendo

clases y una jerarqua de las propiedades de nombre

clases
q Definiendo q Convenciones

11/12/2002

Desarrollando una ontologa sencilla - (c) Csar Llamas. Dpt. Informtica (UVA)

30

Definiendo clases y una jerarqua de clases


q La

jerarqua se articula sobre la relacin is-a


Una subclase de una clase representa un concepto que es cierto tipo de el concepto que representa la superclase
Ej: un solo vino no es una subclase de todos los vinos

q Vino

no es una subclase de Vinos

Violara la regla anterior

11/12/2002

Desarrollando una ontologa sencilla - (c) Csar Llamas. Dpt. Informtica (UVA)

31

Definiendo clases y una jerarqua de clases


q q

La relacin jerrquica es transitiva La jerarqua est sujeta a evolucin de nuevas clases.


Ej: Cigales ha sido siempre un vino rosado, pero ahora hay nuevos vinos

Las clases representan conceptos del dominio y no las palabras que denotan los conceptos
No utilizar sinnimos para clases diferentes Algunas herramientas permiten listas de sinnimos

Evtense los ciclos de clases


Desarrollando una ontologa sencilla - (c) Csar Llamas. Dpt. Informtica (UVA) 32

11/12/2002

Analizando los hermanos


q Los

hermanos son subclases directas de la misma clase


Todos los hemanos deben estar al mismo nivel de generalidad, salvo los raz.
Ej:Vino blanco y Chardonay no deben ser hermanos.

q Cuntos?

La mayora de las buenas ontologas suelen tener entre dos y una docena de hermanos.

11/12/2002

Desarrollando una ontologa sencilla - (c) Csar Llamas. Dpt. Informtica (UVA)

33

Analizando los hermanos


q Cuntos

(ii)

No debe haber hijos nicos Si hay ms de una docena de hermanos puede que haya que pensar en categoras adicionales.

11/12/2002

Desarrollando una ontologa sencilla - (c) Csar Llamas. Dpt. Informtica (UVA)

34

Herencia mltiple
q La

mayora de sistemas de representacin permiten la herencia mltiple slots se heredan.

q Los

11/12/2002

Desarrollando una ontologa sencilla - (c) Csar Llamas. Dpt. Informtica (UVA)

35

Cuando introducir nuevas clases (o no)


q q

Hay que llegar a un compromiso entre anidamiento y nmero de hermanos Reglas bsicas. Las subclases de una clase generalmente:
Tienen propiedades adicionales que la superclase no posee, o Tienen restricciones diferentes, o Participa en relaciones diferentes.

En las jerarquas terminolgicas las clases no introducen nuevas propiedades


Permiten organizar trminos y hacerlos ms especficos.

11/12/2002

Desarrollando una ontologa sencilla - (c) Csar Llamas. Dpt. Informtica (UVA)

36

Cuando introducir nuevas clases (o no)


qA

veces se incluyen nuevas clases para reflejar distinciones que efectan los expertos aunque no se desee modelar tal distincin. hay por qu crear subclases para cada restriccin adicional.
Ej: No es preciso introducir clases para hablar de vinos delicados, o populares, .....

q No

11/12/2002

Desarrollando una ontologa sencilla - (c) Csar Llamas. Dpt. Informtica (UVA)

37

Una nueva clase o un valor de una propiedad?


q Hay

que fijarse en la relevancia de la distincin.


Ej: Vino blanco y vino tinto, o una propiedad para el color?
Para un catador es necesario. Para casar comidas y vinos es necesario. Para un impresor de etiquetas de botellas, no.

Si los conceptos con diferentes valores de slots se convierten en restricciones para diferentes slots de otras clases entonces crearemos una nueva clase.
11/12/2002 Desarrollando una ontologa sencilla - (c) Csar Llamas. Dpt. Informtica (UVA) 38

Una nueva clase o un valor de una propiedad? Si una distincin es importante en el dominio y pensamos en los objetos con valores diferentes como diferentes tipos de objetos, debemos crear una clase.
Es beneficioso pensar en las potenciales instancias.

Usualmente la distincin entre clases no obedece a propiedades extrnsecas.

11/12/2002

Desarrollando una ontologa sencilla - (c) Csar Llamas. Dpt. Informtica (UVA)

39

Una instancia o una clase?


q Depende

del uso potencial de la ontologa: fija el nivel de granularidad.


Los conceptos ms especficos debern ser instancias individuales de la base de conocimiento.
Ej: Para un bodeguero, las instancias son las existencias concretas. A un catador no le interesa cada botella concreta.

11/12/2002

Desarrollando una ontologa sencilla - (c) Csar Llamas. Dpt. Informtica (UVA)

40

Lmite de la ontologa
q La

ontologa est completa en el momento en que se conoce todo lo que se necesita:


La ontologa no debe contener toda la posible informacin del dominio. J

q La

ontologa no debe contener todas las propiedades y distinciones posibles entre clases.

11/12/2002

Desarrollando una ontologa sencilla - (c) Csar Llamas. Dpt. Informtica (UVA)

41

Subclases disjuntas
q Algunos

sistemas nos permiten especificar que diversas clases son disjuntas (no tienen instancias en comn).
Esto permite validar mejor la ontologa.

11/12/2002

Desarrollando una ontologa sencilla - (c) Csar Llamas. Dpt. Informtica (UVA)

42

Definiendo propiedades
q Slots

inversos

Un valor puede depender de un valor de otro slot, y es bueno que aparezcan en ambas cada clase donde aparece el slot.
Ej: vino.embotellador y bodega.produce

q Valores

por defecto

Es posible incluir valores por defecto para dar cuenta de la mayora:


Ej: vinos.de postre suelen ser dulces.

11/12/2002

Desarrollando una ontologa sencilla - (c) Csar Llamas. Dpt. Informtica (UVA)

43

Convenciones de nombre
q Es

preciso un convenio de nombres para clases y slots. que afectan


Hay un espacio de nombres nico. Es sensible a maysculas/minsculas Se permiten delimitadores

q Factores

11/12/2002

Desarrollando una ontologa sencilla - (c) Csar Llamas. Dpt. Informtica (UVA)

44

Convenciones de nombres
q

Reglas habituales
Utilizar espacios para separar palabras Separar palabras con maysculas Separar con guin bajo.

Singular o plurl?
No hay regla, pero hay que establecer un acuerdo.

Prefijos y sufijos: Hacer legible el texto


Usualmente: tiene-*, *-de Ej: Tiene-productor, productor-de

q
11/12/2002

Convenio entre infinitivos y verbos conjugados.


Desarrollando una ontologa sencilla - (c) Csar Llamas. Dpt. Informtica (UVA) 45

Convenciones de nombres
q Otras

consideraciones:

No aadir cadenas como clase, propiedad, slot y dems (tampoco en otro idioma) Conviene evitar abreviaturas (son innecesarias). Los nombres de las subclases directas debern tener (o no) el nombre de la superclase (fijar convenio).
Ej: Blanco y Tinto, Vino Blanco y Vino Tinto, pero no mezclas.

11/12/2002

Desarrollando una ontologa sencilla - (c) Csar Llamas. Dpt. Informtica (UVA)

46

Recursos soft.
q Protege2000 q OIL q Chimaera q Ontolingua q ...

11/12/2002

Desarrollando una ontologa sencilla - (c) Csar Llamas. Dpt. Informtica (UVA)

47

También podría gustarte