Metodologia para ontologias

7,308 views
7,071 views

Published on

1 Comment
1 Like
Statistics
Notes
No Downloads
Views
Total views
7,308
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
502
Comments
1
Likes
1
Embeds 0
No embeds

No notes for slide

Metodologia para ontologias

  1. 1. 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 investi- gació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 cons- truir 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 resul- tados 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
  2. 2. 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, propone- mos 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 requerimien- tos 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
  3. 3. 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” (Gru- ninger 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
  4. 4. ¿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 onto- logí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, faci- litan 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 posi- bilidad 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
  5. 5. 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, senci- llo 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 documen- tos 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 defi- nició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
  6. 6. 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 (Alema- nia) para el proyecto SWIM - A semantic wiki for mathematical knowledge management http://kwarc.info/projects/swim/. Esta basada en la estructura del documento OM- DOC 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 docu- mentos del área de matemática. SWIM es manejada exclusivamente por el desarrollador de la wiki. 6
  7. 7. 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 Alto, ontología sólo para artículos de la wiki documentos matemáticos Lenguaje de representación OWL OWL Aplicaciones Utilizada en el proyecto Utilizada en el proyecto Semantic Media Wiki SWIM Motor de wiki Media Wiki IkeWiki Licencia Licencia pública general Licencia pública general (GNU-GPL) (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, externa- lLink, internalLink y text. 7
  8. 8. 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
  9. 9. 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
  10. 10. 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 represen- tarlos 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 di- ferentes, 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
  11. 11. 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
  12. 12. 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 gra- nularidad 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 forma- dos 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érmi- nos 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 Atributos Clase Atributos Asignatura Universidad, modalidad, Enlace Tipo área, carrera, docente, estudiante. Objetivo Tipo, bimestre. Capítulo Bimestre Guía didáctica Ciclo, período, autor. Definición Texto, imagen. Orientación Tipo. Ejercicio Texto, imagen. Contenido Bimestre Autoevaluación Capítulo Bibliografía Tipo. Solucionario Capítulo 12
  13. 13. 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
  14. 14. Cuadro 9: Diccionario de clases de la ontología (parte 1) Clase Instancia Atributos de Atributos de Relaciones clase instancia Asignatura Matemáticas Universidad UTPL tiene guía discretas didáctica Modalidad Abierta tiene objetivo Área Técnica Carrera Ingeniería en Sistemas Docente Paola Sarango Estudiante Fausto Maldonado Objetivo Objetivo 1 Tipo General o específico Bimestre Primero o segundo Guía Guía didáctica Período Abril - agosto, alcanza didáctica de matemáticas octubre - febrero objetivo; tiene discretas unidad de información; tiene índice; Ciclo Primero, . . . tiene décimo introducción; tiene orientación; Autor Paola Sarango tiene bibliografía; tiene glosario; tiene palabra clave; tiene enlace; Índice Índice 1 Introduc- Introducción 1 ción Orienta- Orientación 1 Tipo General o ción específico 14
  15. 15. Cuadro 10: Diccionario de clases de la ontología (parte 2) Clase Instancia Atributos de Atributos de Relaciones clase instancia Contenido Contenido 1 Bimestre Primero o segundo Bibliogra- Libro 1 Tipo Básica, fía complementaria o dirección electrónica Glosario Entrada 1 tiene palabra clave Palabra Palabra 1 tiene enlace clave Enlace Enlace 1 Tipo Interno o externo Evaluación Autoeva- Autoevaluación Capítulo 1 luación 1 Soluciona- Solucionario 1 Capítulo 1 rio Unidad de Informa- ción Capítulo Capítulo 1 Bimestre Primero o segundo tiene sección Sección Sección 1 tiene definición; tiene ejercicio Definición Definición 1 Ejercicio Ejercicio 1 Tipo Propuesto o ilustra resuelto definición 15
  16. 16. 16 Figura 4: Modelo conceptual de la ontología
  17. 17. 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 sis- temas 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 fre- cuentes 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
  18. 18. 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
  19. 19. 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: asignatu- ra, 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
  20. 20. 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
  21. 21. 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 onto- logía cuantificándolas de forma universal y existencial. Figura 11: Definición de axiomas de la clase Asignatura 21
  22. 22. La figura anterior muestra la definición de los axiomas que pertenecen a la clase asig- natura: 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
  23. 23. 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, ge- nerado 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
  24. 24. 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
  25. 25. Los resultados de la aplicación de estas pruebas de validación a la ontología OntoWi- kiUTPL 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
  26. 26. Verificación de inferencia de clases: encuentra las clases más específicas a las que perte- nece una instancia; en otras palabras, determina la clase a la que pertenece cada uno de los individuos. 4. Evaluación de OntoWikiUTPL 4.1. 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 transforma- ron 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
  27. 27. 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 16 4.2. Evaluación a nivel estructural 4.2.1. 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
  28. 28. 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 0.86 del árbol de nodos hoja (PPH-ANH) Cuadro 17: Cálculo del PPH-ANH Concepto Caminos por Nodos por concepto 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 5 8 información 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
  29. 29. 5. Conclusiones y Líneas Futuras 1. No es necesario tener una vasta experiencia en el campo de la ingeniería del conoci- miento para construir una ontología; lo realmente importante es el escogitamiento de una metodología comprensible que explicite el proceso de desarrollo y la cola- boració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 docu- mentació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 cual- quier 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 Se- mantic 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 Applica- tions. Knowledge Eng. Rev., Vol. 11, Nº 2. [11] Hendler, J. (2001). Agents and the Semantic Web. IEEE Intelligent Systems, March/April 2001. 29
  30. 30. [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

×