UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Universidad del Perú, DECANA DE AMÉRICA FACULTAD DE INGENIERÍA DE SISTEMAS E INFORMÁTICA ESCUELA ACADÉMICO PROFESIONAL DE INGENIERÍA DE SISTEMAS
SISTEMA EXPERTO PARA AYUDAR A LA ELECCIÓN DE UNA UN A CARRERA EN LA UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS
Tesina para optar por el Título de Ingeniero de Sistemas Autor: MELGAR ALIAGA, Freud Enrique
Asesor: GAMBOA CRUZADO, Javier
Lima - Octubre 2012
FICHA CATALOGRÁFICA CATALOGRÁFICA MELGAR ALIAGA, Freud Enrique SISTEMA EXPERTO PARA AYUDAR A LA DECISIÓN DE ELEGIR UNA CARRERA EN LA UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Sistema Experto (Lima, Perú 2012) Tesina, Facultad de Ingeniería de Sistemas e Informática, Pregrado, Universidad Nacional Mayor de San Marcos.
ii
“Tesina presentada a la Universidad Nacional Mayor de San Marcos, Lima, Perú, para obtener el Título de Ingeniero de Sistemas”
iii
DEDICATORIAS: Este trabajo va dedicado a la memoria de mis padres que ya partieron de este mundo y me dejaron todas sus enseñanzas.
iv
AGRADECIMIENTOS: A mis colegas y amigos de la Facultad de Ingeniería de Sistemas de la Universidad Nacional Mayor de San Marcos, en especial a nuestro asesor Gamboa Cruzado Javier, por su orientación y dedicación para que este trabajo cumpla con los objetivos trazados. Al profesor Hugo Chávez del Área de Psicología del Instituto de Ciencias y Humanidades, por su apoyo invalorable con la información proporcionada y su atención constante y oportuna para la elaboración de este proyecto. A todas aquellas personas que indirectamente nos ayudaron para culminar este trabajo y que muchas veces constituyen un invalorable apoyo.
v
RESUMEN: SISTEMA EXPERTO PARA OPTIMIZAR LA TOMA DE DECISIÓN DEL ESTUDIANTE PERUANO PARA LAS DIVERSAS ESPECIALIDADES DE INGENIERÍA EN LA UNMSM Autor:
MELGAR ALIAGA, Freud Enrique
Asesor: GAMBOA CRUZADO, Javier Título:
Tesina para optar por el Título de Ingeniero de Sistemas
Fecha: Octubre de 2012
El problema de elegir una carrera por parte de estudiantes preuniversitarios siempre es un dilema, por la falta de experiencia, orientación, asesoría y una evaluación previa por parte de conocedores del tema. En ese sentido el presente proyecto plantea la creación de un Sistema Experto que facilite y oriente al alumno para estudiar la especialidad más afín con su vocación en la rama de ingeniería en una universidad pública peruana. El objetivo de dicho sistema es tener una herramienta que facilite al alumno encontrar sus intereses y habilidades reales, así como disponer de la información adecuada acerca de las diversas opciones existentes en nuestro medio. Los Sistemas Expertos vienen a ser parte de la Inteligencia Artificial que tiene como objetivo automatizar procesos e implantar soluciones a dificultades que puedan tener personas o sistemas autónomos inclusive. Comúnmente el problema de la elección de la carrera profesional se va resolviendo a través de la experiencia propia en las aulas universitarias durante el estudio de la carrera y el intercambio de información entre compañeros o las asesorías que brindan los docentes universitarios. Por tanto la idea es que se genere toda esa base del conocimiento en función a los expertos tales como los docentes y los mismos estudiantes universitarios que deben volcar en este trabajo toda su experiencia.
Palabras claves: Sistema experto, Base del conocimiento, Motor de Inferencia, Toma de decisiones, Base de hechos, Test de Holland, Metodología Grover,
vi
ABSTRACT EXPERT SYSTEM TO OPTIMIZE DECISION MAKING FOR VARIOUS PERUVIAN STUDENT ENGINEERING SPECIALTIES IN UNMSM Author:
MELGAR ALIAGA, Freud Enrique
Advisory:
CROSS GAMBOA, Javier
Title:
Thesis to opt for Systems Engineering Degree
Date:
October 2012
The issue of choosing a career by high school students is always a dilemma, lack of experience, guidance, advice and a prior assessment by knowledgeable. In that sense, this project proposes the creation of an expert system to facilitate and guide the student to study the art more akin to their vocation in the field of engineering at a public university in Peru. The purpose of this system is to have a tool that facilitates the student find their real interests and skills and have adequate information about the options available in our area. Expert systems are a part of artificial intelligence that aims to automate processes and implement solutions to problems that may have people or even autonomous systems. Often the problem of choosing a career is being resolved through personal experience in university classrooms during the study of race and exchange of information among peers or consultants that provide university teachers. So the idea is to generate all this knowledge base that is in function a experts such as teachers and college students who need it in this paper dump all his experience.
Keyword: Expert system, Knowledge Base, Inference Machine, To take decisions, Succes base, Test de Holland, Grover Metodolgy.
vii
ÍNDICE Lista de figuras ............................................................................................................ x
CAPÍTULO 1: INTRODUCCIÓN ..........................................................................1 1.1. Introducción ............................................................................................... 1 1.2. Antecedentes ............................................................................................. 1 1.3. Definición del problema ............................................................................ 4 1.4. Justificación ............................................................................................... 4 1.5. Objetivos .................................................................................................... 5 1.6. Propuesta tesina ........................................................................................ 5
CAPÍTULO 2: MARCO REFERENCIAL .............................................................6 2.1. MARCO TEÓRICO ...................................................................................... 6 2.1.1.
Definición de Sistema Experto ........................................................ 6
2.1.2.
Definición de Orientación vocacional ............................................. 7
2.1.3.
Definición de Base del Conocimiento ............................................. 7
2.1.4.
Motor de Inferencia ........................................................................... 8
2.1.5.
Toma de decisiones ......................................................................... 9
2.1.6.
Base de hechos .............................................................................. 10
2.1.7.
TEST DE HOLLAND ........................................................................ 10
2.1.8.
USUARIO ......................................................................................... 12
2.1.9.
Metodología Grove ......................................................................... 13
2.1.10.
Metodología IDEAL ......................................................................... 14
CAPÍTULO 3: ESTADO DEL ARTE.................................................................. 18 3.1. Metodologías de desarrollo de Sistemas Expertos............................... 18 3.2. Identificación de requerimientos. ........................................................... 20 3.3.1. Requerimientos Funcionales. ........................................................ 20 3.3.2. Requerimientos No Funcionales. .................................................. 21 3.3. Software para desarrollar Sistemas Expertos existentes en el Mercado . 21 3.3.1.
La captura de la lógica de toma de decisiones ............................ 22
3.3.2.
Construcción de la interfaz de usuario ......................................... 23
viii
3.4. Estudio de casos ..................................................................................... 23 3.4.1.
Orientación Vocacional Interactiva (O.V.I.) ................................... 23
3.4.2.
Sistema Experto de Orientación Vocacional: SEOV .................... 27
3.5. Descripción y sustentación de la solución. ........................................... 31
CAPÍTULO 4: APORTE TEÓRICO ................................................................... 32 4.1.
Análisis económico ............................................................................. 32
4.2.
Arquitectura de Información ............................................................... 32
4.2.1.
Base de Hechos. .........................................................................33
4.2.2.
Base de conocimientos.............................................................. 34
4.2.3.
Motor de base de datos .............................................................. 35
4.3.
Arquitectura de la solución ................................................................. 35
CAPÍTULO 5: APORTE PRÁCTICO ................................................................. 43 5.1.
Implementación del modelo ................................................................ 43
5.1.1.
Lenguaje de Programación........................................................43
5.1.2.
Estándares de programación .................................................... 43
5.2.
Interfaces del aplicativo ...................................................................... 44
CAPÍTULO 6: .................................................................................................... 47 OBSERVACIONES, RECOMENDACIONES Y CONCLUSIONES ................... 47 6.1.
Observaciones ..................................................................................... 47
6.2.
Conclusiones........................................................................................ 47
6.3.
Recomendaciones ............................................................................... 48
ix
Lista de figuras Figura 1. Flujograma del proceso de elección de una carrera profesional ......................................... 4 Figura 2. Formulación del Conocimiento Fundamental ................................................................... 13 Figura 3: Modelo troncocónico de la metodología IDEAL. ............................................................. 14 Figura 4. Shell Exsys Corvid ............................................................................................................ 21 Figura 5. Bloques Lógicos y vistas de reglas................................................................................... 22 Figura 6. Pruebas para conocerte a ti mismo .................................................................................... 24 Figura 7. O.V.I. Resultado Prueba para conocerte a ti mismo.......................................................... 24 Figura 8: O.V.I. Prueba para conocer tus tendencias........................................................................ 25 Figura 9 O.V.I. Resultado Prueba para conocer tu tendencia. .......................................................... 25 Figura 10 O.V.I. Información de las carreras ................................................................................... 26 Figura 12: O.V.I. Información de los centros de estudios superiores .............................................. 27 Figura 13: SEOV Carreras dictadas por la USACH ......................................................................... 28 Figura 14: SEOV – Determinando las carreras................................................................................. 29 Figura 15: SEOV - Analizando tus intereses. .................................................................................. 30 Figura 16 SEOV - Analizando la personalidad................................................................................. 30 Figura 18: Logeo............................................................................................................................... 44 Figura 19: Interfaz de presentación .................................................................................................. 45 Figura 20: Interfaz de inicio del test ................................................................................................. 45 Figura 21: Interfaz donde se muestran las preguntas ........................................................................ 45 Figura 22: Interfaz donde se respondieron todas las preguntas ........................................................ 46 Figura 23: Muestra de resultados al lado derecho ............................................................................ 46
x
CAPÍTULO 1: INTRODUCCIÓN 1 OCULTAR
1.1. Introducción Al culminar la presente tesis los estudiantes de los diversos colegios públicos o privados podrán interactuar con el Sistema Experto para ayudar a la decisión de elegir una carrera en la Universidad Nacional Mayor de San Marcos desde cualquier lugar en el que se encuentren, pues sólo necesitarán estar conectados a internet para poder hacer uso de la aplicación. La presente herramienta apoyará al estudiante a definir de manera más clara y precisa la especialidad que podría estudiar en la Universidad Nacional Mayor de San Marcos, pues tendrá información adicional de las carreras, tales como el plan de estudios, sumilla de los cursos, posibilidades laborales y perspectivas para continuar maestrías en la especialidad que eligió. Se busca de este modo que la mayoría de estudiantes que no tiene acceso a consultar a psicólogos o expertos, lo puedan hacer por intermedio de la aplicación y conseguir de manera gratuita la orientación vocacional que necesitaban. Con esto pienso disminuir la deserción de los estudiantes de las diferentes carreras, así como también los traslados internos o externos que se producen a menudo en las diferentes facultades. El presente trabajo pretende establecer la implementación de un Sistema Experto en la web que permita administrar procesos de orientación vocacional en instituciones educativas y que mediante el ingreso de reglas configurables, en base a la experiencia de especialistas en el tema permitirá obtener resultados confiables. Este sistema servirá de apoyo para la ejecución de procesos de orientación vocacional y se posicionará como un aporte a la Responsabilidad Social Universitaria.
1.2. Antecedentes La falta de orientación vocacional en las escuelas secundarias y de educación media superior es una de las razones para que exista mayor deserción entre los universitarios, o bien para que los jóvenes tengan dificultades para encontrar empleo. Según datos del INEI en Lima al menos 30 por ciento de la población universitaria cambia de licenciatura durante el primer año de estudios debido a una mala elección de carrera, lo cual demuestra que la educación básica y media superior debe fortalecer la orientación vocacional entre los estudiantes.
1
La investigación referente a implementar un sistema que apoye al proceso de orientación vocacional también fue desarrollada como Tesis en la Pontificia Universidad Católica del Perú según lo siguiente: AUTOR: Enzo Roberto Retto Vera
TÍTULO: Tesis “Desarrollo de un Sistema de Información aplicado al proceso de orientación vocacional en zonas rurales del departamento de Lima”
RESUMEN: La aplicación de tecnologías de información en el campo de la educación se viene desarrollando de manera eficaz y eficiente, ya que han permitido no sólo adentrar a las nuevas generaciones de alumnos y personal administrativo a un ambiente tecnológico cada vez más innovador y competitivo, sino que han hecho prevalecer el principio fundamental de la informática que es la automatización de la información, logrando así la reducción de costos y tiempos de procesos propios de este campo, para así dar un mejor uso a los recursos humanos cuya función principal, es la de brindar una mejor educación y desarrollo a los adolescentes y niños. En tanto los principales errores que cometen los jóvenes que no saben qué carrera elegir son postergar la decisión, esperando que se resuelva sola y así no asumir la responsabilidad; esperar que alguien tome la respuesta correcta sin riesgo de equivocaciones; estudiar la carrera que sus padres quieren; elegir la licenciatura que algunos de sus amigos escogen; buscar una carrera que sea “fácil” y que no represente ninguna dificultad para ellos por miedo a los desafíos o tomar la decisión de no estudiar. De acuerdo con especialistas, el proceso para conocer las inclinaciones universitarias debe ofrecerse desde secundaria, con la intención de que el estudiante tenga el tiempo suficiente para “explorarse, conocerse a sí mismo, informarse del abanico de carreras que existen y llevar a cabo una buena toma de decisión para su vida profesional”. Además es necesario que el futuro universitario conozca las opciones vocacionales existentes y a la vez que pueda identificar sus aptitudes y verdadero intereses. Por ello, requiere el apoyo para que tome la mejor decisión en su proyecto personal de vida que le permita conocer y explotar al máximo las potencialidades que pueda tener.
2
CASOS DE ÉXITO En la actualidad la Pontificia Universidad Católica del Perú tiene un sistema implementado en la universidad que se aplica con los estudiantes de Estudios Generales Ciencias que apoya al proceso de orientación vocacional, pues ellos recién en el cuarto ciclo tienen la opción de definir que carrera estudiar y así para el quinto ciclo cada estudiante se va a su facultad respectiva. Este programa se desarrolló en 1998 por la empresa Interactivity S.A. empresa especializada en desarrollos multimedia. Este programa evalúa los factores personales y situacionales del alumno, enseguida muestra las áreas afines al usuario de acuerdo a sus capacidades y habilidades. Esto lo hace en base a opciones como pauta vocacional (conócete a ti mismo, prueba para conocer tus tendencias, prueba de conocimientos) , carreras y centros de estudio. El sistema O.V.I. es considerado caso de éxito pues el porcentaje de estudiantes que cambiaban de carrera disminuyó de 40% a 10% según fuentes de la oficina de Estudios Generales Ciencias de la Universidad Católica. Otro caso de éxito es un sistema realizado para los cursos de Inteligencia Artificial y Tópicos de Inteligencia Artificial de la Universidad Santiago de Chile, su base de conocimiento cuenta con dos test que permiten conocer los factores personales del usuario, el test de intereses de Fernando Gutiérrez y el test de personalidad de Patricio Montero y con la información de los perfiles de las carreras la cual es limitada ya que sólo contiene la información indicada en los folletos de admisión de la universidad. El menú que presenta contiene las siguientes opciones: carreras dictadas por la USACH, determinando tus carreras, analizando tus intereses, analizando tu personalidad y salir.
3
1.3. Definición del problema ¿En qué medida el uso de un Sistema Experto mejorará el proceso de elección de una carrera en la UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS?
Figura 1. Flujograma del proceso de elección de una carrera profesional
1.4. Justificación Aplicando la inteligencia artificial en el proceso de la toma de decisión de un estudiante preuniversitario, el sistema experto va minimizar el riesgo que el futuro universitario cambie de carrera. Esto permitirá que el alumno ahorre tiempo y dinero en cuanto a su vida universitaria, pues el sistema ayudará a que en el futuro se mantenga en la misma especialidad y además el desarrollo de la carrera se llevará satisfactoriamente pues el estudiante se encuentra estudiando una profesión en donde pueda rendir pues tiene las habilidades y capacidades para el requerimiento de dichos estudios. Todo aquello es posible con la aplicación de estos sistemas expertos pues ya se han implementando en otras universidades particulares, las cuales por contar con mayor economía han podido instalar dichos sistemas. En cambio en las universidades públicas no tienen dicho sistema por los costos y problemas burocráticos que suelen presentar, entonces este sistema será una alternativa para los estudiantes que optan por estudiar una carrera universitaria.
4
1.5. Objetivos 1.5.1. Objetivo Principal Desarrollar un Sistema Experto para ayudar a la elección de una carrera en la Universidad Nacional Mayor de San Marcos.
1.5.2. Objetivo Secundarios 1) Implementar un sistema vía web para el proceso de tomar la decisión de elegir una carrera en la UNMSM. 2) Realizar los procesos de obtención, análisis y almacenamiento de la información obtenida de los usuarios del sistema para mejorar la orientación vocacional. 3) Elaborar una estadística de las tendencias de los alumnos cuando van a elegir una carrera universitaria. 4) Capacitar a los usuarios del sistema mediante un video tutorial para que ayude al uso del sistema experto.
1.6. Propuesta tesina El software estará diseñado para que pueda determinar con un alto porcentaje (90%) la orientación adecuada al usuario para que elija su carrera, esto basado en las métricas de las evaluaciones que se realizará con los alumnos y así mostrar las decisiones más óptimas que debe tomar el postulante.
5
CAPÍTULO 2: MARCO REFERENCIAL En este capítulo se describe los conceptos que se tienen que tomar en cuenta para la solución del problema formulado en el capítulo anterior del presente trabajo, asimismo se expondrán algunos conceptos permitirán entender mejor el problema expuesto en el punto anterior, dichos conceptos están divididos en dos secciones: orientación vocacional y sistemas expertos. 2 OCULTAR
2.1. MARCO TEÓRICO 2.1.1. Definición de Sistema Experto A) Según [Rolston, David W] aplicación informática que simula la habilidad de un experto humano a la hora de resolver un determinado tipo de problema, mediante la aplicación específica de conocimientos y de procedimientos de inferencia, ya que no se cuenta con una solución algorítmica práctica. B) Según [Bauer, Klaus] es aquel sistema capaz de almacenar el conocimiento de un experto en una especialidad determinada y limitada, a su vez de solucionar problemas mediante la inducción o deducción lógica. Los sistemas expertos son programas que capturan el conocimiento de un experto y tratan de imitar su proceso de razonamiento cuando resuelven los problemas en un determinando dominio. C) Definición del autor Es una aplicación que trata de emular lo que el ser humano especialista en alguna materia desarrolla frente a un problema, para ello el sistema hace uso de los conocimientos que previamente se han almacenado y con ello realiza procedimientos donde infiere resultados. Un sistema experto es un programa informático que simula el juicio y el comportamiento de una persona o una organización que cuenta con conocimientos técnicos y experiencia en un campo determinado. Típicamente, un sistema contiene una base de conocimientos que contiene la experiencia acumulada y un conjunto de reglas para la aplicación de la base de conocimientos para cada situación particular que se describen el programa. Sofisticados sistemas de expertos puede ser mejorado con adiciones a la base de conocimientos o para el conjunto de reglas.
6
2.1.2. Definición de Orientación vocacional A) Según [Ismael Vidales] La vocación se entiende como una realización personal. Es un desenvolvimiento a gusto en las actividades diarias que implica no solo la satisfacción personal, sino también que las personas que trabajen o convivan con uno se encuentren a gusto. También se entiende como un proceso gradual en el que se tiene que ir analizando y reflexionando detenidamente todos los aspectos implicados. Somos conscientes de las ansiedades y temores a la hora de enfrentarse a este desafío. Pero no se debe dudar ni un instante en buscar lo mejor para cada uno de nosotros, de todo aquello que responda a nuestras capacidades, aptitudes, intereses y valores, y que nos permita aportar satisfactoriamente a la sociedad. La vocación no aparece como algo puntual y espontáneo, sino que se inicia en la infancia, va configurándose durante la adolescencia para definirse en la adultez. No obstante, estas vocaciones tempranas pueden estar enmascaradas de motivos inconscientes que no son sino compensaciones, mecanismos de defensa ante conflictos de la primera infancia; por ello es necesaria una buena orientación para realizar una elección conforme al "yo" real del sujeto. B) Según [Carol Carter- Sarah Lyman Kravits] la orientación vocacional es un proceso complejo que estimula la capacidad de elegir y que se fundamenta en el principio de que todos los seres humanos necesitamos ayuda. Es la necesidad y ntación vocacional es una necesidad humana que debe ser satisfecha por la sociedad, mediante prácticas destinadas al esclarecimiento de la problemática vocacional. En este proceso se estimula la capacidad de elegir y que se fundamenta en el principio de que todos los seres humanos necesitamos ayuda para llegar a realizarnos plenamente y así servir mejor a nuestra sociedad.
2.1.3. Definición de Base del Conocimiento A) Según [Rolston, David W] la base de conocimientos aloja la totalidad de las informaciones específicas relativas al campo del saber deseado Está escrita en un lenguaje específico de representación de los conocimientos que contiene y en el cual el experto puede definir su propio vocabulario técnico. A la inversa de lo que sucede en los programas clásicos, en la base de conocimientos las informaciones entran tal como llegan, ya que el orden no influye en los resultados obtenidos. Sucede así porque cada elemento de conocimiento es comprensible por sí mismo tomado de forma aislada y, por lo tanto, no es necesario referirse al contexto en el cual está inserto. La información se representa, por regla general, mediante reglas de producción o redes semánticas.
7
B) Según [Nebendahl, Dieter ed] las bases de conocimiento son la evolución lógica de los sistemas de bases de datos tradicionales, en un intento de plasmar no ya cantidades ingentes de datos, sino elementos de conocimiento (normalmente en forma de hechos y reglas) así como la manera en que estos elementos han de ser utilizados. C) Definición del autor La base del conocimiento es la suma de la base de datos, las reglas y la base de hechos que gestionará el sistema experto. Además está formado por toda la información que se ha obtenido de un experto, el cual es una persona que es especialista en el tema y ha dejado todos sus conocimientos para que pueda ser usado por el sistema experto más adelante. Una base de conocimiento es una base de datos utilizada para el intercambio de conocimientos y gestión. Se promueve la recolección, organización y recuperación de los conocimientos. Muchas bases de conocimiento se estructura en torno a la inteligencia artificial y no sólo almacenar datos, sino encontrar soluciones para los problemas de otros a partir de datos de experiencias anteriores almacenadas como parte de la base de conocimientos.
2.1.4. Motor de Inferencia A) Según [Rolston, David W] es un programa, o pieza de software, que trata de derivar una respuesta basándose en una base de conocimientos. Donde por base de conocimientos, entendemos que es algo similar a una base de datos, pero especializada para guardar conocimiento, ordenarlo y poder obtenerlo fácilmente. Teniendo como foco principal el hecho de poder llegar a nuevas conclusiones, basadas en el conocimiento almacenado. Los motores de inferencia están fuertemente relacionados con el ámbito de los sistemas expertos, ya que se considera que un motor de inferencia es el cerebro de un sistema experto. B) Según [Bauer, Klaus] el Motor de Inferencias es un programa de control cuya función es seleccionar las reglas posibles a satisfacer el problema, para ello se vale de ciertas estrategias de control sistemáticas o de estrategias heurísticas, como por ejemplo: Estrategias de control sistemático:
Encadenamiento hacia adelante o hacia atrás. Búsqueda en profundidad o a lo ancho. Régimen de control irrevocable o por tentativa.
8
C) Definición del autor Es una aplicación que forma parte de un sistema experto que tiene como tarea la selección de las reglas de inferencia a partir de una base de conocimientos previamente implementado por la adquisición de los conocimientos por parte de un experto o especialista. El programa de procesamiento en un sistema experto. Se deriva una conclusión de los hechos y las normas contenidas en la base de conocimientos utilizando diversas técnicas de inteligencia artificial.
2.1.5. Toma de decisiones A) Según [Rauch-Hindin, Wendy B] una decisión es una elección consciente y racional, orientada a conseguir un objetivo, que se realiza entre diversas posibilidades de actuación o alternativas. Antes de tomar una decisión deberemos calcular cual será el resultado de escoger una alternativa. En función de las consecuencias previsibles para cada alternativa se tomará la decisión. Así, los elementos que constituyen la estructura de la decisión son: los objetivos de quién decide y las restricciones para conseguirlos; las alternativas posibles y potenciales; las consecuencias de cada alternativa; el escenario en el que se toma la decisión y las preferencias de quien decide. B) Según [Centro de Estudios Educativos] la toma de decisiones es el proceso a través del cual se identifica una necesidad de decisión, se establecen alternativas, se analizan y se elige una de ellas, se implementa la elegida, y se evalúan los resultados. C) Definición del autor Se considera como un proceso en el cual el individuo o sistema experto debe seleccionar una opción de varias alternativas, de modo que resuelva un problema o tenga una consistencia lógica para lograr objetivos previamente establecidos.
9
2.1.6.
Base de hechos
A) Según [Bauer, Klaus] es una memoria temporal que almacena los datos del usuario, datos iniciales del problema y los resultados obtenidos a lo largo del proceso de resolución. A través de ella se puede saber no sólo el estado actual del sistema sino cómo se llegó a él. B) Según [Nebendahl, Dieter ed] contiene los hechos sobre un problema que se han descubierto durante una consulta. Durante una consulta con el sistema experto, el usuario introduce la información del problema actual en la base de hechos. El sistema empareja esta información con el conocimiento disponible en la base de conocimientos para deducir nuevos hechos. C) Según [Carol Carter- Sarah Lyman Kravits] es una base de hechos, que alberga los datos propios correspondientes a los problemas que se desea tratar con la ayuda del sistema. Asimismo, a pesar de ser la memoria de trabajo, la base de hechos puede desempeñar el papel de memoria auxiliar. La memoria de trabajo memoriza todos los resultados intermedios, permitiendo conservar el rastro de los razonamientos llevados a cabo. Puede, por eso, emplearse para explicar el origen de las informaciones deducidas por el sistema en el transcurso de una sesión de trabajo o para llevar a cabo la descripción del comportamiento del propio sistema experto. Al principio del período de trabajo, la base de hechos dispone únicamente de los datos que le ha introducido el usuario del sistema, pero, a medida que va actuando el motor de inferencias, contiene las cadenas de inducciones y deducciones que el sistema forma al aplicarlas reglas para obtener las conclusiones buscadas. D) Definición del autor Es una memoria de trabajo en donde se almacena todos los resultados que se van obteniendo a medida que se va desarrollando el trabajo, permitiéndose hacer un seguimiento de los rastros de los razonamientos que se han ido ejecutando.
2.1.7.
TEST DE HOLLAND
Según [Holland, J. ]. la elección de una carrera sería una extensión de la personalidad y un intento por implantar, dentro del contexto de la vida laboral, el estilo particular de comportamiento. En este sentido, los intereses vocacionales son sencillamente otro aspecto de la personalidad, y los inventarios (test) de intereses son inventarios de personalidad.
10
Holland plantea que cada persona proyecta sobre las ocupaciones sus puntos de vista acerca de ella misma y del ambiente laboral que prefiere. Para ello utiliza estereotipos vocacionales que, según el autor, son de gran importancia a nivel psicológico y sociológico. Las personales eligen una actividad porque la imagen que tienen de ella, normalmente un estereotipo, les parece atractiva y se identifican con ella. Los individuos de una misma vocación, tienen personalidades parecidas e historias similares de desarrollo. Por este motivo responderán de la misma manera frente a diversas situaciones y crearán ambientes interpersonales característicos. Según Holland, la mayoría de las personas pueden ser clasificadas en seis tipos de personalidad, correspondientes a seis tipos de ambientes laborales (Convencionales, realistas, Investigativos, artísticos, Sociales y emprendedores). Existe una relación muy importante entre Tipo de Personalidad y Ambiente, ya que la conducta de las personas está determinada por una interacción entre sus características de personalidad y las características y exigencias del ambiente en que se desenvuelve. Las personas son, en alguna medida, producto de su medio, en el sentido que se han formado a través de la interacción con otros. A su vez cada uno de nosotros forma parte de un medio ambiente específico, donde se producen determinadas interacciones, se maneja un cierto lenguaje y predominan ciertos valores y normas. Hay una interacción entre las necesidades individuales que impulsan determinadas acciones y las presiones ejercidas por el resto de las personas que comparten un medio ambiente determinado. Las personas deberían procurarse ambientes que les permitan ejercitar sus destrezas, expresar sus actitudes y valores y asumir roles de su agrado. Esta congruencia entre la personalidad y el ambiente académico o laboral determina el grado de satisfacción, estabilidad y logro de la elección vocacional o profesional. Todas las personas y todos los medios tienen, en mayor o menor grado, las características de los diferentes tipos, aunque algunas predominan más que otras. Comparando los atributos de una persona o de un ambiente con los de cada tipo, se puede determinar a cuál de ellos se parece más y es posible llegar a definir una jerarquía que describa la situación particular de distintas personas. La interacción entre los Tipos de Personalidad y los diferentes Medio Ambientes se analiza conforme al modelo hexagonal, Este permite evaluar el grado de afinidad entre los tipos y los medios y describir las interacciones que se producen entre ellos.
11
2.1.8.
USUARIO
A) Se define como usuario como aquel que cuenta con una serie de recursos y permisos a los que tiene acceso. Por ende, un usuario puede ser un software, un humano o una máquina. Hay diversos tipos de usuario, empezando por el administrador, al cual se destina un producto informático ya sea hardware o software, que está disponible para el mismo después que supera las fases de desarrollo necesarias. En el caso del software, se fabrica en pro de la fácil comprensión y uso por parte del usuario final, redundando en una mayor comodidad, razón por la que se hace una interfaz de usuario que sea sencilla y clara. [6]. B) Según [Nebendahl, Dieter ed] es un individuo que utiliza una computadora, sistema operativo, servicio o cualquier sistema informático. Por lo general es una única persona. Un usuario generalmente se identifica frente al sistema o servicio utilizando un nombre de usuario (nick) y a veces una contraseña, este tipo es llamado usuario registrado. Por otro lado el usuario final de un producto informático (bien sea hardware o software), es la persona a la que va destinada dicho producto una vez que ha superado las fases de desarrollo correspondientes. C) Definición del autor Un usuario es aquel que tiene la posibilidad de hacer uso algo, en el contexto de la informática, es aquel agente humano o software que puede hacer uso de una aplicación, para ello generalmente utiliza una identidad o nombre de usuario. A su vez pueden ser: usuario experto, se encarga de añadir nuevos conocimientos a la base de conocimientos o de modificar el conocimiento existente en el sistema y el otro tipo de usuario es el del sistema, el se encarga de ejecutar el sistema experto.
12
2.1.9.
Metodología Grove
A) Según [Bauer, Klaus] es un método enfocado a la documentación, esta documentación reemplaza parcialmente al experto y sirven de medio de comunicación y referencia entre los usuarios y los ingenieros del conocimiento, se divide en dos fases: fase de definición del dominio; donde se realiza una investigación sobre el tema a resolver, y fase de formulación del conocimiento fundamental la que puede implementarse a través de simulación de escenarios. B) Según [Rolston, David W] la metodología de Grover [1983] propone tres fases para el desarrollo del proceso de adquisición del conocimiento, cada una acompañada de una documentación detallada que reemplazan parcialmente al experto y sirven como medio de documentación y referencia para usuarios y diseñadores. Definición del problema
Definición del dominio
Figura 2. Formulación del Conocimiento Fundamental
C) Definición del autor Es una metodología que tiene como objetivo la adquisición del conocimiento para implementar el sistema experto, para ello hace uso de la definición del dominio, en donde se desarrolla una investigación sobre el punto a resolver y luego se pasa a una etapa de formulación del conocimiento y para ello se desarrolla un modelo y luego se simula.
13
2.1.10. Metodología IDEAL La metodología IDEAL fue desarrollada en la Facultad de Informática de la Universidad Politécnica de Madrid. Consiste en conseguir desde etapas muy iniciales del desarrollo de prototipos que indiquen como debe funcionar el sistema experto final. El objetivo de esta metodología es conseguir un proceso de mejora gradual en base al conocimiento del experto y consta de las siguientes fases. [Bibiana D. Rossi, 2001]
Figura 3: Modelo troncocónico de la metodología IDEAL.
FASE I: Identificación del la tarea. En esta fase de definen los objetivos del proyecto del sistema experto, las características del problema y los requisitos para la solución del problema. Se subdivide en las siguientes etapas:
Etapa I.1: Plan de requisitos y adquisición de conocimientos. La primera tarea del ingeniero del conocimiento es identificar las necesidades del cliente escribiendo los requisitos del sistema a desarrollar. El plan de requisitos debe contener: 1. Objetivos específicos y generales del sistema. 2. Funcionamiento y rendimiento requeridos.
14
3. 4. 5. 6.
Limitaciones de costo/tiempo. Tecnología disponible. Competencia. Ampliaciones futuras.
Etapa I.2: Evaluación y selección de la tarea. En esta etapa se estudia la viabilidad de cada una de las tareas y el grado de dificultad que presentan.
Etapa I.3: Definiciones de las características del sistema. En esta etapa se definen las características que tendrá el sistema experto. Los puntos a tocar son: 1. Especificación técnica del sistema emitida por el ingeniero del conocimiento en base al plan de requisitos. 2. Criterios de éxito, que consiste en identificar las necesidades reales de los usuarios finales. 3. Casos de prueba para validar la calidad del sistema experto. 4. Recursos materiales y humanos necesarios para desarrollar el sistema experto. 5. Plan de desarrollo del proyecto. Al terminar esta primera fase se conoce el ámbito del problema y se definen las funcionalidades del sistema experto, logrando que el ingeniero de conocimiento y los usuarios clientes tengan la misma percepción de los objetivos del sistema.
FASE II: Desarrollo de los prototipos. Los sistemas basados en el conocimiento se construyen de forma incremental, desarrollando distintos prototipos que permitan comprender mejor los requisitos de los usuarios y las especificaciones del sistema. Primero se desarrolla un prototipo de investigación que se convierte en un prototipo de campo y finalmente se desarrolla un prototipo de operación. Para poder desarrollar estos prototipos se deben de llevar a cabo las siguientes etapas:
15
Etapa II.1: Concepción de la solución. Consiste en producir un diseño general del sistema en base a las especificaciones obtenidas en la primera fase. Esta etapa está conformada de un desarrollo del diagrama de flujo de datos y la especificación del diseño arquitectónico del sistema.
Etapa II.2: Adquisición y conceptualización de conocimientos. La adquisición de conocimientos se alterna con la conceptualización de los mismos para poder modelar el conocimiento del experto.
Etapa II.3: Formalización de conocimientos. Esta etapa esta conformada de la definición de estructuras que permitan representar el conocimiento del experto y de la realización del diseño detallado del sistema experto. Se debe establecer los módulos que definen el motor de inferencias, la base de conocimiento y las distintas interfaces y desarrollar la arquitectura especificada en la etapa II.1.
Etapa II.4: Implementación. Si se ha elegido una herramienta de desarrollo adecuada la implementación es inmediata.
Etapa II.5: Validación y Evaluación. Consiste en realizar las siguientes acciones: 1. Casos de prueba. Permiten comparar las respuestas arrojadas por el sistema experto con la respuesta que brindaría el experto ante la solución del mismo problema. 2. Ensayo en paralelo. Consiste en que el experto utilice el sistema para encontrar discrepancias en los resultados, se examina la interfaz de usuario y la calidad de las explicaciones que brinda el motor de inferencia.
Etapa II.6: Evaluación de nuevos requisitos, especificaciones y diseño. Consiste en la definición de los requisitos, especificaciones y diseño del siguiente prototipo. Esta fase termina con la construcción del sistema experto completo.
16
FASE III: Ejecución de la construcción del sistema integrado. Esta fase esta conformada de las siguientes etapas: Etapa III.1: Requisitos y diseño de la integración. Comprende el estudio y diseño de interfaces con otros sistemas. Etapa III.2: Implementación y evaluación del sistema integrado. Se implementa la integración del sistema experto con otros sistemas existentes para conseguir un sistema final. Etapa III.3: Aceptación del sistema por el cliente. El usuario prueba el sistema, el cual deberá de satisfacer con sus requerimientos de fiabilidad y eficiencia.
FASE IV: Actuación para conseguir el mantenimiento perfectivo. Comprende las siguientes etapas: Etapa IV.1: Definir el mantenimiento del sistema global. Consiste en realizar un mantenimiento correctivo y un mantenimiento perfectivo del sistema. Etapa IV.2: Definir el mantenimiento de las bases de conocimientos. Considera la adquisición de nuevos conocimientos por parte de la base de conocimientos que se generan por el propio uso del sistema, definiendo los métodos necesarios para llevar a cabo este proceso. Etapa IV.3: Adquisición de nuevos conocimientos. Incorporación de nuevos conocimientos que se generan por el propio uso del sistema experto. FASE V: Lograr una adecuada transferencia tecnológica. Comprende las siguientes etapas: Etapa V.1: Organizar la transferencia tecnológica. El desarrollador del sistema experto se debe reunir con los usuarios para brindar una explicación del manejo del sistema experto y de la documentación laborada. Etapa V.2: Completar la documentación del sistema experto construido. Realizar un manual de usuario.
17
CAPÍTULO 3: ESTADO DEL ARTE A continuación se mostrarán las aplicaciones existentes actualmente que apoyan al proceso de orientación vocacional: 3 OCULTAR
3.1. Metodologías de desarrollo de Sistemas Expertos Se pretende usar un híbrido de las metodologías Grover e IDEAL, la metodología Grover se usará para la etapa de adquisición de conocimiento y la metodología IDEAL para la construcción del sistema experto. A continuación se detalla el híbrido de ambas metodologías adaptadas al proyecto que se pretende desarrollar.
Etapa I: Adquisición del conocimiento. Se utilizará la segunda fase de la metodología Grover (Formulación del conocimiento fundamental) que permitirá definir claramente las reglas a usar en el sistema experto y las estructuras que permitirán su representación. A su vez se usará la primera fase de la metodología IDEAL (Identificación de la tarea) para la obtención adecuada de requisitos. Esta etapa contará con las siguientes f ases:
1. Identificación de la tarea. Esta fase contará con las siguientes tareas: Definición de objetivos específicos y generales del sistema. Definición del problema. Definición de requisitos para la solución. Identificación de expertos. Limitaciones de costo y tiempo. Identificación de tecnología disponible. Definición de las características del sistema experto, incluye: especificación técnica del sistema, criterios de éxito, casos de prueba, identificación de recursos materiales necesarios y ampliaciones futuras. Identificación de funciones requeridas. Elaboración del plan de proyecto. •
•
•
•
•
•
•
•
•
18
2. Formulación del Conocimiento. Esta fase contará con las siguientes tareas: •
•
•
•
Definición de estructuras para representar el conocimiento del experto. Definición de fuentes de entrada y formatos. Conjunto básico de reglas de análisis. Definición del estado inicial del conocimiento base.
Etapa II: Construcción del sistema experto. Se utilizará la segunda fase de la metodología IDEAL (Desarrollo de prototipos) para la construcción del sistema experto en dónde se realizará el análisis por parte del motor de inferencias y se presentarán los resultados y explicaciones. Lo que se pretende dentro de esta etapa es construir el sistema experto en forma incremental desarrollando tres prototipos que permitan conocer mejor los requisitos hasta llegar al producto final. Esta etapa contará con las siguientes fases:
1. Prototipo de Investigación: Este prototipo servirá para obtener un diseño general del sistema en base a las especificaciones obtenidas en la primera etapa y consta de las siguientes tareas: • Concepción de la solución, que permite producir un diseño general del sistema y un diagrama de flujo de la solución. • Definición de estructuras que permitan representar el conocimiento del experto. • Validación y evaluación de las respuestas arrojadas por el sistema experto. • Definición de nuevos requisitos, en base a la validación y evaluación anterior.
2. Prototipo de Campo: En base a los nuevos requisitos se procederá a modificar el prototipo de investigación y se obtendrá el prototipo de campo. Esta fase consta de las siguientes tareas: • Conceptualización y formalización de conocimientos, que permite desarrollar un diseño detallado del sistema en base al prototipo de investigación, implementando los nuevos requisitos detectados en la etapa de prototipo de investigación. • Validación y evaluación de prototipo, se utilizarán los casos de prueba definidos para validar el correcto funcionamiento del sistema. • Definición de nuevos requisitos, en base a la validación y evaluación.
19
3. Prototipo de Operación: Será el resultado del producto final. En esta fase se procederá a realizar las diferentes pruebas que garanticen el correcto funcionamiento del sistema. • Formalización de conocimientos, se realizará la implementación de los nuevos requisitos detectados en la etapa de prototipo de campo. • Validación y evaluación de prototip o, se utilizarán los casos de prueba definidos para validar el correcto funcionamiento del sistema y se realizará un ensayo en paralelo con el usuario experto.
3.2. Identificación de requerimientos. A continuación se presenta la lista de requerimientos funcionales y no funcionales que el sistema experto deberá cumplir.
3.3.1. Requerimientos Funcionales. La lista de requerimientos funcionales se divide en seis grupos, cada uno de los cuales corresponde a uno de los módulos en los que se ha dividido el proyecto.
1. Módulo de Adquisición de Conocimientos • El sistema contendrá el conjunto de reglas que permitirán obtener las carreras recomendadas al usuario.
2. Módulo de Pauta Vocacional • El sistema permitirá la consulta de los resultados de la evaluación de los t ests vocacionales.
3. Módulo Generador de explicaciones. • El sistema indicará al usuario experto la carrera que deberá o podrá elegir.
4. Módulo de Mantenimientos • El sistema tendrá incorporado los datos personales de los usuarios. • El sistema registrará y actualizará la información relacionada a las carreras de ingeniería.
5. Módulo de Consultas • El sistema permitirá la consulta de la información de las carreras de en la UNMSM.
6. Módulo de Reportes • El sistema permitirá la generación de las opciones vocacionales recomendadas.
20
3.3.2. Requerimientos No Funcionales. 1. El sistema deberá presentar una interfaz Web. 2. El sistema deberá ser de rápida navegabilidad entre componentes del formulario. 3. El sistema se deberá desarrollar en lenguaje PHP. 4. El sistema se ejecutará sobre el servidor Web Apache. 5. El sistema contará con una base de datos MySQL. Para el levantamiento de información se contó con la colaboración del Psicólogo del Institución Educativa Academia “ADUNI” Juan Chávez, quién detalló el proceso de orientación vocacional y ayudó a definir los requisitos funcionales del sistema. Todos los requerimientos expuestos resuelven el problema planteado en el Capítulo1 puesto que permiten captar los datos del usuario para realizar un correcto análisis por parte del motor de inferencia y devolver los datos necesarios para que el orientador pueda asesorar al usuario alumno correctamente en la toma de decisiones.
3.3. Software para desarrollar Sistemas Expertos existentes en el Mercado Corvid Exsys es una herramienta potente y probada extensivamente para la construcción y despliegue de aplicaciones interactivas de sistemas expertos en línea. Está diseñado para ser fácil de aprender y dirigida a los no programadores. Permite a la lógica de toma de decisiones y el proceso del experto de dominio para ser convertido en una forma estructurada que puede ser utilizado por el motor de inferencia Exsys para conducir dinámicamente sesiones interactivas que proporcionan asesoramiento a los usuarios finales. Corvid resuelve los problemas principales en el desarrollo de tres sistemas expertos: Totalmente captar la lógica de la toma de decisiones y el proceso del experto de dominio. Envolver el sistema en una interfaz de usuario con el deseado aspecto y la sensación. Integración con otros recursos de TI.
Figura 4. Shell Exsys Corvid
21
3.3.1. La captura de la lógica de toma de decisiones Corvid ofrece varias formas para describir la lógica, por lo que se puede utilizar un enfoque adecuado para un problema. Lo que usa Corvid es una "heurística" If / Then reglas basadas en variables. Existen 7 tipos de variables a partir de variables numéricas y de cadena bastante estándar en las variables de recogida de informes dinámicos o variables de confianza que facilitan la construcción de sistemas probabilísticos. Las variables han asociado métodos y propiedades que les permiten ser utilizado de muchas maneras. Las reglas de un sistema son las reglas si / entonces con Inglés (o cualquier idioma que se prefiere) y el álgebra. Las reglas son fáciles de leer y son esencialmente el mismo que un experto podría utilizar para explicar por qué se tomó una decisión. Normalmente cada regla representa un pequeño paso en la decisión. Algunas reglas pueden representar más alto de nivel lógico, otras pueden cubrir pasos intermedios y se utiliza para derivar la información utilizada por las reglas de nivel superior.
Figura 5. Bloques Lógicos y vistas de reglas
22
3.3.2.
Construcción de la interfaz de usuario
Una vez que la lógica está funcionando, el siguiente paso es el diseño de la interfaz de usuario. Corvid hace que este paso sea demasiado simple, y no requiere que el programador sepa de HTML para la entrega en línea. Sistemas Corvid se puede ejecutar, ya sea con el motor de inferencia Exsys como un applet de Java o un programa Servlet Java Runtime. En el modo de applet predeterminada, las pantallas se definen por las fuentes de configuración, colores, posiciones, imágenes, etc Es similar al formato de un documento de Word. Para las interfaces más complejas, mapas de imagen se puede utilizar. El tiempo de ejecución Corvid utilizará los ajustes para controlar cómo se formularán las preguntas y cómo los resultados se presentarán. Los sistemas más avanzados pueden generar informes en HTML, RTF o PDF. Cuando se utiliza el tiempo de ejecución de applets, Corvid genera automáticamente todos los archivos necesarios para desplegar el sistema en un servidor web. Para los sistemas que necesitan un mayor control de la interfaz de usuario, o que se ejecutará en el servidor, depende del tiempo de ejecución de Servlet Corvid. Este programa opcional implementa el motor de inferencia Corvid como un Servlet Java. En este modo, la interfaz de usuario se define por plantillas HTML. Una gran variedad de plantillas de ejemplo básico son suministrados por Corvid y puede ser fácilmente editado con cualquier editor HTML. Aquí un poco de conocimiento de HTML que se necesita, pero las interfaces de usuario muy complejos y avanzados pueden crear.
3.4. Estudio de casos 3.4.1. Orientación Vocacional Interactiva (O.V.I.) Es un programa que emplea tecnología multimedia, permite que el usuario pueda conocer la información necesaria para toma una decisión acertada sobre su vocación profesional. Es un producto peruano
desarrollado en 1998 por la
empresa Interactivity S.A, empresa especializada en desarrollos multimedia. [Empresa Interactivity S.A., 1998] En primer lugar el programa evalúa los factores personales y situacionales del alumno, enseguida muestra las áreas afines a usuario de acuerdo a sus capacidades y habilidades; finalmente se muestra la información sobre las carreras existentes en los diferentes centros educativos. Posee un menú principal conformado por las siguientes opciones: Introducción, pauta vocacional, carreras y centros de estudio.
23
Dicho menú es detallado a continuación:
a. Introducción. Cuenta con las siguientes opciones presentación del programa, secuencia que se debe seguir a usar el CD y la editorial.
b. Pauta vocacional. Contiene los diferentes tests que ayudarán a conocer los factores personales del alumno dichos tests son: Prueba para conocerte a ti mismo, pruebas para conocer tus tendencias y pruebas de conocimientos.
Prueba para conocerte a ti mismo: Este test esta conformado de veinticuatro preguntas que abarcan distintos temas desde cultura general hasta conocimiento personal, es mostrado al usuario en seis pantallas de cuatro preguntas cada una.
Figura 6. Pruebas para conocerte a ti mismo
Los resultados del test sólo se mostrarán si se contestaron todas las preguntas y se muestran en una sola pantalla donde se pueden observar los puntajes obtenidos.
Figura 7. O.V.I. Resultado Prueba para conocerte a ti mismo.
24
Prueba para conocer tus tendencias Este test está conformado de cuarenta preguntas que permite conocer los intereses del usuario, es mostrado en diez pantallas de cuatro preguntas cada una.
Figura 8: O.V.I. Prueba para conocer tus tendencias
Los resultados del test solo se activarán si se respondieron todas las preguntas. Esta prueba arroja a que área profesional se inclina más el usuario.
Figura 9 O.V.I. Resultado Prueba para conocer tu tendencia.
25
Prueba de conocimientos Simula un examen de ingreso. Las evaluaciones contenidas en este punto contienen siete prácticas calificadas, un examen parcial y un examen final, todas las evaluaciones se pueden imprimir.
b. Carreras. Se puede observar las carreras que se puede seguir si se decide por tener estudios superiores o seguir una carrera corta en algún instituto. Primero se deberá seleccionar el área de interés, en seguida seleccionar la carrera y finalmente la opción “Ver Carrera” que mostrará una descripción de la misma con datos importantes para el usuario.
Figura 10 O.V.I. Información de las carreras
Luego de seleccionar la opción “Ver Carrera” aparecerá la siguiente pantalla:
Figura 11: O.V.I. Información de las carreras en estudios superiores.
26
c. Centros de estudio. Muestra la información concerniente a las universidades y los institutos y escuelas. Dicha información esta conformada por: dirección, teléfono, página Web y carreras dictadas por el centro de estudio.
Figura 12: O.V.I. Información de los centros de estudios superiores
3.4.2. Sistema Experto de Orientación Vocacional: SEOV Este sistema es un trabajo realizado para los cursos de Inteligencia Artificial y Tópicos de Inteligencia Artificial de la Universidad Santiago de Chile [Universidad Santiago de Chile,1999]. Su base de conocimiento cuenta con dos test que permiten conocer los factores personales del usuario, el test de Intereses de Fernando Gutiérrez y el test de personalidad de Patricio Montero; y con la información de los perfiles de las carreras la cual es limitada ya que sólo contiene la información indicada en los folletos de admisión de la Universidad de Santiago de Chile. El Sistema está dividido en dos partes: la primera parte se encarga de la toma de tests y la segunda parte es el sistema experto propiamente dicho.
27
El módulo de toma de tests esta elaborado en lenguaje C y genera un archivo de texto llamado testn.pro en dónde se almacenan las respuestas que el usuario ingresa al sistema. El sistema experto está elaborado en lenguaje Prolog el cual recibe como entrada el archivo testn.pro, éste analizará la información de dicho archivo y mostrará en pantalla la información de las carreras afines al usuario. Posee un menú que contiene las siguientes opciones: carreras dictadas por la USACH, determinando tus carreras, analizando tus intereses, analizando tu personalidad y salir.
a. Carreras dictadas por la USACH. Muestra la información concerniente a las universidades y los institutos y escuelas. Dicha información esta conformada por: dirección, teléfono, página Web y carreras dictadas por el centro de estudio. Muestra la información que el sistema experto almacena sobre cada una de las carreras que dicta la Universidad de Santiago de Chile, esta información puede ser actualizada, la idea de este menú es sólo de información.
Al seleccionar la tecla “Enter” se pasará a visualizar la información de la siguiente carrera almacenada.
Figura 13: SEOV Carreras dictadas por la USACH
28
los b. Determinando Determinando las las carreras carreras. Analiza el archivo testn.pro que contiene los resultados de los tests de intereses y personalidad que se le realizaron al usuario y arroja las carreras afines a éste. Para poder consultar el resultado de la evaluación de los test el sistema solicita el ingreso del código identificador del usuario conocido como RUT, en base a este identificador se obtienen los resultados de los tests y se realiza el análisis. Para que un usuario pueda tener como resultado una carrera determinada debe haber aserción en todos y cada uno de los requisitos que ésta solicita. Las carreras afines al usuario se muestran en una pantalla como la siguiente, en la cual después de seleccionar la te cla “Enter”, se muestra la siguiente carrera afín.
Figura 14: SEOV – Determinando las carreras.
c. Analizando los Intereses. Muestra al usuario el resultado que ha obtenido en el test de intereses.
29
Figura 15: SEOV - Analizando tus intereses. intereses.
d. Analizando tu personalidad. personalid ad. Muestra al usuario el resultado obtenido en el test de personalidad.
Figura 16 SEOV - Analizando la personalidad
Sistema Propuesto
Factores Personales
S.E.O.V.
Contará con 54 preguntas , dicho cuestionario permitirá conocer la orientación que tiene el estudiante. Se utilizarán dos test quepermiten conocer dichos factores: Inventario de preferencias personales de Edwards e Inventario autodirigido de Holland. Se implementará información sobre cada carrera, mostrando las posibilidades de trabajo y las maestrías que se podría continuar.
•
•
Factores Situacionales
•
Toma tres pruebas para conocer dichos factores: Prueba para conocerte a ti mismo, Prueba para conocer tus tendencias y Prueba de conocimientos Cuenta con un cuestionario que permita conocer estos factores. No cuenta con información adicional.
•
Toma dos tests para conocer dichos factores: : test de Intereses de Fernando Gutiérrez y el test de personalidad de Patricio Montero. No cuenta con un cuestionario que permita conocer estos factores. No cuenta con informaciòn adicional.
•
•
•
Figura 17: Benchmarking
30
O.V.I.
•
•
3.5. Descripción y sustentación de la solución. Como se mencionó líneas anteriores, el proceso de orientación vocacional es de suma importancia en el desarrollo personal del estudiante y es por esta razón que se propone generar un sistema experto que sirva como apoyo a dicho proceso. El sistema experto propuesto analizará en profundidad los elementos necesarios para una toma de decisiones pertinente usando los tests vocacionales de mayor prestigio
actualmente, recomendados recomendados por por
la el Psicólogo Juan Chávez,
responsable del área de psicología de la Institución Educativa Academia “ADUNI”. A su vez será capaz de explicarle al usuario cómo llegó a determinada conclusión y no solamente mostrarle los resultados como lo hacen las soluciones actuales, los perfiles que almacenará también serán detallados por lo que las respuestas mostradas tendrán un alto grado de confiabilidad.
31
CAPÍTULO 4: APORTE TEÓRICO
4 4.1. Análisis económico La realización de cualquier proyecto implica una salida de capital que permita solventar aquellos gastos necesarios para el desarrollo del mismo. A continuación se mostrará una tabla que resume los principales egresos que permitirán implementar la propuesta de solución descrita, tener en cuenta que el software a utilizar es libre por lo que no representa un gasto para el desarrollo del sistema.
Concepto
Subtotal (S/.)
Mano de obra Levantamiento de Información.
1,500.00
Construcción de la Solución.
9,600.00
11,100.00 Otros gastos Máquina de desarrollo
700.00
Luz, Internet
450.00
Artículos de oficina (hojas, lapicero, tintas)
150.00
1,300.00 Total
12,400.00 Tabla1: Análisis Económico
Costo por hora de mano de obra para el levantamiento de información es de S/.10 y para la construcción de la solución S/.20.
4.2. Arquitectura de Información 32
A continuación se detallará la arquitectura de información usada para almacenar los datos de la base de hechos y la información de la base de conocimientos. Ambas bases de datos están almacenadas en un archivo de extensión XML respectivamente. Se decidió usar este tipo de archivo porque permite estructurar la información en forma de árbol de manera rápida y sencilla, logrando así almacenar la información en forma ordenada facilitando su posterior lectura y uso.
4.2.1. Base de Hechos. En este apartado se describe la arquitectura de información que tendrá la base de hechos, la cual contiene los datos de entrada proporcionados por el usuario experto en la etapa de adquisición del conocimiento. La
base
de
hechos tendrá información acerca del
Inventario
autodirigido de Holland y de las especialidades a evaluar. El formato en el que se almacenarán los datos es el siguiente:
Nombre del factor Descripción del factor Nombre de la ocupación 1 Pregunta 1 Pregunta 2 Pregunta 3
Especialidad 1 Especialidad 2
33
4.2.2. Base de conocimientos En este apartado se describe la arquitectura de información que tendrá la base de conocimientos. Para representar dicho conocimiento
se
utilizarán reglas de producción, éstas se generan relacionando los datos de la base de hechos. Cada regla está formada de una parte denominada premisa y de una parte denominada conclusión y tendrá la siguiente forma: SI premisa ENTONCES conclusión
A su vez pueden ser utilizadas para expresar un amplio rango de asociaciones, por ejemplo: SI premisa1 y premisa2 o premisa3 entonces conclusión
Se eligió el método de reglas de producción ya que poseen varias ventajas significativas, como por ejemplo: facilidad de modificación y representación del conocimiento almacenado en pequeños fragmentos y de forma declarativa. El tener la base de conocimientos en forma de reglas de producción ayuda a la labor del motor de inferencia a obtener la información requerida dependiendo de la forma en que se recorran estas reglas. Si la base de conocimientos se recorre de las premisas a las conclusiones se obtendrá como resultado toda la información de obtener de esta forma de recorrido, por el contrario, si se recorre de las conclusiones a las premisas se obtendrá como resultado si los objetivos indicados inicialmente son verdaderos o falsos. El formato en el que se almacenará la base de conocimientos es el siguiente:
34
Premisa Conclusión
4.2.3. Motor de base de datos Como se mencionó anteriormente el motor de base de datos almacenará la información de los usuarios del sistema, de las carreras a evaluar, el resultado de los tests y las reglas elegidas por el sistema.
4.3. Arquitectura de la solución En esta sección se detallará el algoritmo seguido por el motor de inferencia para obtener las carreras afines al usuario. El
método
utilizado
es
encadenamiento
hacia
. adelante
Las
características principales de este tipo de encadenamiento es que recorre la base de conocimientos de los hechos a las conclusiones e indica todas las conclusiones posibles que son válidas a partir de hechos válidos. El algoritmo correspondiente a este tipo de encadenamiento se expone a continuación:
1. Se determina que reglas tienen hipótesis verdaderas. 2. Si no hay hipótesis verdaderas se le puede preguntar al usuario por alguna hipótesis verdadera.
3. Si para este punto no hay reglas con hipótesis verdadera se termina el algoritmo, caso contrario se continúa con el punto cuatro.
4. Del conjunto de reglas con hipótesis verdadera se elige una regla y se realizan las siguientes acciones:
•
Se añade la conclusión a la memoria de trabajo.
35
•
Se suprime la regla del conjunto de reglas con hipótesis verdaderas.
5. Se regresa al primer punto. A continuación se muestra la aplicación del algoritmo descrito que permite obtener las carreras afines al usuario. Sea el siguiente conjunto de reglas la base de conocimiento del sistema experto:
•
SI REALISTA > INVESTIGATIVA > SOCIAL entonces REALISTA
y INVESTIGATIVA y SOCIAL
SI REALISTA > INVESTIGATIVA > EMPRENDEDORA entonces •
REALISTA y INVESTIGATIVA y EMPRENDEDORA
SI REALISTA y INVESTIGATIVA y SOCIAL entonces Ingeniería •
Mecánica o Ingeniería Electrónica
SI REALISTA y INVESTIGATIVA y EMPRENDEDORA entonces •
Ingeniería Informática o Ingeniería de Minas. Los pasos a realizar para obtener el resultado son los siguientes:
1. Se determina qué reglas tienen hipótesis verdaderas. Observación: El sistema no posee ninguna hipótesis verdadera inicialmente.
2. Si no hay hipótesis verdaderas se le puede preguntar al usuario por alguna hipótesis.
36
Observación: El usuario debe contestar el test para obtener las hipótesis verdaderas, para la obtención de dichas hipótesis se realizan los siguientes pasos:
a.
Se calcula el puntaje que obtuvo cada orientación sumando la cantidad de respuestas positivas obtuvieron. Una vez obtenidos los puntajes se ordenan las orientaciones de forma descendente de acuerdo al puntaje asociado. De ese primer paso se obtiene la siguiente tabla
Orientación
Puntaje
REALISTA
10
INVESTIGATIVA
8
SOCIAL
7
EMPRENDEDORA
7
CONVENCIONAL
5
ARTISTICA
4
Tabla 2 : Puntaje por orientación b.
Con el resultado anterior se procede a armar códigos de tres orientaciones teniendo
en
cuenta
sólo
aquellas
orientaciones que obtuvieron los tres puntajes más altos. El orden
de aparición de la orientación dentro del código
dependerá del puntaje obtenido. Para este ejemplo los códigos armados serían los siguientes: REALISTA INVESTIGATIVA SOCIAL REALISTA INVESTIGATIVA EMPRENDEDORA
c.
Finalmente, con el resultado anterior se procede a armar las premisas positivas utilizando el símbolo “>” para enlazar las orientaciones. Para este ejemplo las premisas positivas serían las siguientes:
37
REALISTA > INVESTIGATIVA > SOCI AL REALIS TA > INVESTIGATIVA > EMPRENDEDORA
3. Si después de los dos primeros pasos no hay reglas con hipótesis verdadera se termina el algoritmo, caso contrario se continúa con el siguiente punto.
Observación: En el segundo paso se obtuvieron las premisas positivas por lo que se puede continuar con la ejecución del algoritmo.
4. Del conjunto de reglas con hipótesis verdadera se elige una regla y se realizan las siguientes acciones:
•
Se añade la conclusión a la memoria de trabajo.
•
Se suprime la regla del conjunto de reglas con hipótesis verdaderas.
5. Se regresa al primer punto. Los pasos del uno al cuatro se repetirán hasta que el conjunto de reglas con hipótesis positivas sea vacío.
Para poder realizar las
iteraciones se ordenó la información de la siguiente manera:
Reglas a disparar: Se escogen aquellas reglas con premisas positivas, inicialmente estas reglas son:
SI REALISTA > INVESTIGATIVA > SOCIAL entonces REALISTA y INVESTIGATIVA SOCIAL
y
REALISTA > SI entonces
INVESTIGATIVA >
REALISTA INVESTIGATIVA
y
38
EMPRENDEDORA
Este conjunto de reglas a disparar se incrementará a lo largo de las iteraciones si es que se encuentran otras reglas con hipótesis verdaderas.
Hechos Positivos: Conformado inicialmente por las premisas obtenidas en el punto dos: REALISTA SOCIAL
>
INVESTIGATIVA
REALISTA > EMPRENDEDORA
>
INVESTIGATIVA
>
Posteriormente esta lista de hechos positivos se podrá incrementar con las conclusiones de las reglas disparadas si es que éstas son positivas.
Hechos Negativos: Inicialmente no se conoce ningún hecho negativo. Posteriormente esta lista de hechos se podrá incrementar con las conclusiones de las reglas disparadas si es que éstas son negativas.
Disparar regla: Implica elegir aleatoriamente una regla del conjunto de reglas a disparar. Para este ejemplo la primera regla a disparar será:
SI REALISTA > INVESTIGATIVA > SOCIAL entonces REALISTA y INVESTIGATIVA SOCIAL
y
Una vez seleccionada la regla se realizarán las siguientes acciones:
•
Eliminar la regla del conjunto a reglas a disparar.
39
•
Si la conclusión es verdadera ingresarla en la lista de hechos positivos y recorrer la base de conocimientos en busca de alguna otra regla con hipótesis verdadera, teniendo en cuenta que la conclusión es verdadera.
Si la conclusión es falsa ingresarla en la lista de hechos negativos. •
El total de iteraciones realizadas para obtener el resultado se muestran a continuación:
Reglas a disparar
Hechos
Hechos
Positivos
Neg.
SI R > I > S entonces R y I y S SI R > I > E
Disparar Regla SI R> I > S
R>I>S, R>I>E
entonces R y I y -
S
entonces R y I y E SI R > I > E entonces R y I y E SI R y I y S
R>I>S,
entonces
R > I > E,
Ingeniería
RyIyS
SI R > I > E entonces -
RyIyE
Mecánica o Ingeniería Electrónica
SI R y I y S
SI R y I y S
entonces
R>I>S,
Ingeniería
R > I > E,
Mecánica o
R y I y S,
Ingeniería
RyIyE
Electrónica
entonces -
Ingeniería Mecánica o Ingeniería Electrónica
40
SI R y I y E entonces Ingeniería Informática o Ingeniería de Minas R>I>S,
SI R y I y E
R > I > E,
SI R y I y E
entonces
R y I y S,
entonces
Ingeniería
R y I y E,
Informática o
Ingeniería
Ingeniería de
Mecánica o
Ingeniería de
Minas
Ingeniería
Minas
-
Ingeniería Informática o
Electrónica R>I>S, R > I > E, R y I y S, R y I y E, Ingeniería -
Mecánica o Ingeniería
-
-
Electrónica, Ingeniería Informática o Ingeniería de Minas
Tabla 8: Iteraciones del algoritmo del motor de inferencia. El resultado de la ejecución del algoritmo es el siguiente:
Hechos Positivos: •
R>I>S
•
R>I>E
41
•
•
RyIyS RyIy
E Ingeniería Mecánica o Ingeniería Electrónica •
•
Ingeniería Informática o Ingeniería de
Minas
Hechos Ninguno.
Negativos:
Con esta información el sistema procesa los hechos positivos y obtiene las carreras afines al usuario. Dicho proceso consiste en evaluar cada hecho positivo y verificar si todo o parte del hecho esta contenido en la sección de carreras de la base de hechos, para este caso las carreras afines son: Ingeniería Mecánica o Ingeniería Electrónica, Ingeniería Informática o Ingeniería de Minas. Finalmente se realiza un conteo de la aparición de las especialidades en el resultado para que el alumno pueda observar no solo el nombre de la especialidad si no también el porcentaje de aparición que lo ayude en la toma de decisiones.
42
CAPÍTULO 5: APORTE PRÁCTICO En este capítulo se indicará la tecnología a usarse en la implementación del presente proyecto, así como las pruebas a realizarse para asegurar el correcto funcionamiento del mismo.
5 FIVE 5.1. Implementación del modelo 5.1.1. Lenguaje de Programación El lenguaje de programación que se utilizará para el desarrollo del presente proyecto será Java y PHP.
Librerías JavaScript: A continuación se detallarán las librerías JavaScript que se utilizarán en la implementación.
Librería SlideMenu
Descripción
Funcionalidad
Permite trabajar con Permite una correcta y un menú desplegable.
amigable
navegabilidad
entre las opciones del sistema. Java.net
Permite trabajar de Utilizada para que el forma amigable con usuario pueda interactuar interfaces telnet.
adecuadamente.
5.1.2. Estándares de programación Con el objetivo se establecer un orden al momento de codificar la aplicación propuesta, se deben definir una serie de estándares de programación que el conjunto logren que el código fuente generado este ordenado y entendible por cualquier persona que desee consultarlo.
43
La elección de un incorrecto lenguaje de programación puede influir negativamente en el desarrollo del proyecto, por ejemplo: podría afectar en la performance del sistema si es que consume muchos recursos o podría retrazar la implementación del mismo si es que la curva de aprendizaje se extiende considerablemente. La arquitectura propuesta para el presente proyecto es Web por lo que a continuación se mostrará un cuadro comparativo con tres tecnologías que soportan dicha arquitectura.
Java Conocimiento del lenguaje.
ASP
PHP
X
Bajo consumo de memoria.
X
Bajo consumo de procesador.
X
Rapidez en ejecución.
X
X
X
Seguridad
X
X
X
Documentación disponible.
X
X
X
5.2. Interfaces del aplicativo
Figura 18: Logeo
44
Figura 19: Interfaz de presentación
Figura 20: Interfaz de inicio del test
Figura 21: Interfaz donde se muestran las preguntas
45
Figura 22: Interfaz donde se respondieron todas las preguntas
Figura 23: Muestra de resultados al lado derecho
46
CAPÍTULO 6: OBSERVACIONES, RECOMENDACIONES Y CONCLUSIONES En el presente capítulo se darán a conocer las observaciones, conclusiones y recomendaciones que han surgido luego de la implementación de parte de la solución.
6 A 6.1. Observaciones El presente proyecto de fin de carrera abordó en síntesis los siguientes problemas relacionados al proceso de orientación vocacional: 1.
Falta
de
una
adecuada
orientación vocacional en
los
jóvenes
estudiantes. 2. Automatización de
los
tests
psicológicos
necesarios
para
una
adecuada orientación al alumno. El sistema propuesto logrará solucionar los dos problemas expuestos, ya que será
una herramienta
de apoyo
para dicho
proceso.
Los jóvenes
estudiantes podrán acceder al sistema en el momento que lo necesiten lo cual les permitirá conocer las carreras afines de acuerdo a su personalidad, podrán acceder a los resultados de los tests vocacionales y a la información de las carreras de Ingeniería de la PUCP desde una misma herramienta amigable. Por su lado el orientador vocacional cuenta con los reportes detallados y necesarios para el apoyo de la toma de decisión hacia el alumno.
6.2. Conclusiones Luego de implementar la solución se concluye lo siguiente: 1.
El sistema logrará que una mayor cantidad de alumnos puedan recibir a tiempo una adecuada orientación sobre su futuro profesional.
2. La automatización de los tests logrará un menor tiempo de evaluación por parte del orientador. El alumno podrá conocer los resultados de las evaluaciones en forma inmediata y podrá consultar los mismos cuando lo crea conveniente. A su vez al almacenar estas respuestas en una
47
base de datos, el orientador podrá consultar dichas respuestas en tiempo real y cuando sea necesario. 3.
Se logra reducir gastos administrativos. La toma de los test deberá ser de formal virtual por lo que no se necesita a un psicólogo para evaluar a cada alumno por separado, el experto recibirá toda la información que necesite por parte del sistema para apoyar al alumno en la toma de decisión.
4.
Se logró desarrollar el algoritmo para que el motor de inferencia arroje un buen resultado en base a las respuestas ingresadas por el alumno.
5. El alumno podrá acceder desde una misma herramienta a la evaluación de los tests, resultado de los mismos y consulta de carreras de la UNMSM. Estas herramientas en conjunto apoyan firmemente al alumno en su elección vocacional. 6.
La modificación de los tests y especialidades a evaluar pueden ser modificados por el usuario experto de manera rápida y amigable a través del sistema.
6.3. Recomendaciones Para un correcto uso del sistema experto se deberán seguir las siguientes recomendaciones: 1.
El usuario experto deberá de mantener actualizadas las bases de hechos y de conocimientos del sistema ya que el motor de inferencia depende de ambas bases de datos.
2.
El usuario experto deberá mantener actualizada la información de las carreras registradas en
el sistema puesto que dicha información
puede influir en la toma de decisión del alumno. 3.
El sistema experto no pretende reemplazar la labor del orientador vocacional, si no más bien apoyar dicha labor proporcionando la información necesaria en el momento oportuno.
48
4.
El usuario alumno deberá ingresar información verdadera al sistema para asegurar una adecuada recomendación por parte de éste. Finalmente tener en cuenta que el presente sistema puede ampliarse en general a cualquier carrera que se desee evaluar, sólo es necesario actualizar la base de hechos y la base de conocimientos respectivamente.
49
BIBLIOGRAFÍA
[Rauch-Hindin, Wendy B], Aplicaciones de la inteligencia artificial en la actividad empresarial, la ciencia y la industria: fundamentos – aplicaciones. Madrid: Díaz de Santos, 1989. ISBN 84-87189-07-5 [Rolston, David W]. Principios de inteligencia artificial y sistemas expertos. Bogotá: McGraw-Hill, 1993. ISBN: 9789586000475 [Centro de Estudios Educativos], La orientación vocacional, esencial en la educación. México, D.F.: Progreso, 1965. ISBN: 9686599649 [Giarratano, Joseph C]. Expert systems: principles and programming 3ra ed. Boston, MA: PWS, 1998. ISBN: 9789706860590 [Ismael Vidales], Nuevas prácticas de orientación vocacional: tercer grado, educación secundaria. México: Trillas, 1987. ISBN: 9681863739 [Holland, J. ]. La elección vocacional. Teoría de las carreras. México:Trillas.1978. ISBN: 9687708430
[Bauer, Klaus] Sistemas expertos: introducción a la técnica y aplicación. Barcelona: Marcombo, 1988 ISBN: 9788426706782 . [Carol Carter- Sarah Lyman Kravits], Orientación Vocacional- Cómo alcanzar tus metas. Prentice Hall, 1 edición., 1997.ISBN: 9688808830 [Nebendahl, Dieter ed]. Sistemas expertos. Barcelona: Marcombo, 1991. ISBN: 9788426707680
[Enzo Roberto Retto Vera]. Tesis: “ Desarrollo de un sistema de información aplicado al proceso de orientación vocacional en zonas rurales del departamento de Lima.” Perú . 2010. [Tapia Castillo, Jackeline]. Tesis: “Sistema experto para el apoyo del proceso de orientación vocacional para las carreras de Ingeniería en la Pontificia Universidad Católica del Perú.” Lima, Abril del 2009.