Facultad 5
Trabajo de Diploma para optar por el título de Ingeniero en Ciencias Informáticas
Extensiones Fuzzy para el Módulo de Inferencia del Repositorio Semántico.
Autor: Eider Martínez Díaz.
Tutores: MSc. David Leyva Leyva.
Ing. Maikel Aparicio Reytor.
Ciudad de la Habana, mayo de 2010
Declaro que soy el único autor del presente trabajo de tesis y autorizo a la Universidad de las Ciencias Informáticas los derechos patrimoniales de la misma, con carácter exclusivo.
Para que así conste firmo la presente a los ____ días del mes de ________ del año ________.
Eider Martínez Díaz ______________
Firma del Autor
MsC. David Leyva Leyva
Ing. Maikel Aparicio Reytor ______________ ______________
Firma del Tutor Firma del Tutor
David Leyva Leyva: Jefe del Departamento de Producción de Herramientas Educativas, perteneciente al Centro de Tecnologías para la Formación. Facultad 8, Universidad de Ciencias Informáticas (UCI). Teléfono: (53) (07) 837 2453. [email protected] Licenciado en Cibernética-Matemática, Universidad de Las Villas (UCLV), 1988. Máster en Computación Aplicada, Universidad de Las Villas (UCLV), 1995.
Profesor de la Universidad de Holguín (UHo) desde 1990. Jefe de Departamento de Informática (2003-2005). Participó en un Proyecto de Educación a Distancia en la UHo del 2001 hasta el 2005, año en que comenzó a trabajar en la UCI. Ha participado en un gran número de eventos nacionales e internacionales. Le fueron concedidas sendas becas Intercampus en La Universidad de Castilla-La Mancha (1998) y La Universidad Autónoma de Madrid (2000). Trabajó como profesor invitado en la University of Belize (Belice, de 2001 a 2003) y de la Universidad Nacional de Ingeniería (Managua, Nicaragua, 2005).
En la UCI ha sido Jefe de Departamento de la Especialidad, Vice decano de Producción e Investigación, Jefe de Departamento de Técnicas de Programación y Jefe del Polo Teleformación, en todos los casos en la Facultad 10.
Maikel Aparicio Reytor: Profesor del Departamento se Implantación y Soporte Técnico, perteneciente al Centro de Tecnologías para la Formación. Facultad 8, Universidad de Ciencias Informáticas (UCI). Graduado como Ingeniero en Ciencias Informáticas en la Universidad de Ciencias Informáticas (UCI). Carretera a San Antonio de los Baños Km. 2
½, Torrens, Boyeros, Ciudad de La Habana. Cuba. Teléfono: (53) (07) 835 8282.
[email protected] Categoría Docente: Recién Graduado en Adiestramiento. Su trabajo de diploma fue desarrollado en la línea investigativa del tema que se propone. Como estudiante trabajó desde segundo año como miembro del antiguo Polo Teleformación.
Agradecimientos
A mi familia por creer siempre en mí y apoyarme en todo momento para cumplir con mi sueño de convertirme en ingeniero.
A todos mis compañeros a lo largo de toda mi carrera, por apoyarme en todo momento y ayudarme en los momentos más difíciles.
A mis tutores por el apoyo incondicional para realizar este trabajo
.
Dedicatoria
A mi madre por todo su amor, sacrifico y confianza en todo momento
.
Resumen
Debido al gran desarrollo de la World Wide Web, tanto en cantidad de contenidos y nodos, como en velocidades de acceso, aparecen por parte de la comunidad científico-técnica propuestas de utilización de la misma con objetivos más ambiciosos que la mera descarga de ficheros para ser presentados al usuario.
Con esa finalidad se desarrolla la Web Semántica, sistema que pretende introducir información entendible por Agentes Inteligentes, permitiendo de este modo que estos Agentes puedan aumentar sus bases de conocimiento y realizar inferencias que faciliten procesos realizados actualmente de forma manual por los usuarios.
En la Universidad de las Ciencias Informáticas, se creó un Repositorio de Objetos de Aprendizaje que permite el almacenamiento y búsqueda de Objetos de Aprendizaje, además este repositorio cuenta con un módulo de inferencia para la gestión de la información de la meta-información de los Objetos de Aprendizaje, que constituye una extensión semántica del repositorio, este módulo presentaba problemas en cuanto al grado de certeza de la información que infiere.
Por lo que como resultado de la investigación se creó una extensión del módulo de inferencia, desarrollando en la misma una ontología fuzzy con el objetivo de realizar inferencias fuzzy en el Repositorio de Objetos de Aprendizaje para de esta manera resolver el problema que presentaba el módulo.
Palabras claves
Web Semántica, Ontologías, Inferencias Fuzzy, Gestión de Conocimiento, Objetos de Aprendizaje.
Autor: Eider Martínez Díaz Página 1
Introducción... 1
Capítulo 1 Fundamentación teórica ... 7
Conceptos Fundamentales ... 7
1.1 Web Semántica. Definición. ... 7
1.1.1 Características Generales. ... 7
1.2 Lógica difusa o fuzzy ... 8
1.3 Ontología ... 10
1.3.1 Definición ... 10
1.3.2 Características Fundamentales. ... 11
1.3.3 Ontologías Fuzzy. ... 13
1.4 Lenguajes utilizados para la Implementación de la Web Semántica. ... 14
1.4.1 XML ... 14
1.4.2 RDF ... 15
1.4.3 DAML+OIL ... 15
1.4.4 OWL ... 16
1.4.4.1 Clasificación de OWL ... 17
1.4.4.2 Fuzzy OWL... 19
1.4.4.3 Motores de Inferencia para Ontologías en OWL. ... 19
1.5 Herramientas que implementan Ontologías. ... 22
1.5.1 JAVA, IDE NetBeans 6.5. ... 24
1.6 E-Learning y Repositorios. ... 24
1.6.1 Objetos de Aprendizaje. ... 25
1.6.2 Repositorio de OA ... 26
1.6.3 Repositorio Semántico. ... 27
1.6.4 Repositorio Semántico de OA en la UCI. ... 27
Conclusiones... 29
Capítulo 2. Propuesta de Extensión del Repositorio Semántico ... 30
2.1 Propuesta de Solución ... 30
Autor: Eider Martínez Díaz Página 2
2.2 Proceso de Fusificación de la Ontología ... 31
2.2.1 Proceso Automático de Fusificación de la Ontología ... 31
2.2.2 Proceso Manual de Fusificación de la Ontología... 32
2.3 Desarrollo de la interfaz con el API Jena. ... 39
2.4 Proceso de Inferencias Fuzzy ... 40
Conclusiones:... 44
Capítulo 3. Pruebas ... 45
3.1 Casos de Prueba ... 45
3.1.1Prueba de caja blanca ... 45
3.1.2 Pruebas a la Ontología. ... 48
Conclusiones:... 51
Conclusiones Generales: ... 52
Recomendaciones: ... 53
Referencias Bibliográficas ... 54
Bibliografía ... 57
Autor: Eider Martínez Díaz Página 1
Tabla 1 Representación de variables fuzzy creadas ... 35
Tabla 2 Caso de prueba # 1 utilizando técnicas de caja blanca al flujo de procesos Crear Modelo. ... 47
Tabla 3 Caso de prueba # 2 utilizando técnicas de caja blanca al flujo de procesos Crear Modelo. ... 47
Tabla 4 Caso de prueba # 3 utilizando técnicas de caja blanca al flujo de procesos Crear Modelo. ... 48
Tabla 5 Validación de la consistencia de los conceptos ... 49
Tabla 6 Validación de la Taxonomía ... 49
Tabla 7 Cálculo de clases equivalentes ... 49
Tabla 8 Cálculo de tipos inferidos ... 50
Autor: Eider Martínez Díaz Página 1
Figura 1 Representación de una ontología ... 13
Figura 2 Esquema del Repositorio Semántico ... 28
Figura 3 Ciclo de desarrollo de la extensión del RS ... 30
Figura 4 Desglose conceptual de las nueve categorías de LOM ... 38
Figura 5 Conceptos o subclases de la Categoría Educational... 39
Figura 6 Descripción del proceso de la aplicación ... 40
Figura 7 Arquitectura de Pellet ... 41
Figura 8 Porción de Código ... 46
Figura 9 Grafo de flujo ... 46
Autor: Eider Martínez Díaz Página 1 Introducción
En poco más de una década desde su aparición, la World Wide Web se ha convertido en un instrumento de uso cotidiano en la sociedad, comparable a otros medios tan importantes como la radio, la televisión o el teléfono, a los que aventaja en muchos aspectos. “La web es hoy un medio extraordinariamente flexible y económico para la comunicación, el comercio y los negocios, ocio y entretenimiento, acceso a información y servicios, difusión de cultura”, etc. La generación dinámica de páginas, el acoplamiento con bases de datos, la mayor interactividad con el usuario, la concepción de la web como plataforma universal para el despliegue de aplicaciones, la adaptación al usuario, son algunas de las tendencias evolutivas más marcadas de los últimos años. (4)
A finales de la década del noventa surge la Web Semántica (WS) donde uno de sus objetivos es “lograr que las máquinas puedan entender, además estaría poblada por agentes o representantes software capaces de navegar y realizar operaciones por nosotros para ahorrarnos trabajo y optimizar los resultados”. Para conseguir esta meta, la WS propone describir los recursos de la web con representaciones procesables (es decir, entendibles) no sólo por personas, sino por programas que puedan asistir, representar, o reemplazar a las personas en tareas rutinarias o inabarcables para un humano. “Las tecnologías de la WS buscan desarrollar una web más cohesionada, donde sea aún más fácil localizar, compartir e integrar información y servicios, para sacar un partido todavía mayor de los recursos disponibles en la web”. (5)
Esta web posibilita que los investigadores de cualquier disciplina puedan compartir sus conocimientos, permite el procesamiento automático y la organización de la información en la web, la búsqueda de información de manera eficaz y precisa, factores que contribuirían a un mejor funcionamiento de los sistemas para la gestión del conocimiento (GC) que no es más que el “Proceso sistemático de buscar, organizar, filtrar y presentar la información con el objetivo de mejorar la comprensión de las personas en un área específica de interés”. (5)
Autor: Eider Martínez Díaz Página 2
Una de las características fundamentales de la WS es el empleo de ontologías1 para definir la clase de diferentes recursos de la Web y las relaciones entre los mismos. Estas ontologías y deducciones plantean una serie de problemáticas como son: la dificultad que se tiene a la hora de expresar casos especiales, conceptos imprecisos o relativos. “El empleo de lógica nítida en las ontologías hace que estas ontologías sean frágiles en la Web, donde pocas veces se puede tener la certeza absoluta sobre los conceptos”. Por ello el empleo de la lógica difusa puede ser muy útil. (21)
El concepto de ontología ha estado presente desde hace mucho tiempo en la Filosofía, sin embargo recientemente se utiliza en Informática para “definir vocabularios que las máquinas puedan entender y que sean especificados con la suficiente precisión como para permitir diferenciar términos y referenciarlos de manera precisa. Las ontologías modelan la información de un dominio (un dominio es simplemente un área de temática específica o un área de conocimiento, tales como medicina, fabricación de herramientas” […], etc.) y a dicha información se le pueden realizar procesos de inferencia, es decir, es necesario que las máquinas actuales sean capaces de mediante procesos lógico- matemáticos inferir, deducir conclusiones a partir de datos, descripciones, conceptos e instancias. (22)
Haciendo uso de las tecnologías que dan soporte a la WS se han creado varios
¨Buscadores Semánticos¨ (tales como: SWoogle2, NaturalFlinder, Swootti, Ideas Afines, Askwiki, Powerset, Hakia, Lexxe, etc.), que no son más que “aquellos que realizan el rastreo atendiendo al significado del grupo de palabras que se escriben y no basándose en las actuales etiquetas”. Son más precisos que los buscadores tradicionales (como el de Google, Yahoo, Altavista, Excite, HotBot, Infoseek, etc.) al brindar los resultados de una búsqueda. (21)
Las mismas dificultades por las que atraviesan los buscadores tradicionales al realizar las búsquedas sucede con los contenidos almacenados en lo que se conoce como
1Será explicado más adelante
2 http://swoogle.umbc.edu.
Autor: Eider Martínez Díaz Página 3
“almacenes de contenidos3”, y estos contenidos constituyen una parte fundamental de una propuesta de formación que contempla su implementación predominantemente mediante internet, haciendo uso de los servicios y herramientas que esta tecnología provee, conocida como e-Learning, definido por Red TTnet como “conjunto de tecnologías, aplicaciones y servicios orientados a facilitar la enseñanza y el aprendizaje a través de Internet/Intranet, que facilitan el acceso a la información y la comunicación con otros participantes.” (19)
Una de las herramientas en las que se apoya el e-Learning es en los conocidos
“repositorios” los cuales no son más que contenedores de colecciones de recursos de cualquier tipo, pero cuando se habla de e-Learning y repositorios, se deben citar los Repositorios de Objetos de Aprendizaje (ROA), que son los que agrupan y almacenan los llamados Objetos de Aprendizaje (OA) los cuales son “cualquier recurso con una intención formativa, compuesto de uno o varios elementos digitales, descrito con metadatos, que pueda ser utilizado y reutilizado dentro de un entorno e-Learning”. (1)
La Universidad de las Ciencias Informáticas (UCI) como centro de estudio dedicado a la investigación, producción de software y servicios informáticos para la sociedad cubana y para el mundo; posee un Centro de Tecnologías para la Formación (FORTES) que dentro de sus líneas de investigación, está centrado en el estudio, desarrollo y soporte de herramientas para la Teleformación o e-Learning; y desde hace algunos años se ha venido estudiando esta línea y muestra de ello es la creación de herramientas y el desarrollo de trabajos de diploma relativos al e-Learning, entre los cuales podemos encontrar: Propuesta metodológica para la gestión de conocimiento basada en ontologías (6), Mecanismos Semiautomáticos y Automáticos para la Generación de Ontologías de Dominio , entre otros.
El primer trabajo de los anteriormente mencionados propone una metodología para la gestión del conocimiento basada en ontologías; posterior a este se desarrolló un segundo
3 Repositorio de contenido.
Autor: Eider Martínez Díaz Página 4
trabajo (20), el cual propone una metodología para la creación de ontologías de forma automática y semi-automática.
Dentro de las herramientas implementadas en el antiguo polo de Teleformación se encuentran: una herramienta de autor nombrada ROXS (la cual permite diseñar OA siguiendo el estándar SCORM (Sharable Content Object Reference Model)) y un ROA que permite el almacenamiento y búsqueda de OA, este último está puesto a disposición de la comunidad universitaria, lo cual presupone un aumento de OA, lo que pudiera traer consigo que las búsquedas se harían menos eficientes, debido a ello se quiere mejorar el sistema de búsquedas y el acceso a la información que hay en el mismo, y organizar los OA del repositorio de forma óptima, basándose en los metadatos que los describen.
Desde hace varios cursos en el antiguo polo de Teleformación se iniciaron los trabajos alrededor de la WS y la Gestión del Conocimiento basada en ontologías. En el curso recién concluido se implementó un Módulo de Inferencia para un Repositorio Semántico (16) que constituye una extensión de Repositorio de Objetos de Aprendizaje (ROA), pero este no es capaz de saber el grado de certeza de la información que maneja y no conoce cuán cierta es la información inferida.
Teniendo en cuenta todo lo antes expuesto se puede definir el siguiente problema investigativo:
¿Cómo gestionar el conocimiento contenido en el Repositorio de Objetos de Aprendizaje de la Universidad de las Ciencias Informáticas?
Se define como objeto de estudio Ingeniería Ontológica y enmarcando como campo de acción la Inferencia Fuzzy en ROA.
Se define como objetivo general desarrollar la extensión del módulo de inferencia del ROA que sea capaz de realizar inferencias fuzzy.
De este objetivo general se derivan los siguientes objetivos específicos:
Autor: Eider Martínez Díaz Página 5
Identificar las tecnologías que se implementan para el desarrollo de la WS, necesarias para la creación de la extensión fuzzy en el módulo.
Desarrollar la extensión fuzzy para el módulo de inferencia del ROA.
Instalar y probar el módulo con la extensión fuzzy.
Idea a Defender:
La creación de la extensión fuzzy del módulo de inferencia del ROA para la gestión del conocimiento contenido en el propio ROA de la UCI, debe garantizar recuperar el conocimiento con un alto grado de certeza.
Para dar cumplimiento a los objetivos se han definido las siguientes tareas:
1. Analizar los conceptos relativos a la Web Semántica.
2. Analizar los lenguajes utilizados para la implementación de la Web Semántica.
3. Analizar las tecnologías utilizadas para la construcción de ontologías y ontologías fuzzy.
4. Analizar los Trabajos de Diploma previos sobre el tema de la Web Semántica desarrollados en la UCI.
5. Analizar de las extensiones fuzzy a las ontologías basadas en OWL-DL (Web Ontology Language- Description Logic).
6. Crear ontologías fuzzy.
7. Crear un conjunto de reglas fuzzy para realizar inferencias en las ontologías fuzzy previamente creadas.
8. Realizar inferencias fuzzy sobre Ontologías fuzzy creadas.
9. Realizar pruebas a ontologías fuzzy.
10. Realizar pruebas al módulo con su extensión fuzzy.
Para el desarrollo de la investigación es necesaria la combinación de los métodos teóricos y empíricos. Dentro de los teóricos el Análisis y Síntesis, pues dicho método permite el análisis de teorías de la Ingeniería Ontológica y la documentación referente a la WS, y a las Ontologías Fuzzy, llevando a cabo una síntesis de los elementos más importantes de
Autor: Eider Martínez Díaz Página 6
lo antes analizado de forma tal que se obtenga la convergencia entre dichos elementos para así dar paso a la solución de una parte del problema.
Se estudia la evolución de varias tecnologías necesarias para la implementación de la WS utilizando el método Histórico-Lógico.
Dentro de los métodos empíricos se utiliza el de la Observación, al probar diferentes herramientas, como los editores ontológicos y razonadores, para ayudar a decidir cuáles serían finalmente utilizados para el desarrollo de la extensión del Módulo.
Capítulo 1 Fundamentación teórica: Se tratan de forma general los principales conceptos que cimientan la investigación, entre los que se encuentran las tecnologías de la WS, las Ontologías Fuzzy, así como las diferentes herramientas qué permiten el trabajo con Ontologías.
Capítulo 2 Propuesta de la Extensión del Repositorio Semántico: Se describe la propuesta de diseño del RS, enfocándose en el diseño de las ontologías fuzzy y la extensión del módulo de inferencia.
Capítulo 3 Prueba: En este capítulo se analizan las pruebas a la ontología fuzzy.
[Escribir texto] Página 7
Capítulo 1 Fundamentación teórica
En este capítulo se hace una exposición de los conceptos fundamentales que influyen en el origen de la Web así como la WS y dentro de la misma la utilización de las Ontologías que están vinculadas estrechamente a la Lógica difusa y a las Ontologías fuzzy. Haciendo especial referencia a la utilización de tecnologías y herramientas explicando en qué consisten y para qué se utilizan.
Conceptos Fundamentales 1.1 Web Semántica. Definición.
El objetivo de la iniciativa de la WS es desarrollar estándares y tecnologías con el fin de ayudar a los programas de ordenador a entender la información contenida en la Web, de forma que puedan buscar, localizar, descubrir o enlazar información más eficazmente que los motores de búsqueda léxicos actuales. Así, la WS se define como “una extensión de la Web actual en la cual se dota a la información de un significado bien definido, permitiendo a máquinas y personas trabajar cooperativamente”. Este objetivo se alcanza asociando metadatos a los documentos de la Web y estableciendo descripciones de los recursos que puedan ser procesados automáticamente. (13)
1.1.1 Características Generales.
El objetivo principal de la WS es superar las limitaciones que presenta la Web actual, empleando para ello descripciones explícitas sobre el significado, la estructura interna y los servicios de la Web.
Actualmente la Web es un inmenso grafo formado por nodos del mismo tipo que representarían a los documentos Web interconectados por aristas que serían los hiperenlaces que tan solo guardan la información sobre el enlace que se quiere visitar.
Autor: Eider Martínez Díaz Página 8
“El planteamiento en la WS cambia totalmente, ya que cada nodo es un recurso que tiene un tipo determinado y cuyas relaciones con otros elementos están también explícitamente definidas”. (13)
El concepto de ontología es crucial en la web semántica. En este contexto, la web semántica consiste en una serie de bases de conocimiento distribuidas y una serie de agentes inteligentes que pueden leer y razonar sobre conocimiento público basándose en ontologías.
La WS se compondría por una red de nodos tipificados con clases e interconectados con relaciones definidas ambas en una ontología compartida por distintos autores. Desde luego es clave que “las ontologías se definan siempre de forma consistente para que todos puedan contribuir en su desarrollo y utilizarlas”. De esta forma no se duplicarían esfuerzos y todos podrían trabajar con un mismo marco. A partir de una red como la descrita anteriormente, no sería difícil crear programas que pudieran navegar por dicha red y poder realizar tareas complejas, inviables en la Web actual. (11)
Por otra parte, la Web además de facilitar el acceso a su contenido seguiría ofreciendo servicios a los usuarios, si bien se mejoraría la definición de los servicios Web. Para ello se podrían definir ontologías sobre la funcionalidad de dichos servicios, describiendo entradas y salidas, condiciones necesarias para su ejecución, efectos que se producirán, etc. Con estas descripciones se facilita que se pueda procesar automáticamente la información de los servicios ofrecidos y facilitar tareas como la comunicación entre los mismos.
1.2 Lógica difusa o fuzzy
La lógica difusa o lógica heurística se basa en lo relativo de lo observado. Este tipo de lógica toma dos valores aleatorios, pero contextualizados y referidos entre sí. Así, por ejemplo, una persona que mida 2 metros es claramente una persona alta, si previamente
Autor: Eider Martínez Díaz Página 9
se ha tomado el valor de persona baja y se ha establecido en 1 metro. Ambos valores están contextualizados a personas y referidos a una medida métrica lineal.(4)
La lógica difusa se adapta mejor al mundo real en el que vivimos, e incluso puede comprender y funcionar con nuestras expresiones, del tipo "hace mucho calor", "no es muy alto", "el ritmo del corazón está un poco acelerado", etc.
La clave de esta adaptación al lenguaje, se basa en comprender los cuantificadores de nuestro lenguaje (en los ejemplos de arriba "mucho", "muy" y "un poco").
En la teoría de conjuntos difusos se definen también las operaciones de unión, intersección, diferencia, negación o complemento, y otras operaciones sobre conjuntos, en los que se basa esta lógica.
Para cada conjunto difuso, existe asociada una función de pertenencia para sus elementos, que indican en qué medida el elemento forma parte de ese conjunto difuso.
Las formas de las funciones de pertenencia más típicas son trapezoidales, lineales y curvas.
Se basa en reglas heurísticas de la forma SI (antecedente) ENTONCES (consecuente), donde el antecedente y el consecuente son también conjuntos difusos, ya sea puros o resultado de operar con ellos. Sirvan como ejemplos de regla heurística para esta lógica (nótese la importancia de las palabras "muchísimo", "drásticamente", "un poco" y
"levemente" para la lógica difusa):
SI hace muchísimo calor ENTONCES disminuyo drásticamente la temperatura.
SI voy a llegar un poco tarde ENTONCES aumento levemente la velocidad.
Los métodos de inferencia para esta base de reglas deben ser simples, veloces y eficaces. Los resultados de dichos métodos son un área final, fruto de un conjunto de
Autor: Eider Martínez Díaz Página 10
áreas solapadas entre sí (cada área es resultado de una regla de inferencia). Para escoger una salida concreta a partir de tanta premisa difusa, el método más usado es el del centroide, en el que la salida final será el centro de gravedad del área total resultante.
(4)
Las reglas de las que dispone el motor de inferencia de un sistema difuso pueden ser formuladas por expertos, o bien aprendidas por el propio sistema, haciendo uso en este caso de redes neuronales 4para fortalecer las futuras tomas de decisiones.
1.3 Ontología 1.3.1 Definición
Dentro de los muchos conceptos relacionados con las ontologías se pueden citar los siguientes:
“Una Ontología es una especificación formal y explícita de una conceptualización compartida”. La interpretación de esta definición es que las ontologías definen conceptos y relaciones de algún dominio de forma compartida y consistente; y que esta conceptualización debe estar representada de una manera formal, legible y utilizable por los ordenadores. (11)
En la rama de la Informática: “Una Ontología define los términos a utilizar para describir y representar un área de conocimiento. Las Ontologías son utilizadas por las personas, las bases de datos, y las aplicaciones que necesitan compartir un dominio de información (un dominio es simplemente un área de temática específica o un área de conocimiento, tales como medicina, fabricación de herramientas […], etc.). Las Ontologías incluyen definiciones de conceptos básicos del dominio, y las relaciones entre ellos, que son útiles para los ordenadores”. (11)
4 http://es.wikipedia.org/wiki/Redes_neuronales
Autor: Eider Martínez Díaz Página 11 1.3.2 Características Fundamentales.
Una ontología “define los términos usados para describir y representar un área de conocimiento” (como medicina, arte, etc.). Las ontologías se utilizan por las personas y por sistemas computacionales para compartir información de un dominio (entendiendo como dominio una porción de área de conocimiento). (11)
Las ontologías tienen los siguientes componentes que servirán para representar el conocimiento de algún dominio:
Conceptos: son las ideas básicas que se intentan formalizar. Los conceptos pueden ser clases de objetos, métodos, planes, estrategias, procesos de razonamiento etc.
Relaciones: representan la interacción y enlace entre los conceptos del dominio. Suelen formar la taxonomía del dominio.
Funciones: son un tipo concreto de relación donde se identifica un elemento mediante el cálculo de una función que considera varios elementos de una ontología.
Instancias: se utilizan para representar objetos determinados de un concepto.
Axiomas: son teoremas que se declaran sobre declaraciones que deben cumplir los elementos de la ontología.
Las ontologías tienen características diferenciadoras respecto a una base de datos que almacene la información del sistema donde las tablas sean clases, las tuplas de las tablas instancias y las relaciones entre las instancias relaciones simples o múltiples entre los identificadores de la tablas. Los elementos diferenciadores entre una ontología y la información almacenada en una base de datos son:
Autor: Eider Martínez Díaz Página 12
1. Permiten que los objetos tengan propiedades, que no estén a la definición de la clase a que pertenecen. Cuando se define una tabla que contiene la información de un objeto, se indica a priori el número de campos y el tipo de datos a almacenar en cada campo.
2. Permiten múltiples definiciones de clases y propiedades. En una base de datos normalmente existe una tabla fija para el almacenamiento de información de un objeto.
3. La información de un objeto no tiene por qué estar necesariamente en un documento (aunque es cierto que existen bases de datos distribuidas, en estos lenguajes se permite mayor libertad). Además puede ir apareciendo información en documentos distintos.
4. No se supone nunca que se tiene un conocimiento total de nuestro dominio de interés.
5. Al estar basados en lenguajes lógicos, podrán procesarse inferencias (deducciones), que podrán realizar sistemas no humanos. No se pueden realizar muchas inferencias automáticas basándonos en una base de datos. (4)
A continuación se muestra el ejemplo de una ontología diseñada para un sistema de árboles utilizando integración semántica en la web.
Autor: Eider Martínez Díaz Página 13
Figura 1 Representación de una ontología
1.3.3 Ontologías Fuzzy.
La ontología difusa (FuzzyOnt) se basa en una modificación de la ontología normal o
“Crisp”. Partiendo de las relaciones entre los términos de la ontología, se procede de manera incremental añadiendo valores de pertenencia a las relaciones existentes y en algunos casos añadiendo también nuevas relaciones. Otra característica importante es la normalización de los valores de pertenencia, de tal forma que la suma de los valores de pertenencia de cualquier término de la ontología es igual a 1. Esta normalización juega un papel importante en el mapeo de consultas a la ontología: para cada término de la consulta sólo una interpretación (un mapeo) es elegido y el resto de posibles mapeos son excluidos.
La ontología difusa se define formalmente como una cuádrupla:
= (C, R, F, A) Donde:
C: es un conjunto de conceptos difusos o Entidades E.
Autor: Eider Martínez Díaz Página 14
R: es un conjunto de relaciones difusas en .
R = T donde T representa las relaciones taxonómicas y las que no se derivan de la taxonomía de la ontología.
F: es un conjunto de relaciones difusas, de tal manera que una f de F se define como:
X P [0,1]
Siendo P un conjunto de enteros, Strings, etc.
A: es un conjunto de Axiomas expresados en un lenguaje lógico apropiado (ej.:
predicados para restringir el significado de conceptos, relaciones, funciones)
1.4 Lenguajes utilizados para la Implementación de la Web Semántica.
La tecnología que se ha creado para hacer posible la web semántica incluye lenguajes para la representación de ontologías, parsers, lenguajes de consulta, entornos de desarrollo, módulos de gestión (almacenamiento, acceso, actualización) de ontologías, módulos de visualización, conversión de ontologías y otras herramientas y bibliotecas.
El primer lenguaje para la construcción de la web semántica fue SHOE (Simple HTML Ontology Extensions), creado por Jim Hendler en la Universidad de Maryland en 1997.
Desde entonces se han definido otros estándares y lenguajes con finalidad similar, como XML, RDF, DAML+OIL, y recientemente OWL, que a continuación se abordarán.
1.4.1 XML
XML (Extensible Markup Language) representa una primera aproximación de la WS, aunque no esté pensando para definir ontologías, “es el estándar más extendido hoy día en las aplicaciones de esta línea pre-WS. XML permite estructurar datos y documentos en forma de árboles de etiquetas con atributos”. Parsers como DOM (Document Object Model o Modelo de Objetos de Documento), permiten moverse por las estructuras XML desde un programa Java o C++, y existe la multitud de herramientas para facilitar la compatibilidad de XML con bases de datos, JavaBeans, etc. (10)
Autor: Eider Martínez Díaz Página 15
XML es el primer paso en la dirección de avanzar hacia una representación explícita de los datos y la estructura de los contenidos Web, separado de su representación en HTML.
“Proporciona además una sintaxis para hacerlo posible pero ofrece una capacidad limitada para expresar la semántica. El modelo de datos XML consiste en un árbol que no distingue entre objetos y relaciones, ni tiene noción de jerarquía de clases”. (10)
1.4.2 RDF
RDF (Resource Description Framework) se publicó la primera versión en 1990, es un lenguaje para la definición de ontologías y metadatos en la Web. RDF es hoy el estándar más popular y uno de los más extendidos en la comunidad de la Web Semántica. El elemento de construcción básica en RDF es el “triple” o sentencia, que consiste en dos nodos (sujeto y objeto) unidos por un arco (predicado), donde los nodos representan recursos, y los arcos propiedades. (13)
Con RDF Schema (RDFS) se pueden definir jerarquías de clases de recursos, especificando las propiedades y relaciones que se admiten entre ellas. “En RDF las clases, relaciones y las propias sentencias son también recursos y por lo tanto se pueden analizar y recorrer como parte del grafo, o incluso acertar sentencias sobre ellas”. Se han definido diferentes formas sintácticas para la formulación escrita de RDF pero quizás la más extendida es la basada en XML, es por ello que RDF se presenta a menudo como una extensión de XML. (13)
1.4.3 DAML+OIL
DAML+OIL es una propuesta de lenguaje de representación de ontologías más reciente, fruto de la cooperación entre los grupos de trabajo de OIL (Ontology Inference Layer) y DARPA (US Defense Advanced Research Projects Agency), quienes anteriormente habían desarrollado el lenguaje DAML (DARPA’s Agent Markup Language) con la finalidad de extender el nivel de expresividad de RDFS. Por tanto DAML+OIL es “un lenguaje que unifica estos dos lenguajes, aunando esfuerzos en el camino de la
Autor: Eider Martínez Díaz Página 16
construcción de un lenguaje estándar para la definición de ontologías”. Aunque DAML+OIL hereda muchas de las características de OIL, difiere en algunas. De hecho, se aleja del modelo basado en frames de OIL, potenciando Lógica Descriptiva.(8)
A nivel práctico, “DAML+OIL demuestra ser más útil como soporte para ontologías, sin embargo aún tiene ciertas carencias como formato de intercambio”. Fue a partir de esta unión cuando se definió el lenguaje OWL (Web Ontology Language), con el propósito de reunir todas las ventajas de DAML+OIL y resolver los problemas de este lenguaje. (8)
1.4.4 OWL
El lenguaje ontológico web (Web Ontology Language, OWL) es un lenguaje basado en RDFS (lenguaje ya descrito en otro apartado), como parte de lo que se entiende como Web Semántica.
OWL apareció como recomendación en febrero del 2004. Su diseño se ha visto influenciado por más de diez años de investigación en Lógica Descriptiva (DL) Su primer predecesor se puede considerar SHOE, un lenguaje basado en Frames con características muy apreciadas en la web:
• Una sintaxis construida sobre XML.
• Los nombres son URIs, lo que le permite reutilizar la gran ventaja de los nombres únicos de los recursos, y evitar ambigüedades.
• Suposición de que las ontologías pueden reutilizarse, cambiar y ampliarse en el tiempo, por lo que ofrece posibilidades para importaciones, alias locales para los nombres largos, e información sobre versiones y compatibilidades hacia atrás.
Otro lenguaje que influenció de forma destacable a OWL fue DAML-ONT. La iniciativa americana DARPA Agent Markup Language (DAML) nació en 1999 con la idea de ser la
Autor: Eider Martínez Díaz Página 17
base de la Web Semántica. “Ya se basaba en RDFS, pero se decidió enriquecer su sintaxis para aumentar su expresividad”, por lo que se creó el lenguaje DAML-ONT (también conocido simplemente como DAML). (2)
Los esfuerzos de DAML y OIL se unieron en una iniciativa entre Europa y Estados Unidos, que se llamó DAML+OIL, que ya se basó en Lógica Descriptiva y a su vez fue más compatible con RDFS, aunque surgieron algunas incompatibilidades cuando salió la versión definitiva de RDF y RDFS. (2)
OWL es la apuesta de DARPA para la WS, ya que permite varios grados de complejidad (varios niveles), así como una sintaxis robusta y probada, y un nivel de expresividad alto.
(2)
1.4.4.1 Clasificación de OWL
OWL se presenta con tres niveles del lenguaje, en función de lo expresivo (y por tanto peor a la hora de inferir) que sea, lo que permite para sistemas más sencillos limitar la expresividad buscando una mayor posibilidad de cálculo. De menos a más expresivo están:
OWL-Lite es el nivel básico y está orientado a la creación de jerarquías de clasificación con restricciones simples. Por ejemplo, OWL-Lite sólo permite restricciones de cardinalidad con valores 0 ó 1. Este sublenguaje es el menos expresivo, por lo que suele utilizarse para traducir a OWL tesauros y otras taxonomías. La ventaja principal de OWL-Lite es que al ser más limitado, el razonamiento es más eficiente y resulta más sencillo trabajar con él. El nivel Lite es equivalente a la lógica Descriptiva. (2)
OWL-DL, es un sublenguaje más expresivo que el anterior, al tiempo que todas las conclusiones son computables y todos los cálculos terminan en tiempo finito.
Autor: Eider Martínez Díaz Página 18
OWL-DL incluye todos los constructores del lenguaje OWL pero sólo permite utilizarlos bajo ciertas restricciones. Por ejemplo:
Las clases no pueden considerarse individuos (y, en consecuencia, una clase no puede ser instancia de otra).
La intersección entre el conjunto de los objetos y los tipos de datos concretos debe ser vacía (por lo tanto, no pueden definirse nuevos tipos de datos).
Ciertos calificativos (inversa, inversa funcional, simetría, transitividad) no pueden aplicarse sobre las propiedades de tipos de datos. (3)
OWL-Full, aunque no aumenta la sintaxis de OWL-DL, sí permite un cambio conceptual grande. Tanto OWL-Lite como OWL-Full tienen bien separadas las instancias, las clases y las propiedades, OWL mantiene la relajación de RDFS, permitiendo que una URI sea una clase y a su vez la instancia de otra clase o incluso una propiedad (y de qué tipo), etc. Este nivel de lenguaje OWL no tiene nivel de procedimientos de inferencia completos y seguros. (2)
A continuación se muestra un ejemplo de código de este lenguaje:
<owl:Class rdf:about="http://www.owl-ontologies.com/slor#C_Purpose">
<rdfs:subClassOf>
<owl:Class rdf:about="http://www.owl-
ontologies.com/slor#Lom_Childs_Classification"/>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty>
<owl:DatatypeProperty rdf:about="http://www.owl- ontologies.com/slor#C_purpose_source"/>
</owl:onProperty>
Autor: Eider Martínez Díaz Página 19
<owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
>1</owl:maxCardinality>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty>
<owl:DatatypeProperty rdf:about="http://www.owl- ontologies.com/slor#C_purpose_value"/>
</owl:onProperty>
<owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
>1</owl:maxCardinality>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
1.4.4.2 Fuzzy OWL
Fuzzy OWL es un lenguaje empleado para definir ontologías fuzzy con elementos de lógica difusa. La idea general es ampliar los lenguajes que forman la WS para permitir expresar el grado de verdad que tienen los elementos de las ontologías y los resultados de los razonamientos. (7)
Fuzzy OWL propone una serie de extensiones en los lenguajes de la WS, tales como:
f-OWL
f-DL
f-SWRL(A Semantic Web Rule Language)
1.4.4.3 Motores de Inferencia para Ontologías en OWL.
Autor: Eider Martínez Díaz Página 20
Las tareas de razonamiento5 son llevadas a cabo por los motores de inferencia6, módulos software que implementan algoritmos deductivos clásicos optimizados para el subconjunto de la Lógica de Primer Orden que delimita el nivel de la Lógica de Descripciones que aceptan.
En la literatura existen diversos motores orientados a la inferencia sobre niveles expresivos de la Lógica de Descripciones similares a OWL-DL. Entre ellos destacan los razonadores Racer7, FaCT8, Pellet9, JESS10.
Racer (RenamedABox and Concept Expression Reasoner) ha sido desarrollado en la Universidad de Hamburgo, aunque actualmente es actualizado y mantenido comercialmente por la empresa Racer Systems bajo el nombre RacerPro. El sistema Racer implementa la lógica de descripciones por lo que es compatible con OWL-DL. (9)
“Racer proporciona facilidades para realizar tareas de razonamiento que incluyen procesamiento algebraico y de cadenas”, como por ejemplo manejo de restricciones min/max sobre enteros, (in)ecuaciones polinomiales lineales sobre reales, (in)ecuaciones no lineales polinomiales sobre complejos o comparación de cadenas. Adicionalmente, RACER ofrece un lenguaje propio para la consulta de instancias denominado nRQL. (9)
FACT (Fasta Clasificación of Terminologies) es un clasificador desarrollado por Ian Horrocks en la Universidad de Manchester. FaCT implementa dos razonadores, uno para la lógica aumentada con roles transitivos, roles funcionales y jerarquía de roles) y otro para esta misma lógica pero con roles inversos y restricciones de cardinalidad numéricas).
Las características de FaCT son muy similares a las de RACER: “ofrece un lenguaje
5 Razonamiento: es la facultad humana que permite resolver problemas.
6 Inferencia: es una evaluación que realiza la mente entre expresiones bien formadas de un lenguaje.
7 http://www.sts.tu-harburg.de/~r.f.moeller/racer/
8 http://owl.man.ac.uk/factplusplus/
9 http://pellet.owldl.com/
10 http://www.jessrules.com/
Autor: Eider Martínez Díaz Página 21
igualmente expresivo, soporta razonamiento con varias bases de conocimiento y utiliza algoritmos tableaux para la inferencia. FaCT ofrece además una arquitectura cliente- servidor basada en CORBA para acceder a las ontologías”. Actualmente existe una nueva versión de FaCT denominada FaCT++ que optimiza los algoritmos utilizados en el FaCT original. (9)
Pellet “es un razonador de lógica descriptiva realizado en Java distribuido con una licencia de código abierto”. Tiene una gran cantidad de funciones avanzadas pero al estar realizado con el lenguaje Java tiene grandes necesidades de procesamiento y memoria, lo que puede no ser adecuado para aplicaciones de recursos muy restringidos. Entre otras cosas permite realizar análisis y reparación de ontologías.
Pellet ofrece las funcionalidades habituales, como son validación de la jerarquía de conceptos, comprobación de consistencia de la ontología, clasificación, o respuesta a preguntas sobre instancias usando un lenguaje propio. (9)
JESS (Java Expert System Shell)
JESS fue diseñado para integrar fácilmente Clips11 y Java12. Originalmente (1995) era un clon de Clips, programado en Java, hoy es mucho más (versión actual: 6.0). Acepta casi cualquier fichero que funcione con Clips. Su objetivo principal es: Aplicaciones Java + razonamiento de un sistema experto (reglas).
Dentro de las características que posee JESS se encuentran:
Utiliza el algoritmo de Rete para procesar las reglas.
Puede obtener mayor rapidez que Clips.
Incluye encadenamiento hacia atrás (5.0).
11 http://es.wikipedia.org/wiki/CLIPS
12 Plataforma de desarrollo
Autor: Eider Martínez Díaz Página 22
Permite manipulación directa de objetos Java (incluso scripts de Java).
Incluye lógica difusa en la versión 5.0 (FuzzyJess).
1.5 Herramientas que implementan Ontologías.
Para desarrollar aplicaciones basadas en RDF, OWL o lenguajes similares se precisan bibliotecas para leer y procesar las ontologías definidas en estos lenguajes. Basta dar un vistazo a esta lista de recursos RDF13: para comprobar la multitud de parsers y herramientas que se han desarrollado al efecto.
Sin embargo con diferencia el parser de RDF y OWL más popular es Jena14, desarrollado por Hewlett Packard, que permite “leer, recorrer y modificar grafos tanto RDF como OWL desde un programa Java. Jena permite además guardar las ontologías tanto en RDF, como en formato de base de datos, lo que es importante para grafos muy grandes”. Otra librería de similares características para RDF y OWL es Sesame, desarrollada en el proyecto europeo Ontoknowledge y actualmente distribuido por Aidministrator15,
Jena incluye además un motor de consulta para RDQL, y Sesame ofrece el propio RQL y SeRQL. Las últimas versiones de Jena y Sesame han incorporado también motores de razonamiento para las expresiones lógicas de OWL.
Escribir en lenguajes como RDF y OWL resulta sumamente difícil y propenso a errores.
Afortunadamente se pueden utilizar entornos gráficos para visualizar y construir ontologías de forma mucho más razonable, como Kaon16, WebOnto17 o Protégé 18.
13 http://www.ilrt.bristol.ac.uk/discovery/rdf/resources
14 http://jena.sourceforge.net/index.html
15 http://www.aidministrator.com/
16 http://kaon.semanticweb.org/
17 http://gvsr.polytech.univ-nantes.fr/GVSR/task?action=sheetview&key=webonto
18 http://protege.stanford.edu/
Autor: Eider Martínez Díaz Página 23
Kaon es una infraestructura de gestión de ontologías dirigida a aplicaciones de negocios, una de sus características fundamentales es que es de código abierto, incluye una suite completa de herramientas para la creación y administración de ontologías. Además proporciona un marco para la creación de aplicaciones basadas en ontologías. Está basado en RDF(S). (7)
WebOnto fue diseñado para apoyar la navegación colaborativa, la creación y edición de ontologías. Está implementado como un applet de Java y ambos incluyen una interfaz gráfica de usuario, para la navegación de grano grueso, de grano fino y de inspector de las ventanas.
WebOnto proporciona un rico conjunto de opciones para personalizar la presentación de la información, lo que hace fácil la navegación por grandes ontologías, así como posee una API de cliente, que puede utilizarse para recuperar información de las ontologías WebOnto y para la ejecución de aplicaciones construidas con este editor. También permite la participación de varios usuarios en el desarrollo de la ontología.
Protégé: desarrollado por el Stanford Medical Informatics de la Universidad de Stanford, es la herramienta de construcción de ontologías que más usuarios tiene actualmente. Con ella se puede fácilmente crear clases y jerarquías, declarar propiedades para las clases, crear instancias e introducir valores, todo ello en un entorno de menús, botones, cuadros de diálogo y representaciones gráficas fáciles de usar.
Protégé “tiene su propio lenguaje interno para definir ontologías, pero permite también trabajar con RDF y OWL de modo transparente”. Protégé es un entorno abierto y fácil de extender, que ha generado en torno suyo toda una comunidad que contribuye activamente a ampliar el entorno con todo tipo de contribuciones en forma de plug-ins, y está haciendo de esta herramienta un entorno sumamente potente. (17)
Autor: Eider Martínez Díaz Página 24 1.5.1 JAVA
19, IDE NetBeans 6.5
20.
Java es una plataforma de desarrollo orientada a objetos, desarrollado por Sun Microsystems a principios de los años noventa. El lenguaje en sí mismo toma mucha de su sintaxis de C y C++, pero tiene un modelo de objetos más simple y elimina herramientas de bajo nivel, que suelen inducir a muchos errores, como la manipulación directa de punteros o memoria.
Es un lenguaje multiplataforma, de código abierto que consta con una gran cantidad de APIs y frameworks para agilizar el trabajo con la misma. En los últimos años la Sun ha apoyado al desarrollo de la plataforma Java utilizando el NetBeans 6.5 debido a que é ste es de código abierto, pues se distribuye bajo licencia GPL e implementa las plataformas de desarrollo: Java ME, Java SE, Java EE y Java FX. Se ha seleccionado este IDE para el desarrollo de la herramienta debido a que esta cuenta con una gran cantidad de pluggins que apoyan el desarrollo usando las tecnologías de la WS. (18)
1.6 E-Learning y Repositorios.
Desde la revolución industrial, la educación a distancia surge para facilitar la especialización del personal. La tecnología siempre ha estado compuesta por diferentes opciones para compartir información, desde material impreso, radio-conferencias, teleconferencias, videos e incluso CD-ROMs apoyados por correspondencia postal y llamadas telefónicas. Con Internet se ha dado un nuevo paso en el tema de la educación a distancia convirtiéndola en una experiencia virtual. E-Learning es la forma de designar a este tipo de educación que se brinda a través de Internet.
De forma general RedTTent define el e-Learning como “conjunto de tecnologías, aplicaciones y servicios orientados a facilitar la enseñanza y el aprendizaje a través de
19 http://java.sun.com
20 http://netbeans.org
Autor: Eider Martínez Díaz Página 25
Internet/Intranet, que facilitan el acceso a la información y la comunicación con otros participantes.” (19)
Entre las principales ventajas que ofrece la educación virtual se encuentran:
1. La reducción de costos para dar cursos a más número de participantes que lo tradicional en un aula de clases.
2. Ahorro en seminarios y capacitación de empresas muy descentralizadas como los bancos y la flexibilidad de horarios, factor de suma importancia pues permite al estudiante calendarizar el curso de la mejor forma posible.
3. La interacción que generan los cursos, despertando el interés del estudiante y ayudando a aquellos tímidos a ser de los más activos en clases por medio de foros de discusión y otros medios de participación.
Una de las herramientas en las que se apoya el E-Learning es en los llamados
“repositorios o repositorios digitales”. Un repositorio es un lugar donde se almacena información, la cual puede o no estar estructurada. Cuando un usuario busca información en un repositorio, describe de manera breve el recurso que quiere obtener como respuesta. Los buscadores son la herramienta primaria para realizar búsquedas en repositorios. (12)
1.6.1 Objetos de Aprendizaje.
Un OA, abstrayendo las distintas definiciones e implementaciones que existen, se puede conceptualizar como una entidad digital que consta de tres elementos: “unos contenidos o recursos, unas descripciones del comportamiento del objeto, y un conjunto de metadatos que hacen referencia al objeto”. Los OA sirven para crear recursos educativos digitales de una forma simple, mediante el ensamblaje de recursos ya existentes localizados en el propio sistema o en otros sistemas interconectados mediante una red, o bien construidos para plataformas heterogéneas. (1)
Autor: Eider Martínez Díaz Página 26 1.6.2 Repositorio de OA
El e-Learning necesita un sistema que le facilite la recopilación, el acceso y el compartir recursos educativos, en el que, apegándose a las necesidades específicas del sector, se tenga un sistema de almacenamiento de contenidos que se integre y comunique fácilmente con los otros sistemas que operan en los ambientes de aprendizaje en línea y es aquí en donde los Repositorios de Objetos de Aprendizaje tienen su origen.
“Se ha insistido en que la reutilización debe ser una de sus principales bondades del ROA, es entonces casi intrínseco que se tenga un lugar destinado para su almacenamiento y clasificación para facilitar posteriormente su mantenimiento, localización y, posiblemente, también compartir estos OA con otros sistemas para aplicaciones diversas. Este almacén es lo que se conoce como Repositorio de Objetos de Aprendizaje”. Los sistemas de repositorios son la infraestructura clave para el desarrollo, almacenamiento, administración, localización y recuperación de todo tipo de contenido digital. (1)
Tratando el tema de los repositorios vistos como almacenes de OA y extrapolados al contexto educativo, el programa CANARIE21 dice que los ROA “son un catálogo electrónico/digital que facilita las búsquedas en Internet de objetos digitales para el aprendizaje”.
El principal problema de estos repositorios es el de carecer de un modelo conceptual que establezca qué es un OA y qué descriptores de metadatos hay asociados a cada una de las diferentes conceptualizaciones. Sin acuerdo universal sobre el modelo de metadatos a utilizar, ni certeza sobre la compleción de los mismos por parte del creador del registro de metadatos, surge una grave carencia que dificulta la automatización en estos repositorios.
Actualmente, la calidad de los registros de metadatos depende, entre otros, de los siguientes factores:
21 http://oknl.edu.gov.on.ca/eng/pdf/1_3_13_1.pdf
Autor: Eider Martínez Díaz Página 27
La información proporcionada en los metadatos depende de la bondad del creador del registro y del tiempo necesario para añadir dicha información.
Las capacidades de edición o herramientas proporcionadas por el repositorio.
El nivel de conocimiento del creador del registro sobre los estándares de metadatos de OA.
El modelo conceptual del repositorio: qué entiende el creador del registro que es un objeto de aprendizaje, y qué estructura de información de metadatos debe tener.
1.6.3 Repositorio Semántico.
Los RS son aquellos que utilizan tecnologías de la WS para optimizar varios procesos, que se realizan de forma ineficiente en los repositorios tradicionales, tales como la recuperación/búsqueda, la organización y el almacenamiento de la información contenida en los mismos, y para esto se utilizan esencialmente las ontologías, pues se pueden crear varias ontologías de diversos dominios para la organización de la información por áreas, y los razonadores, para mejorar los métodos de recuperación de la información mediante las inferencias que estos permiten realizar. Las ontologías podrían constituir un almacén (repositorio) de vocabulario para resolver los problemas de léxico, semánticos, de sinónimos así como los de las suposiciones efectuadas. (20)
1.6.4 Repositorio Semántico de OA en la UCI.
El primer intento realizado en Cuba para construir un Repositorio de Objetos de Aprendizaje fue en la Universidad de Holguín, en donde se “propuso desarrollar una plataforma Web dinámica para el e-Learning que posibilitara la configuración y administración de la misma, además de la creación, actualización y oferta de cursos de una forma flexible y agradable, sustentada sobre un sistema código abierto”. (20)
Autor: Eider Martínez Díaz Página 28
Basado en la experiencia de la Universidad de Holguín, en la Universidad de las Ciencias Informáticas se implementó ROA. “Este sistema permite disponer de un lugar común donde profesores y estudiantes almacenen los recursos empleados en el proceso de enseñanza-aprendizaje” (15)
Actualmente ROA cuenta con varias funcionalidades, tales como: subir, actualizar, explorar paquetes, buscar recursos, editar, visualizar, búsqueda avanzada, más recientes, más solicitados, etc.
A continuación se muestra la figura del esquema del RS en la UCI que fue creado en la propuesta anterior.
Figura 2 Esquema del Repositorio Semántico
El Repositorio Semántico toma las funcionalidades que están encapsuladas en las herramientas ROA y ROXS, y las optimiza haciendo uso de la gestión de la información.
Las funcionalidades desarrolladas por el RS y las herramientas ROA y ROXS le brindan valor agregado al LMS Moodle.
Autor: Eider Martínez Díaz Página 29 Conclusiones
En este capítulo se abordó acerca de la WS, con sus características fundamentales, lenguajes usados en la misma y de forma más explícita se analizó en lenguaje OWL, estudiando su historia, tipos etc. Además se hizo énfasis en las ontologías, analizando su definición, características fundamentales. También se analizaron las herramientas a utilizar para el desarrollo de la nueva extensión del módulo semántico, además de todo lo referente a e-learning y repositorios. Después de un análisis intenso se decidió que el lenguaje a utilizar será: OWL Fuzzy; el motor de inferencia Pellet; la biblioteca como herramienta complementaria Jena y por último el editor ontológico Protégé.
Autor: Eider Martínez Díaz Página 30 Capítulo 2. Propuesta de Extensión del Repositorio Semántico
En este capítulo se realiza una explicación de las etapas para el desarrollo de la extensión del módulo, tales como: la fusificación de una ontología, es decir se explican procesos como: identificación de los conceptos de la ontología a fusificar, la creación de variables difusas y la fusificación de las mismas. Además también se hace referencia a la creación de interfaces para gestionar la información de la ontología creada en la etapa anterior, y por último se explica el proceso de inferencia fuzzy.
2.1 Propuesta de Solución
Figura 3 Ciclo de desarrollo de la extensión del RS
En la figura 3 se representan gráficamente cuáles serán los pasos a seguir para el desarrollo de la extensión. La solución consta de 3 etapas fundamentales:
1. Proceso de Fusificación de una Ontología.
Esta etapa se basa esencialmente en fusificar una ontología creada en el RS, con ayuda del editor ontológico Protégé. Se crean variables difusas, en base a conceptos seleccionados. Existen dos formas para fusificar una ontología: de
Autor: Eider Martínez Díaz Página 31
forma automática o manual, lo cual se explica en la sección siguiente. En este trabajo se realiza de forma manual.
2. Desarrollo de una interfaz con el API de desarrollo Jena, para el trabajo con la Ontología Fuzzy creada en el proceso anterior.
Esta etapa se apoya principalmente en el API Jena 2.5.6, mediante el cual se puede leer, escribir y añadir recursos (conceptos, propiedades, instancias, etc.), a las ontologías. Jena también permite conectar la ontología con un razonador con el objetivo de realizar las inferencias, las cuales pudieran ser fuzzy.
3. Realizar las inferencias fuzzy con ayuda del razonador Pellet.
En esta etapa se crean las reglas o restricciones de la ontología fuzzy. También se verifica la taxonomía de la ontología.
2.2 Proceso de Fusificación de la Ontología
Para el desarrollo de la solución se precisa fusificar una ontología existente. En este caso se usará la ontología creada para el desarrollo del Módulo de Inferencia del Repositorio Semántico (26), OntoLOM, la misma está basada en el estándar LOM22.
2.2.1 Proceso Automático de Fusificación de la Ontología
Actualmente existen diversas personalidades que estudian y desarrollan las tecnologías y lenguajes de la WS, lógica descriptiva, lógica de programación, lógica y la WS, desarrollo de ontologías fuzzy, etc. Entre las personas que más aportes han realizado en esta área se encuentra Umberto Straccia23, que ha dedicado gran parte de su vida al desarrollo de varias herramientas para la fusificación de ontologías de forma automática, como:
22 LOM (LEARNING OBJECT METADATA) http://ltsc.ieee.org
23 http://gaia.isti.cnr.it/~straccia
Autor: Eider Martínez Díaz Página 32
OwlLoader24 y LinuxFuzzyDL25. Estas herramientas son usadas para convertir una ontología creada en OWL-Lite a fuzzyDL26.
Se probaron las herramientas OwlLoader y LinuxFuzzyDL utilizando ontologías bajo la descripción OWL-Lite, tales como la ontología de Vinos Españoles27, y, OnProc28 una ontología para el Proceso Jurídico, creadas por la universidad de Stanford29. También fueron probadas con la ontología Historial30 que actualmente está en desarrollo en el RS.
En ningún caso se logró alcanzar resultados, por lo que estas herramientas no pudieron ser adoptadas como parte de la solución. Dado que no se pudo realizar el proceso de fusificación de forma automática, se optó por hacerlo de forma manual.
2.2.2 Proceso Manual de Fusificación de la Ontología
Para la fusificación de la Ontología OntoLOM de forma manual se definieron los siguientes pasos:
Identificar los Conceptos a fusificar. Se priorizaron conceptos que contienen propiedades que facilitan el procesamiento estadístico o que pudieran dar lugar a criterios subjetivos.
Determinar las posibles variables difusas de los conceptos anteriormente identificados. Se crearon nuevas variables (fuzzy).
24 http://gaia.isti.cnr.it/~straccia/software/fuzzyDL/download/OwlLoader 25 http://gaia.isti.cnr.it/~straccia/software/fuzzyDL/download/LinuxFuzzyDL 26 http://webdiis.unizar.es/~fbobillo/papers/FuzzIEEE2008.pdf
27 http://www.iadis.net/dl/final_uploads/200713P064.pdf
28 http://www.bibliociencias.cu/gsdl/collect/eventos/index/assoc/HASH7b0b.dir/doc.pdf 29 http://www.stanford.edu/
30 Ontología que actualmente está en desarrollo en el RS
Autor: Eider Martínez Díaz Página 33
Fusificar las variables obtenidas en el paso anterior.
Paso 1
Previamente a la implementación del ROA de la UCI, un grupo de expertos seleccionó los metadatos que serían utilizados, teniendo en cuenta, primeramente, incluir todos los que SCORM establecía como obligatorios en el momento de ser adoptado este modelo.
Además, se incluyeron otros de importancia para el proceso de enseñanza – aprendizaje, o que facilitan el proceso de recuperación de OA en el repositorio. También se ajustaron los valores prefijados para algunas variables en el estándar original, en función de las características del modelo educacional cubano. Por último, se adoptaron convenciones referentes a la traducción de algunos términos al español.
La ontología OntoLOM contiene todos los conceptos de las nueve categorías de LOM, de los cuales se tomaron como candidatos a fusificar los seleccionados para adoptar en el ROA de la UCI.
De los todos los conceptos seleccionados por el grupo de experto se escogieron para fusificar solo las categorías Educational y Lifecycle, debido a que las mismas poseen conceptos que tienen un valor semántico, tales como: Difficulty que pertenece a la categoría Educational el cuál posee un atributo que es para determinar el grado exacto de dificultad de un material, en este caso se agrega una variable difusa para determinar el grado de certeza de dificultad de un material. Este proceso se explica en el paso dos.
Los conceptos a fusificar de la ontología OntoLOM por categorías son:
Educational - Difficulty
- Intendeduserrole - Interactivitylevel