Post on 06-Jan-2017
FACULTAD DE TELEMÁTICA
Sistema Inteligente Conversacional para la
Orientación Vocacional
Tésis que para obtener el grado de Maestra en Computación
Presenta:
Ana Claudia Ruiz Tadeo
Asesores:
Dr. Miguel García Ruiz
Dr. Nicandro Farías Mendoza
Julio/ 2009
AGRADECIMIENTOS
A Dios que es el ser Supremo.
A mis Padres por darme la vida y valores.
A mi esposo por su apoyo, comprensión, por ser mí gran amigo.
A mis dos hijos por ser mi motor, mi fuerza, mi valor, mi fortaleza.
Al maestro Miguel Ángel García Ruiz por su apoyo en la realización de la tésis. Por ser un excelente ser
humano y una gran persona.
Al Maestro Nicandro Farias Mendoza, por su apoyo, por su amistad, por su calidad humana.
A la Universidad de Colima, por darme los lineamientos hacia la superación.
A la Maestra Sara Sandoval Carrillo por su apoyo y calidad humana.
Al Instituto Tecnológico de Colima, por todos los logros que me ha permitido obtener.
A mis compañeros de por su amistad y compañerismo.
Gracias.
INDICE RESUMEN ABSTRACT
CAPÍTULO I.- INTRODUCCIÓN
1.1.- Justificación . . . . . . . .
1.2.- Descripción del Problema . . . . . .
1.3.- Objetivos . . . . . . . . .
1.3.1.- General . . . . . . . .
1.3.2.- Específico . . . . . . . .
1.4.- Hipótesis . . . . . . . . .
1.5.- Metodología . . . . . . . . .
1.6.- Alcance y limitaciones . . . . . . .
1.7.- Descripción de la Organización del trabajo . . . .
CAPÍTULO 2.- ESTADO DEL ARTE
2.1.- Marco Histórico . . . . . . . .
2.2.- Marco Contextual . . . . . . . .
2.2.1.- Antecedentes de la propuesta . . . . .
2.2.2.- Ventajas y Desventajas . . . . . .
2.2.3.- Aplicaciones . . . . . . . .
2.2.4.- Trabajos relacionados . . . . . .
2.3.-Marco Teórico . . . . . . . .
2.3.1.- Inteligencia Artificial . . . . . . .
2.3.2.- Sistemas Expertos . . . . . . .
2.3.2.1.- Características . . . . . .
2.3.2.2.- Ventajas . . . . . . .
2.3.3.- Robot Virtual . . . . . . . .
2.3.4.- Agente Inteligente . . . . . . .
2.3.4.1.-Agente Conversacional “chatbot” . . . .
2.3.4.2.- Chatbots en Internet . . . . .
3
5
6
6
6
6
7
8
8
10
11
12
14
14
15
16
19
21
22
23
24
25
26
26
2.3.4.3- Arquitectura del Agente Inteligente . . .
2.3.5.-Modelo Formal . . . . . . .
23.5.1.- Redes Diferenciales . . . . .
2.3.6.- AIML . . . . . . . . .
2.3.6.1.- Fundamentos de AIML . . . . .
. 2.3.7.- Educación y Tecnología . . . . .
2.3.8.- Orientación Vocacional . . . . . .
2.3.9.- La entrevista . . . . . . .
2.3.9.1.- Preparación . . . . . .
2.3.9.2.- Desarrollo . . . . . . .
2.3.9.3.- Análisis . . . . . . .
2.3.10- Descripción de los instrumentos de investigación .
2.3.10.1.- Métodos Cuantitativos y Cualitativos .
2.3.10.2.- La Etnometodología . . . .
2.3.10.3.- Constructores y Variables . . .
2.3.10.4.- Metodología de Recolección de Datos .
2.3.10.4.1.- Test . . . .
2.3.10.4.2.- Cuestionarios . . .
2.3.10.4.3.- Entrevistas . . .
2.3.10.4.4.- Observación . . .
CAPÍTULO 3.-DESARROLLO
3.1.-Modelo Conceptual . . . . . . . .
3.2.-Diseño del Sistema . . . . . . . .
3.2.1.- Recopilar información de lo que se va a hablar . . .
3.2.2.- Diseñar el diálogo . . . . . . .
3.2.3.- Crear el código AIML . . . . . . .
3.2.4.- Probar la interfaz . . . . . .
3.2.5.- Terminar y actualizar la interfaz . . . . .
3.3.- Arquitectura del sistema . . . . . . .
26
28
29
30
31
32
33
35
35
37
38
38
38
39
39
40
40
40
41
41
42
49
49
50
50
51
53
54
3.4.-Implementación de Interfaces con imagen interactiva . . .
3.5.-Especificación Formal . . . . . . .
3.5.1.- Categorías . . . . . . . .
3.5.2.- That y Topic . . . . . . . .
3.5.3.- Srai . . . . . . . . .
3.5.4.- Capacidades del AIML . . . . . .
3.5.4.1.- Reducción Simbólica . . . . .
3.5.4.2.- Dividir y Conquistar . . . . .
3.5.4.3.- Sinónimos y Escritura . . . . .
3.5.4.4.- Correcciones Gramaticales . . . .
3.5.4.5.- Palabras Claves . . . . .
3.6.-Implementación del Sistema . . . . . . .
3.6.1.- Programación de Módulos y Componentes . . .
3.7.- Pruebas . . . . . . . . .
3.7.1.- Pruebas de Integración . . . . . .
3.7.2.- Pruebas de Operación . . . . . .
3.7.3.- Pruebas de Tensión . . . . . .
3.7.4.- Pruebas de congruencia . . . . . .
3.7.5.- Pruebas de usabilidad . . . . . .
3.8.-Interpretación de los resultados . . . . . .
CAPÍTULO 4.- CONCLUSIONES Y SUGERENCIAS
4.1.- Discusión . . . . . . . . .
4.2.- Cumplimiento de la hipótesis . . . . . .
4.3.- Cumplimiento de los objetivos . . . . . .
4.4.- Importancia de los Resultados Obtenidos . . . . .
4.5.- Limitaciones de la Investigación . . . . . .
4.6.- Sugerencias . . . . . . . . .
58
61
61
63
64
64
65
65
66
66
67
67
68
69
70
71
71
72
74
75
85
88
89
90
90
91
REFERENCIAS
Anexo A. Test Vocacional
Anexo B. Cuestionario de Usabilidad
Anexo C. Conversación de un usuario con el Robot Virtual
Anexo D. Código fuente
INDICE DE FIGURAS
1.- Diferentes expresiones con una misma respuesta . . .
2.- Modelo del Agente Inteligente en Orientación Vocacional . .
3.- Estructura básica de un Sistema Experto . . . . .
4.- Esquema general de una red diferencial . . . . .
5.- La sintaxis de una categoría en código AIML . . . .
6.- Pregunta de un usuario al sistema . . . . . .
7.- Interfaz inicial del agente inteligtente en Orientación Vocacional .
8.- Imagen expresiva del agente . . . . . .
9.- Imagen interactiva . . . . . . . .
10.- Diálogo de un tema general . . . . . .
11.- Diálogo para determinar una Vocación Personal . . .
12.- Pantalla inicial para utilizar el Robot Virtual . . .
13.- Código en HTML parte I . . . . . . .
14.- Código en HTML parte II . . . . . . .
15.- Código en HTML parte III . . . . . . .
16.- Ejemplo de un diálogo . . . . . . .
17.- Código AIML del ejemplo de la Fig. 16 . . . . .
18.- Interfaz del agente . . . . . . .
19.- Interfaz desde una Computadora personal del Agente Inteligente en
20.- Elementos del robot . . . . . . .
21.- Modelo para implementar el agente inteligente . . .
22.- Interfaz del sitio pandorabots . . . . .
23.- Imagen Interactiva . . . . . . .
24.- Imagen Visual . . . . . . . .
25.- Interacción entre un humano y el robot. . . . .
26.- Estructura básica de una categoría . . . . .
27.- Instrucción en AIML . . . . . . .
28.- Conjunto de Instrucciones módulo de bienvenida . .
29.- Fotografía de un alumno interactuando con la interfaz del chatbot .
30.- Alumno interactuando con la interfaz del sistema.
12
16
27
30
31
32
43
44
45
46
46
47
47
48
48
50
51
52
52
57
58
59
59
60
60
60
61
69
73
74
54 55 55 56
31.- Datos de alumnos que evaluaron la interfaz . . . . .
32.- Gráfica de la expresión “Me gustaría utilizar con frecuencia el sistema”. .
33.- Foto de un alumno de bioquímica evaluando la usabilidad del sistema. .
34.- Gráfica que evalúa. “Encontré el sistema innecesariamente complejo”. .
35.- Foto que muestra la usabilidad “fue fácil utilizar el chatbot”. . . .
36.- Gráfica la expresión “Fue fácil utilizar el agente”. . . . . .
37.- Gráfica “Creo que necestaría del apoyo de un experto para utilizar el
sistema”. . . . . . . . . . . .
38.- Gráfica. Las diversas funciones del sistema estan bien integradas. . .
39.- Gráfica de “Hubo demasiada inconsistencia”. . . . . .
40.- Foto que muestra la interfaz desde una laptop en 2d. . . . .
41.- Gráfico. La mayoría de las personas aprenderian muy rápidamente a utilizar
el agente. . . . . . . . . . . .
42.- Gráfica. Encontré el sistema muy dificil de usar. . . . . .
43.- Gráfica. Me sentí muy confiado de la página web del agente. . . .
44.- Necesito aprender muchas cosas antes de utilizar el sistema. . .
45.- Interfaz del robot virtual . . . . . . . .
75
76
77
77
78
78
79
80
80
81
81
81
82
83
84
90
RESUMEN
Esta investigación presenta una aplicación de los modelos y herramientas de la
Inteligenicia Artificial para desarrollar un Agente Inteligente que simula a un
experto humano en Orientación Vocacional. Este agente establece una
conversación con los usuarios para definir su vocación de acuerdo a sus
capacidades e intereses personales. Con esta tésis se dará un nuevo enfoque a
este análisis vocacional ya que se simula una conversación amigable entre ambos
actores. La investigación se desarrolla dentro del área de Inteligencia Artificial. La
aportación principal es el desarrollo de un robot virtual capacitado para poder
pensar como un ser humano que pueda simular una diálogo con la intención de
hacer creer que se está hablando con otra persona. El enfoque utilizado en
nuestra investigación puede aplicarse a otras prácticas como la emulación de un
psicólogo, pedagogo y otras aplicaciones posibles.
Palabras Clave: Inteligencia Artificial, Agente Inteligente, Sistema Conversacional, Orientación Vocacional.
SUMMARY
This research presents an application of Artificial Intelligence models and tools to
develop an Intelligent Agent, which simulates a human expert on Career
Counseling. This Agent establishes a conversation with users in order to define
their career according to their personal skills and interests. This project will give a
fresh approach to Career Analysis, by simulating a friendly conversation between
the Intelligent Agent and the user. This research takes place in the field of Artificial
Intelligence. A virtual Robot with the ability of “thinking” like a human being and
the goal of making a person believe that he or she is talking with another person is
the main contribution of this project. The approach used in our Artificial Intelligence
research can be applied to other disciplines, like making a person believe he or
she is talking with a Psychologist or a Pedagogue. There may be other possible
applications as well.
2
CAPÍTULO I.- INTRODUCCIÓN
Los Sistemas Inteligentes actualmente se aplican en el campo de la medicina,
ingeniería, economía, la milicia y el entretenimiento. En esta tésis se presenta el
diseño de un agente inteligente en orientación vocacional para apoyar a los
jóvenes a seleccionar la carrera de acuerdo a sus características, intereses,
aptitudes y necesidades personales. Un Agente Inteligente es un software que
automatiza el proceso de razonamiento humano (Hayes Roth, 1995), en este
documento denominaremos a este sistema como “chatbot” o agente inteligente
indistintamente. Un “chatbot” es un programa que simula un diálogo con una
persona (Alice IA Foundation, 2006).
El análisis de Orientación Vocacional se describe como un estudio que permite
ayudar a los jóvenes a determinar las habilidades y capacidades que tienen para
realizar actividades profesionales. Con la finalidad de que elijan la carrera
adecuada a su personalidad, teniendo en cuenta las posibilidades de trabajo
existentes (Jaramillo, 2005).
La elección de una carrera nos permite desempeñar una profesión, así como nos
proporciona una forma de vida, por tanto, la elección debe hacerse consciente de
que con ella formamos nuestra identidad, a través de ella, asumimos un rol, un
estatus y hasta elegimos una pareja (Jaramillo Aldama, 2005).
El sistema que se presenta está capacitado para poder pensar como un ser
humano, un programa que puede simular una conversación escrita, con la
intención de hacer creer a un humano que está hablando con otra persona. La
conversación tiene como finalidad determinar la orientación vocacional de los
usuarios. Para su diseño utilizamos el lenguaje de programación AIML (Lenguaje
de Marcas para Inteligencia Artificial), que es una extensión de XML (Extensible
Markup Language), Lenguaje de Marcas Extensible, este lenguaje es utilizado
para crear “chatbots” o sistemas conversacionales.
3
La aplicación de los métodos y modelos de la Inteligenicia Artificial nos permite
desarrollar sistemas de utilidad a todos los sectores sociales como es el caso de
nuestro “chatbot” que permite apoyar a los jóvenes estudiantes a seleccionar su
carrera de acuerdo a sus preferencias, gustos, habilidades y deseos personales
utilizando un agente inteligente conversacional desde la comodidad y privacidad
de su casa o lugar de trabajo. Estos sistemas inciden en una disminución de la
deserción escolar en los distintos niveles académicos y coadyuvan a formar
profesionistas competentes a los diversos sectores económicos y sociales de
nuestro entorno.
1.1.- JUSTIFICACIÓN
La Orientación Vocacional proporciona información que permite a los jóvenes
seleccionar la carrera profesional de acuerdo a sus características y habilidades
personales para el desarrollo de su vida profesional, al automatizar este proceso
el análisis vocacional se puede realizar desde la comodidad y privacidad de su
casa.
El “chatbot” que desarrollamos apoya la orientación vocacional, el cual puede ser
accesado desde Internet por lo tanto puede estar al alcance de la mayoría de los
jóvenes que tienen interés por conocer su vocación personal y es un sistema con
interfaz tipo Chat. La aplicación del sistema impacta con mayor incidencia en los
jóvenes ya que es una conversación amigable con otra persona virtual. Asimismo
nuestro sistema repercute en la disminución de la deserción y reprobación escolar
ya que más alumnos pueden realizar su análisis vocacional y por lo tanto
seleccionar la carrera de acuerdo a sus capacidades e intereses personales.
Esta investigación se basa en las investigaciones de la ultima decada, ya que
han surgido nuevos tipos de sistemas, basados en robots virtuales que han
demostrado ser de gran apoyo en la capacitación de alumnos y de gran ayuda en
el trabajo de los profesores (Villareal, 2004).
4
Por esta razón el utilizar este tipo de modelos permite modernizar el proceso de
Orientación Vocacional, ya que se realiza por una conversación tipo Chat.
En la actualidad las escuelas de nivel medio superior en zonas suburbanas no
cuentan con un proceso de orientación vocacional formal, no se utiliza tecnología
para estos análisis, lo cual es un obstáculo para que los jóvenes dispongan de
un apoyo para su orientación vocaciónal.
Hay ocasiones en el que algunos jóvenes realizan este análisis pero los
resultados obtenidos no son los esperados de acuerdo a sus expectativas o
gustos personales y se guardan la intención de volver hacer este estudio. Por el
hecho de ser un trámite largo, el involucrar personal y el invertir más tiempo, por
lo cual deciden continuar con sus dudas y muchas veces estudiando una carrera
que no es su vocación. Con este sistema podrán realizar este análisis el número
de veces que consideren necesarias. Ya que se accesa desde Internet y puede
ser desde la privacidad de su casa.
En esta área, la falta de una adecuada orientación, el manejo de un gran volúmen
de datos y por otro lado, la facilidad de utilizar interfaces de sistemas y el hecho
de que cada día más personas están acostumbradas al uso de sistemas
informáticos hace que este modelo de sistema sea una herramienta para ayudar
a que los jóvenes se interesen en ella y la utilicen.
El impacto social de esta tésis se proyecta en apoyar a los jóvenes de zonas
rurales para que tengan la posibilidad de un análisis vocacional. La proyección
económica de este sistema es brindar a las escuelas suburbanas una
herramienta que disminuya las consecuencias de la falta de personal
especializado en el aspecto vocacional.
La orientación vocacional se concibe como un servicio educativo que se debe
proporcionar a los alumnos para apoyar su desarrollo armónico, funcional,
laboral y profesional que les permitá tener una vida profesional competitiva
apoyandose en las áreas Psicológicas, Pedagógicas y Vocacionales.
5
El desarrollo de herramientas computacionales permite apoyar esta actividad. Ya
que mediante la automatización de este tipo de análisis, los jóvenes ya que no
tendran que hacer camino para ir a una oficina de orientación vocacional por el
contario lo pueden hacer desde la privacidad de su casa, ahorrando tiempo y
dinero. No se involucra recurso humano para que realice el estudio.
1.2.- DESCRIPCIÓN DEL PROBLEMA A INVESTIGAR
La problemática que se tiene en la Orientación vocacional son: (Jaramillo, 2005)
La cantidad numerosa de estudiantes que necesitan orientación vocacional y pocos los orientadores.
No se proporcionan los servicios de Orientación vocacional en las
instituciones educativas suburbanas por falta de recurso humano.
Los jóvenes de zonas rurales no buscan la orientación profesional por la falta de información o el tener que ir a una oficina de orientación vocacional.
Las consultas que tiene el estudiante con el orientador son esporádicas, y
por tanto en ocasiones el joven pierde interés y no recoge sus resultados, esto hace deficiente el proceso de obtención de resultados.
Los test de orientación son individuales y como es una cantidad numerosa
de alumnos se obtienen demasiados test a calificar, esto produce traspapeleo pérdida de información, atenciones, apoyo y servicios inadecuados a los estudiantes
Los test de orientación que se realizan son mínimos de dos cuartillas o 30
preguntas y produce gastos de materiales elevados.
Para obtener resultados o calificar los test y proporcionar los resultados y apoyo adecuado a los estudiantes debe pasar un tiempo mínimo de 3 semanas.
6
1.3.- OBJETIVOS
1.3.1.- OBJETIVO GENERAL:
Presentar un Agente Inteligente capaz de interactuar con una persona en forma
verbal y escrita en idioma español que auxilie el proceso de orientación
vocacional.
1.3.2.- OBJETIVOS ESPECÍFICOS:
Investigar el proceso de orientación vocacional
Realizar investigación sobre Robots Virtuales y Agentes Inteligentes.
Minimizar los tiempos de respuesta de análisis vocacional
Diseñar una interfaz conversacional con privacidad y confianza para el usuario.
Presentar un robot virtual que automatice el proceso de orientación vocacional.
Globalizar el acceso de un análisis vocacional
1.4.- HIPÓTESIS
El desarrollo de un chatbot es capaz de simular de manera efectiva a un experto humano en Orientación Vocacional.
7
1.5.- METODOLOGÍA
Para diseñar el robot virtual se tomó de base la metodología de Russell (2002).
Ya que es uno de los autores que más a escrito e investigado sobre Agentes
Inteligentes y es seguidor de los avances e investigaciones de A.L.I.C.E. (Artificial
Linguistic Internet Computer Entity), quien es uno de los mejores “chatbot”, fáciles
de utilizar e implementar, su arquitectura se basa en dos módulos principales el
intérprete del lenguaje y almacen de datos en AIML. Para nuestro proyecto
A.L.I.C.E. es la base de la cual partimos para desarrollar nuestro sistema.
Para desarrollar el agente inteligente conversacional tomaremos como base la
metodología planteada por Russell (2002). Dicha metodología define los
siguientes pasos:
1.- Recopilar la información del tema a tratar. En esta etapa se investiga la
manera en que actualmente se lleva acabo el análisis vocacional, las teorías que
existen actualmente y la bibliografía que soporta el tema de orientación
vocacional.
2.- Diseñar el diálogo. En base a la información que se obtuvo en la recopilación
de la información se establecen las preguntas y expresiones que el usuario puede
hacerle al robot virtual, así como las respuestas que el sistema debe proporcionar.
3.- Crear el código AIML. En esta se utilizan las instrucciones y sintaxis del
lenguaje de programación que permite diseñar robots virtuales que en este caso
es el lenguaje AIML.
4.- Probar la interfaz con el diálogo. En este paso se realizan las pruebas del
robot el cual entabla diálogo con los usuarios.
5.- Terminar la interfaz. Se termina la interfaz después de realizar las pruebas y
mejoras en cada diálogo.
6.- Mantenimiento de acuerdo al análisis de los resultados de las conversaciones.
8
La base de conocimiento del robot se tiene que estar alimentando de información
como parte importante del desarrollo del robot. Entre más información almacene
mayor será su desempeño.
1.6.- ALCANCE Y LIMITACIONES
La limitante es la falta de material bibliográfico que aterrice en su totalidad este
tipo de proyectos. No existe una plataforma formal y estándar para que funcione
el código AIML (Lenguaje de Marcas de la Inteligencia Artificial). Para que
funcione este código se combinan varias plataformas de software para su puesta
en marcha como son HTML, program D o E, y pandorabots.
Este tipo de Robots Virtuales no han llegado a ser desarrollados en su totalidad y
los agentes creados hasta el momento no cuentan aún con la aceptación total por
parte de los expertos, sin embargo varias empresas importantes como IBM,
trabajan sobre la concepción de los mismos ya que a pesar de no lograr el agente
perfecto, se contempla que para el futuro se encuentren mucho más avanzados y
por lo tanto tengan mayor presencia comercial. Actualmente el uso principal que
se les proporciona es en la exploración de datos en la red, la atención de
clientes en sitios Web comerciales, exploradores de correo electrónico y como
parte de los sistemas que apoyan la enseñanza y aprendizaje entre otros,
(Merelo, 1997).
1.7.- DESCRIPCIÓN DE LA ORGANIZACIÓN DEL TRABAJO.
En el primer capítulo se presenta la parte introductoria del trabajo de
investigación mostrando la justificación de la investigación, descripción del
problema a investigar, definiendo los objetivos de la investigación, la hipótesis que
se pretende probar, el alcance, las limitaciones del proyecto de investigación y la
reseña de la organización del trabajo.
9
En el segundo capítulo se plasma información sobre el marco histórico y
contextual, así como antecedentes de la propuesta, aplicaciones, trabajos
relacionados y se indica el marco teórico. En el capítulo tres se muestra el diseño,
desarrollo, pruebas e implementación del robot virtual. En el capítulo cuatro se
muestra los resultados y las conclusiones del análisis cualitativo y cuantitativo
también se plasma el cumplimiento de la hipótesis y de los objetivos. Para
finalizar se presentan las referencias y anexos.
10
CAPÍTULO 2.- ESTADO DEL ARTE
2.1.- MARCO HISTÓRICO
Desde la antigüedad el hombre ha deseado librarse de las tareas más pesadas y
complejas que realiza, y esto le ha llevado a un esfuerzo continuo que poco a
poco ha ido dando sus frutos, los desarrollos de I. A. (Inteligencia Artificial) son un
paso más en este camino.
De entre los hechos históricos más importantes para la I. A. conviene señalar los
siguientes:
En 1950 Alan Turing (1912-1954) ideó una prueba para reconocer
“comportamientos inteligentes”, esta prueba dice que la inteligencia de un sistema
viene dada por la sensación de inteligencia que recibimos por una terminal
conectada a un interlocutor desconocido para nosotros y que es el sistema bajo
estudio, ( J. P. Sánchez y Beltrán,1988).
En 1955 Alled Newell, J. C. Shaw y Herbert Simón de la CMU (Carnegie Mellon
University) desarrollaron el lenguaje IPL II que se considera el primer lenguaje de
la Inteligencia Artificial.
Es en el verano del año 1956 cuando John Mc Carthy del Dartmounth College
acuña el término: “Inteligencia Artificial”.
En 1969 se celebró el primer congreso internacional de la I. A. y en 1970 apareció
la revista Artificial Intelligence.
En la historia de la I.A. en España, hay que señalar varios hechos importantes
como son: En el año 1984 se celebra el primer encuentro nacional sobre la I. A.
patrocinado por FUNDESCO, y que sirvió como germen para la creación ese
mismo año de la AEPIA (Asociación Española Para la Inteligencia Artificial).
11
El primer encuentro internacional que trató los temas de la Ingeniería del
conocimiento se celebró en España en el año 1985. El primer “master” sobre
Ingeniería Conocimiento se comenzó a impartir en una universidad española
hasta el año 1987, (J. P. Sánchez y Beltrán, 1988).
El retraso español en este campo es de unos 15 años respecto a países como
Estados Unidos de Norteamérica.
2.2.- MARCO CONTEXTUAL
Lo fundamental de un “chatbot” es su comunicación a través de texto. Este
robot es totalmente funcional ya que nos comunicamos con él a través de
Internet, el usuario le proporciona por teclado las expresiones o preguntas y con
una interfaz de imagen gráfica e interactiva el agente contesta de manera verbal y
escrita. La base de conocimientos de un robot virtual diseñado con AIML
consiste en archivos de texto donde se almacenan las órdenes de entrada y
salida. Lo que un usuario le dice al robot es una entrada y lo que el robot
responde es una salida. Las entradas tienen patrones (patterns) de contenido y
para cada patrón de entrada habrá una salida (template). Por ejemplo un Usuario
le introduce la expresión “¿Cómo te llamas?” Y el Robot contesta “Orientador
Vocacional”. Aquí el patrón de entrada es "¿Cómo te llamas?". Y la salida o
témplate es “Orientador Vocacional”.
Al robot virtual se le deben indicar todas las formas y expresiones posibles que
un usuario pueda expresar. Cuando se establezca una pregunta o nombre, se
debe indicar la mayor cantidad de posibles respuestas, según lo permita cada
pregunta. Ejemplo le pueden preguntar al robot “quien eres” o “como eres” y el
robot en ambos casos proporcionará la misma respuesta. Para esto se utiliza la
instrucción <srai>, síempre que le pregunten “como eres”, “quien eres”, el
responderá: “Soy un amigo orientador vocacional capacitado para apoyarte a
seleccionar tu carrera de acuerdo a tus gustos y características personales”.
12
Existen variaciones que no afectan el significado de la frase. Con el uso de
comodines (*) se pueden transformar varias frases en una sola de tal manera
que esta misma sintaxis se utilice en todas las expresiones posibles. Por ejemplo
para el caso anterior si colocamos comodines de la siguiente forma: * eres * o *
creo *. Como se plasma en la Figura 1 en la cual todas las solicitudes de
información serán respondidas por una misma expresión de salida.
Fig. 1.- Diferentes expresiones con una misma respuesta.
Autora Ana Claudia Ruiz Tadeo.
2.2.1.- ANTECEDENTES DE LA PROPUESTA
Los proyectos de investigación referentes a sistemas programados para
comunicarse a través del lenguaje natural de tipo Chat son los realizados por
Weizenbaum, quien diseñó un agente inteligente, a través de un software que
llamó Eliza que simulaba a un experto en psicología. Este “chatbot” fue muy
novedoso en su tiempo, ya que simuló de manera real a un psicólogo logrando
hacer creer a las personas que estaban hablando con un ser humano, sin
embargo, su diseñador estaba consciente de que no era un sistema inteligente
en su totalidad ya que repetía palabras en una misma conversación (Navarro,
1997). Este agente inteligente es la plataforma de la tecnología de chatbots y la
gran mayoría de las investigaciones tomaron como base a Eliza.
<category> <pattern>* eres *</pattern> <template><srai>quien eres</srai></template> </category> <category> <pattern>* creo*</pattern> <template><srai>quien eres</srai></template>
</category>
13
Weizenbaum, durante el desarrollo de su programa capaz de comunicarse en
lenguaje natural, en forma escrita en idioma inglés, identificó la dificultad y
complejidad de que su software no podía almacenar en un solo sitio las palabras y
con ellas emular una conversación de diferentes temas en un mismo diálogo, para
esto en lugar de tener los datos en un sola base de conocimiento, Weizenbaum
dividió este almacen en módulos, esto le permitió al “chatbot” cambiar
arbitrariamente de temas, (Navarro, 1998).
Un proyecto que mejora el tratamiento de palabras y el funcionamiento de ELIZA
fue A.L.I.C.E., siglas (Artificial Linguistic Internet Computer Entity), (Wallace,
2004). Es un multigalardonado “chatbot” cuya estructura y cerebro es “open
source” además de ser un sistema derivado de la experiencia de Weizenbaum
con ELIZA, con la diferencia de que A.L.I.C.E. cuenta con una serie de mejoras en
cuanto a su funcionamiento y principalmente al tratamiento de las palabras,
(ALICE, Foundation, 2006). Las técnicas a partir de las cuales A.L.I.C.E. realiza
las conversaciones, consisten en el reconocimiento de patrones en el texto,
análisis de la semántica de las frases, la gramática y la ortografía. Todo esto
permite a A.L.I.C.E. identificar el significado de una palabra de acuerdo al
contexto (Shah, H., 2005). A.L.I.C.E., es definitivamente uno de los mejores
“chatbot” y principalmente uno de los más sencillos de utilizar y también de
implementar. Su arquitectura se basa en dos módulos específicos: el intérprete
del lenguaje AIML y el almacen de datos AIML, (Russell, S. & Norvig, P., 1995).
La desventaja de ALICE es que su base de conocimiento está en inglés. Pero es
una ayuda para los programadores que empiezan a crear sus primeros robots.
AIML es una parte muy importante para el funcionamiento de A.L.I.C.E., consiste
en una extensión del lenguaje XML. AIML consiste en una serie de etiquetas las
cuales permiten manejar y organizar la información entrante y saliente de
A.L.I.C.E. por temas de manera similar a lo realizado por ELIZA, con la notable
diferencia de que AIML provee de una estructura única a partir de la cual se
accede a las bases de conocimiento de A.L.I.C.E., permitiendo recuperar e
insertar texto en A.L.I.C.E. (A.L.I.C.E. IA foundation, 2006).
14
2.2.2.- VENTAJAS Y DESVENTAJAS AL BASARSE EN UN
SISTEMA COMO A.L.I.C.E.
Según Russell (2002) existen una serie de ventajas importantes que invitan a
utilizar al sistema A.L.I.C.E. como base para otros trabajos referentes a chatbots:
La implementación del AIML es sencilla.
El hecho de que Program D funcione como servidor facilita su
implementación en la Web.
Program D es sencillo, multiplataforma, de código abierto source y es
robusto.
LA DESVENTAJA MÁS NOTABLE AL BASARSE EN A.L.I.C.E. ES LA
SIGUIENTE:
La escritura en AIML es extensa y esto hace que sea costoso por el tiempo que
implica el programarlo a menos de que se reduzca la capacidad del “chatbot”
para desarrollar diferentes temáticas.
2.2.3.- APLICACIONES
Los chatbots se pueden aplicar a la emulación de un psicólogo, pedagogo
traductor de inglés, consultor bibliotecario y otras aplicaciones donde se requiera
la interacción humano – computadora.
15
2.2.4.- TRABAJOS RELACIONADOS
Turing (1950), en la revista Mind publica un artículo llamado Computing Machinery
and Intelligence, donde propone la investigación desarrollado por Alan Turing
(Test de Turing), para probar que las máquinas son inteligentes, que actualmente
son una de las prioridades para los investigadores de Inteligencia Artificial. Se
propone como hipótesis que si una máquina se comporta en todos los aspectos
como inteligente, entonces se prueba que es inteligente. El desafío consiste que
la máquina debe hacerse pasar por humano en una conversación con una
persona a través de una comunicación de texto tipo chat. A la persona no se le
avisa si está hablando con una máquina u otro ser humano. Si el sujeto es
incapaz de determinar si la otra parte de la comunicación es humana o máquina,
entonces se considera que la máquina ha alcanzado un determinado nivel de
madurez entonces se dice que es inteligente. Todavía ninguna máquina a
aprobado el examen del método científico (Turing, 2007).
A.L.I.C.E. es uno de los sistemas conversacionales más fáciles de utilizar para
interactuar (Alice, 2008). Su estructura está basada en dos partes importantes: el
compilador del lenguaje y almacenamiento de datos en AIML (Russell, 1995).
El “chatbot”, Eliza, fue diseñado en 1966 por el Profesor Joseph Weizenbaum
del Instituto de Tecnología Massachusetts (Anónimo, University of Phoenix) con la
finalidad de analizar la comunicación de un idioma natural entre una persona y
una computadora la cual simulabá a un terapeuta al establecer un dialogo.
En el Institute of Information Science, Taiwan, se desarrolló un programa que
emula una conversación humana y proporciona una opción para aprender el
idioma inglés. El “chatbot” inteligente proporciona un método de colaboración
sincrónica. Desempeña el papel de un ayudante de instructor para prestar el
servicio en cualquier momento y en cualquier lugar. Proporciona materiales de
referencia, diccionario, responde a preguntas, el agente realiza registros y analiza
la conversaciones para que el profesor pueda evaluar los progresos de los
estudiantes. Esta investigación tiene como objetivo desarrollar un Agente
16
Inteligente que simule a un experto humano en Orientación Vocacional, y será
novedoso para los jóvenes estudiantes de secundaria, bachillerato y nivel
superior, ya que estaría a la vanguardia de lo que ellos utilizan actualmente el
Chat y a su vez el agente responderá con voz a las preguntas y expresiones de
los usuarios.
2.3.- MARCO TEORICO
El modelo conceptual que apoya el diseño de este robot virtual son los temas y
elementos de la Inteligenicia Artificial, así como herramientas html, program E, el
sitio padorabots y el lenguaje de marcas AIML.
En la Figura 2.- Se plasman los elementos que apoyan el desarrollo del Agente
Inteligente para la Orientación Vocacional, el lenguaje de programación de este
software es el lenguaje de programación AIML. Para compilar el código se utiliza
el software “Program E” el cual es un intérprete de AIML.
17
Fig. 2 Modelo del Agente Inteligente Conversacional. Autora Ana Claudia Ruiz Tadeo.
El desarrollo del “chatbot” en orientación vocacional se apoyo del lenguaje de
programación AIML, (Alice Fundation, 1998). Es un leguaje en el cual se
establecen categorías de las posible preguntas y expresiones que el usuario
puede manifestar, a su vez se determinan las respuestas correspondientes para
el usuario. Se apoya de una base de conocimiento que contiene la información y
hechos sobre el tema específico a abordar durante el análisis. Otro elemento que
apoya la estructura es el motor de inferencia, el que modela el razonamiento
humano a través de instrucciones. El componente final es la interfaz, la
interacción se realiza en línea utilizando lenguaje natural.
Este modelo se integra de dos partes básicas: un motor de inferencia o
instrucciones y la base de conocimientos o información. El lenguaje de
programación es un programa que trabaja con el lenguaje de marcas para tincluye
la interfaz con el usuario, sin embargo, dicho motor puede ser incluido en un
servidor Web que contenga una interfaz, también se puede agregar como un
contacto más en un programa de mensajería instantánea o hacer la interacción
18
vía Shell. La base de conocimientos se forma a partir del AIML que consiste en
una serie de preguntas del usuario con sus respectivas respuestas; estas
preguntas pueden agruparse en conjuntos de conocimientos de acuerdo a un
tema y además, dentro del AIML se proporcionan una serie de mecanismos que
permiten al creador de la base de conocimientos implementar procedimientos
para dar realismo a las conversaciones (Mejía Santana, 2006).
Por otro lado Program E es un intérprete de AIML el cual funciona sobre la
plataforma de apache, php y mysql. Es una implementación de código abierto.
Para implementar el código AIML en esta investigación se utiliza la plataforma
WAMP que incluye los software apache, php y Mysql. Donde PHP, es un lenguaje
muy usado en internet para crear sitios web dinámicos, el tomcat apache permite
establecer un servidor, Mysql es un administrador de base de datos (Mejía
Santana, 2006). Para agregar al robot una imagen interactiva se utiliza la
plataforma Pandorabots, y para su publicación se utiliza HTML.
El lenguaje de programación de AIML fue desarrollado por el Dr. Richard Wallace
y la comunidad del software de Alicebot libremente entre los años de 1995 y
2000. AIML consiste en una serie de etiquetas las cuales permiten manejar y
organizar la información entrante y saliente, provee de una estructura única a
partir de la cual se accede a las bases de conocimiento, permitiendo recuperar e
insertar texto. La escritura en AIML es costosa en tiempo, a menos que se
reduzca la capacidad del “chatbot” para desarrollar diferentes temáticas (Mejía
Santana, 2006).
19
2.3.1.- INTELIGENCIA ARTIFICIAL
La Inteligenicia Artificial (IA), se define como la ciencia que trata de la
comprensión de la inteligencia y del diseño de máquinas inteligentes, es decir, el
estudio y la simulación de las actividades intelectuales del hombre (manipulación,
razonamiento, percepción, aprendizaje y creación), (J. P. Sánchez y Beltrán,
1988).
La I. A. es una tecnología que se impone rápidamente con muchas promesas
para el futuro. Dedicada a la programación de computadoras que lleven a cabo
tareas que requieren de la inteligencia de ser realizadas por humanos.
Hace tan sólo unos pocos años la utilización de programas en IA estaba
reservada a los grandes procesadores que operaban en los laboratorios o centros
de cálculo de las universidades. Hoy las computadoras personales e incluso los
procesadores familiares pueden procesar programas de IA. A los investigadores
pioneros de la IA se les trató como excéntricos y fantasiosos que vivían en la
ciencia ficción de los robots. Pero el cambio sucedió. Los resultados de la
investigación en la IA ya son muy importantes en diversas áreas y cualquiera
tiene acceso a un microordenador. Los japoneses están trabajando en la quinta
generación de computadoras donde la utilización de las técnicas de la IA será
exhaustiva.
Esta investigación se encuentra dentro de la Inteligencia artificial por tanto otra
definición de Inteligenicia Artificial por Minsky(1984), es “el estudio de cómo
programar computadoras que tengan la facultad de hacer aquello que la mente
humana puede realizar”. Este concepto resulta extenso ya que la Inteligenicia
Artificial es un amplio estudio de procesos realizados por los humanos, de tal
modo que se distinguen dos grupos para los cuales se puede dictar una definición
independiente en base a su naturaleza, estos grupos corresponden al
procesamiento de la información y a la representación de la misma, siendo esta
última la que se refiere a los sentidos y aspectos como el lenguaje y la
comunicación (Barber, 2002).
20
La Inteligenicia Artificial es la ciencia que desarrolla programas para que las
máquinas realicen tareas humanas y simulan la inteligencia de las personas.
La investigación en el campo de la Inteligencia Artificial se destaca principalmente
por el desarrollo de máquinas que automatizan actividades que requieran un
comportamiento inteligente.
Dentro de la I. A., dada su gran extensión, existen muchos campos como son:
La Robótica (manipulación, la palabra robot fue creada en 1920 por Karel
Capek), que estudia máquinas capaces de realizar procesos mecánicos
repetitivos y tareas manuales de las cuales es capaz el hombre.
Los sistemas Expertos (razonamiento), que estudian la simulación de los
procesos intelectuales de los expertos humanos como pueden ser: la
interpretación de datos, el diagnóstico, la corrección, la monitorización, el
control, la predicción, la planeación, el diseño y la enseñanza.
El lenguaje natural (percepción), que estudia el uso del lenguaje natural (el
que le es propio del hombre) como medio de comunicación con las
máquinas (programas como las bases de datos y robot), es un problema
complejo pues intervienen distintos procesos como son: la comprensión del
lenguaje, la síntesis y análisis de la voz, el resumen y la traducción.
La visión por computadora (percepción), que estudia la identificación,
inspección, localización y verificación de objetos. Este campo esta muy
unido al de la robótica pues una de las necesidades básica de los robot es
el poder “ver”.
El aprendizaje automático (aprendizaje), estudia el aprendizaje de nuevos
conocimientos de forma automática por los programas de computadora y
por tanto de las máquinas.
21
Tratamiento inteligente de la información (razonamiento), estudia formas
“inteligentes” para procesar y recuperar información almacenada en
grandes bases de datos que de otra forma sería imposible, por el tiempo
requerido en la búsqueda.
La programación automática (creación), estudia las formas automáticas de
generar programas que resuelven los problemas planteados cumpliéndose
una serie de especificaciones. Otras tareas que se analizan son: la
verificación, la depuración y optimización de programas.
Los juegos (razonamiento), estudia aquellos problemas cuya resolución no
necesita de explicaciones y justificaciones, sino que basta con que se
cumpla una serie de leyes o reglas del juego.
2.3.2.- SISTEMAS EXPERTOS
Un Sistema Experto (S. E.) o Sistema Basado en el Conocimiento , es un conjunto
de programas de computadora que son capaces, mediante la aplicación de
conocimiento, de resolver problemas en un área determinada del conocimiento o
saber y que ordinariamente requerirán de la inteligencia humana.
Una definición más universal es la dada por Forsyth (1968) que dice: “Un S. E. es
un programa de computadora que remplaza a un experto humano”, que está
basada en la prueba de existencia de I. A. debida a Alan Turing y que particulariza
para los S. E.: “Si la ejecución de un conjunto de programas de computadora
puede convencernos de que su comportamiento es el que tendría un experto
humano, entonces este conjunto de programas es un verdadero S. E.”.
22
Por razones físicas una limitación en el conocimiento que puede contener, no
solamente por el tamaño de la memoria en la que se almacena, sino también por
el tiempo requerido para su procesamiento, por lo que un S. E. es solo experto en
un campo muy reducido del saber. Si bien es cierto que cada día es mayor la
capacidad de los S. E. gracias a los constantes desarrollos tecnológicos.
Las dos funciones básicas de un S. E. son: la resolución en base a un
conocimiento y la comunicación de este conocimiento al usuario, dos tareas que
tradicionalmente iban separados como la calculadora y el libro o como programas
distintos de una computadora.
2.3.2.1.- CARACTERÍSTICAS DE LOS SISTEMAS EXPERTOS
La tecnología de construcción de los S. E. se lleva a cabo entre la ingeniería de
programación, circuitos y el psicoanálisis. La lógica, la pedagogía y la psicología
son tres de las ramas del saber de las que con más frecuencia se hace uso.
Realmente un S. E. actual no se comporta como un experto humano pues no se
conoce todavía los procesos mentales que se ponen en funcionamiento en el
hombre cuando trata de resolver un problema y mucho menos cual es el
funcionamiento de la inspiración. Es por esto que lo que realmente hace un S. E.
es simular estos procesos, pero de una forma mejorada, ya que el S. E. tiene
como característica, gracias a su gran capacidad de comunicar, el explicar por
que procede de una u otra forma y el justificar los resultados obtenidos, dos
puntos que a veces el experto humano no sabe o no quiere explicar.
Los S. E. actuales en general no son capaces de obtener el conocimiento por si
solos mediante la práctica, así pues no son realmente expertos, y es más correcto
denominarlos Sistemas basados en el conocimiento.
23
Por regla general en los S. E. actuales el conocimiento debe introducirse
previamente. Para ello debe extraérsele al experto humano, este conocimiento
tiene que aplicarse a la solución de problemas y tiene que poder trasmitirlo al
usuario del sistema.
2.3.2.2.- VENTAJAS DE LOS SISTEMAS EXPERTOS
Ventajas de los sistemas expertos con respecto a los expertos humanos.
Están síempre disponibles a cualquier hora del día y de la noche, y de
forma permante las 24 horas del día.
Mantiene el humor.
Puede duplicarse (lo que permite tener tantos como se necesiten).
Pueden situarse en el mismo lugar donde sean necesarios (entornos
hostiles y peligrosos).
Permiten tener decisiones homogéneas efectuadas según las directrices
que se le fijen.
Son fáciles de reprogramar (“Mentalidad abierta”).
Explican los procesos, por lo que a sus usuarios les enseña a ser expertos
en la materia.
Pueden perdurar y crecer en el tiempo de forma indefinida.
Pueden ser consultados por personas o otros sistemas informáticos.
Los expertos humanos son irremplazables puesto que hoy por hoy los
conocimientos que poseen los S. E. proceden de ellos y se comportan de una
forma torpe y limitada, no viéndose todavía cercano el momento en que puedan
aprender con un maestro por sí solos, y llegado el caso, síempre resultará mas
barato y eficaz, aprender con un maestro que redescubrir otra vez “la rueda”.
24
2.3.3.- ROBOT VIRTUAL
La robótica virtual consiste en hacer que la computadora funcione como el
cerebro de un robot, ya sea conversando con las personas, es el caso de los
“chatbot”, así como ejecutando órdenes o controlando diversos periféricos
externos. Una de las principales ventajas de una implementación de la robótica
virtual es la introducción de órdenes en lenguaje natural. Un robot virtual puede
controlar un hogar inteligente de una manera fácil y económica, por ejemplo
podremos indicarle por teléfono que encienda las luces de la casa, la calefacción
o el horno de microondas. Una de las tendencias con más futuro de la robótica
virtual es la utilización de “chatbot” para ofrecer por Internet servicios y atender
las dudas y necesidades de los clientes
Un robot virtual establece un diálogo utilizando un lenguaje natural con los
usuarios con los cuales establece comunicación por Internet, por medio de
mensajes instantáneos, email, foros, o por voz utilizando el teléfono.
Los sistemas robots virtuales son llamados chatbots, bots, chatterbots,
chatterboxes, v-hosts, V-personas, agente o persona virtual.
Un robot virtual puede o no puede ser asociado con un avatar (imagen animada),
una animación que puede incluir discursos sintéticos por lo tanto el chatbot puede
parecerse más a la vida a través de una realidad virtual en animación y sonido.
Un robot virtual puede reconocer lo que el usuario habla por lo tanto sus
funcionalidades no quedan reducidas a comunicarse en forma escrita si bien este
es el modo más usado.
El robot virtual síempre tiene un botmaster, una persona detrás de escena que es
el responsable de la creación de la personalidad de los bots y de la inclusión de
estos en el mundo real a través de sitios web o programas desde los cuales
dialogan con personas reales.
25
Para diseñar un robot virtual utilizare lenguaje AIML que fue diseñado para la
programación de robots que funcionan en la computadora. AIML significa
Lenguaje de Marcación de Inteligencia Artificial y es muy similar en su sintaxis al
HTML (Lenguaje de marcas).
2.3.4.- AGENTE INTELIGENTE
Los agentes inteligentes son resultado del estudio e investigación hecha en el
ámbito de la inteligencia de hipertexto).
Más allá del código lo más interesante y difícil a la hora de crear un robot es
diseñar su personalidad de manera que sea original, inteligente, entretenido y
capaz. artificial. Específicamente provienen de la Inteligenicia Artificial distribuida
y de la vida artificial. Las primeras aplicaciones de la vida artificial aparecieron
casi al mismo tiempo que la informática con los autómatas celulares de Von
Neumann y las neuronas formales (Russell, 1995)]. Dando paso desde entonces
a una serie de evoluciones hasta llegar a las aplicaciones que ahora se están
desarrollando tales como el Web Semántico, los asistentes virtuales, chatbots,
entre otros.
Un agente es una entidad de software con un propósito específico. La
persistencia distingue a los agentes de las subrutinas; los agentes tienen sus
propias ideas sobre tareas a ejecutar. Con objetivos específicos se distinguen los
agentes de las aplicaciones multifunción, que son típicamente más pequeños
(Hayes Roth, 1995).
Las características que debe cumplir un agente para ser considerado como tal
son: autonomía, reactividad, iniciativa y habilidad social (Gracia, 2005).
26
2.3.4.1- AGENTE CONVERSACIONAL CHATBOT
Un agente conversacional o “chatbot” es un programa que intenta imitar la
conversación que puede proveer un ser humano (Alice IA Foundation, 2006).
Otra definición nos dice que el “chatbot” es un programa que tiene como finalidad
simular la conversación escrita, aparentando inteligencia, hasta el momento, de
manera temporal (Álvarez et, 2001)].
2.3.4.2.- CHATBOTS EN INTERNET
Los sistemas conversacionales en Internet tienen en la actualidad mayor
proyección especialmente en sitios web comerciales. Los agentes
conversacionales están capacitados para dialogar con clientes, resolver algunas
dudas sobre productos y como vendedor esta siendo un sustituto ideal de los
menús y páginas que intentan explicar algún producto o dar detalles acerca de
servicios específicos. La posibilidad de que un sitio contenga un agente capaz de
atender a los clientes todo el tiempo resulta muy práctico y además, propone una
interacción más adecuada para lograr propósitos comerciales (Russell, 2002).
2.3.4.3- ARQUITECTURA DEL AGENTE INTELIGENTE.-
Un sistema Experto es un programa de computadora que simula el razonamiento
de un experto humano en cierto dominio. Para hacerlo se utiliza una base de
conocimiento que contienen hechos y reglas heurísticas y un motor de inferencia
para utilizar el conocimiento. Cuando el sistema experto es interactivo debe existir
una interfaz de usuario. Esta tiene dos funciones principales: ofrecer
recomendaciones y explicaciones al usuario (módulo explicatorio) y maneja la
adquisición del conocimiento (módulo de adquisición). La Figura 3.- muestra esta
estructura básica.
27
Fig. 3.- Estructura básica de un Sistema Experto (Chadwick, 1987).
El proceso, muy simplificado, sería: primero el conocimiento del experto humano
debe introducirse en la base del conocimiento. Este primer paso se conoce como
ingeniería del conocimiento. Realizado éste, el sistema experto está listo para
utilizarse. Se establece un diálogo entre el sistema y el usuario. Este responde a
las preguntas del sistema, que al final sugiere un consejo o responde a una
cuestión. El motor de inferencia analiza las situaciones, establece los objetivos y
obtiene las conclusiones, (Chadwick, 1987).
Los datos están agrupados en lo que denominaremos base de hechos, se utilizan
sistemas de representación del conocimiento de tipo declarativo que forman la
Base de Conocimientos, el control es independiente y se denomina Motor de
Inferencia, por último, la entrada y salida de datos es similar a los programas
tradicionales.
28
2.3.5.- MODELO FORMAL
Método de aproximación descendente o reglas de producción, se parte de un
objetivo o hipótesis que examina todas las evidencias que soportan o contradicen
la hipótesis. Por ejemplo usted sospecha que el motor se ha quedado sin
gasolina. Ahora usted intenta verificar o negar tal hipótesis. Comprueba el nivel de
gasolina, la bomba de gasolina, las conexiones entre la bomba de gasolina y el
carburador. Este método también recibe el nombre de reglas de producción.
Se presenta la ilustración de las técnicas de aproximación descendente, se
utilizan las letras mayúsculas A, B, C, D, E y F para representar los diferentes
hechos y aserciones. De esta forma se presenta como ejemplo las siguientes
reglas.
R1: Si A and C entonces E
R2: Si B and C and D entonces E
R3: Si A and D entonces C
R4: Si E entonces F
El objetivo es demostrar que F es verdadero. Ya que F no está almacenada en la
base de datos, debemos encontrar todas las reglas que tengan F en la parte
derecha. En este caso sólo hay una, la R4. Ahora se establece un subobjetivo,
demostrar que E es verdadero, ya que si E es verdadero también F es verdadero.
Buscamos en la base de datos pero no lo hay, así que tenemos que buscar E en
la parte derecha de las reglas. Se encuentra las reglas R1 y R2. Se emplea el
método simple de resolución de conflicto, el de elegir la regla cuyo número es
más bajo, y tomamos la R1 (Chadwick, 1987).
El nuevo subobjetivo es deducir que A y C son verdaderos. Examinamos la base
de datos y encontramos que A es verdadero. Ahora queda demostrar que C es
verdadero.
29
La R3 es la única que tiene C en la parte derecha. Se hacer R3 ya queA y D están
almacenados en la base de datos, con lo que se añade el símbolo C. (C A D),
volvemos a la R1, ya que A y C son verdaderos, la regla R1 se activa y la base de
datos que da como: (E C A D). Seguidamente se activa la R4 con lo que el
símbolo F se añade: (F E C A D), una de la ventajas de la aproximación
descendente es, la capacidad de ofrecer explicaciones de su razonamiento,
diciendo al usuario que objetivos y reglas se han utilizado. Por ejemplo el sistema
podría informar al usuario:
Se intenta utilizar la R1
Ya se sabe que:
C es verdadero
A es verdadero
D es verdadero
Si E es verdadero entonces se mostrará que F es verdadero.
Algunas aplicaciones típicas, en las cuales los sistemas de producción adaptativa
se han utilizado con éxito, son simples rutinas de tareas de aprendizaje o
adquisición de patrones se llaman redes diferenciales. Para ilustrar la técnica del
aprendizaje utilizaremos las redes diferenciales como representación gráfica.
2.3.5.1.- REDES DIFERENCIALES
La facultad de aprender es indudablemente una característica importante de la
Inteligenicia Artificial. Si se le dice a una persona que 2+2=4 y al cabo de cinco
minutos le contestan que 2+2=5, no podrá calificarla (o calificarlo) como
inteligente. Nosotros esperamos que un sistema inteligente sea capaz de
almacenar hechos y después recordarlos. Superado este simple aprendizaje de
memoria, esperamos capacidades mas avanzadas, como aprendizaje de pruebas
sucesivas, por consulta o por inducción. Con referencia a los sistemas de
producción, esto significa la capacidad de modificar la base de conocimientos. Un
sistema de producción con aprendizaje se le llama producción adaptable.
30
Una de las principales características de la inteligencia sea natural o artificial, es
sin duda la capacidad de aprender.
La Figura 4.- ilustra el esquema general que vamos a utilizar para implementar las
redes diferenciales: la estructura del árbol binario. Cada cuestión (nodo) tienen
dos sucesores: el sucesor-si y el sucesor-no. Un sucesor puede ser tanto una
conclusión como el puntero de la nueva cuestión, (Chadwick, 1987).
Fig. 4.- Esquema general de una red diferencial .
2.3.6.- AIML
AIML consiste en una serie de etiquetas las cuales permiten manejar y organizar
la información entrante y saliente de A.L.I.C.E. por temas de manera similar a lo
realizado por ELIZA, con la notable diferencia de que AIML provee de una
estructura única a partir de la cual se accede a las bases de conocimiento de
A.L.I.C.E., permitiendo recuperar e insertar texto en A.L.I.C.E. (A.L.I.C.E. IA
foundation, 2006).
Cuestión 1
N
S
Cuestión 4
N
S
Cuestión 3
N
S
Cuestión 2
N
S
Conclusión 1 Conclusión 2Conclusión 3
Conclusión 4 Conclusión 5
31
2.3.6.1- FUNDAMENTOS DE AIML
Los fundamentos de AIML son muy simples. La idea detrás del diseño del AIML
fue crear algo simple y suficientemente potente para que cualquiera pueda crear
sus propias páginas web y su chat bot. Si se tiene el conocimiento fundamental de
HTML (por ejemplo <h1>, <p>, y <a>) se puede crear una simple página web. Si
puedes aprender esas tres cosas del HMTL, puedes aprender AIML.
La unidad básica de AIML, se llama categoría. Una categoría del AIML síempre
contiene dos elementos: El patrón (o pattern) y el template (o plantilla). El pattern
es el estímulo o entrada que el robot virtual recibe y el template es la respuesta
que este da al estímulo.
En el cerebro de un robot muy completo pueden haber miles de categorías de
AIML que tienen las simples formas: el pattern es simplemente un texto que está
definido según las expresiones que un usuario pueda expresar (como vimos en el
apartado anterior) y el template es un texto que se despliega exactamente como
el programador lo ingreso para que sea mostrado ante determinado estímulo.
En la Figura 5 se muestra como se forman las categorías dentro de un archivo
AIML.
Fig. 5.- La sintaxis de una categoría en código AIML. Autora Ana Claudia Ruiz Tadeo.
<category>
<pattern>¿Quién eres tu?</pattern>
<template>
Yo soy el resultado de una interfase de
Inteligencia Artificial,
la cual puede reproducir las capacidades de un
cerebro humano.
</template>
</category>
32
Se puede observar el parecido con el HTML: El lenguaje que usamos tiene un tipo
de marcas parecidas como “<”, el comando, y luego “>”, también utilizando la
barra “/”, el nombre y cerrando la secuencia con “>”. En la Figura 6.- se plasma el
resultado de una pregunta que realiza el usuario y la respuesta que proporciona el
agente inteligente.
Fig. 6.- Pregunta de un usuario al Agente Inteligente.
Autora Ana Claudia Ruiz Tadeo.
2.3.7.- EDUCACIÓN Y TECNOLOGÍA
Este trabajo se desarrolla en el campo educativo, por ello es importante
comprender en primer lugar que la educación es un proceso a través del cual una
persona adquiere algún tipo de habilidad o toma conciencia de algo (Rivera,
2003).
Se tendrá mayor impacto cuando se logré que la educación se pueda impartir
desde las diferentes ramas de la informática como es la Inteligenicia Artificial, se
puede lograr mayor alcance al incorporar procesos autónomos o inteligentes, de
esta manera los sistemas computacionales dejaran de ser solo un administrador o
presentador de recursos (Rivera, 2003).
Usuario : ¿Quién eres tu?
Robot : Yo soy el resultado de una interfase de Inteligencia
Artificial, la cual puede reproducir las capacidades de un
cerebro humano.
33
2.3.8.- ORIENTACIÓN VOCACIONAL
Cada ser humano tiene características muy personales y por tanto tiene
habilidades para ciertas actividades, nos hemos percatado que algunas se nos
hacer muy interesantes, nos agradan al realizarlas, se nos facilitan y en otras
ocasiones nos parecen muy tediosas y difíciles (Jaramillo, 2005).
Estas diferencias hacen que se tengan destrezas, intereses y habilidades muy
específicas para cada ser humano. Una destreza o habilidad es la capacidad que
se tiene para realizar una tarea específica, por ejemplo la costura en la que se
necesitan destrezas específicas manuales, capacidades de atención entre otras.
Los intereses, gustos y habilidades personales nos permiten determinar
alternativas de nuestra verdadera vocación.
Vocación es la atracción natural a un estado, profesión o carrera, según Patricia
Cabrera Z., Docente y guía vocacional en la consultaría chilena. (Jaramillo, 2005).
Cuando terminamos nuestro bachillerato y necesitamos seleccionar una carrera
nuestros amigos y familiares opinan sobre lo que debemos estudiar y en muchas
ocasiones quieren que estudiemos lo mismo que ellos para heredar un patrimonio
o para protegernos y brindarnos sus conocimientos (Jaramillo, 2005). La
orientación vocacional le ayuda a las personas a reconocerse a sí mismos e
indicarles las ventajas que tienen en relación con sus semejantes (Jaramillo,
2005).
El tener esta posibilidad los hace ser más eficientes, productivos y exitosos; sin
mencionar el beneficio y tiempo que ganan de manera personal.
34
Es importante mencionar lo esencial que es la orientación vocacional, porque si
ésta es excelente y por consecuencia, conocemos nuestros gustos personales,
así como nuestros intereses, capacidades y habilidades esto nos permitirá
seleccionar de manera correcta, nuestros estudios universitarios lo que en un
futuro se verá reflejado directamente en la calidad del trabajo profesional que
desempeñemos, así como en la calidad de vida.
El concepto etimológico de vocación viene del latín “vocatio, vocationis” que
significa “llamado”, “invitación”, mejor dicho, la vocación nace desde el exterior de
nosotros, que nos involucra a participar en una específica tarea o relación laboral,
la elección de una profesión, de un trabajo y de una carrera. (Jaramillo, 2005).
Se puede describir a la orientación vocacional como un procedimiento que ayuda
a los jóvenes a conocerse a sí mismo y al mundo de trabajo al cual se pueden
enfrentar, así como ayudarlos a seleccionar la profesión correcta de acuerdo a
sus aptitudes, intereses y rasgos de personalidad, teniendo en cuenta las
posibilidades de trabajo y de estudio existentes. Todo ello debe realizarse
mediante un equipo orientador interdisciplinario como tutores, profesores,
psicólogos y pedagogos (Jaramillo, 2005).
Los objetivos básicos de todo proceso de orientación vocacional están
establecidos:
En primer lugar a conocer la personalidad de cada individuo, especificar sus
capacidades, gustos, habilidades, motivaciones, intereses, su inteligencia y
aptitud.
En segundo lugar, la orientación vocacional debe involucrar a los padres, ya que
ellos apoyan en este proceso orientador, siendo debidamente informados de la
realidad educativa y laboral que existe para apoyar a sus hijos, solo de manera
informativa sin impedir la libre elección.
35
La orientación profesional tiene como finalidad ayudar a los jóvenes a encontrar
su vocación y guiarlos a las actividades profesionales de acuerdo a sus aptitudes.
Se puede describir a la orientación vocacional como un proceso que permite
ayudar a los jóvenes a conocerse a sí mismo y al mundo de trabajo al que
enfrentarán. Para que se preparen y elijan la profesión adecuada a sus aptitudes,
intereses y rasgos de personalidad, teniendo en cuenta las posibilidades de
estudio y de trabajo existentes (Jaramillo, 2005).
Haciendo un análisis sobre las posibles investigaciones relacionadas con
Sistemas Inteligentes Conversacionales para la orientación Vocacional, se
determinó que en la actualidad no existe una aplicación que realice un análisis
vocacional para los usuarios por medio de un diálogo entre el usuario y un
software que simula a un experto humano en orientación vocacional.
2.3.9.- LA ENTREVISTA
Este proyecto de investigación utiliza principalmente la técnica de la entrevista
por su uso frecuente dentro del proceso de la orientación vocacional, esto debido
a que mediante ella se establece una comunicación directa con los usuarios del
sistema (Choque, 2003). La entrevista consta de 3 etapas las cuales son:
preparación, desarrollo y análisis (Piattini et al., 1996).
2.3.9.1.- PREPARACIÓN
La primera etapa referente a la preparación de la entrevista se refiere al hecho de
que el entrevistador debe conocer en primer lugar, el entorno en el cual va a
desenvolverse, es importante mostrar un grado de inmersión suficiente dentro del
ámbito al que se refiere el problema de tal forma que el entrevistador y el
entrevistado se comuniquen correctamente (Goguen y Linde, 1993).
36
El entrevistador debe prepararse lo suficiente técnicamente, conocer bien el
problema, indagar soluciones existentes de problemas similares, con la finalidad
de que la imagen que se proyecta al momento de hacer la entrevista genere
confianza ante el entrevistado (Beyer y Holtzblatt, 1995).
Para la realización de la entrevista se debe tomar en cuenta la elección de los
participantes es importante discriminar a los entrevistados de acuerdo al grado de
incidencia que tienen en el sistema ya que lo más conveniente es realizar el
menor número de entrevistas posibles (Choque, 2003).
Por otra parte, al hacer una entrevista deben intervenir las relaciones
interpersonales, es conveniente conocer previamente a las personas mediante el
estudio de perfiles para que al efectuarla sea más sencillo iniciar y mantener la
comunicación (Piattini et al., 1996).
Otra de las partes importantes en la preparación de la entrevista es referente a la
elaboración del tema, es primordial que el entrevistador tenga un claro
conocimiento de lo que desea obtener al realizar la entrevista y estar seguro de
que las preguntas que se van a realizar están encaminadas a lograr el objetivo de
la entrevista. Por otra parte, es recomendable notificar al entrevistado el tema o
las preguntas que se van a tratar para que la persona afronte la entrevista de
mejor manera y además es saludable el dejar claras notaciones o términos
usados por el entrevistador y así evitar fallas en la comunicación (Choque, 2003).
Por último, dentro del protocolo de la entrevista es necesario determinar e
informar de manera previa lugar, hora y fecha para la realización de la entrevista,
todo esto basado en la comodidad y disponibilidad del entrevistado (Goguen y
Linde, 1993).
37
2.3.9.2.-DESARROLLO
Para el desarrollo de la entrevista ya se tienen preparadas las preguntas, el lugar
y se es consciente del objetivo a lograr, entonces lo importante para esta etapa es
en primera instancia cuidar que la planeación se siga correctamente, el
entrevistador debe controlar la distribución del tiempo de tal forma que sea el
entrevistado quien disponga de un 80% del mismo y además, es importante el no
extender demasiado la entrevista. Otro de los puntos a considerar es sobre la
forma en que se recolectarán los datos, puede ser mediante notas, grabadora de
audio ó video o la presencia de algún asistente que realice las transcripciones.
Cualquiera de las opciones anteriores se aplica síempre y cuando se tenga la
autorización del entrevistado (Robertson y Robertson, 1999).
Otra de las situaciones que se debe cuidar durante el desarrollo es el lenguaje
utilizado, el mantener un vocabulario sencillo y claro para el entrevistado permite
que la comunicación sea mejor.
Por último, durante el transcurso de la entrevista el entrevistador debe mantener
en todo momento la atención y el interés para con el entrevistado, con la finalidad
de mantener la confianza de la persona (Davis, 1985).
En la finalización de la entrevista se debe generar un ambiente cordial, agradecer
al entrevistado por sus contribuciones y hacerle saber que podría ser necesario
regresar posteriormente con él para otra charla (Choque, 2003).
38
2.3.9.3.-ANÁLISIS
La última etapa dentro de la técnica de la entrevista es el análisis de la misma y
consiste en tomar el material recopilado, organizar los datos, revisarlos y darles
posteriormente un formato. La información obtenida a partir del análisis puede no
expresar en realidad las opiniones que el entrevistado ha emitido por lo que es
recomendable consultar con él los resultados y corroborar que sea correcto el
análisis. Finalmente, es saludable el evaluar la evolución del proceso de la
entrevista para que el entrevistador perfeccione en cada ocasión su técnica
(Choque, 2003).
2.3.10.-DESCRIPCIÓN DE LOS INSTRUMENTOS DE
INVESTIGACIÓN
En este apartado se explican los métodos utilizados para realizar esta
investigación para el desarrollo del agente en orientación vocacional.
2.3.10.1.- El MÉTODO CUANTITATIVO Y CUALITATIVO
En el método cuantitativo establece relaciones para llegar a un planteamiento del
problema, este método trata de establecer una ley general. Además este método
generaliza y presupone desde una sola perspectiva. La aplicación de la
estadística es una de las características principales del estudio cuantitativo. A
diferencia del método cualitativo que estudia de manera más especifica (al
individuo o lo particular) la interpretación del fenómeno. Muchas veces estos dos
métodos se ven contrapuestos. Y de estas dos grandes corrientes se derivan
otros métodos.
39
Ejemplos del método cuantitativo: experimentales, correlacionales, encuestas,
etc ; ejemplos del método cualitativo: la etnografía, etnometodología, investigación
ecológica, estudio de casos, relatos de vida, biografía, etc. (Zorrilla,1989).
Los métodos cualitativo y cuantitativo pueden proponer diferentes medios para
llegar a los resultados por lo cual se complementan uno con el otro.
Además debemos de analizar al caso y los objetivos a los que se quieren llegar
para determinar cual de los dos métodos es el más adecuado para nuestro
estudio.
Los métodos cuantitativos y cualitativos son ambos principalmente empíricos y
emplean la observación. El ciclo empírico consiste en las siguientes fases:
a. La observación
b. La inducción
c. La deducción
d. La verificación o comprobación
e. La evaluación
2.3.10.2.- LA ETNOMETODOLOGÍA
Este método está enfocado al conocimiento empírico, quiere decir que propone
situaciones de la vida diaria y actividades prácticas para su análisis.
2.3.10.3.- CONSTRUCTORES Y VARIABLES
Los constructores son modelos supuestos, con una estructura y unas funciones,
en base a los cuales se pretende explicar determinados fenómenos (inteligencia,
motivación, creatividad, personalidad, ansiedad, aptitud verbal, etc.); mientras que
las variables son aquellas capaces de tomar distintos valores.
40
Es muy importante el estudio de las variables en el proceso de la investigación
científica, debido a que estas nos ayudan a obtener los resultados en nuestro
proceso de estudio, ya que es a partir de ellas se obtienen los datos con los que
se ha de realizar el trabajo. Las variables pueden clasificarse de acuerdo con
distintos criterios.
2.3.10.4.- METODOLOGÍA DE RECOLECCIÓN DE DATOS
Existen técnicas de recogida de datos que se utilizan para registrar las
observaciones o facilitar el tratamiento experimental.
A continuación se enlistan algunas de las formas de recopilación de
datos (Bisquerra, 2000):
2.3.10.4.1.- TESTS
Puede ser sinónimo de prueba. Los tests y las pruebas objetivas son los
instrumentos de medición que permiten una máxima precisión en el dato obtenido.
2.3.10.4.2.- CUESTIONARIOS
Consisten en un conjunto de preguntas o cuestiones que se consideran
relevantes para el rasgo, característica o variables que son objeto de estudio. Hay
dos tipos: los aplicados en la medición y diagnóstico psicopedagógico y los
utilizados en la recogida de datos en las encuestas.
41
2.3.10.4.3.- ENTREVISTAS
Es un diálogo intencional orientado hacia unos objetivos. Puede cumplir diversas
funciones: diagnóstica, orientadora, terapéutica e investigadora.
2.3.10.4.4.- OBSERVACIÓN
Puede tener distintos sentidos fundamentales: como técnica de recogida de datos
dentro del proceso de investigación (observación sistemática, directa,
instrumentos de registro, etc.) o como método de investigación.
2.3.10.4.5.- OTRAS TÉCNICAS
Los instrumentos de recolección de datos pueden incluir ciertos aparatos o
instrumental experimental, donde se aplica más la investigación de laboratorio. En
el informe de investigación debe quedar claro qué técnicas, instrumentos o
aparatos se han utilizado.
La investigación que se realiza es de carácter muestral ya que no existe el
suficiente tiempo para tratar con toda la población y de laboratorio debido a que el
trabajo requiere de condiciones especiales y controladas que sólo se pueden dar
en un espacio adecuado, tal como un laboratorio.
Los métodos usados durante la misma fueron: observación, comparación,
estadístico, cualitativo y cuantitativo y las técnicas que se requirieron fueron la
entrevista, el experimento de laboratorio, y la encuesta.
42
CAPÍTULO 3.-DESARROLLO
3.1.- MODELO CONCEPTUAL
El agente conversacional esta formado de dos elementos importantes para su
funcionamiento los culaes son un motor y una base de conocimientos. El lenguaje
de programación es el AIML, a su vez es el compilador del código fuente, este
intérprete no incluye la interfaz con el usuario, para incluir una imagen nos
apoyamos de la plataforma pandorabots.
En este apartado se indican las pantallas de funcionamiento del “chatbot”.
Inicialmente se muestra la pantalla que permite acceder al robot virtual.
Para el diseño de esta interfaz se utilizó código HTML, el cual permitió la
posibilidad de incorporar una imagen que habla, simulando la voz de un humano.
El sistema de chatbot tiene una interfaz con imagen interactiva para contestar las
expresiones de los usuarios, las respuesta del robot es con voz, para lo cual se
requiere de bocinas, las respuestas también son por medio de expresiones y
gestos, así como escrita tipo Chat.
En la Figura 7 se muestra la Interfaz inicial del Agente Inteligente para la
Orientación Vocacional.
43
Fig. 7 Interfaz del Agente Inteligente en Orientación Vocacional.
Autora Ana Claudia Ruiz Tadeo.
El agente tiene una interfaz auditiva, visual y escrita, se escucha la voz, se
observa una imagen con gestos y se observa la respuesta de manera escrita.
Estos sistemas utiliza el sentido de la vista por la imagen, el sentido del oído por
la voz que emite el agente y el sentido del tacto ya que el usuario escribe las
respuestas de manera escrita. El usuario escribe las expresiones de manera
escrita tipo Chat y el robot contesta con voz y escrita a las preguntas o
expresiones realizadas por el usuario.
En la Figura 8 se muestra la imagen interactiva del sistema experto, se puede
observar que habla, mueve los ojos, la cabeza y su rostro muestra expresiones a
cada pregunta o expresión, el robot responde con palabras, gestos y de manera
escrita tipo Chat.
¿Estás de acuerdo?
44
Fig. 8 Imagen expresiva del Agente Inteligente en Orientación Vocacional.
Autora Ana Claudia Ruiz Tadeo.
El agente tienen una respuesta específica para cada pregunta o expresión
realizada por la persona con la cual esta interactuando, la persona escribe en la
línea de usuario la pregunta para el robot virtual, él la busca en su base de datos
y obtiene la respuesta a esa pregunta y la muestra en la pantalla a manera de
texto, a su vez emite una voz con la respuesta verbal. Por eso podemos decir que
emite la respuesta verbal y escrita, con sonido y texto.
En la Figura 9 se muestra el Robot Virtual, con el cual se interactúa de manera
activa con el usuario. Es una interacción humano-robot que combina el diálogo
con vozl y escrito tipo chat, donde el usuario realiza preguntas al robot y este le
contesta de manera verbal y escrita.
Bienvenido
45
Fig. 9 Imagen interactiva del Agente Inteligente en Orientación Vocacional. Autora Ana
Claudia Ruiz Tadeo.
Como se comentaba anteriormente el robot tiene una respuesta para cada
pregunta o expresión, se puede dar el caso que la base de datos del robot no
contemple alguna pregunta realizada por el usuario, para estos casos tiene
salidas de emergencia como “por el momento no te puedo contestar”, “te puedo
ayudar en algo más por favor” y “Gracias no tengo información al respecto gracia”
En la Figura 10 se plasma una parte del diálogo entre el robot virtual y un usuario.
Fig. 10 Diálogo entre el robot y el usuario de tema en general. Autora Ana Claudia Ruiz
Tadeo.
Human: como te llamas Robot: Me llamo orientador vocacional soy un Robot Virtual un modelo de la inteligencia artificial. Human: hola Robot: HOLA. Gracias por conversar conmigo. Human: cual es tu edad Robot: Yo naci en Abril del 2008.
Hola.
46
La Figura 11 muestra un diálogo de un usuario con el robot virtual en el diálogo le
define su orientación vocacional la cual le indica que las carreras de acuerdo a su
personalidad son de investigador. En este diálogo se establecen preguntas para
definir su vocación, ya que el tema principal es definir su vocación.
Fig. 11 Dialogo entre el usuario y el robot. Autora Ana Claudia Ruiz Tadeo.
LOS PASOS PARA QUE FUNCIONE EL ROBOT VIRTUAL SON:
I.- Seleccionar el Internet Explorer. Como se muestra en la Figura 12 que
muestra el icono de la aplicación de Internet.
Robot ¿TE GUSTA REALIZAR EXPERIMIENTOS DE BIOLOGÍA, FÍSICA O QUÍMICA? Human: si Robot ¿Te agrada ESTUDIAR LA ESTRUCTURA DE LAS PLANTAS Y DE LOS ANIMALES? Human: no Robot: ¿Te agrada armar o desarmar objetos mecánicos? Human: no Robot: ¿TE INTERESA SER INVESTIGADOR EN UN LABORATORIO DE BIOLOGIA, FÍSICA O QUÍMICA? Human: si Robot: ES NOTORIO TU INTERES CIENTÍFICO, LAS PROFESIONES ACORDE TUS INTERESES SON: ANTROPÓLOGOS, ARQUEÓLOGO, ASTRÓNOMO, BIÓLOGOS, INGENIERO ELECTRICISTA, INGENIERO QUÍMICO, ODONTOLOGO, PSICOLOGO, MÉDICO, TÉCNICO DE LABORATORIO?
47
Fig. 12 Pantalla del primer pasó para utilizar el Robot Virtual. Autora Ana Claudia Ruiz
Tadeo.
II.- Ejecutar la página diseñada con HTML que integra el siguiente código.
En la Figura 13 se plasma el código que muestra la interfaz del agente Inteligente
en Orientación Vocacional.
Fig. 13 Código de HTML parte I. Autora Ana Claudia Ruiz Tadeo.
En la Figura 14 se indica el código en HTML que asigna una imagen interactiva al
robot virtual.
PAGINA1.html
<html>
<head>
<title> Orientación Vocacional </title>
</head>
<frameset rows="340,*">
<frame src="!TALKREF!&skin=pagina2" name="vhost">
<frame src="!TALKREF!&skin=pagina3&speak=true" name="pagina3">
</frameset>
</html>
48
Fig. 14 Código de HTML parte II. Autora Ana Claudia Ruiz Tadeo.
En la Figura 15 se plasma el código que hace que la imagen interactúe con los
usuarios, hace que la imagen sea conversacional.
Fig. 15 Código de HTML parte III. Autora Ana Claudia Ruiz Tadeo.
PAGINA 3.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<SCRIPT>
<!--function sf(){document.f.input.focus();}// -->
</SCRIPT>
</HEAD>
<BODY lang=en-US bgColor=#9999AA onload=sf()>
!SPEAK!
<FONT face="Arial" color=#000000 size="4">
<table>
<tbody>
<tr><td bgcolor=#FFFFFF>
<template><think><srai>PREDICADOS POR DEFAULT
DEFAULTS</srai></think></template>
<b><em><template>><input/></template></em></b>
<P>
</td></tr>
<tr><td>
<em><b>!OUTPUT!</b></em></P>
</td></tr>
<tr><td>
<FORM name=f action="" method=post>
!CUSTID!
<P>Usuario...</font> <INPUT size=80 name=input> </P>
</FORM>
</td></tr>
</TD></TR>
<tr><td>
<p> <p>
<font face="Arial" color="white" size="4"><b><em>Pensamientos del Robot:
<template><srai> SALUDOS <get name="etype"/></srai></template>
PAGINA 2.html
<html>
<body>
!VHOST!
</body>
</html>
49
III.- Iniciar un diálogo con el Orientador Vocacional. Para entablar una
conversación el usuario debe iniciar el diálogo escribiendo una expresión o
pregunta para el robot. Ejemplo: Hola.
El equipo que se utiliza para que funcione el sistema es sistema operativo
Windows XP, Memoria RAM 1GB, Disco duro de 80 GB y bocinas.
3.2.- DISEÑO DEL SISTEMA
Para diseñar el robot virtual se tomó de base la metodología de Russell (2002).
Ya que es uno de los principales autores que a escrito sobre la estructura y
desarrollo de A.L.I.C.E. sistema que apoya nuestra investigación. Los pasos de
esta metodología son:
1.- Recopilar información del tema a tratar.
2.- Diseñar el diálogo.
3.- Crear el código AIML.
4.- Probar la interfaz con el diálogo.
5.- Terminar la interfaz.
6.- Mantenimiento de acuerdo con el análisis de las conversaciones.
3.2.1.-RECOPILACIÓN DE LA INFORMACIÓN
En este punto se determino la forma en la que actualmente realizan el análisis
vocacional, el cual lo realizan manualmente y se apoyan de los manuales y
cuestionarios de Kuder, (Kuder, 1998). De esta manera se integro la información
que alimentará la base de conocimiento del agente y se definieron las preguntas
que se almacenaran en la base de datos del agente, y la forma de actuar del
motor de inferencia del sistema, que es la parte lógica para determinar la vocación
personal de cada usuario.
50
3.2.2.- DISEÑO DEL DIÁLOGO
En este apartado se definieron las expresiones, oraciones, preguntas y
respuestas posibles a tratar por parte del Agente Conversacional en Orientación
Vocacional. El robot constesta a cada pregunta de manera verbal y escrita, se
plasma un ejemplo en la Figura 16 de un diálogo corto entre el usuario y el robot
virtual.
Fig. 16 Ejemplo de un Diálogo. Autora Ana Claudia Ruiz Tadeo.
3.2.3.-CREACIÓN DEL CÓDIGO AIML:
En la Figura 17 se indica el código AIML que permite establecer una conversación
con el agente inteligente. El dialolo principalmente es introductoria y permite el
preámbulo que conlleve al analisis vocacional. Se indican las intrucciones básicas
que se tienen almacenadas en su motor de inferencia y los datos de respuesta en
la base de datos.
Human: hola Robot: HOLA. Gracias por conversar conmigo.
Human: como te llamas Robot: Me llamo orientador vocacional soy un Robot Virtual un modelo de la
inteligencia artificial. Para un análisis escribe la palabra orientación. Human: orientación
Robot: ¿Deseas un análisis vocacional SI o NO?
51
Fig. 17 Código AIML del diálogo inicial. Autora Ana Claudia Ruiz Tadeo.
3.2.4.- PRUEBA DE LA INTERFAZ
El siguiente paso consistió en llevar el código AIML a Program D para verificar la
sintaxis y el buen funcionamiento del código.
En la Figura 18, se muestra la intefaz del agente inteligente, la cual es en 2d, es
una imagen que proporciona como respuesta voz y texto.
<category><pattern> hola </pattern>
<template> HOLA. Gracias por conversar conmigo.</template>
</category>
<category> como te llamas </pattern>
<template> Me llamo orientador vocacional soy un Robot Virtual un modelo de la
inteligencia artificial. Para un análisis escribe la palabra orientación.</template>
</category>
<category><pattern> orientación *</pattern>
<template>¿Deseas un análisis vocacional SI o NO? </template>
</category>
52
Fig. 18 Interfaz del Agente Inteligente en Orientación Vocacional. Autora Ana Claudia Ruiz
Tadeo.
Es una interfaz auditiva, visual y escrita, se muestra una imagen con gestos y se
observan las respuestas de manera verbal y escrita. Como se muestra en la figura
18 y 19.
Fig. 19 Interfaz desde una Computadora personal del Agente Inteligente en
Orientación Vocacional. Autora Ana Claudia Ruiz Tadeo.
Buen día.
53
El sistema se probó con 4 alumnos del CBTIS 157 de Cuauhtémoc, 3 alumnos de
la Universidad de Colima y 11 del Instituto Tecnológico de Colima. Utilizamos el
formato del Anexo A. Test de Orientación Vocacional, para evaluar la
congruencia del sistema. La congruencia nos referimos a un test manual que
valida el resultado que proporciona un sistema computacional. Cada alumno
como primer paso constaron el test del anexo A, sin ver el resultado, como
segundo paso utilizaron el sistema inteligente, para finalizar se comparó el
resultado del test con el resultado del agente. El resultado final fue: de cada 10
análisis 8 resultaron congruentes o iguales tanto en el tets del anexo A como el
resultado proporcionado por el agente inteligente en orientación vocacional. Fue
la misma vocación determinada en el anexo A como en el agente inteligente.
El anexo B se utilizó para evaluar la usuabilidad del agente inteligente. El
concepto de usabilidad se refiere a la efectividad, eficiencia y satisfacción que
percibe el usuario al interactuar con la interfaz de un sistema computacional.
(Nielsen, 1993).
3.2.5.- TERMINAR LA INTERFAZ Y ACTUALIZACIÓN
Una vez que se inició el uso del agente conversacional y sabiendo que es muy
difícil incluir todas las posibilidades de diálogo se han analizado las
conversaciones al término de cada una de ellas y se ha tomado información de
cada una de ellas para enriquecer la base de conocimiento del agente inteligente.
Para concluir los pasos que se realizaron para el dasarrollo del chatbot son:
1.-RECOPILACIÓN DE LA INFORMACIÓN. En este punto se analizó la forma en
la cual actualmente se realizar el análisis vocacional, se determinó que lo realizan
manualmente.
54
2.- DISEÑO DEL DIÁLOGO. En este apartado se definieron las expresiones,
oraciones, preguntas y respuestas posibles a tratar por parte del Agente
Conversacional en base al Anexo A. El cual tiene 9 apartados los cuales son: aire
libre, mecánicos, de cálculo, cientificos, persuasivos, artísticos, literarios, de
servicio social y de oficina. Con 6 preguntas por cada apartado, formando un total
de 54 preguntas posibles a realizar por parte del agente.
3.-EL CÓDIGO. El lenguaje de programación que se utiliza es el AIML, un
lenguaje de marcas y etiquetas.
4.-PROBAR LA INTERFAZ CON EL DIÁLOGO. Es una interfaz auditiva, visual y
escrita, se muestra una imagen con gestos y se observan las respuestas de
manera verbal y escrita. Se probo con base el anexo B. anexo que evalua la
usabilidad del agente.
5.- TERMINAR LA INTERFAZ Y ACTUALIZACIÓN.- Se terminó la interfaz
después haber realizado las pruebas de congruencia con el anexo A y el de
usabilidad con el anexo B.
3.3.- ARQUITECTURA DEL SISTEMA
La arquitectura del agente esta integrada principalmente de una base de
conocimiento que es la que contiene todas las expresiones posibles que los
usuarios pueden plantearle al robot, se cuenta con un motor de inferencia que es
el que selecciona la respuesta que el agente debe proporcionar al usuario, para
realizar esta tarea de diálogo se utiliza el Lenguaje de programación AIML, como
interfaz se utiliza el lenguaje de marcas HTML, para agregar una imagen
interactiva (Oddcast Vhost) se utilizo la plataforma de pandorabots.
55
Se puede concluir que el Agente Inteligente Conversacional se integra
principalmente de una base de conocimientos que contienen la información sobre
orientación vocacional que es el tema a tratar por este sistema, un motor de
inferencia que contienen las instrucciones para que el robot actué y decida sobre
cuales acciones realizar de acuerdo a las expresiones del usuario, un program E,
que se utilizará como compilador del código. Y la plataforma pandorabots que
permite incluir una imagen interactiva programada con código de AIML.
La psicología y pedagogía son dos ciencias que apoyan y dan herramientas para
apoyar la función de la orientación vocacional ya que es un proceso que permite
ayudar a los jóvenes a conocerse a sí mismo y elijan la profesión adecuada a sus
aptitudes, intereses y rasgos personales, tomando en cuenta las posibilidades de
estudio y de trabajos existentes.
Así mismo, la orientación profesional tiene como fin asesorar y ayudar al individuo
a descubrir su vocación para orientarlo hacia la actividad cultural o profesional en
la que mejor se desenvuelva y reconocer sus propias aptitudes y asesorarlo sobre
cuál debe ser su carrera profesional, no solo para desarrollarla de manera
efectiva, sino para poder permanecer en ella.
Para conocer la orientación vocacional de cada persona existen métodos y test
que se utilizan actualmente, la finalidad es aprovechar estas técnicas para
automatizarlos por medio de este agente inteligente, en el departamento de
análisis vocacional del CETIS 157 de cuauhtémoc y el Tecnológico de Colima, los
análisis se realizan con base a cuestionarios, manuales y folletos formales,
establecidos por Instituciones pedagógicas Kuder (Kuder, 1998). Son los
elementos de los cuales nos apoyamos para crear el cerebro de este robot virtual
ejemplo de un test se muestra en el anexo A.
56
Se puede sintetizar que la arquitectura del Robot virtual está integrada de un
motor de inferencia que es el cerebro del sistema el cual decide y seleccionar la
respuesta que debe proporcionar el robot, selecciona la mejor respuesta en base
a decidir cual categoría es la que mejor responde a la expresión del usuario. La
información que permite que el agente actué y respondá de cierta forma se
encuentra en la base de conocimiento o mejor dicho en la base de datos, estos
dos elementos: motor de inferencia y base de conocimiento están diseñados en el
lenguaje AIML. La interfaz del robot esta hecha en HTML, para su publicación nos
apoyamos del sitio Web pandorabots.com, el cual nos permite incorporar un
imagen interactiva. Para integrar la base de conocimientos nos apoyamos de la
psicología y herramientas como test y cuestionarios aplicados en la ciencias de
pedagogía y experiencia de los psicólogos del Instituto Tecnológico de Colima.
En Figura 20 se plasman los elementos del robot virtual, las herramientas que se
utilizaron para su diseño, son el lenguaje de programación AIML. Este leguaje
trabaja con un motor de inferencia que es quien decide que categoría seleccionar
de la base de conocimiento, la categoría a seleccionar sería la más adecuada de
acuerdo a la expresión que proporcione el usuario. Una categoría esta formada
por una entrada y una salida. La entrada es la expresión proporcionada por el
usuario y la salida es la respuesta que brinda el robot.
57
Fig. 5 Esquema del Chatbot.
Fig. 19 Arquitectura del Agente Inteligente
Fig. 20 Elementos de un Robot Virtual. Autora Ana Claudia Ruiz Tadeo.
http://demo.vhost.pandorabots.com/pandora/talk?botid=fc995158ae36a277. Esta
es la dirección URL con la que funciona el agente inteligente. El agente se
encuentra en Internet ya que el sitio pandorabots nos permitió publicar este robot
virtual.
La arquitectura que permite poner en práctica y en marcha nuestro prototipo se
plasma en la Figura 21.
MOTOR DE INFERENCIA EN AIML
BASE DE CONOCIMIENTO EN AIML
INTERFAZ PANDORABOTS HTML
AIML
58
Fig. 21 Implementación del Agente Inteligente. Autora Ana Claudia Ruiz Tadeo.
La parte esencial de nuestro proyecto es la base de datos, información y
conocimientos que permiten al agente hablar e interactuar, ya que en ella están
incluídas todas las posibilidades de conversación del bot, así como los
mecanismos que permiten agregar realismo e interacción animada entre el
usuario y el robot virtual, para implementar la base de conocimiento se utilizó el
AIML. El motor de inferencia es el cerebro del agente y pandorabots y program E,
permiten traducir el código AIML para que el robot funciones.
3.4.- IMPLEMENTACION DE INTERFACES
Para agregar al robot virtual una interfaz con imagen interactiva un “Odd cast
Vhost,” se utiliza la plataforma pandorabots.com Fig. 22, este es un sitio web
desarrollado por el proyecto ALICE y permite alojar robots virtuales para que los
mismos puedan ser usados a través de Internet en el lenguaje de marcas AIML.
59
Fig. 22 Pandorabots. Autor sitio pandorabots.
Las Figuras 23 y 24 muestras la interfaz del robot virtual, la cual es una imagen
interactiva que responde de acuerdo a las expresiones proporcionadas por los
usuarios. Para utilizar una imagen interactiva se utilizó la plataforma pandorabots.
Fig 23 Imagen interactiva. Autora Ana Claudia Ruiz Tadeo.
En esta figura 23 se puede observar una imagen en 2d que diáloga con los
usuarios.
En la figura 24 se muestra el interfaz de la imagen del agente inteligente en
orientación vocacional.
60
Fig. 24 Imagen visual. Autora Ana Claudia Ruiz Tadeo.
En la Figura 25 se plasma un diálogo con el robot con el objetivo de determinar la
Orientación Vocacional de un Joven.
Fig. 25.- Ejemplo de la interacción entre un humano y el robot virtual.
Autor Ana Claudia Ruiz Tadeo
Human: orientacion Robot: ¿Deseas un analisis vocacional SI o NO? Human: si Robot ¿TE GUSTA REALIZAR EXPERIMIENTOS DE BIOLOGÍA, FÍSICA O QUÍMICA? Human: si Robot ¿Te agrada ESTUDIAR LA ESTRUCTURA DE LAS PLANTAS Y DE LOS ANIMALES? Human: no Robot: Reponder REGULAR, SI O NO a cada pregunta ¿DE ACUERDO? Human: si Robot: ¿Te agrada armar o desarmar objetos mecánicos? Human: no Robot: ¿Te gustaría vivir al aire libre, fuera de la Ciudad? Human: si
Saludos
61
3.5.- ESPECIFICACIÓN FORMAL
A continuación se presenta una descripción de AIML basada en el trabajo del Dr.
Wallace (2006). AIML es un lenguaje que presenta un par de objetos donde
encápsula conocimiento y también algunos elementos que proporcionan un
comportamiento específico. Estos dos objetos son las categorías y los temas.
3.5.1 CATEGORÍAS
En la figura 26 se muestra la unidad básica en AIML a la cual se le conoce como
categoría y su estructura es la siguiente:
Fig. 26 Estructura básica de una categoría AIML.
Autor Armando Renova Flores
Entre las etiquetas <category> y </category> se encuentra el conocimiento
relacionado a un modelo de pregunta del usuario enmarcado por las etiquetas
<pattern> y </pattern>, la respuesta que dará el bot al usuario de acuerdo al
modelo planteado en la categoría se encuentra entre las etiquetas <template> y
</template>, Figura 26.
<category> <pattern> Modelo de pregunta del usuario </pattern> <template> Respuesta al modelo por parte del bot </template> </category>
62
El modelo de pregunta del usuario representa lo que esperamos que él pueda
preguntarle o decirle a nuestro bot, ejemplo:
<pattern>HOLA</pattern>
En este caso se espera que el usuario introduzca exclusivamente la palabra
HOLA.
La forma de escribir el modelo es síempre utilizando letras mayúsculas y el
intérprete acepta sólo literales y números, por lo que no pueden ser utilizados otro
tipo de caracteres, sin embargo existen en el lenguaje dos modificadores _ y *
que pueden ser usados en la construcción del modelo, ejemplo:
<pattern>HOLA * </pattern>
En este caso el intérprete dará una respuesta para cualquier oración que inicie
con la palabra HOLA.
Para las respuestas existen dos formas básicas de generarlas, en primer lugar
está la respuesta única la cual representa una sola opción para el modelo
planteado en la categoría, ejemplo:
<pattern>HOLA</pattern>
<template>Hola amigo </template>
En este caso al escribir el usuario Hola el bot responderá con la sentencia Hola
amigo.
63
La segunda forma que podemos utilizar es a través de un conjunto de respuestas
que el bot agrupa y elige una de manera aleatoria, ejemplo:
<pattern>HOLA * </pattern>
<template>
<random>
<li>Hola</li>
<li>Que tal!</li>
<li>Mmmm Hola</li>
</random>
</template>
En este caso el bot responderá a la sentencia Hola amigo con cualquiera de las
tres opciones que se encuentran entre las etiquetas <random> y </random>.
La forma de escribir las respuestas de bot cambia con respecto al modelo de
pregunta ya que la respuesta no requiere de ningún formato, es simplemente
texto plano.
Los modelos y categorías que se ejemplificaron anteriormente están codificados
de la manera más sencilla, sin embargo AIML ofrece otros mecanismos que nos
permiten principalmente contextualizar las respuestas, estos elementos son las
etiquetas <that> y <topic>. Además, existe la etiqueta <srai> que tiene varias
utilidades las cuales se verán más adelante.
3.5.2 THAT Y TOPIC
La etiqueta <that> es un mecanismo de contextualización que condiciona una
respuesta a partir de la última respuesta dada por el mismo bot, ejemplo.
<pattern> * </pattern>
<that> YA TE VAS </that>
<template> Bueno adios </template>
64
En este caso el bot responderá Bueno adiós solo si la respuesta que dio
anteriormente fue Ya te vas.
En el caso de <topic> lo que nos permite es agrupar una serie de categorías que
hacen referencia a un mismo tema de tal forma que el bot puede condicionar el
uso de una categoría de acuerdo a si sus respuestas anteriores pertenecen a un
determinado tema.
3.5.3 SRAI
La etiqueta <srai> es un mecanismo que permite redireccionar la respuesta de un
modelo de pregunta a otro, ejemplo:
<category>
<pattern>HOLA</pattern>
<template>Hola que tal</template>
</category>
<category>
<pattern>HOLA *</pattern>
<template><srai>HOLA</srai></template>
</category>
En este caso si el usuario escribe Hola u Hola amigo u Hola que tal, habrá una
única respuesta, Hola que tal.
3.5.4 CAPACIDADES DEL AIML.
En el lenguaje de marca AIML, para diseñar el código se utilizan etiquetas cada
instrucción que se abre se tiene que cerrar, las instrucciones se crean en bloques
llamados categorías.
65
3.5.4.1 REDUCCIÓN SIMBÓLICA
AIML permite simplificar expresiones para que sea un solo modelo el que
responda toda una serie de posibles construcciones para una sola oración,
ejemplo:
<pattern> QUIEN ES * </pattern>
<template>Si</template>
<pattern> SABES TU QUIEN ES * </pattern>
<template><srai>QUIEN ES * </template>
De esta forma tenemos una sola respuesta para diferentes estructuras de la
misma pregunta.
3.5.4.2 DIVIDIR Y CONQUISTAR
Un modelo muchas veces puede ser dividido en partes y una de ellas ha de ser la
representativa; además es posible agrupar una serie de sub-oraciones para que
todas tengan un solo tipo de respuestas, ejemplo:
<pattern> SI * </pattern>
<template>Me parece bien</template>
<pattern> CLARO * </pattern>
<template><srai>SI * </template>
En este caso podemos agrupar todas las sentencias afirmativas para que
respondan de una sola forma.
66
3.5.4.3 SINÓNIMOS Y ESCRITURA
Con la ayuda de la etiqueta <srai> podemos manejar también los diferentes
sinónimos, ejemplo:
<pattern> * COCHE </pattern>
<template>No se nada de coches, hablemos de otra cosa </template>
<pattern> * AUTO </pattern>
<template><srai>* COCHE </template>
<pattern> * AUTOMOVIL </pattern>
<template><srai>* COCHE </template>
Con este ejemplo se puede ver que podemos manejar los sinónimos de la palabra
coche sin tener que generar una respuesta para cada uno de ellos.
3.5.4.4 CORRECCIONES GRAMATICALES
Si conocemos algunos errores comunes de escritura o gramática podemos hacer
una llamada de atención al usuario, ejemplo:
<pattern> POS * </pattern>
<template>Quisiste decir Pues </template>
67
3.5.4.5 PALABRAS CLAVES
Podemos identificar alguna palabra clave en una oración para la cual tenemos
una respuesta estándar, ejemplo.
Fig. 27.- Ejemplo de una instrucción. Autora Ana Claudia Ruiz Tadeo.
Existen otras etiquetas en AIML para mejorar la actuación del “chatbot”, sin
embargo para nuestro proyecto las funciones y etiquetas anteriores son
suficientes para lograr nuestro objetivo. Un fragmento del código utilizado en el
desarrollo del Agente Inteligente en Orientación Vocacional se muestra en la
Figura 27.
Se utiliza la instrucción de categoría que es la que contiene las posibles
expresiones que el usuario puede solicitar al robot virtual, así como las respuestas
a cada una de las preguntas realizadas al sistema. Se realiza en primer instancia
categorías con información general de la vida común o generales, posteriormente
se va centrando en el tema principal que es un análisis de orientación vocacional.
3.6.- IMPLEMENTACIÓN DEL SISTEMA
El acceso al Agente Inteligente es a través de Internet, con acceder a Internet
Explorer y acceder a la página página_robot.hml, se accede al robot virtual para la
Orientación Vocacional. Para implementarlo solo se necesita tener una máquina
con windows e Internet Explorer y bocinas.
<pattern> PARIS </pattern>
<template> Cuéntame más de Paris </template>
<pattern> * PARIS </pattern>
<template><srai> PARIS </template>
<pattern> PARIS </pattern>
<template><srai>* PARIS </template>
68
3.6.1.- PROGRAMACION DE MÓDULOS Y COMPONENTES
El agente desarrollado está compuesto por 5 módulos principales que son: el de
bienvenida, el de respuestas aleatorias, el cual se utiliza en el caso de que el
robot no cuente con información apropiada para una expresión proporcionada por
el usuario, el apartado sobre el tema de orientación vocacional, el apartado de
conversación en general que contiene datos generales sobre datos personales y
temas generales del mismo agente y para finalizar el módulo de despedida.
En el módulo de bienvenida esta compuesto por una serie de conversaciónes
principalmente de saludos, de datos personales del agente como, su nombre, su
edad, cómo se llama, quién es y quién lo diseñó. El apartado de respuestas
aleatorias se utiliza para que el robot proporcione respuestas aleatorias en caso
de no tener información para responder a alguna pregunta por parte del usuario,
como son: “por el momento no te puedo contestar” “gracias, te puedo ayudar en
algo más”, “Gracias como te llamas”, “para un análisis escribe la palabra
orientación”.
El apartado de conversación general tiene información para establecer un diálogo
en general con el robot. Finalmente el módulo de despedida tiene como respuesta
“gracias por tu visita”.
Cada uno de los modulos tiene diferentes expresiones a su vez un conjunto de
instrucciones de programación llamado a su vez código fuentes, para cada una de
las instrucciones se utiliza una sintaxis específica de acuerdo al lenguaje AIML.
69
En la Figura 28 se plasma el conjunto de instrucciones y expresiones que integran
el módulo de bienvenida por parte del agente inteligente.
Fig. 28 Código del módulo de bienvenida. Autora Ana Claudia Ruiz Tadeo.
3.7.- PRUEBAS
Las pruebas de software son el proceso continuo de evaluación y ejecución de los
programas en cada etapa del ciclo de vida del software, con la finalidad de
encontrar errores. La prueba ejercitará los programas utilizando datos similares a
los datos reales que habrán de ser ejecutados por cada uno de los programas que
conforman el sistema; posteriormente, se observan los resultados y se deduce la
existencia de errores o insuficiencias de los programas a partir de las anomalías
de los resultados.
<?xml version="1.0" encoding="UTF-8"?>
<aiml version="1.0">
<category>
<pattern>como te llamas</pattern>
<template>Me llamo orientador vocacional soy un Robot Virtual un
modelo de la inteligencia artificial</template>
</category>
<category>
<pattern>que te gusta *</pattern>
<template>Me gusta ser Orientador Vocacional</template>
</category>
<category>
<pattern>*</pattern>
<template>No tengo conocimiento, te puedo ayudar en algo mas por
favor</template>
<think><set name="topic">orientacion</set></think>
Contamos con un análisis vocacional especialmente para ti.
</template>
</aiml>
70
La prueba de software es considerada como un proceso destructivo, porque se
diseña para hacer que el comportamiento de un programa sea distinto del que
intentaba su diseñador o aplicador.
El objetivo principal de la prueba, es descubrir errores. Por ello se señala que el
“éxito” de las pruebas del software se alcanza cuando se han encontrado errores.
Esto debe incluir la premisa de administración de que los errores de los
programas son inevitables dada la complejidad de los implicados y que los errores
no son condenables.
Las pruebas de software se llevan acabo para probar que no existen errores; sin
embargo, esto es imposible, dado que los analistas no pueden probar que el
software esté libre de errores. Síempre es posible que existan errores aún
después de la prueba más completa.
Las pruebas se realizaron en el Tecnológico de Colima con alumnos de este
instituto, alumnos de la universidad de Colima y del CETIS 157, ya que en esta
instituciones se cuenta con el equipo y espacios necesarios para llevar a cabo la
simulación de entrevistas por el agente inteligente. Para la realización de esta
investigación se tomaron en cuenta a 3 alumnos de la Universidad de Colima y 11
del Tecnológico de Colima y 4 del CETIS 157, en el período Agosto-Diciembre
2008.
3.7.1.- PRUEBAS DE INTEGRACION
Estas pruebas se llevan acabo cuando se integran los métodos o subprogramas
para conformar el sistema completo. En esta etapa, el proceso de prueba tiene
que ver con el hallazgo de errores en el diseño y la codificación. También se
relaciona con la confirmación de que el sistema total proporciona las funciones
específicas en los requisitos y que sus características dinámicas cumplan con las
planteadas en la definición de especificaciones. Larios, A. (1995)
71
El robot virtual está integrado de categorías cada una de ellas es un subsistema
que complementan al sistemas en general y que cada una tienen un objetivo
específico que en conjunto permiten la funcionalidad del robot virtual. Cada una
de las categorías se probó de manera individual. Si al probar una categoría se
generabá un error, no se permite pasar a otra categoría hasta que la anterior
funcione de manera correcta y hasta llegar a la integración y prueba de todas las
categorías y funcionamiento correcto del agente inteligente.
3.7.2.- PRUEBAS DE OPERACIÓN
Las pruebas de operación especifican condiciones operativas comunes, valores
de entrada comunes y resultados esperados comunes. Estas pruebas reafirman el
comportamiento exactamente dentro, sobre, y más allá de las fronteras
funcionales. Estas pruebas incluyen la prueba de una rutina para calcular la raíz
cuadrada para valores reales con números enteros positivos, cero y números
negativos; o la prueba de un método para la inversión de uno por uno en una
matriz singular. Para probar este tipo de pruebas este sistema lo utilizaron
alumnos realizando las preguntas y expresiones de manera libre y aleatoria, para
cada pregunta el robot tienen una respuesta, si alguna expresión la desconoce o
no tiene respuesta tienen salidas categóricas como “por el momento no te puedo
contestar gracias, deseas hablar de otro tema.”.
3.7.3.- PRUEBAS DE TENSIÓN
Las pruebas de tensión se diseñan para sobrecargar un sistema de diferentes
maneras y para romper en forma intencional, la unidad. Entre los ejemplos de
prueba de este tipo se encuentran el de asignar más del número máximo de
terminales permitidas, procesar mas del número permitidos de identificadores o
niveles estático, o desconectar un enlace de comunicación. Se puede aprender
mucho acerca de las resistencias y limitaciones de un programa examinado.
72
El agente se probó con usuarios de diferentes edades, desde jóvenes de nivel
medio superior y superior. El sistema fue utilizado más de una vez por la misma
persona. Se evaluó con equipos de diferentes capacidades desde memoria Ram
de 256 hasta memoria de 1gb.
3.7.4.- PRUEBAS DE CONGRUENCIA
Las pruebas de congruencia especifican las condiciones operativas comunes,
valores de entrada comunes y resultados esperados comunes, prueban el
comportamiento del sistema. Validan que el resultado proporcionado por un
sistema computacional sea igual que el de un test escrito. Si el 80% de una
muestra proporciona el mismo resultado tanto el sistema como el test se
comprueba la congruencia del sistema. Por lo tanto se confirma que el sistema
esta funcionado correctamente (Larios, 1995).
Para nuestro sistema un 80% de los usuarios confirmaron que el resultado del test
escrito, del anexo A es igual al resultado proporcionado por el agente inteligente,
ocho de cada diez comparaciones confirman que el agente puede apoyar el
análisis vocacional de manera confiable. Cada usuario primero realizó el test
escrito y posteriormente realizaron el análisis con el agente.
El 80% de los cuestionarios aplicados confirmaron la hipótesis “El desarrollo de un
‘chatbot’ es capaz de simular de manera efectiva a un experto humano en
Orientación Vocacional”, a su vez es una herramienta de apoyo para los
orientadores vocacionales. El anexo A, permitió esta confirmación.
El figura 29 y 30 se muestran las fotografías de alumnos utilizando la interfaz del
“chatbot” para la orientación vocacional.
La interfaz es gráfica el alumnos escribe una pregunta o expresión por escrito y el
agente la contesta con voz, es un sonido de voz humana y también contesta de
manera escrita simulando un Chat por Internet.
73
Fig. 29 Fotografía de un alumno interactuando con la interfaz del “chatbot” para la
Orientación Vocacional. Autora Ana Claudia Ruiz Tadeo.
Para evaluar la congruencia del agente inteligente, los jóvenes que representan la
muestra, primero contestaron el test que permite determinar la vocación personal
de los usuarios Anexo A que contiene un test para determinar la vocación
personal, posteriormente utilizaron el agente inteligente, el resultado del test del
anexo A y la utilización del robot ambos resultados permiten aplicar la prueba de
congruencia, para finalizar contestaron el cuestionario de usabilidad, el anexo B
que permite determinar la efectividad, eficiencia y satisfacción de la interfaz. El
test del Anexo A permite determinar la vocación profesional de las personas que
los contestan es un test manual.
74
Fig. 30 Alumno interactuando con la interfaz del “chatbot” para la Orientación Vocacional.
Autora Ana Claudia Ruiz Tadeo.
3.7.5.- PRUEBAS DE USABILIDAD
Para analizar la usabilidad del agente inteligente en Orientación Vocacional se
utilizó el cuestionario de System Usability Scale (SUS), Brooke, J. (1996).
Cuestionario del anexo B que permite determinar la precisión, funcionalidad,
efectividad y satisfacción de la interfaz del sistema.
SUS es un cuestionario estandar que se utiliza para probar la usabilidad de los
sistema de computo en general. En este caso lo utilizamos para evaluar la
interfaz del agente en orientación vocacional. Anexo B.
El test para determinar la orientación vocacional del anexo A y el test para evaluar
la usabilidad anexo B, se aplicaron en la biblioteca del Instituto Tecnológico de
Colima. Se probaron con un total de 18 personas, 11 alumnos del Instituto
Tecnológico de Colima, 3 Alumnos del bachillerato #3 de la Universidad de
Colima y 4 alumnos del C. E. T. I. S. 157. Ninguno de ellos tiene experiencia con
la interfaz de chatbots.
75
Edad Alumnos Nivel de Estudios
15-17 4 C.E.T.I.S. 157
16-17 3 Bachillerato de la
U. de C.
18-20 3 1er. Semestre
Contabilidad del I.T.C.
18-21 4 4to Semestre
Informática del I.T.C.
18-21 4 6to. Semestre del
Industrial del I.T.C.
Fig. 31 Alumnos que evaluaron la interfaz del “chatbot”. Autora Ana Claudia Ruiz Tadeo.
En la figura 31 se plasman los datos generales de los alumnos que participaron
en la evaluación del “chatbot” para la Orientación Vocacional.
Los alumnos que evaluaron la interfaz tienen la edad entre 16 y 21 años todos
con estudios previos de computación básica. Alumnos del Tecnológico de Colima
y alumnos de la Universidad de Colima.
3.5.- INTERPRETACIÓN DE LOS RESULTADOS
A continuación se plasman los resultados obtenidos de aplicar el cuestionario de
usabilidad que permite evaluar la funcionalidad, efectividad y satisfación del
usuario Anexo B. Cuestionario de System Usability Scale (SUS), Brooke, J.
(1996).
Este cuestionario esta integrado por 10 preguntas todas con la finalidad de
determinar la satisfacción del usuario con respecto a la interfaz del sistema como
son: color, complejidad, facilidad de uso, armonia, consistencia, confialidad e
integración.
76
1. Me gustaría utilizar con frecuencia este sistema
Completamente de acuerdo
0
1
2
3
4
5
6
7
1 2 3 4 5
Fre
cuen
cia
Fig. 32. Me gustaría utilizar con frecuencia este sistema.
Autora Ana Claudia Ruiz Tadeo.
La Figura 32 nos proporciona como resultado que el sistema es agradable y
atractivo para los usuarios, les agrada la forma de interactuar con el “chatbot”.
La gráfica tiene tendencia positiva. Siete de cada diez lo consideran
agradable.
2.- Encontré el sistema innecesariamente complejo
En la figura 33 se plasma una foto de un alumno de Ingeniería bioquímica
aplicando el test de usabilidad.
77
Fig. 33. Foto del alumno de la carrera de Bioquímica evaluando la usabilidad del
agente. Autora Ana Claudia Ruiz Tadeo.
En completo desacuerdo
0
1
2
3
4
5
6
7
1 2 3 4 5
Fre
cuen
cia
Fig. 34. Encontré el sistema innecesariamente complejo.
Autora Ana Claudia Ruiz Tadeo.
78
En la figura 34 encontramos que el agente no es complejo para su utilización.
Por el contrario lo consideran fácil de utilizar. Ya que es muy semejante a
chatear con un humano y es lo que actualmente hacen los jóvenes. Seis de
cada diez lo encontaron facil de utilizar, no lo encontraon complejo.
3.- Fue fácil utilizar el agente inteligente
En la figura 35 se plasma una fotografía de una alumna de la Universidad de
Colima aplicando el cuestionario de usabilidad.
Fig. 35. Foto. Evaluación de usabilidad. Fue fácil utilizar el sistema.
Completamente de acuerdo
0
1
2
3
4
5
6
7
8
9
10
1 2 3 4 5
Fre
cuen
cia
Fig. 36. Gráfico de la expresión. Fue fácil utilizar el agente inteligente.
Autora Ana Claudia Ruiz Tadeo.
79
La figura 36 nos proporciona como resultado que el agente es fácil de utilizar
para los usuarios.
4. Creo que necesitaría del apoyo de un experto para utilizar el sistema
En completo desacuerdo
0
1
2
3
4
5
6
7
8
9
1 2 3 4 5
Fre
cuen
cia
Fig. 37. Gráfico. Creo que necesitaría del apoyo de un experto para utilizar el sistema.
Autora Ana Claudia Ruiz Tadeo.
La figura 37 confirma que no es necesario el apoyo de un experto humano al
momento de utilizar el sistema. El agente es fácil de utilizar es por ello que no
se requiere de la asistencia de un especialista. 8 de cada 10 no necesitan del
apoyo de un experto.
5. Las diversas funciones del sistema están bien integradas.
80
Completamente de acuerdo
0
1
2
3
4
5
6
7
1 2 3 4 5
Fre
cuen
cia
Fig. 38. Gráfico. Las diversas funciones del sistema están bien integradas.
Autora Ana Claudia Ruiz Tadeo.
La gráfica de la figura 38 nos plasma que las opciones del sistema están
correctamente integradas, esto permite que sea rápido de aprender a utilizar.
No se requiere de capacitación previa.
6. Hubo demasiada inconsistencia (diferentes colores y fuentes sin
armonía) en el sistema.
En completo desacuerdo
0
1
2
3
4
5
6
7
8
9
10
1 2 3 4 5
Fre
cuen
cia
Fig. 39. Gráfico. Hubo demasiada inconsistencia.
81
Con el resultado de esta pregunta nos damos cuenta que el sistema tiene una
interfaz agradable. Con consistencia, les agradan los colores y la imagen en
2d. Como se muestra en la figura 40. Nueve de cada diez niegan que haya
sido inconsistente la interfaz.
Fig. 40 Interfaz desde una Laptop del Agente Inteligente en
Orientación Vocacional. Autora Ana Claudia Ruiz Tadeo.
7. Imagino que la mayoría de las personas aprenderían muy rápidamente
a utilizar el sistema.
Completamente de acuerdo
0
1
2
3
4
5
6
7
8
9
1 2 3 4 5
Fre
cuen
cia
Fig. 41. Gráfico. La mayoría de las personas aprenderían muy rápidamente a utilizar el
agente. Autora Ana Claudia Ruiz Tadeo.
82
El resultado de este cuestionamiento nos dice que el alumno no requiere de
una capacitación previa para utilizar el sistema. Lo pueden utilizar todas las
personas aun cuando no tengan conocimientos previos de computación.
8. Encontré el sistema muy difícil de usar.
En completo desacuerdo
0
1
2
3
4
5
6
7
8
9
1 2 3 4 5
Fre
cuen
cia
Fig. 42. Gráfico. Encontré el sistema muy difícil de usar.
Autora Ana Claudia Ruiz Tadeo.
Gráfica de la figura 42, nos demuestra que esta expresión es negativa, ya que
el sistema es muy fácil de utilizar, la interfaz es amigable y agradable para los
usuarios. Ocho de cada diez encontraron que el sistema es fácil de utilizar.
83
9. Me sentí muy confiado en la navegación de la página web del agente
inteligente.
Completamente de acuerdo
0
1
2
3
4
5
6
7
8
1 2 3 4 5
Fre
cuen
cia
Fig. 43. Gráfico. Me sentí muy confiado de la página web del agente inteligente.
Autora Ana Claudia Ruiz Tadeo.
Los resultados de esta pregunta muestran que el sistema es confiable y
accesible desde Internet y proporciona confianza al utilizarlo. Según Gráfica de
la figura 43. Siete punto cinco 7.5, de cada diez usuarios encontraron
confianza en la interfaz del agente.
10. Necesito aprender muchas cosas antes de utilizar el sistema.
84
En completo desacuerdo
0
1
2
3
4
5
6
7
8
9
10
1 2 3 4 5
Fre
cuen
cia
Fig. 44. Gráfico. Necesito aprender muchas cosas antes de utilizar el sistema. Autora
Ana Claudia Ruiz Tadeo.
Figura 44. Las respuestas a esta pregunta nos indican que no es necesario
tener un conocimiento específico o tener mucha experiencia en el manejo de
sistemas de cómputo para su utilizar este agente inteligente. Nueve de cada
diez no necesitan tener conocimientos de computación para utilizarlo.
85
CAPÍTULO 4.- CONCLUSIONES Y SUGERENCIAS
4.1.- DISCUSIÓN
En nuestro trabajo el objeto principal fue presentar como producto terminado un
agente inteligente que simula a un orientador vocacional en una entrevista capaz
de interactuar en forma verbal y escrita en el idioma español.
El objeto de estudio es un agente inteligente. Al hablar de un agente estamos
hablando de un programa, un software que se ejecuta en una computadora.
Entonces decimos que nuestro objeto de estudio en primer lugar es un programa,
un sistema inteligente.
Cuando hablamos de un agente inteligente entramos a un área que resulta
sumamente compleja en su concepción, la Inteligenicia Artificial. Entrar en los
dominios de la Inteligenicia Artificial representa encontrarse con una gran cantidad
de definiciones diferentes de lo que significá esta área de la computación, ideas
tan diversas que nos pueden llevar a la confusión y a pensar que tratar el tema
es una aventura muy compleja. En primer lugar descubrimos que en realidad no
hay una definición para Inteligenicia Artificial, sólo aproximaciones y aunque
teóricamente lo anterior resulta desconcertante al inicio, se transforma en una
interesante ventaja cuando tenemos que definir el alcance de describir inteligencia
a la hora de afirmar que vamos a trabajar con un agente inteligente. La primera
definición con que nos encontramos y que basta con leerla una sola vez para
tratar de huir es la de Minsky (1984) donde nos dice que la Inteligenicia Artificial
es “el estudio de cómo programar computadoras que posean la facultad de hacer
aquello que la mente humana puede realizar”. Hacer que una computadora
realice los procesos que lleva a cabo el cerebro humano no es la clase de
actividad que nosotros deseamos realizar, por lo tanto, pensar en los alcances de
esa definición nos llevaría a un nivel de complejidad extremo.
86
Investigando un poco más en la teoría de la Inteligenicia Artificial nos
encontramos con el trabajo de Barber et al. (2002) el cual nos dice que la
Inteligenicia Artificial al ser tan amplia como lo vimos en la definición anterior, es
posible definirla de manera separada en dos grupos: inteligencia relacionada al
procesamiento de la información y la inteligencia que trata de la representación de
la información. Lo anterior nos reduce notablemente los alcances de lo que es la
Inteligencia Artificial y ahora lo que corresponde es situar al agente inteligente
dentro de una de esas dos clasificaciones. La representación de la información
tiene que ver con los sentidos, el lenguaje y la comunicación, de tal manera que
cuando decimos que el agente inteligente interactua de manera verbal y escrita es
sencillo pasar de lado la representación de la información. Ahora que sabemos
en que clasificación dentro de la Inteligencia Artificial estamos indagando un poco
más y descubrimos que Russell y Norvig (1995) profundizan más y ponen sobre
la mesa dos aproximaciones más a lo que es la Inteligenicia Artificial; esta vez las
clasificaciones son en base al pensamiento y al comportamiento humano. El
enfoque del pensamiento tiene que ver muy estrechamente con la razón mientras
que el comportamiento nos habla de conductas. Nuestro agente inteligente
sabemos que se comunica de manera escrita y verbal lo cual nos dejó de lado la
representación de la información en la Inteligencia Artificial, sin embargo todavía
es muy amplio el espectro de posibilidades dentro de la inteligencia, esto debido a
que se puede pensar que el agente tiene la capacidad de razonar y tiene un
comportamiento. Entonces hay que reducir un poco más el alcance y situar al
agente del lado del comportamiento. La Inteligenicia Artificial basada en el
comportamiento, la definen Russell y Norvig (1995) como sigue: “un campo de
estudio que busca explicar y emular la conducta inteligente en términos de
procesos computacionales”. Con esta última definición nos queda claro que la
inteligencia a la que nos referimos cuando decimos agente inteligente se refiere a
la de comunicarse e interpretar una conducta inteligente. Nuestro agente
entonces se comunica con el usuario de manera verbal y escrita, a partir del uso
de ese medio de comunicación simula un comportamiento.
87
Se puede concluir que con esta investigación se establecen los elementos
necesarios para desarrollar un “chatbot” el cual es una herramienta de apoyo
para los usuarios y especialistas en orientación vocacional.
La ventaja de este proyecto es que la orientación vocacional ya no se podrá
realizar con extensos test, se ahorra tiempo al no tener que ir a una oficina de
orientación vocacional, el joven podrá realizar este análisis desde la comodidad y
privacidad de su casa, este proceso será más agradable ya que se establece un
diálogo simulado y amigable con otra persona.
La aplicación de este software impacta con mayor incidencia en los jóvenes, los
cuales podrán desempeñarse con mayor eficiencia en su actividad profesional.
Asimismo este sistema repercutirá en una disminución de la deserción y
reprobación escolar.
Para finalizar explicaré brevemente las actividades que realizamos para el
desarrollo y puesta en marcha del “chatbot”, el primer paso que realizamos fue
obtener información sobre orientación vocacional como son los datos que
contienen los test vocacionales, determinar las posibles respuestas a cada
expresión por parte de los usuarios. La cual se almacena en la base de
conocimiento del robot. Posteriormente procedimiento a diseñar el diálogo del
robot que consistió en implementar las preguntas que se realizan en un análisis
vocacional para de esta forma determinar la vocación de cada persona. Para
posteriormente implementarlo en código AIML. Se realizaron las pruebas del
diálogo y se agrego una imagen interactiva a la interfaz del agente inteligente.
El desarrollo de este agente en orientación vocacional se realizó en base al
modelo de Russell (2002) que fundamenta el desarrollo de un agente inteligente
capaz de proporcionar información acerca de celulares en venta desde un sitio
Web.
88
La metodología para la puesta en marcha del sistema fue en primer lugar una
entrevista personal con cada uno de la usuarios que participaron en las pruebas,
lo primero que hicieron fue llenar un test de texto para determinar la orientación
vocaciona anexo A, posteriormente se realizaron pruebas con el agente,
siguiendo la entrevista, llenaron el cuestionario de usabilida anexo B, para
proceder a graficar los resultados. Y después se comparó el resultado del test
con el resultado que proporcionó el agente. En el caso de las pruebas de
congruencia. En el test de usabilidad se graficaron los datos resultado de las
respuestas de los usuarios.
Para finalizar se aplicó el concepto de usabilidad con la finalidad de lograr que la
interfaz proporcione funcionalidad y satisfacción a los usuarios, por lo que se
aplicó una encuesta donde se incluyeron diez preguntas referentes a la
usabilidad, basadas en el cuestionario SUS (Brooke, 1996), las cuales nos dieron
resultados favorable ya que los usuarios del agente mostraron interés en utilizar
el sistema, no lo encontraron innecesariamente complejo, lo consideraron sencillo
de utilizar y opinaron que se puede aprender a utilizar fácilmente, se han sentido
muy confiados al momento de interactuar con él, por lo que no necesitan el apoyo
de una persona experta para utilizar el sistema. No necesitan información previa
sobre el agente conversacional, ya que es muy sencillo de usar, comentaron.
4.2.- CUMPLIMIENTO DE LA HIPÓTESIS.
A mayor desarrollo e incremento de información en el agente inteligente este
puede simular de manera eficaz y con mayor precisión a un experto humano en
orientación vocacional. Esta hipótesis es positiva ya que el robot al adquirir más
información tiene la posibilidad de simular mas eficazmente a un experto
humano en orientación vocacional. Esto se respalda por el 80% de los usuarios
que contestaron el anexo A y utilizaron el agente. Con la prueba de congruencia.
La respuesta del test escrito es el mismo resultado que el agente inteligente
proporciono para el 80% de los usuarios que realizaron esta prueba.
89
4.3.- CUMPLIMIENTO DE LOS OBJETIVOS.
Un objetivo que se persigue en esta investigación es conocer el proceso de
orientación vocacional, para llevarlo acabo se revisaron los diferentes test y
manuales que se aplican actualmente. Así como se conocieron las teorías que
utilizan los psicólogos al momento de realizar este examen vocacional.
Otro objetivo es realizar investigación sobre Robot Virtuales y Agentes
Inteligentes, el cumplimiento de este objetivo permitió conocer el funcionamiento,
su ambiente de funcionamiento y los elementos para diseñarlos.
El objetivo de minimizar los tiempos de respuesta de análisis vocacional,
considero que también se cumplió ya que los alumnos obtienen su resultado de
manera simultanea durante la conversación.
Diseño de una interfaz conversacional que permitan privacidad y confianza en los
Jóvenes. Este objetivo se cumple con esta tésis ya que la utilización del agente se
puede realizar desde la privacidad y comodidad de sus casas con solo tener
acceso a Internet.
Presentar un robot virtual que automatice el proceso de orientación vocacional.
También se cumple este objetivo ya que se esta presentando el producto final que
es un sistema que automatiza este proceso.
Globalizar el acceso de un análisis vocacional. Este agente permite ser utilizado
desde cualquier parte del mundo donde se tenga acceso a Internet como se
muestra en la Figura 45.
Con la dirección URL:
http://demo.vhost.pandorabots.com/pandora/talk?botid=d88a694ede36a768
90
45.- Interfaz del robot virtual. Autora Ana Claudia Ruiz Tadeo.
4.4.- IMPORTANCIA DE LOS RESULTADOS OBTENIDOS
Esta investigación nos permitió conocer los elementos necesarios para el diseño,
desarrollo e implementación de un Agente inteligente en Orientación Vocacional.
Esto nos permitió diseñar e implementarlo en la red mundial.
4.5.- LIMITACIONES DE LA INVESTIGACIÓN.
Una limitación importante de esta investigación, es que no se cuenta con una
plataforma formal y universal para el funcionamiento del código AIML. Para que el
sistema tenga una imagen interactiva se tienen que ejecutar en el sitio de
pandorabots.com, para hacerlo independiente tendriamos que comprar un
software para avatares que tiene un precio de veinte mil pesos aproximadamente.
91
Otra de las limitantes de este proyecto, que la comunicación verbal y escrita a la
que se hace referencia es exclusivamente en el idioma español.
Para interactuar con el agente se recomienda que sean usuarios que tengan
experiencia en el Chat. Se puede aplicar a personas desde la edad infantil a
nivel de primaria y secundaria, los cuales requieren la asistencia técnica, cuando
no tengan la experiencia en chatear.
4.6.- SUGERENCIAS
Una aplicación futura es que se le indique al agente que active un dispositivo
externo como encender el calentador de agua, encender la energía eléctrica o
realizar una llama telefónica; que durante la conversación con el “chatbot” se le
pueda ordenar la activación de aparatos externos. Así como se puede utilizar
desde PDAS y telefonos celulares con acceso a internet.
Para continuar con esta investigación a futuro recomendamos aplicar los métodos
empleados en la instrumentación de otras aplicaciones similares como: tutores,
psicólogos y pedagogos virtuales.
92
REFERENCIAS
Acosta Díaz, R. (2006). Comunicación personal. Entrevista realizada por
Armando Renova Flores. Colima, Colima, 3 de Marzo de 2006.
Al-Rawas, A. Easterbrook, S. (1996). Communication Problems In Requirements
Engineering: A Field Study. School of Cognitive and Computing Sciences,
University of Sussex, Falmer, Brighton, NASA/WVU Software Research Lab.
ALICE AI Foundation. (2006) AIML: Artificial Intelligence Markup Language.
Extraído el 8 de enero de 2006 desde http://www.alicebot.org/AIML.html
Álvarez, A., Viñas, J. & Oña, S. (2002). Sistema de patrones para alice bot:
Alice- espX. Trabajo presentado en la Segunda Conferencia de Procesamiento
del Lenguaje Natural de la Universidad Europea de Madrid, Junio, Madrid.
Asti, A. (1972). Metodología de la investigación. Madrid: Cincel.
Báez, G. & Barba, S. (2004). Metodología DoRCU para la Ingeniería de
Requerimientos. Instituto Superior Politécnico “José Antonio Echeverría”, La
Habana, CU Facultad de Ciencia y Tecnología, Universidad Autónoma de Entre
Ríos, AR. p. 211.
Barber, F. Botti, V. & Koehler, J. (2002). IA: pasado, presente y futuro. Novática,
159, 4-7, extraído en Septiembre-octubre de 2002, desde: www.ati.es/novatica.
Beyer, H. R. & Holtzblatt, K. (1995). Apprenticing with the Costumer.
Communications of the ACM, 38(5).
Barberá, E. (1999). Evaluación de la enseñanza, evaluación del aprendizaje.
Edebé: Barcelona.
Bisquerra, R. (2000) Métodos de Investigación Educativa. Guía práctica.
España: CEAC.
Brooke, J. (1996). SUS: A Quick and Dirty Usability Scale. In: P.W. Jordan, B.
Thomas, B.A. Weerdmeester & I.L. McClelland (Eds.), Usability Evaluation in
Industry. London: Taylor & Francis.
Brooks, F. P. Jr. (1995). The Mythical Man-Month. Addison Wesley, Reading,
Massachussets.
93
Bush, N. (2006). Getting Started with Program D. Extraído el 24 de enero de
2006 desde http://www.aitools.org/Getting_Started_with_Program_D.
Chan, T. W. y Baskin, A. B. (1988). Studying with the prince: The Computer as a
Learning Companion. The Proceedings of International Conference of Intelligent
Tutoring Systems: At the Crossroads of Artificial Intelligence and Education,
ITS’88, Junio, Montreal.
Chan, T. W. y Baskin, A. B. (1990). Learning companion systems. Ablex
Publishing Corporation.
Chih-Yueh, Ch., Tak-Wai, Ch. & Chi-Jen, L. (2003). Redefining the Learning
Companion: the past, present and future of educational agents. Computers &
Education, 40, 255-269.
Chadwick y Hannah, (1987). Introducción a la Inteligencia Artficial. Madrid,
España: Ra-Ma.
Davis, F. (1985). La comunicación no verbal. Alianza Editorial.
Damelincourt, J. (12/01/2005). Présentation & historique des Systèmes multi-
agents. VieArtificielle [en línea]. desde
http://www.vieartificielle.com/article/index.php?id=47 [16 de Octubre 2005].
Floría, C. (2000). Cuestionarios de Usabilidad. Área de Ingeniería de Proyectos.
Universidad de Zaragoza.
Goleman, D. (1996). La Inteligencia Emocional. Cairos.
González, R.A. (2000). Educación superior virtual y nuevos materiales para la
enseñanza. Colección Pedagógica Universitaria, 32-33, 183-195.
GRACIA, Grupo de Agentes de Software: Ingeniería y Aplicaciones.(2005)
Estado del Arte [en línea]. Disponible en:
http://grasia.fdi.ucm.es/ingenias/Spain/estado/index.php [21 de Octubre 2005].
Hayes-Roth (1995). Citado por: Samper, J. (2005). [en línea] Disponible en:
http://www.wikilearning.com/ntroducci%C3%B3_n_al_concepto_de_agente_i-
wkccp-5095-3.htm. [21 de Octubre 2005].
Jaramillo, A. (2005), Trabajo de Investigación para la Orientación Vocacional,
Instituto Tecnológico de Colima, fue una investigación de Residencia Profesional.
94
Jonassen, D., Mayes, T. & McAleese, R. (1992) A Manifesto for a Constructivist
Approach to Uses of Technology in Higher Education. Duffy, Lowyck and
Jonassen, 147-231.
Kuder, F. (1998), Kuder, ediciones pedagógicas latinoamericanas. Formatos de
test.
Larios, A. (1995). “Técnicas y estrategias para pruebas del software” en el
Instituto Tecnológico de Colima, Colima, Noviembre. Investigación para tésis de
titulación.
López, O. Laguna, M. & Marqués, J. (2004). Normalización De Assets De
Requisitos En El Contexto De La Reutilización Sistemática Del Software. Instituto
Tecnológico de Costa Rica, Universidad de Valladolid. p. 2.
Liphart, A. (1971): "Comparative Politics and the Comparative Method", en
American Political Science Review, vol.65, septiembre.
Maldonado, L., & Bayardo, & L., Macias, D. & Ortega, N. (2004). Ambiente de
aprendizaje basado en un agente de software orientado al juego de roles. Trabajo
presentado en el VII Congreso Iberoamericano de Informática Educativa, Octubre,
Monterrey.
Merelo, J. J. (1997) Agentes Autónomos Inteligentes. RED Científica. Obtenido
el 8 de enero de 2006 desde
http://www.redcientifica.com/doc/doc199903310001.html
Minsky, M. (1984). The Society of Mind. Simon & Schuster., Articulo publicado en
internet.
Navarro, D. (1997). ELIZA y Computer Power and Human Reason. RED
Científica. Obtenido el 8 de enero de 2006 desde
http://www.redcientifica.com/doc/doc199903130010.html
Nielsen, (1993), Concepto de usabilidad, extraído el 7 de Marzo del 2009 desde
http://www.sidar.org/recur/desdi/traduc/es/visitable/quees/usab.htm
Nuseibeh, B. & Easterbrook, S. (2000). Requirements Engineering: A Roadmap.
ACM Future of Software Engineering, 35-44.
Núñez, M. (2004, Noviembre 7). Weblogs y RSS: Ética y Computadoras - Chat
Robot.
95
Piattini, M.G., Calvo-Manzano, J.A., Cervera, J. y Fernández, L. (1996). Análisis
y diseño Detallado de Aplicaciones Informáticas de Gestión. Madrid, España: Ra-
Ma.
Rivera (2003). ¿Aprendizaje de diferente tipo? Extraído el 4 de enero de 2006
desde http://www.educarchile.cl/ntg/investigador/1560/article-77061.html
Rizzi, M. (2001). Sistema Experto Asistente de Requerimientos. Tésis de
Maestría en Ingeniería de Software, Instituto Tecnológico de Buenos Aires.
Rizzi, M. y Marcelo, F. (2000). Asistente de Requerimientos. Tésis de maestría
no publicada, Centro de Actualización Permanente en Ingeniería de Software,
Instituto Tecnológico de Buenos Aires.
Robertson, S. & Robertson, J. (1999). Mastering the Requirements Process,
Addison Wesley, New York, NY.
Román Gallardo, A. (2006). Comunicación personal. Entrevista realizada por
Armando Renova Flores. Colima, Colima, 3 de Marzo de 2006.
Russell, R. (2002). Language Use, Personality and True Conversational
Interfaces. Artificial Intelligence and Computer Science. University of Edinburgh.
Russell, S. & Norvig, P. (1995). Artificial Intelligence: A Modern Aproach,
Prentice Hall. Opper Saddle River, Upper Saddle River, NJ.
Rzepka, W. E. (1989). A Requirements Engineering Tested: Concept, Status,
and First Results. Presentado en el 22 Anual Hawaii International Conference of
Systems Sciences, IEEE Computer Society, Junio, Hawaii.
Serrano, C. (2003). La contabilidad en la era del conocimiento, [en línea] 5
campus.org Sistemas Informativos Contables, disponible en
http://www.5campus.org/leccion/introduc [7 de enero de 2006]
Shah, H. (2005). A.L.I.C.E.-an ACE in Digitaland. Ph.D. Thesis. Harrow School
of Computer Science, University of Westminster.
SICEUC (2005). Universidad de Colima [en línea]: http://siceuc.ucol.mx.
Skinner, B.F. (1950). Are Theories Of Learning Necessary? Psychological
Review, 57.
Sommerville, I. (1996). Software Engineering. Addison Wesley, New York, NY.
Sommerville, I. & Sawyer, P. (1997). Requirements Engineering. Wiley.
96
Teruel, A. (14 de Junio de 2000). Orientando sistemas de Programas a Objetos:
un segundo experimento decente. Departamento de Computación y TI.
Universidad Simón Bolívar.
Thayer, R.h. y Dorfman, M. (1997). Software Requirements Engineering. Wiley.
Travers, R. M. W. (1979) Introducción a la investigación educacional. Buenos
Aires: Paidós.
Urretavizcaya, M. (2001). Sistemas Inteligentes en al ámbito de la educación.
Inteligencia Artificial, Revista Iberoamericana de Inteligencia Artificial, 12, 5-12
Valadez Valdivia, R. (2006). Comunicación personal. Entrevista realizada por
Armando Renova Flores. Colima, Colima, 3 de Marzo de 2006.
Villareal, G. (2004). Agentes Inteligentes en Educación. Centro Comenius
Universidad de Santiago de Chile.
Vizcaíno, A. (2004). Un Estudiante Simulado que Detecta y Corrige Situaciones
Negativas en Entornos Colaborativos. Revista Iberoamericana de Inteligencia
Artificial, No. 23, 149-156.
Wallace, R. (2004). A.L.I.C.E. The Artificial Linguistic Internet Computer Entity.
Obtenido el 5 de enero de 2005 desde http://www.alicebot.org/about.html
Wallace, R. (2006). AIML Overview. Extraído el 20 de febrero de 2006 desde
http://www.pandorabots.com/pandora/pics/wallaceaimltutorial.html.
Zave, P. & Jackson, M. (1997). Four Dark Corners of Requirements Engineering.
ACM Transactions on Software Engineering and Methodology, 6(1), 1-30.
Zorrilla, S. (1989). Introducción a la metodología de la investigación: casos
aplicados a la administración (28ª ed.). México: Aguilar León y Cal Editores
97
Anexo A. Test de Orientación Vocacional.
98
99
Anexo B. Cuestionario System Usabilidad Scale (SUS)
Cuestionario System Usability Scale (SUS) para evaluar la usabilidad de un sistema.
Traducido al español por Adriana Lorena Iñiguez Carrillo y Miguel Ángel García Ruiz Referencia original:
Brooke, J. (1996). SUS: a "quick and dirty" usability scale. In P. W. Jordan, B. Thomas, B. A. Weerdmeester & A. L. Mclelland (eds.) Usability Evaluation in Industry. London: Taylor and Francis.
Documento donde se explica cómo calificar el cuestionario: http://www.usabilitynet.org/trump/documents/Suschapt.doc Nombre:______________________________________________________________ Fecha:_______ Favor de marca con una “X” en la columna correspondiente según sea tu criterio.
En completo Completamente desacuerdo ……..……..…………………………....de acuerdo
1. Me gustaría utilizar con frecuencia este sistema
( ) ( ) ( ) ( ) ( )
2. Encontré el sistema innecesariamente complejo
( ) ( ) ( ) ( ) ( )
3. Fue fácil utilizar el sistema ( ) ( ) ( ) ( ) ( )
4. Creo que necesitaría del apoyo de un experto para utilizar el sistema
( ) ( ) ( ) ( ) ( )
5. Las diversas funciones del sistema están bien integrados
( ) ( ) ( ) ( ) ( )
6. Hubo demasiada inconsistencia (diferentes colores y fuentes sin armonía, etc.) en el sistema
( ) ( ) ( ) ( ) ( )
7. Imagino que la mayoría de las personas aprenderían muy rápidamente a utilizar el sistema
( ) ( ) ( ) ( ) ( )
8. Encontré el sistema muy difícil de usar.
( ) ( ) ( ) ( ) ( )
9. Me sentí muy confiado en la navegación de la página Web.
( ) ( ) ( ) ( ) ( )
10. Necesito aprender muchas cosas antes de utilizar el sistema
( ) ( ) ( ) ( ) ( )
100
Anexo C. Conversación de un usuario con el Robot Virtual
Human: hola Robot: HOLA. Gracias por conversar conmigo. Human: como te llamas Robot: Me llamo orientador vocacional soy un Robot Virtual un modelo de la Inteligenicia Artificial. Para un análisis escribe la palabra orientación. Human: orientación Robot: ¿Deseas un análisis vocacional SI o NO? Human: si Robot: A cada pregunta contestar REGULAR O SI O NO ¿ESTAS DE ACUERDO? Human: si Robot: ¿Te gustaría sembrar y plantar en una granja durante las vacaciones? Human: si Robot: ¿Te gustaría vivir al aire libre, fuera de la Ciudad? Human: si Robot: ¿Te gustaría pertenecer a un club de exploradores? Human: si Robot: ¿Te agrada salir de excursión? Human: no Robot: Las carreras que considero te agradarían de acuerdo a tus gustos personales son: Ingeniero Agrónomo, Ingeniero forestal, Ingeniero de Minas, Geólogo, Oficial del ejercito, oficial de la marina, oficial en aviación o policía, etcétera, ya que con la conversación se puede determinar que te agradan en mayor escala las actividades externas a edificios actividades al aire libre, CONTINUAMOS SI O NO. Human: si Robot: ¿Te gustaría sembrar y plantar en una granja durante las vacaciones? Human: si Robot: ¿Te gusta utilizar herramientas y maquinaria? Human: si Robot: ¿Te agrada armar o desarmar objetos mecánicos? Human: si Robot: ¿Te agrada RESOLVER ECUACIONES NUMÉRICAS? Human: no Robot: Contestar REGULAR, SI O NO a cada pregunta ¿DE ACUERDO?
101
Human: si julio3: ¿Te agrada ESTUDIAR LA ESTRUCTURA DE LAS PLANTAS Y DE LOS ANIMALES? Human: si julio3: ¿TE GUSTA REALIZAR EXPERIMIENTOS DE BIOLOGÍA, FÍSICA O QUÍMICA? Human: si julio3: ¿TE INTERESA ESTUDIAR Y ENTENDER LAS CAUSAS DE LOS MOVIMIENTOS SOCIALES? Human: si julio3: ¿TE AGRADA INVESTIGAR LAS COSTUMBRES DE LOS PUEBLOS? Human: si julio3: ¿TE AGRADA LEER REVISTA Y LIBROS CIENTÍFICOS? Human: si julio3: ¿TE INTERESA SER INVESTIGADOR EN UN LABORATORIO DE BIOLOGIA, FÍSICA O QUÍMICA? Human: si julio3: ES NOTORIO TU INTERES CIENTÍFICO, LAS PROFESIONES ACORDE TUS INTERESES SON: ANTROPÓLOGOS, ARQUEÓLOGO, ASTRÓNOMO, BIÓLOGOS, INGENIERO ELECTRICISTA, INGENIERO QUÍMICO, ODONTOLOGO, PSICOLOGO, MÉDICO, TÉCNICO DE LABORATORIO? Human: gracias julio3: Gracias por tu visita.
102
Anexo D. Fragmento del código fuente del Robot Virtual en Orientación
Vocacional en AIML.
<?xml version="1.0" encoding="UTF-8"?>
<aiml version="1.0">
<category>
<pattern>hola</pattern>
<template>
<random>
<li> Hola Bienvenido.</li>
<li><suspecting/>HOLA. Gracias por tu visita</li>
<li><offended/>HOLA. Gracias por conversar conmigo</li>
<li><ironic/>Hola: Para un análisis escribe ORIENTACION</li>
<li><bored/>HOLA PARA UN ANÁLISIS ESCRIBE ORIENTACION</li>
</random>
</template>
</category>
<category>
<pattern>HOLA *</pattern>
<template>Hola ¿Cual es tu nombre?</template>
</category>
<category>
<pattern>*</pattern>
<that>Hola ¿Cual es tu nombre?</that>
<template><set><star/></set>
¿Si deseas un análisis? escribe ORIENTACIÓN</template>
</category>
<category>
<pattern>hola * eres *</pattern>
<template><srai>quien eres</srai></template>
</category>
<category>
<pattern>* eres *</pattern>
<template><srai>quien eres</srai></template>
</category>
<category>
103
<pattern>* creo*</pattern>
<template><srai>* diseño*</srai></template>
</category>
<category>
<pattern>* diseño*</pattern>
<template> Me diseñaron en el Instituto Tecnológico de Colima en el Departamento de Desarrollo Académico, Como
Jefa la Licenciada MARIA Elba Guzman CARRILLO y Me diseño la Maestra Ana Claudia Ruiz Tadeo </template>
</category>
<category>
<pattern>*gracias*</pattern>
<template>Gracias por tu visita, Te esperamos en el tecnologico, contamos con otros tipos de analisis vocacional,
repito contamos con otros tipos de analisis vocacional</template>
</category>
<category>
<pattern>* gracias *</pattern>
<template><srai>*gracias*</srai></template>
</category>
<category>
<pattern>como te llamas*</pattern>
<template>Me llamo orientador vocacional soy un Robot Virtual un modelo de la Inteligenicia
Artificial</template>
</category>