Ontologías: definición, metodologías y buenas prácticas para su construcción. Ana Carrillo Pozas
1. Ontologías
Definición, metodologías y buenas prácticas para su
construcción
Conferencia impartida en la Facultad de Ciencias de la
Documentación de la UCM
6 de mayo de 2014
Ana Carrillo Pozas
@anacarrillop
1
2. Larga historia de la
organización del conocimiento
2
El árbol de Porfirio (c. 232-304 d.c.)
Una de las clasificaciones más interesantes en la
historia del conocimiento. Antecedente de las
modernas clasificaciones taxonómicas.
Mapas conceptuales
Representación gráfica
del conocimiento
Bibliotecas y Archivos
Siempre han tratado de
clasificar y ordenar el
saber, haciéndolo
disponible.
3. La “ficción” de la organización
del conocimiento
3
Borges. “El idioma analítico de John Wilkins”.
En este texto Borges cita una enciclopedia china, la cual incluye
una taxonomía o clasificación, donde está escrito que “los
animales se dividen en: “(a) pertenecientes al Emperador, (b)
embalsamados, (c) amaestrados, (d) lechones, (e) sirenas, (f)
fabulosos, (g) perros sueltos, (h) incluidos en esta clasificación,
(i) que se agitan como locos, (j) innumerables, (k) dibujados con
un pincel finísimo de pelo de camello, (1) etcétera, (m) que
acaban de romper el jarrón, (n) que de lejos parecen moscas.”
Las más célebres constataciones del desorden del saber
proceden de la imaginación de Borges.
4. Los Sistemas de Organización del
Conocimiento
(KOS = Knowledge Organization Systems)
4
Instrumentos que posibilitan categorizar recursos de acuerdo con un
sistema de organización determinado para facilitar su posterior
recuperación. Permiten al usuario interpretar estructuras de conocimiento
de una manera organizada.
Zeng, M.L.y Chan, L.M. (2004). “Trends and
issues in establishing interoperability among
knowledge organization systems”. Journal of
the American Society for Information Science
and Technology, 55 (5),
5. ¿Por qué han despertado
interés los KOS?
Exceso de información.
Falta de alfabetización informacional de algunos usuarios.
Generación en determinadas instituciones de terminología
específica que utilizan para consumo interno.
5
Necesidad de desarrollar herramientas auxiliares que
faciliten la tarea de recuperación de información.
6. Clasificación de KOS
Listas de términos
Clasificaciones y esquemas
de categorización
Listas relacionadas
Hodge, G. (2000). Systems of Knowledge Organization for Digital libraries. Beyond traditional authority files.
Washington, DC: the Council on Library and Information Resources.
http://www.clir.org/pubs/reports/pub91/contents.html
6
Listas de autoridades
Glosarios
Diccionarios
Índices toponímicos
Encabezamientos de materia
Taxonomías
Esquemas de clasificación y
categorización (CDU, CDD)
Tesauros
Redes semánticas
Ontologías
7. 7
Listas de Autoridades
Permiten controlar las
diferentes variantes que
denominan una entidad
(personas físicas o
jurídicas, países…).
Disponen de mecanismos
de navegación basados en
una estructura jerárquica
simple y en las referencias
entre los términos
admitidos y no admitidos.
8. 8
Glosarios
Listas de términos de un
campo determinado, que
suelen ir acompañadas de
comentarios específicos o
definiciones.
9. 9
Diccionarios
Alcance más general que
los glosarios. Listados
alfabéticos de términos:
definición, variantes
semánticas, información
sobre el origen del término,
sinónimos o variantes
ortográficas.
No muestran ningún tipo de
estructura jerárquica
explícita.
11. 11
Encabezamientos de
materia
Son un tipo de lenguaje de
indización precoordinado.
Definen un sistema de
términos controlados de
amplia cobertura temática,
organizados de acuerdo
con una estructura
jerárquica muy básica.
Permiten representar las
materias de un recurso.
13. 13
Esquemas de clasificación
y categorización
Clasificación Decimal
Universal (CDU) y
Clasificación Decimal
Dewey (CDD)
Lenguajes de indización
precoordinados.
Definen categorías
temáticas generales bajo
las que se agrupan
términos ordenados
numérica o
alfabéticamente.
14. 14
Tesauros
Conjunto de términos
utilizados en un dominio de
conocimiento específico
donde se organizan de
acuerdo con una estructura
jerárquica y se establecen
relaciones semánticas
entre sí.
En la recuperación de
información la combinación
de términos es
poscoordinada.
TG (BT) – término general
TE (NT) – término específico
NA (SN) – nota de alcance
RT (RT) – término relacionado
USE – remite de un no descriptor a un descriptor
UP (USED FOR) – remite de un descriptor a un no descriptor
http://www.oocities.org/es/tesauros/tesaurounesco.JPG
15. 15
Redes semánticas
Utilizan grafos formados
por nodos o vértices que
simbolizan los conceptos y
arcos o líneas, que los
unen, para representar
propiedades o relaciones
entre conceptos.
17. ¿Qué es una Ontología?
17
“Una ontología es una especificación explícita de una conceptualización”.
Gruber (1993)
“A translation approach to portable ontologies”. Knowledge Acquisition, 5(2):199-220.
http://tomgruber.org/writing/ontolingua-kaj-1993.pdf
“Una ontología define los términos y relaciones básicas que comprende el
vocabulario de un área temática, así como las reglas para combinar términos
y relaciones para definir extensiones del vocabulario.”
Neches (1991)
“Enabling technology for knowledge sharing”. AI Magazine, 12 (3):33-56
“Una ontología es una especificación formal, explícita, de una
conceptualización compartida.”
Studer (1998)
“Knowledge engineering: principles and methods”. Data knowl, 25 (1-2):161-197
18. Si se cotejan las definiciones…
18
Una ontología es una especificación formal,
explícita, de una conceptualización compartida
procesable por un programa
informático
el tipo de conceptos que se
usan y las restricciones que
afectan a su uso se han
definido explícitamente
modelo abstracto de un
fenómeno cualquiera, en el
que se han identificado los
conceptos relevantes
conocimiento consensuado y
aceptado por un grupo de
personas
19. Diferencias de las ontologías
respecto a otros KOS
Nivel más alto de descripción del vocabulario y desarrollo
semántico más profundo.
Relaciones semánticas complejas, reglas y axiomas que no están
presentes en el resto de sistemas de organización del conocimiento.
Favorecen el razonamiento inferencial de los agentes software.
Suponen un canal de comunicación entre personas y máquinas.
Recuperación de conocimiento con la ayuda de agentes software.
19
20. Tipos de ontologías
20
Según su nivel de granularidad o especialización:
Ontologías de alto nivel: describen conceptos muy
generales como espacio, tiempo, materiales,
objetos, acontecimientos, etc., que son
independientes del dominio.
Ontologías de dominio y tarea: describen,
respectivamente, el vocabulario relacionado con un
dominio genérico o una actividad determinada,
mediante la especialización de los términos
definidos en una ontología de alto nivel.
Ontologías de aplicación: describen conceptos que
dependen tanto de una ontología de dominio como
de una de tarea a través de la especialización de
los conceptos definidos en éstas. Dependen de la
aplicación.
Guarino (1998)
21. Tipos de ontologías
Corcho y colaboradores (2003)
Según su complejidad:
Ontologías ligeras o lightweight: es decir,
aquellas que presentan un bajo nivel de
complejidad estructural.
Ontologías pesadas o heavyweight: que
además añaden axiomas.
21
22. Estructura de las ontologías
22
Clases:
Conceptos, ideas
básicas que se
intentan formalizar
Relaciones:
Enlace entre los
conceptos del
dominio
Instancias:
Objetos
determinados de
un concepto
23. Metodologías de desarrollo de
Ontologías
En los últimos 20 años se han desarrollado
diversos métodos que exponen cómo
desarrollar ontologías.
23
Ontology Engineering
Ontology Building
24. Estudios sobre metodologías
24
Jones, D.M., Bench-Caponand, T.J.M. y Visser, P.R.S.(1998)
"Methodologies for Ontology Development”. IT and KNOWS Conference of the 15th FIP World
Computer Congress.
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.52.2437&rep=rep1&type=pdf
Fue uno de los primeros estudios más completos, que repasa las metodologías existentes para
el desarrollo y mantenimiento de ontologías.
Comienza declarando que en esos momentos la construcción de una ontología es más un arte
que una ciencia, pero que es algo que debe cambiar.
Identifica los puntos en común que comparten las metodologías analizadas.
25. 25
Corcho, Óscar, Fernández, Mariano y Gómez-Pérez, Asunción (2003)
"Methodologies, Tools and Languages for Building Ontologies: Where is the Meeting Point?," in
Data & Knowledge Engineering 46.
http://www.dia.fi.upm.es/~ocorcho/documents/DKE2003_CorchoEtAl.pdf
Fue el siguiente estudio importante, llevado a cabo por la UPM. .
Se construyó sobre el estudio de Jones, al que añadió nuevos métodos.
Incluyen cuadros comparativos detallados de herramientas de desarrollo de ontologías, así
como de lenguajes de ontologías.
Proponen un diagrama de flujo de desarrollo de una ontología para: facilitar su desarrollo
durante su ciclo de vida, su gestión y evolución y soporte.
26. 26
Simperl, Elena Paslaru Bontas y Tempich, Christoph (2006)
"Ontology Engineering: a Reality Check." Proceedings of the 5th International Conference on
Ontologies, Databases, and Applications of Semantics ODBASE2006
http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=9C8668A015878C1134B18C17986D2AEF?doi=10.1.1.72.5445&rep=rep1&
type=pdf
Se ha centrado en los resultados empíricos del coste de las ontologías.
El estudio describe los métodos y las herramientas correspondientes.
27. Algunas metodologías
Cyc – la más antigua de las bases de conocimiento y ontologías y que más se ha
mapeado con diferentes ontologías independientes. Cyc mapping methodology.
TOVE (Toronto Virtual Enterprise) – una aproximación lógica de primer orden para
representar actividades, estados, tiempos, recursos y costes en una arquitectura de
integración empresarial. http://stl.mie.utoronto.ca/publications/gruninger-onto-ecai94.pdf
IDEF5 (Integrated Definition for Ontology Description Capture Method) – forma parte
de un conjunto más amplio de metodologías desarrollado por Knowledge Based
Systems, Inc. http://en.wikipedia.org/wiki/IDEF5
ONIONS (ONtologic Integration Of Naive Sources) – un conjunto de métodos
especialmente adaptados para integrar múltiples fuentes de información, con especial
énfasis en las ontologías de dominio.
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.22.3972&rep=rep1&type=pdf
COINS (COntext INterchange System) – una serie de esfuerzos continuados por
parte del Sloan School of Management del MIT. http://www.mit.edu/~bgrosof/paps/phd-thesis-
aykut-firat.pdf
METHONTOLOGY – una de las mejores metodologías para la construcción de
ontologías que se conocen. http://semanticweb.org/wiki/METHONTOLOGY
OTK (On-To-Knowledge) – una aproximación que refleja otras metodologías.
http://semanticweb.org/wiki/OTK_methodology
UPON (United Process for ONtologies) – es una aproximación sobre UML que se basa
en casos de uso, y que es incremental e iterativa.
27
28. Diagramas de proceso de
desarrollo y uso de ontologías
28
Simperl (2006). Actividades de ingeniería de ontologías
http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=9C8668A015878C1134B18C17986D2AEF?doi=10.1.1.72.5
445&rep=rep1&type=pdf
29. 29
Corcho y cols. (2003). Diagrama de proceso de desarrollo y uso de
ontologías
http://www.dia.fi.upm.es/~ocorcho/documents/DKE2003_CorchoEtAl.pdf
30. 30
M. Fernandez, A. Gomez-Perez y N. Juristo (1997).
“METHONTOLOGY: From Ontological Art Towards Ontological Engineering”, AAAI-97 Spring
Symposium on Ontological Engineering, Stanford University, March 24-26th, 1997.
Estados y actividades del ciclo de vida de una Ontología
31. Primeros pasos
31
Noy y McGuinness (2001)
“Ontology Development 101: a guide to creating your first ontology”.
http://liris.cnrs.fr/alain.mille/enseignements/Ecole_Centrale/What%20is%20an%20ontology%20and%20why%20we%20need%20it.ht
m
Es una de las descripciones más accesibles para la construcción de ontologías.
32. Fases de creación de una ontología
(Ontology Development 101)
1. Determina el dominio y alcance de la ontología.
2. Reutiliza ontologías existentes.
3. Enumera los términos importantes de la ontología.
4. Define las clases y la jerarquía de clases.
5. Define las propiedades de las clases (atributos).
6. Define los aspectos de los atributos.
7. Crea instancias.
32
No hay un modo correcto de modelar un dominio de conocimiento.
El desarrollo de una ontología se necesariamente un proceso iterativo: se comienza
con un primer paso aproximado, después se revisa y refina la evolución de la ontología
y se completan los detalles.
33. Buenas prácticas para la
construcción de ontologías
Basadas en guías básicas
Wiki de Open Semantic Framework.
http://wiki.opensemanticframework.org/index.php/Ontology_Best_Practices
33
34. #1 Consultar guías básicas y buenas prácticas
Noy y McGuinness (2001). “Ontology Development 101”.
http://liris.cnrs.fr/alain.mille/enseignements/Ecole_Centrale/What%20is%20an%20ontology%20and%20why
%20we%20need%20it.htm
Horridge, Matthew et al. (2011). “A Practical Guide to Building OWL
Ontologies Using Protégé 4 and CO-ODE Tools”. The University of
Manchester.
http://130.88.198.11/tutorials/protegeowltutorial/resources/ProtegeOWLTutorialP4_v1_3.pdf
Simperl y Tempich (2006). “Ontology Engineering: a Reality Check”.
http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=9C8668A015878C1134B18C17986D2AEF?doi=10.1
.1.72.5445&rep=rep1&type=pdf
Wiki de Open Semantic Framework.
http://wiki.opensemanticframework.org/index.php/Ontology_Best_Practices
34
35. The TONES Ontology Repository. Repositorio creado por la
Universidad de Manchester. http://rpc295.cs.man.ac.uk:8080/repository/
Wiki ODP (Ontology Design Patterns). Se trata de un portal de
web semántica dedicado al diseño de patrones ontológicos, y que fue
iniciado bajo el proyecto NeOn. http://ontologydesignpatterns.org/wiki/Main_Page
35
#2 Examinar ejemplos de ontologías ya
construidas
Es muy útil comenzar con ontologías completamente construidas para apreciar el
alcance involucrado en su construcción.
36. Alcance equilibrado del ámbito de conocimiento.
Reutilizar estructura y vocabularios. Aprovechar contenido no
ontológico: esquemas de bases de datos relacionales existentes,
taxonomías, vocabularios controlados, especificaciones industriales,
hojas de cálculo, listas informales…
Integrar el campo de conocimiento en un contexto apropiado
para interoperar con otras ontologías.
Incluir predicados claros (propiedades, relaciones, atributos) y
definiciones precisas.
Asegurar que las relaciones de la ontología son coherentes y
lógicas.
Asociar con ontologías externas.
36
#3 Alcance y Contenido
37. Comenzar con un dominio de ontología ligero.
Separar estructuralmente los conceptos del dominio (clases)
de los registros de instancias, para un más fácil mantenimiento,
mejor escalabilidad e incorporación de nuevos repositorios de datos.
Utilizar el “metamodelado”: en ocasiones se requiere tratar los
conceptos como un conjunto de miembros (clases) o como instancias
(individuos).
Construir la ontología gradualmente.
Escribir la ontología en lenguaje procesable por máquinas (OWL
o RDF Schema).
37
#4 Estructura y Diseño
38. Nombrado de conceptos: notación CamelCase (p.e: MiNuevoConcepto).
Nombrado de propiedades con tiempos verbales: notación mixedCase (p.e.:
tienePropiedad).
Utilizar prefijos y sufijos comunes y descriptivos para las propiedades
relacionadas.
Definir todos los conceptos y propiedades para aportar semántica a la
ontología. Puede usarse la propiedad skos:definition, rdfs:comment o
dc:description.
Ofrecer una etiqueta determinada para notación de propiedades con
propósito de lectura humana y para interfaces de usuario (p.e.:
skos:prefLabel).
“Semset”: utilizar una serie de etiquetas alternativas y términos para describir
el concepto (sinónimos, jergas, argot, acrónimos, o términos alternativos).
38
#5 Nomenclatura y Vocabulario
39. Documentar el vocabulario de la ontología a través de un sistema
dedicado que permita encontrar, seleccionar y editar cualquier
término de la ontología así como sus propiedades.
Documentar las metodologías utilizadas para la construcción y
mantenimiento.
Utilizar una wiki como sistema de documentación para recoger
casos de uso, buenas prácticas, métricas de evaluación y pruebas,
herramientas de instalación y uso, y todos los aspectos relacionados
con el ciclo de vida de la ontología.
Desarrollar grafos completos de la ontología a través de
herramientas de visualización de grafos para ayudar a comprender la
ontología en todos sus aspectos.
39
#6 Documentación
40. Colaboración: visión compartida de conceptos, relaciones y
terminología que describe el dominio o campo de conocimiento
común de los participantes.
Reutilizar estructuras y vocabularios ya consensuados previamente
en la organización o en el proyecto, pues respeta inversiones y
necesidades previas.
Procesos basados en el consenso, incluidas herramientas de apoyo,
para permitir que los grupos de trabajo puedan identificar y decidir
sobre terminología, definiciones, etiquetas alternativas (SemSets) y
relaciones entre conceptos.
40
#7 Organización y Colaboración
41. Testar los conceptos nuevos. Las inconsistencias se pueden detectar
mediante el razonador (reasoner).
Testar las propiedades nuevas, del mismo modo que en el punto
anterior.
Pruebas de explotación del dominio de conocimiento.
Utilizar bases de conocimiento externas y ontologías (p.e.: UMBEL).
41
#8 Pruebas
42. 42
Ontología de las ISAD(G). Sánchez Alonso, Salvador y cols. (2008). Sobre la interoperabilidad semántica en
las descripciones archivísticas digitales. Revista Española de Documentación Científica, 31,1.
43. 43
SwetoDblp: ontología orientada a datos bibliográficos
http://lsdis.cs.uga.edu/projects/semdis/swetodblp/equivalent-classes_swetodblp_schema.png
44. 44
RDF y OWL son compatibles
http://users.eastlink.ca/~christd/tme2fig2.1.gif
45. Papel de las Ontologías en la
Web Semántica
Elemento clave en la web semántica. Capa ontológica.
Su objetivo es describir tipos de entidades y la forma en la
que se relacionan entre sí, basándose en los principios de
interoperabilidad semántica, mediante la definición de
clases, propiedades, relaciones y axiomas.
Estándar del W3C: lenguaje OWL (Web Ontology
Language), que se basa y complementa al lenguaje RDFS.
Lenguaje para representar ontologías.
45
46. OWL (Web Ontology
Language)
Lenguaje formal desarrollado por el W3C para la definición
y la instanciación de ontologías en la web. Es un lenguaje
declarativo para describir ontologías.
Es una familia de lenguajes de representación del
conocimiento (no es un lenguaje de programación).
La versión actual es OWL2.
46
Documentación oficial de la especificación completa sobre OWL:
http://www.w3.org/TR/tr-technology-stds#tr_OWL_Web_Ontology_Language
47. Elementos básicos de OWL
En una ontología OWL se utilizan: clases,
propiedades e individuos.
En OWL se utiliza el término axioma para hacer
referencia a las declaraciones. Por ejemplo, decir
que “Esto es una biblioteca”. Una ontología OWL
es un conjunto de axiomas.
47
48. Clases e instancias
Representa a los individuos, objetos o entidades
que comparten unas características comunes
para ser considerados miembros de una clase.
owl:Class - se encuadran los distintos tipos de clases
de OWL
owl:Thing – superclase de la que derivan todas las
demás.
owl:Nothing – representa la nada.
Las subclases e instancias se definen mediante
RFDS con rdfs:subClassOf y rdfs:type
respectivamente. 48
49. Propiedades
Representan aspectos o características aplicables a las clases. También
representan relaciones existentes en el mundo real entre dos clases.
Sobre la declaración de propiedades:
owl:ObjectProperty - define propiedades entre instancias de clases.
owl:DatatypeProperty – define propiedades entre una clase y un literal o un valor de tipo
cadena de caracteres, numérico, fecha, etc
Para indicar cuál es el dominio y el rango de una propiedad OWL, se
utilizan las propiedades de RDFS para definir el dominio (rdfs:domain) y
el rango (rdfs:range) de una propiedad.
Con OWL pueden definirse propiedades transitivas, simétricas,
funcionales, inversas e inversas funcionales:
Propiedad transitiva - owl:TransitiveProperty
Propiedad simétrica - owl:SymmetricProperty
Propiedad funcional - owl:FunctionalProperty
Propiedad inversa - owl:InverseOf
Propiedad inversa funcional - owl:InverseFunctionalProperty
49
50. Un individuo representa una ocurrencia o instancia particular de
una clase.
Las instancias o individuos pertenecerán a una clase, y heredarán
todas las propiedades/relaciones de ésta. En OWL, los individuos
se identificarán mediante un URI.
OWL no asume de forma explícita que dos individuos distintos
corresponden a entidades diferentes, incluso si los dos tienen URI
diferentes. Si queremos indicar que dos o más individuos son
diferentes entre sí, debemos indicarlo de forma explícita como
parte de nuestra ontología.
50
Individuos
51. Un poco más de OWL
Las ontologías de OWL se pueden representar
con:
Serializaciones de RDF: RDF/XML y Turtle.
En un XML propio (OWL XML)
En un lenguaje para visualizar su estructura.
Editores como Protégé soportan todos los
formatos anteriores y ofrecen un editor
independiente del formato de serialización.
51
52. Protégé para crear ontologías
OWL
Protégé es un programa libre, gratuito, que
puede usarse para crear ontologías OWL.
Quizá el programa más popular para crear
ontologías en este formato.
Puede descargarse de la URL:
http://protege.stanford.edu/download/registered.html
52
53. que aparece en el panel de la izquierda.
La interfaz de usuario de Protégé
cuenta con distintas pestañas:
Active Ontology – para definir una
nueva ontología, su IRI, indicar su
versión, y añadir comentarios para
explicar su objetivo.
Classes – donde se pueden definir
las clases de la ontología.
ObjectProperties – para definir las
propiedades de tipo objeto.
DataProperties – para definir
propiedades de datos.
Individuals- para declarar individuos
e instancias de clase.
53
54. Ana Carrillo Pozas
54
Jefe de Servicio de Intranet
Responsable del Sistema de Gestión Documental
y del Mapa de Procesos
Biblioteca Nacional de España
@anacarrillop