Metodología para el desarrollo de ontologías Rubén Darío Alvarado* 11 de mayo de 2010
Resumen Una metodología es un conjunto de métodos y técnicas que determinan que los resultados de un proceso tengan una calidad aceptable. En contraste método es un conjunto ordenado de pasos o procedimientos utilizados en el desarrollo de un producto, mientras que técnica es un procedimiento utilizado para conseguir un objetivo (Ander-Egg, 1978). Por tanto, la metodología nos proporciona un marco de trabajo, un conjunto ordenado de pasos que nos ayudarán a construir una ontología para el dominio del proyecto. En el novel campo de la Ingeniería del Conocimiento diversos grupos de investigación buscan un método de desarrollo de ontologías adecuado pero, las variables son tantas y tan diversas que es prácticamente imposible obtener un sólo método adecuado para todos los casos. Entre los métodos más utilizados para diseñar y construir ontologías tenemos: Método de desarrollo de Ontologías de Uschold y King; Método Virtual Empresarial Toronto (TOVE) de Gruninger y Fox; Methontology; KAKTUS y, el Método de desarrollo de Ontologías propuesto por Noy y McGuiness.
1.
Generalidades
Una metodología es un conjunto de métodos y técnicas que determinan que los resultados de un proceso tengan una calidad aceptable. En contraste método es un conjunto ordenado de pasos o procedimientos utilizados en el desarrollo de un producto, mientras que técnica es un procedimiento utilizado para conseguir un objetivo (Ander-Egg, 1978). Por tanto, la metodología nos proporciona un marco de trabajo, un conjunto ordenado de pasos que nos ayudarán a construir una ontología para el dominio del proyecto. En el novel campo de la Ingeniería del Conocimiento diversos grupos de investigación buscan un método de desarrollo de ontologías adecuado pero, las variables son tantas y tan diversas que es prácticamente imposible obtener un sólo método adecuado para todos los casos. Entre los métodos más utilizados para diseñar y construir ontologías tenemos: *
Si tienes comentarios o correcciones por favor escribe al siguiente correo: ruben.dario76@gmail.com
1
Método de desarrollo de Ontologías de Uschold y King; Método Virtual Empresarial Toronto (TOVE) de Gruninger y Fox; Methontology; KAKTUS y, el Método de desarrollo de Ontologías propuesto por Noy y McGuiness.
2.
Metodología propuesta
Tomando como base las metodologías de Noy & McGuiness y Methontology, proponemos el siguiente proceso de desarrollo que pone énfasis en la construcción de un modelo conceptual robusto y en la determinación clara y concisa de los requerimientos de la ontología a construirse: 1. Determinar los requerimientos de la ontología 2. Reutilizar las ontologías o metadatos existentes 3. Elaboración del modelo conceptual 4. Implementación del modelo conceptual 5. Evaluación de la ontología A priori es necesario relevar la importancia que tiene la determinación de los requerimientos ya que su definición nos ayudará a tomar varias decisiones durante todo el proceso de desarrollo. También debemos tomar en cuenta que una ontología no es nada más (ni nada menos) que un modelo de la realidad y como tal debe reflejarla. Los procesos de evaluación y documentación son ejes transversales de este método, lo que implica su presencia continua en todos y cada uno de los pasos anteriormente citados, aunque no siempre con el mismo grado de formalidad; esto tomando en cuenta que un desmedido énfasis en la documentación de cada uno de los pasos volvería engorroso y lento el proceso de desarrollo a más de ser absolutamente innecesario. Utilizaremos varios de los instrumentos proporcionados por Methontology (esquemas, diagramas y descriptores) para documentar debidamente el proceso de elaboración del modelo conceptual (especialmente). El esquema mostrado en la figura siguiente ilustra todo el proceso de construcción e implementación de la ontología con los instrumentos y herramientas requeridos para cada paso. Como se puede observar en la figura anterior, se privilegia la facilidad de comprensión del desarrollador sobre el nivel de formalización del método; es decir, se intenta que esta primera aproximación a la creación de ontologías se realice de forma intuitiva y, conforme se avanza en el proceso, se incrementa el nivel de formalidad (y de dificultad) del mismo. Además, cabe destacar que este es un proceso iterativo; es decir, que después de obtener la versión inicial de la ontología, debemos evaluarla y corregirla; para ello utilizaremos los requerimientos obtenidos y, por supuesto, la ayuda de los expertos en el dominio.
2
Figura 1: Descripción de nuestro método de desarrollo
3.
Fases de la metodología
Antes de comenzar el proceso de construcción de la ontología conviene destacar algunas reglas fundamentales según Noy & McGuiness (1995): No existe una única forma correcta de modelar un dominio; al contrario, siempre hay alternativas posibles. La mejor solución casi siempre depende del propósito u objetivo final de la ontología o de sus aplicaciones. El desarrollo de una ontología es necesariamente un proceso iterativo. Los conceptos o clases de una ontología deberían ser muy cercanos a objetos o entes (tanto físicos como lógicos) y a las relaciones existentes en nuestro dominio de interés. Estos conceptos o clases serán muy probablemente nombres (objetos) o verbos (relaciones) que encontraremos en las frases que describen nuestro dominio.
3.1.
Determinación de requerimientos
Iniciamos el desarrollo de una ontología definiendo el dominio, alcance y granularidad de la misma; para ello es mejor utilizar “preguntas significativas o de competencia” (Gruninger y Fox, 1995) es decir, utilizar una lista de preguntas que el sistema debería ser capaz de contestar. En este apartado se dará respuesta a las siguientes cuestiones básicas: ¿Qué dominio cubrirá la ontología? OntoWikiUTPL permitirá modelar (representar) la estructura de una guía didáctica de la modalidad de estudios a Distancia de la UTPL. A manera de ejemplo, se modelarán los contenidos de la guía didáctica de la asignatura de Matemáticas Discretas.
3
¿Para qué se va a emplear la ontología? Esta ontología facilitará la búsqueda de conceptos, ejemplos y/o ejercicios relacionados con la asignatura de matemáticas discretas. Naturalmente, será necesaria la inclusión de los conceptos que describen tanto a la asignatura como a la guía didáctica como tal, descartando algunos elementos propios de la enseñanza de la asignatura como la gestión de la bibliografía, de sus autores o de la estructura del plan de estudios de la carrera correspondiente. ¿Qué preguntas debería contestar la ontología? En el dominio de la guía didáctica de la asignatura de matemáticas discretas, las siguientes cuestiones son relevantes (entre otras): ¿Qué es un conjunto? ¿Cuántas formas existen para determinar un conjunto? ¿Qué gráfico ilustra la relación de inclusión? ¿Cuántas y cuáles son las operaciones entre conjuntos? ¿Qué tipo de diagramas permiten la representación gráfica de las operaciones entre conjuntos? ¿Qué actividades debo desarrollar y enviar a través del entorno virtual de aprendizaje? De acuerdo a este listado de preguntas, la ontología contendrá información sobre conceptos o definiciones; ejemplos y/o ejercicios; esquemas, diagramas y figuras; todos estos, elementos constitutivos de una guía didáctica. ¿Quién utilizará y mantendrá la ontología? Los usuarios potenciales de esta ontología son los estudiantes y profesores de la carrera de sistemas informáticos y computación de la Modalidad Abierta y a Distancia de la UTPL, matriculados en la asignatura de matemáticas discretas. Los administradores de la ontología serán las personas encargadas del mantenimiento de la misma.
3.2.
Reutilización de ontologías y metadatos
En la actualidad el contenido de la web se asemeja a una biblioteca desordenada y caótica de donde es muy difícil y costoso extraer algún tipo de conocimiento. Para solucionar este problema se han desarrollado metadatos que permiten describir la información, facilitan su procesamiento por parte de las máquinas y admiten la integración y reutilización de la información contenida en la web, facilitando la extracción de conocimientos útiles para el ser humano. En general los metadatos son datos que describen a los datos. De forma específica permiten mantener un registro sobre el significado, contexto y propósito de un objeto de información para poder comprenderlo y administrarlo de la mejor manera posible. Existen diversas agrupaciones, a nivel mundial, dedicadas al desarrollo y estandarización de metadatos. Entre las principales tenemos: Dublin Core y W3C. La importancia del análisis de diversos repositorios de metadatos radica en la posibilidad de reutilizar los términos en él definidos para el desarrollo de OntoWikiUTPL. Este proceso incluye la formalización de los nombres utilizados en la ontología por sus respectivos sinónimos más usados o conocidos, lo que permitirá una mejor comprensión del modelo final. Entre los diversos estándares de metadatos y ontologías existentes en la actualidad, se realiza una descripción y comparación de aquellas cuya relación con el proyecto a
4
realizar es estrecha. La finalidad de esta sección es encontrar elementos reutilizables en el desarrollo de OntoWikiUTPL. 3.2.1.
Metadatos de Dublin Core
Dublin Core es una organización que promueve un estándar de propósito general, sencillo y descriptivo de los recursos de la web sobre cualquier materia. Promueve la iniciativa Dublin Core Metadata Initiative (DCMI) que provee una infraestructura operativa para la red semántica y el intercambio de la información por medios electrónicos. Los metadatos universales DC están diseñados específicamente para indexar documentos y recursos. Para ello contiene quince elementos básicos agrupados según el tipo de información: siete elementos de contenido, cuatro elementos con información relativa a la propiedad intelectual del recurso y cuatro elementos relativos a la identificación, formato y temporalidad del documento. Cuadro 1: Metadatos de Dublin Core Contenido
Propiedad Intelectual
Instanciación
Título (title)
Autor (creator)
Fecha (date)
Tema (subject)
Editor (publisher)
Formato (format)
Descripción (description)
Colaborador (contributor)
Identificador (identifier)
Tipo (type)
Derechos (rights)
Lengua (language)
Fuente (source) Relación (relation) Ámbito (coverage)
3.2.2.
WikiOnt
Esta ontología fue desarrollada por estudiantes del DERI de la National University of Ireland. WikiOnt es el acrónimo de Wikipedia Ontology, fue creada para tener una definición común de la estructura de la información contenida en la Wikipedia. La ontología es una representación de Wikipedia (interpretable por un computador) que permite que el software consulte y reutilice los datos. Una descripción completa de la ontología (en inglés) se encuentra en la página http:// sw.deri.org/2005/04/wikipedia. A continuación presentamos un resumen de las clases y propiedades descritas en WikiOnt. Las principales clases identificadas son: article, category, image y stub. Ambas stub y category son subclases de Article. Las instancias de las clases se conectan mediante propiedades. Se definieron algunas propiedades, pero en general se trató de reutilizar elementos de ontologías existentes como Dublin Core y SKOS cuando eran apropiados.
5
Cuadro 2: Descripción de WikiOnt Clases
Propiedades
Article
contentType
Contributor
Sioc views
Category
externalLink
DC date
Skos narrower
Image
internalLink
DC title
Skos subject
Stub
Image height
DC creator
Text
Image width
Link
redirectsTo
Al realizar la definición de la ontología, en lugar de abundar en clases y propiedades, se trató de capturar la esencia de un artículo publicado en la Wikipedia. 3.2.3.
Swim Ontology
Definida por Christoph Lange estudiante de la Jacobs University de Bremen (Alemania) para el proyecto SWIM - A semantic wiki for mathematical knowledge management http://kwarc.info/projects/swim/. Esta basada en la estructura del documento OMDOC y su esquema en XML, modelada en OWL-DL. Todos los conceptos y relaciones expuestas en la ontología tienen su contraparte explícita en la sintaxis OMDOC. En el cuadro 3 presentamos un resumen de las clases y relaciones utilizadas en esta wiki semántica (SWIM). Cuadro 3: Descripción de la ontología SWIM Clases
Relaciones
Theory
Definition defines symbol
Statement
Example exemplifies statements
Proof
Example corroborates assertion
Assertion
Example refutes assertion
Example
Proof proves assertion
Definition Symbol Del cuadro anterior se puede inferir la total especialización de la ontología, puesto que describe fielmente el formato OMDOC utilizado exclusivamente para la creación de documentos del área de matemática. SWIM es manejada exclusivamente por el desarrollador de la wiki.
6
3.2.4.
Análisis comparativo
En el cuadro 4 se ilustra el análisis comparativo de las principales características de las ontologías que sirven de base a diversas wikis semánticas. Cuadro 4: Análisis comparativo de las ontologías Característica
WikiOnt
Ontología SWIM
Documentación
Abundante
Escasa
Nivel de especialización
Bajo, ontología general para artículos de la wiki
Alto, ontología sólo para documentos matemáticos
Lenguaje de representación
OWL
OWL
Aplicaciones
Utilizada en el proyecto Semantic Media Wiki
Utilizada en el proyecto SWIM
Motor de wiki
Media Wiki
IkeWiki
Licencia
Licencia pública general (GNU-GPL)
Licencia pública general (GNU-GPL)
Basándonos en la descripción de las dos ontologías y en el cuadro 4 podemos concluir que: Las ontologías analizadas poseen licencia GNU-GPL lo cual nos permite utilizar alguno de sus elementos o en su conjunto. La abundante documentación existente acerca de WikiOnt nos permite detallar todos sus elementos lo que no es posible con SWIM. El lenguaje de implementación (OWL) facilita la integración de estas ontologías en cualquier proyecto a desarrollarse. Finalmente, el nivel de especialización de las dos ontologías no permite usarlas en este trabajo investigativo, utilizaremos los elementos de cualquiera de ellas que más se adecúen al propósito de este proyecto. 3.2.5.
Elementos a reutilizar
En el apartado anterior se realizó un estudio tanto de los metadatos como de las ontologías utilizadas como base para diversos motores de wikis semánticas, de esta manera se logró determinar algunas clases y propiedades que pueden ser reutilizadas en la creación de OntoWikiUTPL: De la ontología WikiOnt, se han tomado algunas propiedades como: link, externalLink, internalLink y text.
7
De la ontología desarrollada para SWIM, las clases definition y example. La reutilización de estos elementos se verá de forma explícita en la sección siguiente que detalla la construcción del modelo conceptual de la ontología OntoWikiUTPL.
3.3.
Elaboración del modelo conceptual
3.3.1.
Definición de términos de la ontología
En este paso se realiza un listado de todos los términos que tienen relación con el dominio; el cuadro denominado Glosario de Términos (cuadro 5 y cuadro 6) detalla el nombre de cada concepto acompañado de una breve descripción del mismo. Los términos se han seleccionado a partir de la documentación (artículos, libros, sitios web, etc., en nuestro caso particular el mapa conceptual de la guía didáctica mostrado en la sección ??) y de las respuestas a las “preguntas relevantes” obtenidas en la primera parte de este proceso. Cuadro 5: Glosario de Términos (parte 1) Nombre
Descripción
Área
Nombre del área a la que pertenece la carrera.
Carrera
Nombre de la carrera a la que pertenece la asignatura.
Asignatura
Nombre de la asignatura de la guía didáctica.
Ciclo
Agrupación de asignaturas en un período de tiempo.
Período
Espacio de tiempo en el que se desarrolla el ciclo (en nuestro caso cinco meses).
Guía didáctica
Documento que facilita la comprensión del material didáctico por parte del estudiante y orienta y organiza el trabajo del educando integrando los elementos didácticos para el estudio de una asignatura.
Índice
Lista ordenada que detalla los capítulos y secciones de la guía didáctica indicando el lugar (página) donde aparecen.
Introducción
Sección inicial que establece el propósito y los objetivos del contenido de la guía didáctica.
Objetivos
Elementos que identifican los resultados o logros que alcanzará el estudiante en la asignatura.
8
Cuadro 6: Glosario de Términos (parte 2) Nombre
Descripción
Contenido
Conjunto secuencial de los temas fundamentales de la asignatura organizados por capítulo y sección.
Bibliografía
Descripción de los libros o direcciones electrónicas consultadas para la elaboración de la guía didáctica.
Orientaciones
Sugerencias al estudiante para mejorar el proceso de enseñanza-aprendizaje.
Glosario
Definición de los términos nuevos.
Evaluación
Elemento educativo cuyo fin es verificar los conocimientos adquiridos por el estudiante.
Dirección electrónica
Elemento que hace referencia a un recurso digital en internet.
Capítulo
División de la guía didáctica cuyo contenido pertenece a un mismo tema.
Sección
División del capítulo.
Definición
Proposición que reúne las propiedades generales y diferenciadoras de algo material o inmaterial.
Ejercicio
Enunciado cuyo desarrollo permite la comprensión de la teoría. Es más sencillo que un problema.
3.3.2.
Definición de las clases y de la jerarquía
Tomando como base el glosario de términos desarrollado en el apartado anterior, se selecciona aquellos conceptos que describen objetos independientes para constituir las clases, mientras que los vocablos que describen cómo son esos objetos se los deja para un análisis posterior (posiblemente puedan constituir las propiedades de una o más clases de la ontología). Algunas reglas generales que nos ayudan a decidir cuándo introducir una clase nueva, según Noy & McGuiness (1995), se detallan a continuación: Una nueva subclase de una clase generalmente: 1. Debería tener nuevas propiedades que no posee la clase 2. Debería tener diferentes valores para las propiedades que los de la clase 3. Debería participar en diferentes relaciones que la clase. En jerarquías terminológicas, las nuevas clases no tienen por qué introducir nuevas propiedades.
9
Si un factor es importante en el dominio y pensamos en los objetos con diferentes valores para ese factor como diferentes clases de objetos, entonces deberíamos crear una nueva clase o clases considerando dicho factor. Las instancias son los conceptos más específicos representados en una ontología. Si los conceptos de un dominio forman una jerarquía natural, debemos representarlos como clases, aunque sean clases abstractas. Considerando las reglas mencionadas, a continuación se presentan las clases definidas para OntoWikiUTPL. Cuadro 7: Listado de clases de la ontología Asignatura
Orientación
Enlace
Capítulo
Objetivo
Contenido
Evaluación
Sección
Guía didáctica
Bibliografía
Autoevaluación
Definición
Índice
Glosario
Solucionario
Ejercicio
Introducción
Palabra clave
Unidad de información
Ejercicio propuesto Ejercicio resuelto
Luego, deben organizarse las clases en una jerarquía de clases. Cuando desarrollamos la taxonomía de clases se deben considerar ciertas reglas generales (Noy & McGuiness, 1995). Así: Si una clase A es una superclase de la clase B, entonces toda instancia de B es también una instancia de A. Una subclase de una clase representa un concepto que es un tipo especial o una subespecie dentro del concepto representado por la clase. Si B es una subclase de A y C es una subclase de B, entonces C es una subclase de A. No debemos emplear sinónimos de un mismo concepto para representar clases diferentes, sino que los sinónimos deben considerarse denominaciones diferentes para un mismo y único concepto. No deben aparecer ciclos o bucles en la jerarquía de clases. Los conceptos de un mismo nivel de la jerarquía o clases hermanas (excepto los que derivan directamente de la raíz) deben presentar el mismo nivel de generalidad. Cada clase debería tener entre 2 y 12 subclases directas.
10
Se debe recordar que no es necesario especializar o generalizar una ontología más de lo que se necesite para la aplicación. La jerarquía de clases de OntoWikiUTPL es:
Figura 2: Jerarquía de clases de la ontología
11
En un intento de clasificación y jerarquización de los diversos elementos que forman la guía didáctica se propone el concepto unidad de información que facilita la inclusión de varios componentes genéricos en los que cada autor divide al contenido. Otro factor importante en la definición de unidad de información es el grado de granularidad necesario para que la ontología pueda reutilizarse en diferentes asignaturas. Se propone tener tres tipos de unidad de información de diferente granularidad: capítulo, sección y, definición y ejercicio. Los capítulos tienen granularidad gruesa y estan formados por un conjunto de secciones (granularidad media). Las secciones se explican en base a una colección de definiciones y ejercicios (granularidad fina); estos últimos se eligen convenientemente por el autor de la guía. De esta forma se puede reutilizar la unidad de información en tres niveles distintos, es decir, se puede reutilizar un capítulo entero, secciones de un capítulo o las definiciones y ejercicios que componen una sección. 3.3.3.
Definición de las propiedades de las clases
Definidas las clases se describen sus atributos y las relaciones existentes entre ellas mediante el diagrama de relaciones binarias. Como las clases fueron seleccionadas del glosario de términos, la mayoría de los términos que quedan son probablemente sus propiedades. En general, las características de los objetos que pueden convertirse en propiedades o slots en una ontología son las siguientes: Todas las subclases de una clase heredan las propiedades de dicha clase, por lo que una propiedad debería ser adscrita a la clase más general que posea dicha propiedad. Garantizar la consistencia de la base de conocimiento cuando existan propiedades o relaciones inversas en una ontología. El cuadro siguiente muestra el listado de las clases con sus respectivos atributos: Cuadro 8: Listado de atributos de las clases de la ontología Clase Asignatura
Objetivo Guía didáctica
Atributos
Clase
Atributos
Universidad, modalidad, área, carrera, docente, estudiante.
Enlace
Tipo
Tipo, bimestre. Ciclo, período, autor.
Orientación
Tipo.
Contenido
Bimestre
Bibliografía
Tipo.
Capítulo
Bimestre
Definición
Texto, imagen.
Ejercicio
Texto, imagen.
Autoevaluación
Capítulo
Solucionario
Capítulo
12
El Diagrama de Relaciones Binarias permite conocer el tipo de relaciones entre clases, las relaciones que se muestran a continuaciĂłn son parte de OntoWikiUTPL.
Figura 3: Diagrama de relaciones binarias de la ontologĂa El Diccionario de Clases de la OntologĂa (cuadro 9 y cuadro 10) permite definir las relaciones, los atributos de las clases y los atributos de las instancias. Finalmente, en la figura 4 se presenta el Modelo Conceptual de OntoWikiUTPL.
13
Cuadro 9: Diccionario de clases de la ontología (parte 1) Clase
Instancia
Atributos de clase
Atributos de instancia
Relaciones
Asignatura
Matemáticas discretas
Universidad
UTPL
tiene guía didáctica
Modalidad
Abierta
tiene objetivo
Área
Técnica
Carrera
Ingeniería en Sistemas
Docente
Paola Sarango
Estudiante
Fausto Maldonado
Tipo
General o específico
Bimestre
Primero o segundo
Período
Abril - agosto, octubre - febrero
alcanza objetivo; tiene unidad de información; tiene índice;
Ciclo
Primero, . . . décimo
tiene introducción; tiene orientación;
Autor
Paola Sarango
tiene bibliografía; tiene glosario; tiene palabra clave; tiene enlace;
Tipo
General o específico
Objetivo
Guía didáctica
Objetivo 1
Guía didáctica de matemáticas discretas
Índice
Índice 1
Introducción
Introducción 1
Orientación
Orientación 1
14
Cuadro 10: Diccionario de clases de la ontología (parte 2) Clase
Instancia
Atributos de clase
Atributos de instancia
Relaciones
Contenido
Contenido 1
Bimestre
Primero o segundo
Bibliografía
Libro 1
Tipo
Básica, complementaria o dirección electrónica
Glosario
Entrada 1
tiene palabra clave
Palabra clave
Palabra 1
tiene enlace
Enlace
Enlace 1
Tipo
Interno o externo
Autoevaluación
Autoevaluación 1
Capítulo
1
Solucionario
Solucionario 1
Capítulo
1
Capítulo
Capítulo 1
Bimestre
Primero o segundo
Sección
Sección 1
Definición
Definición 1
Ejercicio
Ejercicio 1
Evaluación
Unidad de Información tiene sección tiene definición; tiene ejercicio
Tipo
15
Propuesto o resuelto
ilustra definición
16 Figura 4: Modelo conceptual de la ontologĂa
3.3.4.
Definición de las restricciones de las propiedades
En una ontología, las propiedades pueden tener diferentes facetas, éstas describen o caracterizan el tipo de valor que posee una propiedad. Las restricciones más comunes aplicadas a las propiedades son: los valores permitidos y el número de valores posibles (cardinalidad). A continuación una breve descripción de cada una de ellas: Cardinalidad: Establece cuántos valores puede tener una propiedad o slot. Algunos sistemas distinguen únicamente entre cardinalidad simple (como máximo un valor) y cardinalidad múltiple (se permiten cualquier número de valores). Tipo de valor: Describe qué tipo de valores puede poseer una propiedad. Los más frecuentes son: String [Cadena de caracteres], Number, Boolean, Symbol, e Instance. Dominio y rango de una propiedad o slot: Se suele denominar rango de una propiedad a las clases permitidas para una propiedad de tipo instancia. El dominio de una propiedad es el conjunto de clases que describe o caracteriza dicha propiedad. En la construcción de OntoWikiUTPL se han considerado las restricciones siguientes:
Figura 5: Restricciones de las propiedades de la ontología
17
Como se puede apreciar en la tabla anterior, se ha detallado para cada una de las propiedades de cada clase, determinada en la sección 3.2, el tipo de valor requerido, la cardinalidad (utilizando los valores simple y múltiple), y las restricciones propias del tipo de dato symbol. 3.3.5.
Definición de los axiomas formales
La tabla de axiomas lógicos define las expresiones lógicas que, en la ontología, son siempre verdaderas. La definición de cada axioma incluye el nombre, la descripción de la regla en lenguaje natural, el concepto al que se refiere el axioma, la expresión lógica que describe formalmente el axioma utilizando FOPC (cálculo de predicados de primer orden) y la relación.
Figura 6: Axiomas de la ontología 3.3.6.
Creación de instancias
El último paso consiste en crear las instancias individuales de cada una de las clases. La definición de una instancia individual para una clase determinada exige el siguiente proceso:
18
Elegir una clase Crear una instancia individual para esa clase Llenar los valores de las propiedades. A continuación se lista como ejemplo los valores de las instancias para las clases: asignatura, objetivo, guía didáctica, orientación, bibliografía, enlace y capítulo con sus respectivas propiedades.
Figura 7: Algunas instancias de la ontología
3.4.
Implementación
Para la implementación de la ontología se eligió Protégé por su portabilidad entre diversas plataformas, su extenso uso y abundante documentación. Esta herramienta posee una interfaz gráfica que facilita el desarrollo de la ontología sin tener que preocuparse por la sintaxis del lenguaje de definición de ontologías escogido (OWL). La codificación en Protégé del modelo conceptual, desarrollado en el apartado anterior, se realizó de la siguiente manera:
19
3.4.1.
Definición de los conceptos
Para la especificación de los conceptos de la jerarquía utilizaremos la pestaña Classes de Protégé. Debemos especificar el nombre de la clase, la superclase (clase padre), y las clases disjuntas (ubicadas en el mismo nivel jerárquico).
Figura 8: Definición de clases en Protégé 3.4.2.
Definición de las relaciones entre clases
Definimos las relaciones entre clases utilizando la pestaña Object Properties de Protégé. Para cada relación se debe anotar: el nombre, el dominio y el rango; así:
Figura 9: Definición de relaciones en Protégé
20
3.4.3.
Definición de atributos
Al definir los atributos, cuya función es describir los conceptos, utilizamos la pestaña Data Properties. Para cada atributo se debe especificar: el nombre, tipo de valor, cardinalidad, clase a la que pertenece y valores por defecto.
Figura 10: Definición de atributos. 3.4.4.
Definición de axiomas
En la definición de axiomas se utilizan las relaciones y las clases existentes en la ontología cuantificándolas de forma universal y existencial.
Figura 11: Definición de axiomas de la clase Asignatura
21
La figura anterior muestra la definición de los axiomas que pertenecen a la clase asignatura: Uno existencial: Algunas asignaturas tienen una guía didáctica. Otro universal: Toda asignatura tiene objetivos. 3.4.5.
Declaración de instancias
Se definen las instancias pertenecientes a cada clase (o concepto) con sus respectivos atributos.
Figura 12: Declaración de instancias de la clase Asignatura La figura anterior muestra los tres paneles en los que se divide Protégé al realizar la creación de instancias de una clase: class browser, instance browser e individual editor. En el primero se escoge la clase de la cual se van a crear las instancias y, en el segundo se realiza el proceso de creación.
22
Figura 13: Atributos de la instancia de la clase Asignatura La figura anterior muestra la utilización del tercer panel (individual editor) en el que se muestran los atributos y relaciones de la instancia de la clase a los cuales se les debe asignar un valor determinado.
Figura 14: Diagrama de clases de la ontología OntoWikiUTPL Finalmente, la figura anterior muestra el diagrama de clases de OntoWikiUTPL, generado gracias al plugin TGViz de Protégé. 3.4.6.
Definición de consultas
A continuación se muestran los resultados de dos consultas realizadas sobre el dominio de la ontología; la primera busca todas las definiciones que contengan la palabra conjunto
23
y la segunda busca los ejemplos que se refieran al concepto conjunto.
Figura 15: Creación de la primera consulta La figura anterior ilustra el proceso de creación de la consulta que nos permitirá buscar la palabra conjunto dentro de todas las instancias de la clase definición utilizando para ello el atributo texto definido para esta clase.
Figura 16: Búsqueda de datos de la primera consulta El resultado de esta búsqueda se muestra en la figura anterior. El panel search results exhibe todas las instancias que continen la palabra conjunto.
3.5.
Validación de la ontología
Mediante el uso del razonador Pellet, Protégé permite validar algunos aspectos de la ontología, entre ellos: chequear la consistencia de la ontología, obtener automáticamente la clasificación taxonómica y computar los tipos inferidos.
24
Los resultados de la aplicación de estas pruebas de validación a la ontología OntoWikiUTPL se muestran a continuación:
Figura 17: Verificación de inconsistencia de clases Comprobación de la consistencia: permite constatar que no existen contradicciones en la ontología. La semántica de OWL define una especificación formal para la definición de la consistencia en una ontología empleando Pellet.
Figura 18: Verificación de la taxonomía de clases Validación de la taxonomía de clases: observa la relación entre cada clase y comprueba la jerarquía de clases completa.
Figura 19: Verificación de inferencia de clases
25
Verificación de inferencia de clases: encuentra las clases más específicas a las que pertenece una instancia; en otras palabras, determina la clase a la que pertenece cada uno de los individuos.
4. 4.1.
Evaluación de OntoWikiUTPL Evaluación de versiones de la ontología
La creación de una ontología es un proceso iterativo e incremental por lo tanto, es una actividad que se realiza de manera paralela a cada una de las fases de la metodología utilizada; esto permite detectar errores y documentar cada fase de desarrollo. Durante el proceso de desarrollo de OntoWikiUTPL se realizó un refinamiento de tres versiones. A continuación las detallamos: Cuadro 11: Primera versión de OntoWikiUTPL Criterio
Valor
Número de clases
25
Número de atributos
14
Número de relaciones
24
En esta primera versión, la dificultad mayor consistió en la diferenciación entre clase y atributo; a ello se debe el alto número de clases existentes. También se tomó en cuenta algunas relaciones entre conceptos triviales cuya depuración terminaría en la tercera versión de la ontología. Cuadro 12: Segunda versión de OntoWikiUTPL Criterio
Valor
Número de clases
21
Número de atributos
16
Número de relaciones
20
En la segunda versión se solucionó el problema de diferenciación entre clase y atributo, por lo que algunos conceptos considerados clases en la primera versión se transformaron en atributos en la segunda. La principal dificultad en esta versión consistió en la consideración de varias clases vacías, es decir que no tenían instancias asociadas; esto se solucionó en la tercera versión de la ontología.
26
Cuadro 13: Tercera versión (definitiva) de OntoWikiUTPL Criterio
Valor
Número de clases
19
Número de atributos
19
Número de relaciones
17
Para la tercera y definitiva versión se consolidaron el número de clases, atributos y relaciones, eliminado las clases no instanciadas, los atributos no utilizados y las relaciones no recorridas. Como resultado se logró obtener una ontología compacta y con un nivel de expresividad suficiente para los fines planteados. Cuadro 14: Análisis comparativo de las versiones de OntoWikiUTPL Criterio
Versión 1
Versión 2
Versión 3
Número de clases
25
21
19
Número de atributos
14
16
19
Número de relaciones
24
20
17
Número de axiomas
4.2. 4.2.1.
16
Evaluación a nivel estructural Métricas de cohesión
Para este tipo de evaluación se consideraron los criterios provisto en Gangemi et al. ya que permiten evaluar la ontología en función de su estructura y funcionalidad. En cuanto a la escala de evaluación, se tomo en consideración la proporcionada por Yao, Orme y Etzkorn (2005) así: Cuadro 15: Escala de valores para la evaluación Criterio
Valor
Bajo
0.00
Moderado
0.25
Promedio
0.50
Alto
0.75
Excelente
1.00
27
Los valores encontrados para OntoWikiUtpl son: Cuadro 16: Métricas de Cohesión de OntoWikiUTPL Criterio
Valor
Número de clases raíces (NCR)
14
Número de clases hoja (NCH)
17
Promedio de profundidad de herencia del árbol de nodos hoja (PPH-ANH)
0.86
Cuadro 17: Cálculo del PPH-ANH Concepto
Caminos por concepto
Nodos por camino
Asignatura
1
1
Bibliografía
1
1
Contenido
1
1
Enlace
1
1
Evaluación
2
2
Índice
1
1
Introducción
1
1
Objetivo
1
1
Orientación
1
1
Palabra clave
1
1
Solucionario
1
1
Glosario
1
1
Guía didáctica
1
1
Unidad de información
5
8
Total
19
22
Considerando los resultados obtenidos a nivel estructural, con un valor de 0.86 para el promedio de profundidad de herencia del árbol de nodos hoja, podemos afirmar que OntoWikiUTPL tiene un valor de cohesión alto muy adecuado para el propósito de la misma.
28
5.
Conclusiones y Líneas Futuras 1. No es necesario tener una vasta experiencia en el campo de la ingeniería del conocimiento para construir una ontología; lo realmente importante es el escogitamiento de una metodología comprensible que explicite el proceso de desarrollo y la colaboración de los expertos en el dominio de la ontología a desarrollarse. 2. La metodología propuesta permite un tratamiento ágil con un buen nivel de documentación además de facilitar la comprensión del proceso de construcción gracias al apoyo de esquemas y organizadores gráficos en cada una de las etapas del proceso. 3. Este proyecto permite la estructuración semántica de una guía didáctica de cualquier asignatura utilizando una wiki semántica.
Referencias [1] Abián, Miguel Ángel (2005). El futuro de la web: XML, RDF/RDFS, Ontologías y Web Semántica. [2] Antoniou, G. and Van Harmelen, F. (2004). A Semantic Web Primer. Cambridge, Massachusetts: The MIT Press. [3] Booch, G., Rumbaugh, J. and Jacobson, I. (1997). The Unified Modeling Language user guide. Addison-Wesley. [4] Breitman, K. K., Casanova, M. A. and Truszkowski, W. (2007). Semantic Web: Concepts, Technologies and Applications. Springer. [5] Fensel, D., Hendler, J., Lieberman, H. and Wahlster, W. (2005). Spinning the Semantic Web. Cambridge, Massachusetts: The MIT Press. [6] Grüninger, M., Fox, M. S. (1995). Methodology for the Design and Evaluation of Ontologies. Conf. AI Workshop on Basic Ontological Issues in Knowledge Sharing. [7] Hepp, M., De Leenheer, P., De Moor, A., and Sure, Y. (2008). Ontology Management: Semantic Web, Semantic Web Services, and Business Applications. Springer. [8] Noy, Natalya y McGuinness, Debora (2005). Desarrollo de Ontologías 101: Guía para crear la primera ontología. Universidad de Stanford, California. [9] Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F. and Lorensen, W. (1991). Object-Oriented modeling and design. Englewood Cliffs, New Jersey: Prentice Hall. [10] Uschold, M., Grüninger, M. (1996). Ontologies: Principles, Methods and Applications. Knowledge Eng. Rev., Vol. 11, Nº 2. [11] Hendler, J. (2001). Agents and the Semantic Web. IEEE Intelligent Systems, March/April 2001.
29
[12] Aguilar, F., Ruth, M. (2007). Orientaciones Generales para la elaboración de guías didácticas en la Modalidad de Educación a Distancia. UTPL, Loja. [13] Völkel, M., Oren, E. (2006). Personal Knowledge Management with Semantic Wikis. [14] Schaffert, S., Gruber, A., Westenhaler, R. (2005). A Semantic Wiki for Collaborative Knowledge Formation. In: Semantics 2005, Vienna, Austria. [15] Guarino, N. (1998). Formal ontology and information systems. In: Proceedings of the First International Conference on Formal Ontologies in Information Systems, FOIS’98, Trento, Italia. [16] Berners-Lee, T.; Lassila, O.; Hendler, J. (2001). The Semantic Web: A new form of Web content that is meaningful to computers will unleash a revolution of new possibilities. Scientific American, 284(5), pp. 34-43. [17] Protégé (2000). The Protégé Project: http://protege.stanford.edu [18] W3C Semantic Web: http://www.w3.org/2001/sw/ [19] CO-ODE: http://www.co-ode.org/ [20] OnToKnowledge Project: www.ontoknowledge.org/ [21] Dublin Core http://dublincore.org [22] Ontolingua: http://www-ksl-svc.stanford.edu:5915/doc/ ontology-server-projects.html [23] WebOnto: http://eldora.open.ac.uk:3000/Webonto [24] DAML Library: http://www.daml.org/ontologies/ [25] SchemaWeb: http://www.schemaWeb.info/ [26] OilEd: http://oiled.man.ac.uk
30