Ontology 101: Guía Para Crear Tu Primera Ontología


    Paso 1. Determinar el domino y alcance de la ontología
    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: 3( 1 votos)



Publicado el 8/07/2018.