Introducción
El conocimiento es impulsor para el avance científico, la innovación tecnológica y el desarrollo económico (Alessandro Iaria, Carlo Schwarz, & Fabian Waldinger, 2018). Con el propósito de aprovecharlo al máximo, las instituciones realizan la gestión de conocimiento mediante métodos y técnicas variadas (Felisa M. Córdova & Felipe A. Gutiérrez, 2018).
El proceso de gestión del conocimiento se compone métodos para la adquisición de la información del medio, pero además establece un medio para que esta información se encuentre disponible entre los integrantes de la organización con la finalidad que estos adquieran, compartan y la usen para desarrollar conocimiento. De esta forma, en el proceso de la gestión del conocimiento es necesario un enfoque ordenado el cual permita utilizar, aprender y sintetizar el conocimiento (Esther Tippmann, Pamela Sharkey Scott, & Andrew Parker, 2017). Esta capacidad permite utilizar eficazmente los conocimientos internos y externos para generar resultados creativos e innovadores dentro de las organizaciones.
Los autores (Smith Helena & Willem Schurink, 2005) consideran un enfoque destinado a obtener conocimiento de personas expertas el cual debe ser compartirlo con las demás personas dentro de la organización en el momento adecuado y ponerlo en acción. Para hacerlo, se requiere que la Representación del Conocimiento (RC) sea adecuada a las necesidades de la institución.
Un experto humano es típicamente el encargado de descargar el conocimiento a un sistema basado en conocimiento; esta base de conocimiento es utilizada en conjunto con un módulo de razonamiento o de inferencia que a partir de algoritmos produce nuevo conocimiento (L. Muhammad, E. Garba, N. Oye, & G. Wajiga, 2019).
La RC consiste en codificar el conocimiento humano proveniente de una persona, un experto en un área disciplinar o en el conocimiento compartido por un grupo de personas, en una forma en la cual una computadora puedan comprenderlo, procesarlo y razonar a partir de este y que sirva en la toma de decisiones (Michel Chein & Marie-Laure Mugnier, 2009). La RC consiste en el estudio de modelos computacionales capaces de representar el conocimiento mediante símbolos gráficos.
Los sistemas computacionales que basan su utilidad en la aplicación de las técnicas de RC son llamados sistemas basados en conocimiento, entre las técnicas usadas para apoyar la RC están las basadas en Redes de Petri (Hu-Chen Liu, Jian-Xin You, ZhiWu Li, & Guangdong Tian, 2017), las basadas en ontologías (Jinda Qi, Lan Ding, & Samsung Lim, 2020) y los Grafos de Conocimiento (Bo An, Bo Chen, Xianpei Han, & Le Sun, 2018).
La aplicación de una técnica de gestión de conocimiento debe proporcionar una arquitectura estructurada para la representación de una manera explícita. El proceso se complementa con actividades de transferencias de conocimiento por parte de expertos humanos en el tema de interés, así como en el proceso de inferencia de conocimientos para responder preguntas de interés. En ese sentido, la implementación de un grafo de conocimiento implica un medio sistemático para codificar lo que un experto sabe sobre un dominio en particular del conocimiento en un medio apropiado. Esto tiene dos principales ventajas, que el humano pueda descargar su inteligencia cognitiva en una serie de elementos conectados, y segundo, ayuda a los sistemas computacionales para usar este conocimiento compartido y mediante el cual elaboren tareas complejas y que sirva de ayuda en la toma de decisiones.
El diseño del flujo del módulo está dividido en diversas secciones las cuales que comprenden el análisis del conocimiento, proceso de visualización y desarrollo de la aplicación.
Primero, el análisis del conocimiento está enfocado en obtener la conceptualización en una determinada área disciplinar para esto se han propuesto métodos para definir esta representación. En el área educativa se han encontrado trabajos enfocados en la categorización de actividades en el proceso de intercambio de conocimiento en el área universitaria (Sharmila Gamlath & Therese Wilson, 2020), el uso de tecnología para la mejora en desempeño de los estudiantes (Prabal Verma & Sandeep K. Sood, 2017), pero en particular se ha encontrado el uso de técnicas de teoría de grafos para realizar la gestión del conocimiento. Estas técnicas de han combinado con el uso del procesamiento del lenguaje natural (H. D. To & P. Do, 2020) y la teoría en el tema de base de datos (A. Elfaki, A. Aljaedi, & Y. Duan, 2019).
Segundo, en la tarea de visualización de datos, consiste en la realización de modelos visuales desplegados en una plataforma de software. Algunos autores han usado diferentes técnicas de optimización (Y. Wang, Y. Wang, Y. Sun, L. Zhu, K. Lu, C. W. Fu, M. Sedlmair, O. Deussen, & B. Chen, 2018) para la generación de grafos de forma automática conservando las restricciones, o los frameworks que constan de cuatro dimensiones: modularidad, interfaz de usuario intuitiva, rendimiento, y control de acceso (R. Nararatwong, N. Kertkeidkachorn, & R. Ichise, 2020). Otros métodos como el de Yucong Duan, Lixu Shao, & Gongzhu Hu (2018) proponen un método para generar la arquitectura del grafo de conocimiento a partir de los aspectos de datos, información, conocimiento y sabiduría.
Por último, las dos características son combinadas para obtener una aplicación para interactuar con el grafo de conocimiento en un entorno basado en web, aquí se han propuesto ciertas aplicaciones de software para representar el conocimiento a través de un grafo de conocimiento en las áreas de Biología (R. D. M. Page, 2019), ciencias de la computación (Yu Li, Jingjing Zhao, Liping Yang, & Yong Zhang, 2019) y Big Data (Y. Qiu, Y. Qiao, S. Yang, & J. Yang, 2020).
Este desarrollo pretende obtener las mejores prácticas de la literatura, realizando una gestión de conocimiento validada por expertos en el área disciplinar que definan la estructura del grafo de conocimiento. Posteriormente, aplicar una técnica para la visualización de dicha red, y finalmente, la creación de una aplicación interactiva para definir esta estructura y codificarla para su almacenamiento persistente. Este grafo de conocimiento tiene como finalidad definir la estructura del conocimiento de un sistema de gestión del conocimiento para realizar su gestión y obtener resultados prometedores aplicado a la educación.
En el presente trabajo se propone el desarrollo de un módulo para gestionar la estructura de un grafo de conocimiento. Este módulo supone una ventaja para representar una estructura robusta que ayuda a la comprensión visual de una manera organizada y sencilla. Los elementos visuales son representaciones sencillamente comprensibles por los humanos. El módulo permite:
Crear, editar, modificar y eliminar nodos que representan los temas de un área disciplinar.
Crear, editar, modificar y eliminar dependencias (flechas) que representan una relación entre temas (nodos) del área disciplinar.
Incrementar la usabilidad al contar con una interfaz gráfica de usuario intuitiva.
Proporciona elementos visuales para el entendimiento, además códigos de colores para representar los estados en una clasificación de los temas.
Definir la estructura de un grafo de conocimiento.
Visualizar calificaciones de los alumnos y alumnas que han respondido al cuestionario.
Desarrollo
En este trabajo se propone la creación de un módulo para la gestión de la estructura de un grafo de conocimiento haciendo uso de una aplicación de software basada en web. El módulo se integró a un Sistema de Gestión de Conocimiento (por sus siglas en inglés KMS). Después de realizar un análisis minucioso, se decidió contemplar los siguientes requerimientos funcionales y no funcionales para aprovechar el módulo:
Requerimientos funcionales
Los requisitos funcionales son:
El módulo debe permitir la creación, visualización, eliminación y actualización de los nodos del grafo de conocimiento.
El módulo debe permitir la creación, visualización, eliminación y actualización de las conexiones del grafo de conocimiento, permitiendo más de una conexión por nodo.
El módulo debe ser capaz del despliegue de la estructura del grafo de conocimiento respetando las posiciones de los nodos y conexiones.
El módulo debe ser capaz de actualizar la estructura del grafo de conocimiento.
El módulo debe permitir la actualización de las etiquetas (leyendas) de cada uno de los nodos.
El módulo se debe permitir la interacción con el grafo de conocimiento mediante el uso de ratón y teclado de una computadora, pero también debe ser posible la interacción haciendo uso de una pantalla táctil.
El módulo debe admitir la entrada de caracteres especiales.
Requerimientos no funcionales
Los requisitos no funcionales son:
El módulo requiere de un navegador actualizado a la última versión disponible.
El módulo requiere de una computadora o teléfono inteligente con un sistema operativo actualizado.
El módulo al estar dentro un sistema web, necesita de un servidor web activo las 24 horas del día.
Para acceder al módulo es necesario acceder con un usuario y contraseña del KMS.
La aplicación debe tener un tiempo de respuesta corto para permitir observar los cambios en tiempo real.
El módulo debe poder ser accedido sin la necesidad de contar con un programa informativo que sea instalado permanentemente en el sistema.
El grafo de conocimiento debe estar desarrollado en una tecnología compatible con el sistema de gestión de conocimiento y contar en su almacenamiento con una base de datos relacional para garantizar la persistencia de la estructura de la red.
El desarrollo general del módulo comienza con la definición del nodo padre del grafo que define el área disciplinar. Este nodo padre es almacenado en una tabla en una base de datos. Posteriormente se realiza obtención de los datos desde una base de datos relacional (MySQL) aplicando una consulta con un lenguaje de consulta de datos (SQL). Después, los datos son obtenidos por un submódulo de la aplicación en donde son convertidos a un formato en el cual son representados a través de objetos en una notación de objeto (JSON), para luego ser desplegarlos gráficamente en un grafo. En ese momento, en el que se termina el cargado de los datos, es mostrado al usuario una interfaz gráfica con la cual puede interactuar para actualizar la estructura del grafo de conocimiento. Cada cambio que realice el usuario a la estructura es enviado a la base de datos para su almacenamiento. La Figura 1 muestra un flujo del módulo basado en cinco momentos para generar los datos necesarios para el grafo de conocimiento.
El desarrollo consistió en la creación de una aplicación basada en tecnologías web. Fueron utilizadas las tecnologías HTML, CSS, JavaScript y Asynchronous JavaScript And XML (AJAX). Además, el módulo utiliza D3.js como marco de trabajo para la tarea de visualización de datos por su eficiencia y escalabilidad. D3.js es una biblioteca de JavaScript diseñada para mostrar datos digitales en una forma gráfica dinámica. Ayuda a dar vida a los datos utilizando HTML, SVG y CSS.
Con D3.js es posible la creación elementos gráficos en un lienzo desplegado en una página web. Estos elementos gráficos comprenden Figuras geométricas, texto, imágenes, etc. Además, proporciona la habilidad al usuario de interactuar con estos elementos a través de los periféricos de una computadora o gestos mediante una pantalla táctil de un dispositivo móvil.
Elementos gráficos
El grafo de conocimiento está representado por un grafo acíclico dirigido. Esto es un conjunto de vértices y aristas interconectados en el cual no deben existir ciclos. En el módulo son desplegados tres elementos gráficos básicos para representar cada elemento del grafo de conocimiento:
Círculos para representar los vértices o nodos
Flechas para representar las aristas o conexiones.
Un rectángulo para representar el lienzo o base donde serán desplegados los otros elementos. Cada uno de estos elementos básicos cuenta con ciertas propiedades y métodos que pueden observarse en la Figura 2. Estas propiedades son necesarias para el dibujado de los elementos en el módulo.
Tipos de usuarios
Usuario profesor. El tipo de usuario tendrá asociados a alumnos a los cuales les dará seguimiento académico. Los alumnos serán evaluados con cuestionarios en los temas del área disciplinar pospuesta por el grafo de conocimiento. El profesor será capaz de visualizar dichos resultados en el módulo.
Usuario experto. Un usuario experto define la estructura del grafo de conocimiento con base en su experiencia en el área disciplinar.
Secciones del módulo
Las secciones del módulo se muestran en el diagrama de clases de la Figura 3.
A continuación, se describen las capacidades de cada submódulo:
Submódulo de visualización del experto
A través de esta sección es posible tener permisos absolutos en la estructura del grafo. Con este submódulo es posible crear, eliminar y actualizar nodos y conexiones. El usuario experto será quien administra este submódulo. Las acciones permitidas por el usuario experto son listadas en el diagrama de la Figura 4.
A continuación, se describen cada una de estas acciones:
Visualizar, crear, actualizar y eliminar nodos
Para la creación de un nuevo nodo, es necesario seleccionar un nodo ya existente. A partir de este nodo descenderá el nuevo. Es necesario especificar la etiqueta del nodo. El módulo realizará una validación en caso de ya existir la etiqueta. La Figura 5 muestra el este proceso.
Visualizar, crear, actualizar y eliminar conexiones
Una administración total de las conexiones entre los nodos. La Figura 6 muestra el proceso para la actualización de una conexión.
Modificar tamaño de los nodos
Esto es posible gracias a un elemento grafico que permite aumentar y disminuir el radio de los círculos que representan los nodos. La medida que se utiliza para esto son los pixeles.
Modificar posición de nodos
Es posible mover la posición de los nodos. Esto es haciendo clic sobre el nodo (o bien seleccionando si es accedido desde una pantalla táctil) y arrastrándolo hasta una posición dentro del lienzo.
Cambiar vista del grafo de conocimiento
Es posible visualizar el grafo de conocimiento desde otra posición. Para ello en la interfaz gráfica de este se encuentra un botón para rotar 90 grados al grado de conocimiento.
Renombrar etiqueta de los nodos
Es posible actualizar la etiqueta de los nodos. El módulo valida que no sobrepase los 200 caracteres. Además, que acepta una gran amplia variedad de caracteres especiales de texto. En la Figura 7 se muestra el proceso que se realiza al renombrar la etiqueta de un nodo.
Submódulo para la visualización del grafo por parte del profesor
Este submódulo está pensado para tener limitados permisos sobre la estructura el grafo de conocimiento. El profesor es capaz de las acciones mostradas por el diagrama mostrado en la Figura 8.
Modificar tamaño de los nodos
Aunque el usuario profesor no tiene permitido actualizar la estructura del grafo de conocimiento. Tiene permitido modificar el tamaño de los nodos. Esto lo hace a través de un elemento en la interfaz gráfica del módulo. Gracias a esto es actualizado el tamaño del radio de cada circulo de los nodos. Esta mediada está dada en pixeles.
Cambiar vista del grafo de conocimiento
El profesor tiene permitido rotar el grado de conocimiento en 90 grados. De esta forma podrá ver el grafo en una vista de horizontal.
Visualizar resultados de evaluación de alumnos en el grafo de conocimiento
La tarea más importante para el usuario profesor es la de mostrar el resultado de los alumnos que tiene asignados en el sistema de gestión de conocimiento. Esto para dar un seguimiento a sus actividades escolares. El módulo muestra una lista de los alumnos asociados y evaluados. El profesor tiene la habilidad de seleccionar uno de esta lista. A continuación, el módulo obtiene los datos desde la base de datos para mostrarle las calificaciones de este y colorear los nodos en un código de colores. Este código de colores representa la forma de evaluación de los nodos, o temas del área disciplinar. Es posible saber que nodos fueron evaluados objetivamente y cuáles de forma subjetiva a partir de los nodos subjetivos.
Submódulo de control de estructura gráfica
Tanto el submódulo del grafo de conocimiento del profesor como del experto utilizan esta capa de la aplicación. Este submódulo es encargado de realizar los cambios en la estructura gráfica del grafo. Se encarga de aplicar los cambios ante las acciones de los usuarios. En esta capa es donde se aplica el coloreado, movimiento de nodos, y el renderizado de los grafos.
Submódulo de control para la base de datos
Esta capa está conectada directamente a la base de datos del sistema de gestión de conocimiento. Este submódulo es el encargado de la conexión entre los grafos y el almacenamiento persistente de los mismos. De esta forma todos los usuarios de tipo profesor y experto podrán visualizar la misma estructura al momento de ingresar al sistema.
Conclusiones
El módulo fue probado mediante la creación de un grafo de conocimiento especializado en temas del área disciplinar de matemáticas. Los temas incluidos en el grafo de conocimiento están fundamentados en las materias del programa educativo ingeniería de tecnologías de información de la Universidad Politécnica de Victoria ubicada en México.
La validación del módulo se efectuó mediante la realización de cuestionarios (exámenes) por parte de alumnos del nivel superior en el área de matemáticas. Posteriormente, se obtuvieron calificaciones en cada tema del área disciplinar. En el grafo de conocimiento se pueden ver representadas estas calificaciones usando un código de color por cada rango obtenido por cada uno de los alumnos. El grafo de cada alumno es independiente. Además, mediante las herramientas creadas es posible seleccionar a los alumnos para observar sus estados en los temas del grafo.
Se hicieron pruebas con alumnos, utilizando un cuestionario evaluando un total de 5 temas, cada tema se evaluó con un total de 5 preguntas de diferentes tipos: numéricas, abiertas, opción múltiple, opción única y verdadero o falso.
El módulo fue probado con un grafo de conocimiento en el área de las matemáticas. 31 nodos fueron creados con un total de 38 conexiones. Un total de 5 ramas fueron creadas.
En la Figura 10 (izquierda) se muestra el grafo de conocimiento dedicado al rol de experto. Este grafo tiene privilegios de edición de la estructura. A diferencia, en la Figura 10 (derecha) se muestra el despliegue del gafo de conocimiento que permite visualizar al usuario profesor mostrando los resultados de evaluación de los alumnos y en el cual no es posible actualizar la estructura del grafo.
En este trabajo se desarrolló un módulo enfocado a la gestión de un grafo de conocimiento para su implementación en un sistema de gestión de conocimiento. Se desarrolló una aplicación web interactiva con interfaz gráfica amigable para facilitar la construcción en la estructura y en la aplicación de restricciones requeridas.
El módulo ayuda a definir la estructura de un grafo de conocimiento en un área disciplinar. Esto da paso a la definición de la base de conocimiento y como cimiento en la implementación de otras tecnologías que contribuyen a la evaluación de alumnos y al proceso de generación de rutas de aprendizaje para guiar a los estudiantes en el proceso de aprendizaje.
Como trabajo futuro, se propone realizar un grafo modulable que sea capaz de acoplarse en diferentes plataformas y con diferentes sistemas de gestión de conocimiento. En este sentido, el grafo de conocimiento podrá ser adoptado por diferentes universidades para gestionar el conocimiento de distintas áreas disciplinares.