|
Se sugiere comenzar el desarrollo de la ontología definiendo su dominio y alcance. Es decir, responder a varias preguntas básicas del tipo: • ¿Cual es el dominio de aplicación de la ontología? • ¿Cuál es la utilidad de la ontología? • ¿Para qué tipos de preguntas la información en la ontología debería proveer respuestas? • ¿Quién usará y mantendrá la ontología? Las respuestas a estas preguntas pueden cambiar durante el proceso de diseño de la ontología, pero en cualquier momento dado las mismas ayudarán a limitar el alcance del modelo. Preguntas de Competencia Una de las formas de determinar el alcance de la ontología es bosquejando una lista de preguntas que la base de conocimientos basada en la ontología debería ser capaz de responder, las preguntas de competencia [1]. Esas preguntas servirán después como prueba de control de calidad: ¿La ontología contiene suficiente información para responder estos tipos de preguntas? ¿Las respuestas requieren un nivel particular de detalle o representación de un área particular? Las preguntas de competencia son solamente un bosquejo y no necesitan ser exhaustivas. Paso 2. Considerar la reutilización de ontologías existentes Casi siempre vale la pena considerar lo que otra persona ha hecho y verificar si podemos refinar y extender recursos existentes para nuestro dominio y tarea particular. Reutilizar ontologías existentes puede ser un requerimiento si nuestro sistema necesita interactuar con otras aplicaciones que ya se han dedicado a ontologías particulares o vocabularios controlados. Muchas ontologías ya están disponibles en forma electrónica y pueden ser importadas dentro un entorno de desarrollo de ontologías que se este usando. El formalismo en el cual una ontología está expresada a menudo no interesa, puesto que muchos sistemas de representación de conocimiento pueden importar y exportar ontologías. Aun si el sistema de representación de conocimiento no puede funcionar directamente con un formalismo particular, la tarea de traducir una ontología a partir de un formalismo a otro no es usualmente difícil. Hay bibliotecas de ontologías reusables en la Web y en la literatura. Por ejemplo, se puede usar la biblioteca de ontologías DAML (http://www.daml.org/ontologies/) o la biblioteca de ontologías Ontolingua (http://www.ksl.stanford.edu/software/ontolingua/). También hay un cierto número de ontologías comerciales públicamente disponibles (p.e, UNSPSC (www.unspsc.org), RosettaNet (www.rosettanet.org), DMOZ (www.dmoz.org)). Paso 3. Enumerar términos importantes para la ontología Es útil escribir una lista con todos los términos con los que quisiéramos hacer enunciados o dar explicación a un usuario. ¿Cuáles con los términos de los cuales quisiéramos hablar? ¿Qué propiedades tienen esos términos? Inicialmente, es importante obtener una lista integral de términos sin preocuparse del recubrimiento entre los conceptos que representan, relaciones entre los términos, o cualquier propiedad que los conceptos puedan tener, o si los conceptos son clases o slots. Los siguientes dos pasos (desarrollando la jerarquía de clases y definiendo las propiedades de los conceptos-slots-) están estrechamente relacionadas. Es difícil hacer primero uno de ellos y luego hacer el otro. Típicamente, creamos unas cuantas definiciones de los conceptos en la jerarquía y luego continuamos describiendo las propiedades de esos conceptos y así sucesivamente. Esos dos pasos son también los más importantes en el proceso de diseño de la ontología. Paso 4. Definir las clases y la jerarquía de clases Hay varios posibles enfoques para desarrollar una jerarquía de clases [2]: • Un proceso de desarrollo top-down comienza con la definición de los conceptos más generales en el dominio con la subsecuente especialización de los conceptos. • Un proceso de desarrollo bottom-up comienza con la definición de las clases mas especificas, las hojas de la jerarquía, con el subsecuente agrupamiento de esas clases en conceptos más generales. • Un proceso de desarrollo combinado es el resultado de una combinación de los enfoques top-down y bottom-up: primero definimos los conceptos más sobresalientes y luego los generalizamos y especializamos apropiadamente. Ninguno de esos tres métodos es inherentemente mejor que cualquiera de los otros. El enfoque a tomar depende fuertemente de la visión personal del dominio. Si un desarrollador tiene una visión sistemática top-down del dominio, entonces será más fácil usar el enfoque top-down. El enfoque combinado es a menudo es el más fácil para muchos desarrolladores de ontologías, puesto que los conceptos del medio tienden a ser conceptos más descriptivos en el dominio [3]. Si se prefiere comenzar listando ejemplos específicos, el enfoque bottom-up podría ser el más apropiado. Sea cual sea el enfoque elegido, usualmente se comienza por la definición de las clases. De la lista creada en el Paso 3, se seleccionan los términos que describen objetos (de existencia independiente) en lugar de los términos que describen esos objetos. Esos términos serán las clases de la ontología y llegaran a ser anclas en la jerarquía de clases. Luego se organizan las clases en una taxonomía jerárquica preguntando si siendo una instancia de una clase, el objeto necesariamente será (p.e., por definición) una instancia de alguna otra clase. Si una clase A es una superclase de la clase B, entonces cada instancia de B lo es también de A. En otras palabras, la clase B representa un concepto que es un tipo de A. Paso 5. Definir las propiedades de las clases Las clases aisladas no proveerán suficiente información para responder las preguntas de competencia del Paso 1. Una vez que hemos definido algunas de las clases, debemos describir la estructura interna de los conceptos. Ya hemos seleccionado clases de la lista de términos creada en el Paso 3. La mayoría de los términos restantes son muy probablemente propiedades de esas clases. Para cada propiedad en la lista, debemos determinar qué clase es descripta por la propiedad. En general, hay varios tipos de propiedades de objeto: • propiedades intrínsecas. • propiedades extrínsecas. • partes, si el objeto es estructurado; pueden ser partes físicas y abstractas. • relaciones con otros individuos; éstas son las relaciones entre miembros individuales de una clase y otros ítems. Todas las subclases de una clase heredan las propiedades de esa clase. Una propiedad deberá estar adosado a la clase más general que pueda tener dicha propiedad. Paso 6. Definir las facetas de las propiedades Las propiedades pueden tener diferentes facetas que describen el tipo de valor, valores admitidos, cardinalidad, y otras características de los valores que pueden tomar. Cardinalidad La cardinalidad define cuantos valores una propiedad puede tener. Algunos sistemas solamente distinguen entre cardinalidad simple (admitiendo a lo sumo un valor) y cardinalidad múltiple (admitiendo cualquier cantidad de valores). Algunos sistemas admiten la especificación de una cardinalidad mínima y máxima. Tipo de valor Un tipo de valor describe qué tipos de valores pueden llenar la propiedad. Los tipos de valores más comunes son: • String es el tipo de valor más simple, el cual es usado por propiedades tales como nombre: el valor es una simple cadena de caracteres. • Number (algunas veces los tipos de valores Float e Integer son usados por ser más específicos) describe propiedades con valores numéricos. • Las propiedades del tipo Boolean son simples banderas si/no. • Las propiedades del tipo Enumerated especifican una lista específica de valores admitidos para la propiedad. • Las propiedades del tipo Instance admiten la definición de relaciones entre individuos. Las propiedades con tipo de valor Instance deben también definir una lista de clases admitidas de las cuales las instancias pueden provenir. Dominio y rango Las clases admitidas para las propiedades de tipo Instance son a menudo llamadas rango. Las clases a las cuales una propiedad está adosada son llamadas dominio. Las reglas básicas para determinar un dominio y un rango de un slot son similares. En términos más específicos: - Si una lista de clases que definen un rango o un dominio de una propiedad incluye una clase y sus subclases, remover la subclase. - Si una lista de clases que definen un rango o dominio de una propiedad contiene todas las subclases de la clase A, pero no la clase A en sí, el rango debería contener solamente la clase A y no las subclases. - Si una lista de clases que definen un rango o dominio contiene unas cuantas subclases de la clase A, considerar si la clase A daría una definición de rango más apropiada. Paso 7. Crear instancias El último paso consiste en crear instancias individuales de clases en la jerarquía. La definición de una instancia individual de una clase requiere (1) elegir una clase, (2) crear una instancia individual de la clase y (3) rellenar los valores de las propiedades. Fuentes: [1] Gruninger M. and Fox M. S.: Methodology for the Design and Evaluation of Ontologies. IJCAI Workshop on Basic Ontological in Knowledge Sharing. Montreal, Canada. 1995. [2]Uschold, M., Gruninger M.: Ontologies: Principles, Methods and Applications. Knowledge Engineering Review. 1996. [3]Rosch E.: Principles of Categorization. Cognition and Categorization. R. E. And B.B Lloyd, editors. Hillside, NJ, Lawrence Erlbaum Publishers: 27-48. 1978.
Tema: Inteligencia Artificial
'Ontology 101: Guía Para Crear Tu Primera Ontología' aparece también en las siguientes entradas:
¿Mejoramos la definición?
Puntos: 0( 0 votos)
Publicado el 8/07/2018. |