Академический Документы
Профессиональный Документы
Культура Документы
Director
OSCAR BEDOYA
oscar.bedoya@correounivalle.edu.co
Facultad de Ingeniería
Escuela de Ingeniería de Sistemas y Computación
Programa Académico de Ingeniería de Sistemas
Cali, Marzo 26 de 2019
Tabla de Contenido
Resumen 2
1 Planteamiento y Formulación del Problema 3
2 Justificación del Problema 4
2.1 Justificación Económica 4
2.2 Justificación Social 4
2.3 Justificación Académica 4
3 Objetivos 4
3.1 Objetivo General 4
3.2 Objetivos Específicos 4
3.3 Resultados Esperados 4
4 Alcances de la Propuesta 5
5 Marco Referencial 5
5.1 Glosario 5
5.2 Antecedentes o Estado del Arte 5
5.3 Marco Teórico 8
6 Metodología 11
6.1 Actividades a Realizar 12
6.2 Cronograma de actividades 13
7 Presupuesto 13
8 Bibliografía 14
1
Resumen
La propuesta de trabajo de grado consiste en el desarrollo de un asistente virtual para el sitio web del
área de admisiones de la Universidad del valle (http://admisiones.univalle.edu.co), centrado en los
procesos de admisión de pregrado Cali y pregrado sedes. De esta manera se pretende sacar un gran
peso de algunos procesos que deben manejar los monitores de esta área y además, agilizar la
entrega de información al usuario que la necesita. Un asistente virtual es un derivado de los
buscadores que es capaz de analizar las peticiones del usuario en lenguaje natural y ofrecer
respuestas también en lenguaje natural que satisfagan sus necesidades. Así, el asistente virtual tiene
que cumplir con el propósito de mejorar la interacción del usuario con el sitio web de admisiones,
brindarle respuestas certeras o ayudarle a obtener enlaces a páginas dentro del dominio del sitio web
de la universidad. En particular, el asistente que se propone en este trabajo de grado tiene seis
partes: interfaz, controlador, analizador gramatical, base de datos con el conocimiento de los
procesos de admisión anteriormente nombrados, sugerencias inconvenientes y chatbot.
El asistente virtual que se propone estará desarrollado en los lenguajes de programación PHP
(Symfony Framework 3.4), JavaScript, HTML5 y CSS3 por lo que es una aplicación web y se utiliza el
lenguaje estructurado AIML para crear los patrones de coincidencia y las respuestas que dará. El
asistente también tiene un módulo de aprendizaje, que le permite adquirir conocimiento a partir de las
afirmaciones hechas por el usuario que sostiene una conversación con él, o de la aceptación de
respuestas sugeridas sobre aplicación interna manejada por monitores del área de admisiones.
2
1. Planteamiento y Formulación del Problema
La forma en que las personas estructuran sus consultas en los buscadores limita los resultados
obtenidos debido a que la mayoría de usuarios no conocen estrategias de búsquedas o la estrategia
utilizada por los buscadores para mostrar los resultados suele ser poco amigable y muchas veces al
usuario le toca visitar varias páginas para obtener la respuesta deseada que cumpla los parámetros
de precisión y actualidad de la información contenida en ella. En la página web del Área de
Admisiones de la Universidad del Valle se cuenta con extensa información de los diferentes procesos
de admisión que la integran y los diferentes actores que la componen. A pesar de que se ha venido
renovando y mejorando la manera de mostrar la información en esta página, los usuarios que desean
aclarar sus dudas o tienen una pregunta en concreto, no llegarán fácilmente a una respuesta, por
ende, es necesario el uso de más de 10 monitores al día que usan diversos métodos de
comunicación con los usuarios o aspirantes a la universidad, como lo son los correos institucionales,
las llamadas telefónicas y la atención personal.
El problema particular a tratar en este trabajo de grado se basa en los canales de atención asignados
en el área de admisiones de la Universidad del valle (principalmente en el proceso de pregrado primer
semestre el cual es el proceso donde más se solicita información), los cuales no cumplen con la alta
demanda de usuarios por lo que al momento de entregar información a éstos; el tiempo de espera es
muy extenso. La pregunta de investigación que orienta este trabajo es: ¿Cómo agilizar el acceso a la
información de admisiones por medio de un proceso amigable y confiable donde la respuesta que los
aspirantes esperan, sea rápida y satisfactoria?
Para abordar el problema planteado, en este trabajo de grado se propone desarrollar un asistente
virtual al cual se le puedan realizar consultas en lenguaje natural sobre información del Área de
admisiones. Se espera que el asistente logre entregar información más precisa que un buscador
tradicional, esto mejora la satisfacción del cliente ya que reduce los tiempos de entrega de
información.
Justificación Social
En muchas ocasiones las personas se enfrentan a la página del Área de Admisiones de la
Universidad del Valle queriendo hacer consultas específicas. El asistente virtual que se propone
desarrollar ayudará al usuario a encontrar la información que necesita e intentará interpretar lo que el
usuario solicitó para obtener mejores resultado, siendo de gran utilidad para estudiantes de primer
semestre quienes llegan a la universidad sin conocer muchas cosas de ella, en este caso el asistente
virtual tendría la capacidad de iniciarlos a este nuevo mundo.
Justificación Académica
Otro factor por el cual sería importante desarrollar este proyecto es que se motive el desarrollo de
este tipo de herramientas, que cada día que pasa están aumentando sus fuerzas en la sociedad, y se
pueden encontrar en muchos ámbitos con aplicaciones de servicio al cliente, educación, idiomas,
marketing, entretenimiento, entre otros.
3
3. Objetivos
Desarrollar un asistente virtual que permita realizar consultas en lenguaje natural sobre información
del Área de admisiones referentes a los procesos de pregrado para estudiantes de primer semestre.
4
4. Alcances de la Propuesta
El presente proyecto se limitará a la creación de un chatbot con inteligencia artificial para entregar
información a los usuarios en el tema de pregrado primer semestre de cali y sedes regionales. Como
resultado de este trabajo de grado no hay un compromiso de que el asistente virtual quede finalmente
funcionado al público en la página de admisiones dentro de las fechas límites para su entrega.
5. Marco Referencial
5.1. Glosario
Chatbot [1]: Programa informático que tiene acceso a conversaciones reales con los usuarios a través
de una interfaz de chat.
Pregrado Cali en el Área de admisiones [2]: Procedimiento adoptado por la Universidad del Valle
para realizar el proceso de inscripción y admisión para aspirantes a los programas académicos de
pregrado en la sede Cali.
Pregrado Sedes Regionales [3]: Procedimiento adoptado por la Universidad del Valle para realizar el
proceso de inscripción y admisión para aspirantes a los programas académicos de pregrado en las
sedes regionales. (Buga, Caicedonia, Cartago, Pacifico, Palmira, Tuluá, Zarzal, Yumbo y Norte del
Cauca)
Los asistentes virtuales se han convertido en una estrategia ampliamente usada en ambientes
académicos y de fines comerciales. En este capítulo se presentan y describen algunos de los
asistentes virtuales desarrollados hasta el momento.
Pensando en lograr una experiencia superior y una mayor interacción entre el cliente y la entidad,
Bancolombia ha creado un asistente virtual; Tabot, es una solución que busca proporcionar dentro de
un nuevo canal de comunicación una respuesta inmediata y disponible las 24 horas del día, los siete
días de la semana, funcionalidades para aquellos usuarios que aprovechan la plataforma de las redes
sociales para recibir orientación o solicitar ayuda sobre algunos productos del banco.
Inconvenientes:
En la Universidad Complutense de Madrid (UCM) se realizó un trabajo muy similar al que se propone
en este trabajo de grado, un asistente virtual para la web de la facultad de informática. El asistente
virtual se conoce como Lucy y consta de cinco módulos que se interconectan a través de un
controlador que maneja el flujo del sistema.
En la Universidad de Granada España se realizó un asistente virtual para la web de esta universidad.
El asistente virtual se llama Elvira, está dotado de inteligencia artificial que le permite contextualizar,
interpretar, reformular e intuir, realizando un procesamiento inteligente de la pregunta y puede
responder en lenguaje natural escrito o hablado. Consta de tres módulos principales, Analizador de
Lenguaje Natural (NLU, Natural Language Understander) , Administrador de diálogos (DM, Dialog
Manager), Generador de Comunicación (CG, Communication Generator).
6
Flujo del proceso
La pregunta se envía desde el cliente al servidor usando la tecnología AJAX (Asynchronous
JavaScript And XML), la cual es recibida en el servidor y pasada por el Analizador de Lenguaje
Natural (NLU). Luego, el analizador de lenguaje natural identifica las unidades de información a las
que se refiere la pregunta y retorna una lista ordenada de acuerdo a las categorías. Esta lista se pasa
al Administrador de diálogos (DM) que se encarga de generar las unidades información que se
responderá al usuario, filtrándolas para que sea lo más específica posible, es decir, para poder decidir
qué se va a decir sobre ellas y qué tipo de acción se debe tomar. Por último, el Generador de
Comunicación (CG), recibe la acción seleccionada y recupera y adapta la respuesta específica que se
compone por el texto de respuesta, la URL del archivo de sonido de la respuesta, URL’s de páginas
web que contiene contenido complementario y una lista de recomendaciones o temas que se puede
utilizar para continuar la conversación.
Es un prototipo diseñado en la Universidad Nacional Mayor de San Marcos Perú (UNMSM) que está
diseñado para dar soporte a temas relacionados con el Aula Virtual de la Universidad. Está dotado de
inteligencia artificial y emplea la técnica de Razonamiento Basado en Casos (RBC) [11] para realizar
las búsquedas en su base del conocimiento.
Diseño
El sistema se basa en el chatbot Alicebot, lo que le permite responder a un conjunto de preguntas
predefinidas, además cuenta con un conocimiento propio sobre la universidad, el cual es adicionado
fácilmente con ayuda del lenguaje AIML.
7
El sistema está compuesto por 5 parte principales: ‘Semantic Mapper’, es el encargado de mapear la
entrada del usuario en elementos semánticos; ‘Context Mediator’, resuelve los conflictos semánticos;
‘Topic Navigator’, encargado de navegar por la fuente del conocimiento; ‘Response Generator’,
genera la respuesta en lenguaje natural.
El ‘Information Repository’ se define como (E, e0, L), donde E corresponde a un conjunto de
episodios, L a una lista de enlaces, que indica la relación entre dos episodios, y e0 a un episodio
especial correspondiente al mundo exterior. Con el conocimiento representado de esta manera se
obtiene la probabilidad de que se dé un episodio a partir de otro, calculado la probabilidad de todos
los relacionados con el episodio actual, se genera una respuesta con el de mayor valor, pero el flujo
de la conversación depende principalmente de las entradas del usuario.
El ‘Topic Navigator’ es el encargado de hacer la transición del episodio actual al siguiente, este
depende de la determinación de los elementos sintácticos realizada por el ‘Semantic Mapper’. Pero si
hay elementos sintácticos en conflicto el ‘Context Mediator’ genera una consulta, que el ‘Response
Generator’ toma para construir un texto en lenguaje natural con el que solicita información adicional al
usuario. Una vez se han determinado los elementos sintácticos con éxito, el ‘Topic Navigator’ obtiene
el episodio correspondiente a este.
Cuando se ha completado la transmisión el componente ‘Topic Finder’ recolecta todos los enlaces
que se originaron desde el episodio actual hasta sus vecinos y son enviados para que el ‘Response
Generator’ genere la respuesta apropiada, combinando todas las contenidas en los nodos de
información dependiendo de los enlaces y sus valores de preferencia.
Se tendrán en cuenta algunos conceptos básicos relacionados con el diseño, desarrollo y despliegue
de un asistente virtual, siguientes puntos describen los elementos que hacen parte de un asistente
virtual (tomado de [5]):
Es un lenguaje compatible con XML. Desde que se creó aproximadamente 15 a 20 años, ha sido
utilizado como la herramienta principal para la creación de diferentes chatbots debido a su facilidad
de uso y a la diversidad de comunidades que han surgido, mejorando los primeros chatbots y
adaptándolos a diferentes ámbitos. Como AIML está basado en XML, tiene una estructura
determinada, compuesta por etiquetas que permiten definir respuestas a ciertos patrones de entrada.
Las etiquetas que compone este lenguaje son: Las categorías (<category>), son las unidades
fundamentales del conocimiento y contiene al menos un patrón y su respuesta. Los patrones
(<pattern>), el texto ingresado por el usuario es comparado con el patrón. Las respuestas
8
(<template>), contienen las salidas que dará el chatbot cuando la entrada coincide con el patrón. A la
respuesta se le puede adicionar algunas etiquetas para personalizarla. Respuesta aleatoria
(<random>), permite almacenar un conjunto de respuestas para un patrón y se retorna aleatoriamente
una de estas. Especificación (<that> o <topic>), dotan de un contexto específico a la categoría,
permitiendo dar diferentes respuestas a la misma pregunta dependiendo del contexto. En la Figura 1
se muestra la estructura de un archivo AIML. En este caso cuando la oración ingresada por el usuario
coincida con el patrón “WHAT ARE YOU”, el asistente virtual responde con el texto que está
contenido dentro de la etiqueta <template>.
Además de las etiquetas básicas, Program O permite utilizar otras etiquetas para brindar mayor
versatilidad y mejores funcionalidades, estas son: asignación de valores a variables (<set>) y
obtención de dichos valores (<get>), etiquetas que pueden ser utilizadas durante la conversación
para que el chatbot recuerde alguna información relevante. Condicional (<condition>), la que permite
validar las variables almacenadas y dar respuestas dependiendo del contenido de éstas. Y por último,
la etiqueta de aprendizaje (<learn>), con la cual se podrá crear nuevos patrones con sus template a
partir del diálogo con el usuario.
Program-O, intérprete AIML escrito en PHP con una base de datos MySQL que almacenar
información de chatbot . Program O consta de un completo panel administrativo de chatbots donde se
pueden configurar todas sus opciones, como importar los archivos AIML, modificarlos, configurar
palabras mal sonantes y mal escritas, hacer pruebas, etc. Este motor de procesamiento está
implementado en PHP con MySQL y puede ser instalado localmente en el servidor. En la Figura 2 se
muestra el panel de administración de Program O.
9
Figura 2. Panel de administración de Program O.
Son instrumentos que permiten a los usuarios, de manera interactiva, localizar información disponible
en Internet. Como resultado de la exploración se presenta una organizada lista de documentos que
cumplen completa o parcialmente los criterios exigidos
Las oraciones o sentencias están compuestas por un conjunto de tokens (palabras o signos de
puntuación) los cuales a su vez tienen unos rasgos morfológicos, que determinan las funciones que
cumple cada token libre de contexto (Adquiridos a través de un analizador morfológico). Los
tageadores utilizan diccionarios etiquetados, conjunto de reglas morfológicas y ortográficas, de los
cuales se pueden obtener probabilidades para poder identificar qué funciones morfológicas son más
adecuadas para un token en la oración. En la Tabla 1 se muestra las funciones morfológicas de las
palabras.
10
Algunos ejemplos de clases de palabras se describen a continuación [10].
o Verbos, expresan comportamiento del sujeto o estados. Ejemplo: dictar, dirigir, presentar.
o Pronombres personales, indica las personas gramaticales sin usar nombres. Ejemplo: yo, tu,
nosotros, ellos.
6. Metodología
11
6.1. Actividades a Realizar
12
6.2. Cronograma de actividades
1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
1.1
1.2
2.1
3.1
3.2
4.1
7. Presupuesto
Fuentes de financiación:
13
8. Bibliografía
[1] Conozca el primer chatbot con inteligencia artificial del país (2018, Agosto),
https://www.eltiempo.com/tecnosfera/conozca-el-primer-chatbot-con-inteligencia-artificial-del-pais-189010
[2] ¿Por qué necesitas un Chatbot? (2018, Agosto),
https://planetachatbot.com/por-qu%C3%A9-necesitas-chatbots-bf5f290fe4bc
[3] Manual de inscripción y admisión a pregrado cali (2018,Agosto),
http://admisiones.univalle.edu.co/new/_new/interior/#manual
[4] Manual de inscripción y admisión a pregrado sedes regionales (2018,Agosto),
http://admisiones.univalle.edu.co/new/_new/sedes/#manual
[5] ASISTENTE VIRTUAL CHATBOT PARA LA WEB DE LA UNIVERSIDAD DEL VALLE (2019, Marzo),
https://docs.google.com/document/d/1snzlyHUArHEebEA0G9NUPhapnHBFWzssL5CW_41VEvw/edit?usp=sharing
[6] A.L.I.C.E., “AIML: Artificial Intelligence Markup Language.” (2019, Marzo), http://www.alicebot.org/aiml.html.
[7] Program-O, intérprete AIML escrito en PHP con una base de datos MySQL que almacenar información de chatbot
(2019, Marzo) , https://github.com/Program-O/Program-O
[8] Bases de datos, motores de búsqueda e índices temáticos, (2019, Marzo) ,
http://rcientificas.uninorte.edu.co/index.php/salud/article/viewArticle/3822/5744#11
[9] Análisis morfológico (2019,Marzo), http://roble.pntic.mec.es/~msanto1/lengua/1anamorf.htm
[10] Elementos de gramática española, (2019, Marzo), http://repositorio.up.edu.pe/handle/11354/1528
14