2020 Tesis
2020 Tesis
Director
JULIÁN SANTIAGO SANTOYO DÍAZ
Msc. en Sistemas y Servicios en la Sociedad de la Información
Teniendo en cuenta esta necesidad y el auge tecnológico que tiende cada vez
más hacia automatización de procesos y por consiguiente la auto “atención”, o
también llamada autogestión. El siguiente trabajo se desarrolló con el fin de llevar
a una institución de educación superior hacia esa optimización en sus procesos de
atención de proveedores mediante la implementación de una aplicación web con
servicio de chatbot que le permita, a dichos proveedores, la posibilidad de realizar
la consulta del estado de sus cuentas por pagar y realizar seguimiento a sus
pagos de forma inmediata y ágil, reduciendo tiempo y esfuerzo de parte de la
empresa, y procurando la satisfacción en ambas partes.
3
CONTENIDO
Pág.
RESUMEN ............................................................................................................... 3
INTRODUCCIÓN ..................................................................................................... 7
1. DESCRIPCIÓN DEL PROBLEMA ..................................................................... 11
2. OBJETIVOS ....................................................................................................... 13
2.1 OBJETIVO GENERAL ..................................................................................... 13
2.2 OBJETIVOS ESPECÍFICOS ............................................................................ 13
3. MARCO TEÓRICO ............................................................................................ 14
3.1 DEFINICIÓN DE CHATBOT ............................................................................. 16
3.2 CARACTERÍSTICAS Y COMPONENTES DE UN CHATBOT .......................... 17
3.3 TIPOS DE CHATBOT ....................................................................................... 23
3.4 APLICACIONES DE LOS CHATBOT ............................................................... 29
3.5 TECNOLOGÍAS DESARROLLADAS ............................................................... 30
3.6 VENTAJAS Y DESVENTAJAS DE LOS CHATBOT ......................................... 34
3.7 AUTOGESTIÓN DE PROVEEDORES ............................................................. 36
4. METODOLOGÍA ................................................................................................ 41
5. PRESENTACIÓN DE RESULTADOS ............................................................... 52
6. CONCLUSIONES .............................................................................................. 57
7. RECOMENDACIONES Y TRABAJOS FUTUROS ............................................ 59
REFERENCIAS ..................................................................................................... 60
4
LISTA DE FIGURAS
Pág.
5
LISTA DE ANEXOS
6
INTRODUCCIÓN
En 2016, la tecnología más extendida fue el chatbot, sin embargo, desde años
atrás ya se habían escuchado diferentes nombres como asistente virtual, interfaz
conversacional o simplemente chatbot. El concepto básico ha sido siempre el
mismo: usar lenguaje natural para comunicarse con una máquina para cumplir un
propósito.
Cada vez más visible en tecnología de vanguardia se encuentran cuatro grandes
asistentes digitales. Siri de Apple, Cortana de Microsoft, Alexa de Amazon y
Assistant de Google, y, siguiendo su ejemplo, hay miles de chatbot basados en
conversación textual.
7
proceso toma aproximadamente entre 30 y 60 minutos por solicitud, ocasionando
represamiento de los demás procesos del departamento y retraso en las
actividades. Por otro lado, para el proveedor, esta manualidad se traduce en un
tiempo de espera de por lo menos 24 horas para obtener la información solicitada.
Teniendo en cuenta que las grandes casas de software a nivel mundial, y muchos
otros independientes han puesto a disposición de los desarrolladores, APIs de
desarrollo y muchos otros componentes de software que puede ser reutilizado
para la construcción de mejores aplicaciones, se realizó una revisión de estas
tecnologías disponibles y, de acuerdo a las características de cada una como
licencia de uso, plataforma sobre la cual se ejecuta, lenguaje de implementación,
tecnología, soporte, entre otras; se seleccionó la más adecuada para el desarrollo
del proyecto, esta fue Dialogflow de Google, y de la misma manera, se eligió para
la construcción de la aplicación sobre la cual funcionaría el chatbot, el framework
Flutter, que corre sobre lenguaje Dart, también desarrollado por Google.
Para lograr una aplicación funcional que cumpliera con las características
requeridas para satisfacer la necesidad identificada se realizó un documento con
8
la especificación detallada de los requerimientos y un documento de diseño de la
aplicación.
Así mismo se realizó una batería de pruebas funcionales en la etapa media del
desarrollo y al final de este para validar la solución y si esta cumplía con los
requerimientos definidos.
9
En el quinto capítulo se detallan los resultados obtenidos al final de este proyecto,
resaltando los aspectos de mayor impacto de la aplicación construida.
10
1. DESCRIPCIÓN DEL PROBLEMA
Por este motivo se hizo necesaria una solución que permitiera la optimización del
proceso de gestión de cuentas por pagar a proveedores mediante el desarrollo de
11
una aplicación web con servicio de chatbot que permita la autogestión de cuentas
por pagar.
12
2. OBJETIVOS
Implementar una aplicación web con servicio de Chatbot con inteligencia artificial
mediante la cual los proveedores de la Unab puedan realizar la autogestión de sus
cuentas por pagar.
13
3. MARCO TEÓRICO
Bot viene del término robot y finalmente presenta la versión software de este. En
pocas palabras, se trata de una aplicación desarrollada para llevar a cabo una
diversa cantidad de tareas de forma autónoma.
Los bots son sistemas que permiten a los usuarios interactuar con aplicaciones o
servicios de la misma forma que lo harían si estuvieran hablando con otra
persona. Esto permite llevar a cabo acciones como encargar comida o pedir un
taxi de manera cómoda y natural.
Los bots no solo pueden interactuar con las personas, sino que también pueden
comunicarse entre ellos para llevar a cabo tareas. Un aspecto importante por
mencionar es que existen diferentes tipos según su función.
14
Bots transaccionales: actúan como intermediarios en transacciones entre
personas y medios externos.
Hacker bots: su función principal es distribuir virus y realizar acciones
fraudulentas (ej. Botnets).
Spam bots: diseñados para enviar spam de manera masiva.
Game bots: Son bots con los que se puede jugar (ej. Ajedrez).
Automatización de pedidos.
Solicitar reservas en restaurantes.
Atención al cliente.
Solicitud de asistencia médica.
15
generalizar aplicaciones de mensajería que convertirán a estos bots en una forma
habitual de interacción entre consumidores y empresas.
un sistema que intenta llevar a cabo un diálogo, intercambiando mensajes, siempre con
el propósito de imitar la comunicación natural. En muchos campos se usa solo como la
primera interacción con un cliente o soporte técnico. Sin embargo, en este momento
está siendo más usado en educación, principalmente con estudiantes y sistemas de
aprendizaje a distancia. (Paz, Silveira, Krassmann, & Tarouco, 2017)
16
3.2 CARACTERÍSTICAS Y COMPONENTES DE UN CHATBOT
17
El análisis de sentimientos en textos es la identificación y extracción de
información subjetiva. También llamado “minería de opiniones”, ese proceso
generalmente involucra el uso de herramientas de PLN y software de análisis de
textos para automatizar el proceso. (R Feldman, 2006).
De forma sencilla se define como “el conjunto de métodos para hacer que el
lenguaje humano sea accesible a las computadoras”. (Eisenstein, 2019).
18
suministrada en forma de ejemplos, por lo que se trata de un proceso de inducción
del conocimiento.
19
Figura 1. Anatomía de un chatbot
Flow Development
Flow Development es, como su nombre lo indica, desarrollar software a través de
la definición de flujos entre cajas de código. En estas cajas el código está escrito y
se vincularán una a otra hasta que se complete el flujo, en este caso a una
conversación.
Este tipo de desarrollo puede traer una gran ventaja. Es decir, si por alguna razón
el programador necesita cambiar el flujo, no tiene que reescribir el código y solo
tiene que mover un cuadro a otro lugar. Por otro lado, esta característica también
puede significar una gran desventaja pues si una persona con bajas habilidades
de programación tiene acceso a un flujo, puede cambiarlo tan fácilmente como
20
mover una caja. Por lo tanto, este tipo de implementación debe ser siempre
realizada por desarrolladores expertos.
Open Source
Los productos de código abierto tienen pros y contras y, por lo tanto, esta
característica debe ser analizada cuidadosamente. Usualmente son gratuitos, y si
cuentan con una comunidad de colaboradores significativa contribuyendo a la
mejora pueden ser muy profesionales. Además de esto, hay menos restricciones
sobre lo que se puede hacer con ellos. Por otro lado, si el producto no se ajusta a
algunas de las necesidades es posible customizar el producto por parte del equipo
de desarrollo.
21
Una mesa de ayuda CRM es un sistema que provee un chat web y permite a los
clientes interactuar con el equipo de soporte a través de mensajes de texto. Esta
es probablemente la característica más importante. Todas las tecnologías
permiten integrarse con esta. Sin embargo, en pruebas realizadas, 4 de 6
tecnologías estudiadas terminaron fallando principalmente por demoras en el
tiempo de respuesta.
Conversational Contexts
Cuanto más grande es la base de conocimiento, más difícil se vuelve entender de
qué está hablando el usuario. El asistente virtual soporta varias áreas. Por lo tanto,
la base de conocimiento debe tener subáreas, contextos nombrados. Eso evita
que el sistema responda a una pregunta con información de otro contexto. La
herramienta puede entonces dirigir al usuario al contexto correcto y, en
consecuencia, a la base de conocimientos correcta.
22
empresa, la necesidad de consumir una base de conocimiento externa representa
más costos para la empresa.
Conversational Memory
La memoria conversacional es proporcionarle al bot una memoria que puede
recordar toda la conversación. Esto permite que el bot lidie con situaciones como,
por ejemplo: un cliente le pide al bot que le dé el estado de un ticket comprado;
luego el bot le pide el número del ticket; en lugar de dar el número de ticket, el
cliente solicita algo más y después de un tiempo finalmente da el número; luego, el
Chatbot recuerda que el número es del ticket. En otras palabras, esto permite al
usuario cambiar contextos y el Chatbot puede aún recordar cuál fue la primera
pregunta que hizo el usuario.
Machine Learning
El aprendizaje automático es la redacción utilizada para expresar la capacidad de
obtener conocimiento como cuáles son las preguntas más habituales que los
usuarios preguntan al asistente virtual. Esta es una característica de gran valor
para el mantenimiento de la base de conocimiento y la mejora de Chatbot.
23
Según la aplicación de inteligencia artificial
24
Los Chatbot cognitivos son “contextuales”, capaces de interpretar la intención del
usuario y formular respuestas desde cero, dando a la conversación una impronta
mucho más dinámica y natural, casi como si se estuviera interactuando con un
agente real.
Chatbot de “Word-spotting”
Son un bot intermedio entre los de ITR y los cognitivos. Funcionan mediante el
reconocimiento de palabras clave, en función de las cuales dan una respuesta
preconfigurada.
25
programado dar la lista de precios. La precisión de este Chatbot es menor que los
que usan inteligencia artificial. Dependiendo de la complejidad del negocio, estos
Chatbot pueden ser suficientes o no para dar una experiencia de uso agradable.
Chatbot de texto
Solo emplea la palabra escrita, como una plataforma de chat básica.
Chatbot multimedia
Integra textos, imágenes, botones y otros contenidos. Estos Chatbot son muy
útiles para dar atractivo a los chats basados en comando.
26
Chatbot de Soporte y Atención al cliente
Los bots de soporte funcionan como un sistema de Preguntas Frecuentes (FAQ)
interactivo, respondiendo las solicitudes y consultas de los clientes de manera
inmediata y a cualquier hora. Generalmente se incluyen en sitios web
institucionales y en redes sociales o WhatsApp. Si se los integra a un sistema de
Service Desk, la empresa cuenta con un canal muy efectivo para gestionar
incidentes de forma automática y amigable con el usuario.
Está comprobado que la mayoría de las consultas que reciben las empresas son
las mismas, por lo que detectando los patrones se puede implementar fácilmente
un sistema automático de respuesta (y, en grados de IA más avanzada, hasta
resolver problemas u operaciones sencillas).
Además, los Chatbot de atención al cliente funcionan muy bien para tomar
pedidos, por ejemplo, en restaurantes o empresas proveedoras.
Chatbots Sociales
Son bots orientados al branding, para humanizar la marca y potenciar el
engagement con la comunidad en redes sociales. Un ejemplo muy interesante es
el de algunos portales de prensa que emplean bots en Facebook para dar
contenidos personalizados a sus suscriptores, en forma conversacional.
27
En cualquiera de los usos anteriormente mencionados, es posible hacer una
distinción entre Chatbot transaccionales y no transaccionales, según las
capacidades operativas del bot.
Los transaccionales son aquellos que permiten ejecutar de punta a punta una
transacción o proceso de negocio. Para que esto sea posible, es necesario que
tengan la capacidad de integrarse con backends corporativos y sistemas de
terceros, para buscar la información requerida y solucionar la operación requerida
(por ejemplo, asistir en el cierre de una compra en una operación de e-commerce).
28
3.4 APLICACIONES DE LOS CHATBOT
Medicina
Para la región de China, Microsoft publicó un Chatbot llamado Xiaoice utilizada por
alrededor de 40 millones de personas y ha registrado hasta 10 billones de
conversaciones. Fue diseñado por desarrolladores y expertos psicológicos para
crear un balance entre inteligencia artificial e inteligencia emocional. Este Chatbot,
es capaz de memorizar y rastrear el estado emocional de los usuarios e inclusive
ofrecer un curso de 33 días de terapia para las personas con problemas en
relaciones. Milani, R. V. y Franklin, N. C. (2017). Por otro lado, IBM, utiliza su
servicio de Watson enfocado a medicina para diferentes usos, tales como:
oncología, genética, consulta medicina general y cuidados personales. (IBM,
2017)
Educación
Este tipo de Chatbots, basados en conversaciones, facilitan al estudiante un
entrenamiento online en campos como el aprendizaje de una segunda lengua. Lu,
C. Chiou, G. Day, M. y Ong, C. (2006), por ejemplo: TutorBOT utilizaba el rol de
asistente de clase para brindar servicios en cualquier momento y, además, dentro
de sus respuestas incluía los materiales de referencia del curso, diccionarios.
Además, facilitaba las conversaciones al tutor para que se midiera el progreso de
cada estudiante.
29
Entretenimiento
Skype tiene disponible una serie de bots, que permiten desde consultar sobre
películas, mostrar noticias, predecir el clima, hasta jugar con el usuario ajedrez y el
popular juego UNO. También permite la creación de memes y juegos de trivia,
(Microsoft, sf)
Esta característica puede parecer sólo una entre las demás características, pero
en de hecho, la ausencia de esta posibilidad puede llevar a una desdichada
renuncia de los clientes que terminan conduciendo a pérdidas comerciales
impredecibles. Por lo tanto, se presentan a continuación, tecnologías existentes
30
que permiten construir un Chatbot. Es decir, componentes arquitectónicos que
están disponibles para la construcción de un asistente virtual personalizado.
[Link]
Esta herramienta, también es soportada por Microsoft. Es altamente usada para
integración con Microsoft Bot Framework. Es una base de conocimiento diseñada
para soportar parejas de preguntas y respuestas. Estas parejas pueden soportar
ilimitadas preguntas relacionadas con una única respuesta con el fin de ofrecer a
los usuarios diferentes formas de escritura de una pregunta. Ostenta un record en
porcentaje de aciertos entre la pregunta escrita y la pregunta en la base de
conocimiento. Este record permite al desarrollador prever diferentes reacciones
del Chatbot basado en las diferentes formas de escritura. Esta es una ventaja
importante usando también Microsoft Bot Framework o cuando se integra con
otras herramientas. Otra gran ventaja de esta herramienta es la posibilidad de usar
aprendizaje de máquina que permite que las más comunes preguntas no
disponibles en la base de conocimiento puedan ser adicionadas por sugerencia
del usuario.
31
[Link]
[Link] is otra herramienta de Microsoft que permite una sencilla integración con
Microsoft Bot Framework. Esta herramienta es responsable de dar contexto a la
conversación. Esto la convierte en una herramienta clave a la hora de construir un
Chatbot que hace más que sólo responder preguntas y transferir el chat a agentes
humanos. Es una poderosa herramienta para la integración del bot con numerosas
APIs y el uso de diferentes recursos al mismo tiempo. Al igual que la anterior
herramienta descrita, esta tiene embebido un sistema que permite conocer el
record de ocurrencia entre lo escrito y algunos contextos potenciales. Esta tiene la
capacidad de entrenarse a ella misma con aprendizaje de máquina al igual que la
herramienta anterior.
NodeRed
Esta tecnología de código abierto está soportada por IBM. Permite usar diferentes
flujos, muchos de ellos creados por la comunidad de desarrollo de NodeRed. Esta
herramienta tiene la ventaja de una larga extensibilidad de los módulos, lo cual
significa que puede ser conectada con mucha otras APIs. La principal desventaja
es que la confianza en esta tecnología está puesta sobre su comunidad, lo que
representa que el soporte de la comunidad puede llegar a ser débil o podría
detener la inversión en cualquier momento. Otra gran desventaja es que no tiene
conexión con alguna mesa de soporte de live chat y es necesario desarrollar un
canal para este propósito.
[Link]
Esta es una plataforma web soportada por SAP que permite fácilmente crear un
bot para realizar tareas o interactuar como un Chatbot. Es un desarrollo de flujo, lo
que significa que puede ser reprogramado con algunos cambios básicos. Quien
realice las alteraciones no necesariamente debe tener conocimiento en el lenguaje
de programación. Esto puede llegar a verse como una desventaja ya que al
permitir que cualquier persona tenga acceso a la cuenta en la que el desarrollo
32
está hecho, este puede fácilmente modificar la arquitectura del bot. Otra
desventaja es que la simplicidad en la construcción del bot puede limitar las
posibles interacciones con los usuarios. En esta tecnología, para agregar una
nueva pareja de pregunta y respuesta requiere que se realice varios ajustes y
reprogramación. Otra desventaja es la débil conexión con una mesa de soporte de
live chat, lo cual significa que se requiera encontrar otra forma de crear esta
conexión. Tiene la ventaja de ser mejorada por los humanos con las sugerencias
dadas por el aprendizaje de máquina.
DialogFlow
Esta plataforma es idéntica a la anterior pero soportada por Google. Es una
plataforma web que permite crear flujos que a su vez pueden interactuar con otras
tecnologías. Al igual que en la solución anterior, esta simplicidad lleva a sospechar
sobre la posibilidad de que cualquier persona con acceso pueda hacer varias
modificaciones a la operación del Chatbot. La gran desventaja es la misma que en
la tecnología anterior; una adición pequeña representa gran desarrollo del flujo.
DialogFlow permite desarrollar aprendizaje de máquina para que los flujos puedan
ser entrenados. Esto logra ser una ventaja muy útil porque de esta manera nadie
necesita mirar cada chat realizado para encontrar las palabras clave para entrenar
al modelo.
33
3.6 VENTAJAS Y DESVENTAJAS DE LOS CHATBOT
Ventajas
Disponibilidad 24h y servicio post venta. En la ocasión en que un cliente adquiera
un producto de la empresa, se puede ofrecer un Chatbot como un asistente post
venta disponible las 24 horas del día. Gracias a la inteligencia artificial una
empresa va a ser capaz de resolver todas (o casi todas) las demandas o quejas
de sus clientes.
Atraer nuevos clientes. Por lo general, un Chatbot integrado en una web o página
de Facebook está disponible desde el momento en que el usuario accede.
Rápidamente el asistente virtual ofrece ayuda y asistencia de forma amigable. De
este modo, si el usuario no conoce ampliamente la marca de los productos, sus
precios, información al detalle, el Chatbot puede aportar toda esta información en
cuestión de segundos. Lo Chatbot pueden convertirse en una herramienta perfecta
para despertar el interés de nuevos visitantes a la web de los comercios.
34
puede convertirse en un elemento diferenciador de la competencia aportando un
valor añadido que no solo supone un ahorro de tiempo para los clientes, sino que
ofrece una imagen de empresa moderna, dispuesta a servir de forma efectiva y
escuchar a sus consumidores.
Ahorro de tiempo y eficacia. Una de las principales ventajas del Chatbot es que
permite la optimización del tiempo en la atención a clientes. Todas las dudas
simples y básicas pueden ser resueltas por el bot sin que sea necesario dedicar
recurso humano a esta tarea. Además, hay que tener en cuenta que el Chatbot es
capaz de encontrar la información precisa en una base de datos con mayor
rapidez y eficacia que una persona. Un buen uso del Chatbot puede traducirse en
abaratamiento de costes para la empresa.
Desventajas
Posible rechazo de los usuarios. Algunos usuarios no familiarizados con la
tecnología pueden preferir ser atendidos por personas reales, aunque tengan que
esperar más tiempo o comunicarse telefónicamente. Esto forma parte de la
primera etapa de adaptación a una nueva tecnología que, además, sustituye al
humano en ciertos casos.
35
Pérdida de datos o caída del sistema. En todo caso es necesario contar con
infraestructura de seguridad de la información pues el riesgo de pérdida de datos
está vigente en cualquier solución tecnológica, y los Chatbot no son la excepción.
También, es posible enfrentarse a una caída masiva de los sistemas que afecte el
desempeño del Chatbot.
Proveedores
Los proveedores son personas naturales o empresas que se encargan de
abastecer de los productos necesarios para desarrollar una actividad empresarial,
o de ofrecer servicios que también pueden ser consumidos por una empresa.
Todas las empresas precisan de proveedores y estos se pueden clasificar.
36
(con control de todo el servicio y más cercanía con el cliente) o externos
(abastecen a varios clientes y permiten mayor oferta y flexibilidad).
Proveedores de recursos: satisfacen las necesidades de fuentes de carácter
económico de una empresa, básicamente de créditos, socios o capital.
Ejemplos: entidades financieras, prestamistas, cooperativas o autoridades.
37
Expandir y mejorar la relación con los proveedores. El proveedor puede
integrarse en el proceso empresarial. En las premisas de mantener la calidad
de los productos, la empresa puede acelerar la promoción de ganancias.
Fuente. Monczka, R. Trent, R. y Callahan, T. (1993). Supply Base Strategies to Maximize Supplier
Performance. International Journal of Physical Distribution & Logistics Management, vol. 23, no. 4
38
Cuentas por pagar
En contabilidad, las cuentas por pagar son deudas que posee una empresa a sus
acreedores y proveedores como resultado de la adquisición de bienes y/o
servicios.
En otras palabras, consiste en una obligación que posee una empresa relacionada
con la actividad económica de esta. Estos tipos de obligaciones son créditos por la
compra de materiales, insumos, o servicios, y estos créditos no están vinculados a
entidades bancarias.
Cuentas por pagar a corto plazo: también conocidas como pasivos corrientes y
el pago de este debe realizarse en un corto lapso de tiempo que no excede de
un año. En algunos casos los pagos son mensuales o diarios.
Cuentas por pagar a largo plazo: a las que se les llama pasivos no corrientes y
el pago de las mismas se realiza en un período de tiempo mayor a un año.
Estos a diferencia de los anteriores se pasan por alto con mayor facilidad por lo
esporádico de los pagos.
39
en un plan contable es una prioridad para cualquier empresa. De ahí surge lo
siguiente:
40
4. METODOLOGÍA
Para la revisión de la información recopilada se construyó una tabla con cada una
de las tecnologías analizadas. Ver anexo 1.
41
Entre las características evaluadas de cada tecnología se encuentran:
Canales: Vías o canales sobre los que se puede implementar el chatbot para
interactuar con los usuarios.
42
Telegram y Line, plataformas y redes sociales como Facebook Workplace, Twitter
y Skype, así como la integración con aplicaciones web a través de su API REST.
43
madurez para el desarrollo de aplicaciones web, por lo que lograr una aplicación
estable, con un gran diseño y que implementara el uso del chatbot no fue una
tarea sencilla.
Fuente. Autor
44
en formato JSON, y del mismo modo pudiera recuperar las respuestas para
presentarlas al usuario de la aplicación.
Así mismo se construyeron las páginas PHP para procesar las peticiones y
realizar las consultas de información a la base de datos, de modo que estas no
quedaran alojadas en la aplicación web, dándole mayor seguridad y blindaje a la
información. Toda la información enviada entre la aplicación Flutter y PHP fue
expresada en formato JSON.
Fuente. Autor
45
Chatbot Dialogflow
Para la creación del chatbot en Dialogflow se tuvo que llevar a cabo una serie de
pasos, desde crear una cuenta en Google Cloud Platform, hasta realizar todo el
proceso de creación y configuración del proyecto y las cuentas de acceso para el
uso de la aplicación.
Fuente. Autor
46
Figura 6. Creación del proyecto en Dialogflow
Fuente. Autor
47
Debido al lenguaje, para cada entidad se hizo necesario definir sinónimos, con los
que el usuario final pueda llegar a referirse a ellas.
Con las entidades en su lugar, se crearon los intents en el agente que asignan las
entradas del usuario a determinadas respuestas.
Para definir los intents con que cuenta el servicio de chat hacía falta conocer
cuáles podrían ser las posibles entradas del usuario teniendo en cuenta el ámbito
en el que se desplegaría el asistente virtual, que en este caso la gestión de
cuentas por pagar.
Cuantos más ejemplos se proporcionen para un intent, éste tiene más probabilidad
de ser reconocido por el servicio, y teniendo en cuenta que, al escribir, en muchas
ocasiones se cometen errores de digitación, se incluyeron ejemplos de
declaraciones con errores ortográficos de modo que el entrenamiento del chatbot
fuera lo más completo posible.
Habiendo definido intents y entidades, el paso final fue la construcción del flujo de
diálogo que seguiría la conversación. Es la parte más crítica ya que todo el
48
sistema depende de que el servicio reconozca correctamente las distintas
entradas del usuario y responda de una manera adecuada a ellas.
Para asegurar que todas las posibles entradas del usuario (las que han sido
contempladas en este proyecto) son identificadas, se realizó en los intents la
evaluación a las entradas definidas y se especificaron los datos que son
requeridos por el intent para continuar el flujo de la conversación.
Aparte de los intents específicos, fueron creados dos intents adicionales, uno que
se evalúa siempre al inicio de la conversación llamado WelcomeIntent y uno que
se evalúa cuando no se reconoce la entrada del usuario llamado FallbackIntent.
49
Figura 7. Ejemplo de configuración de Intent
Fuente. Autor
Gran parte del éxito del desarrollo del chatbot consistió, como se ha mencionado
anteriormente, en entrenar al chatbot con la mayor cantidad de posibles entradas
del usuario, de modo que este pueda interpretar con exactitud lo que el usuario
intenta “decirle” y pueda ofrecer la respuesta adecuada en cada caso.
50
Figura 8. Tablero Kanban del proyecto
Fuente. Autor
• Pruebas
Como fase final se elaboró un documento de pruebas que se llevaron a cabo por
personas externas al proyecto, seleccionadas al azar. Estas pruebas permitieron
evidenciar algunos bugs presentes en la aplicación, así como oportunidades de
mejoras en la configuración y entrenamiento del chatbot que fueron
implementadas al desarrollo.
51
5. PRESENTACIÓN DE RESULTADOS
Como resultado principal del proyecto se obtuvo una aplicación web funcional,
desarrollada en el framework Flutter, la cual permite a los proveedores de la UNAB
realizar la autogestión de sus cuentas por pagar mediante el uso de un chatbot
52
con inteligencia artificial desarrollado en Dialogflow que es desplegado en la
aplicación.
Fuente. Autor
53
Figura 10. Resultado de consulta de facturas a través del chatbot
Fuente. Autor
Fuente. Autor
54
Figura 12. Resultados de consulta de información en Grid
Fuente. Autor
Fuente. Autor
55
Con esto se logra optimizar el proceso de búsqueda de información de cuentas
por pagar reduciendo el tiempo de consulta, permitiendo que se liberen recursos
del departamento de contabilidad de la universidad y logrando la satisfacción de
los proveedores.
56
6. CONCLUSIONES
57
El éxito en el uso de una interfaz conversacional como el chatbot depende de la
naturalidad con que fluya la conversación entre el humano y la máquina, logrando
que el cliente humano “sienta” que es atendido por una persona y no por un robot.
Esto se logró llevando a cabo un entrenamiento exhaustivo del chatbot y la alta
personalización de que dispone Dialogflow.
58
7. RECOMENDACIONES Y TRABAJOS FUTUROS
Por otro lado, se hace necesaria la creación de vistas en la base de datos Oracle
de la universidad y el desarrollo de un proceso de migrado de información a la
base de datos de la aplicación, que, por políticas de seguridad de la información,
no consulta directamente la base de datos de la universidad.
59
REFERENCIAS
Abu Shawar, B. y Atwell, E. (2007). Chatbots: are they really useful? LDV-Forum:
Zeitschrift für Computerlinguistik und Sprachtechnologie, 22(1). Disponible
en: [Link]
Akhtar, M. Neidhardt, J. y Werthner, H. (2019), "The Potential of Chatbots:
Analysis of Chatbot Conversations," IEEE 21st Conference on Business
Informatics (CBI), Moscow, Russia, 2019, pp. 397-404. doi:
10.1109/CBI.2019.00052. Disponible en:
[Link]
er=8807791
Aquino, V. H. O. y Adaniya, M. H. A. C. (2018). Desenvolvimento e aplicações de
Chatbot. Revista Terra & Cultura: Cadernos de Ensino e Pesquisa.
Aron, J. (2011). How innovative is Apple’s new voice assistant, Siri? New
Scientist, 212(2836), 24. Disponible en: [Link]
4079(11)62647-X
Choy, K. Lee, W. y Lo V. (2003). "Design of a case based intelligent supplier
relationship management system—the integration of supplier rating system
and product coding system", Expert Systems with Applications, vol. 25, no.
1.
Competitive Advantage". Disponible en:
[Link]
p1&type=pdf.
Ebling, M. R. (2016). Can Cognitive Assistants Disappear?. IEEE Pervasive
Computing, 15(3).
Eisenstein, J. (2019). “Introduction to natural language processing. London: The
Massachusetts Institute of Technology”.
Følstad, A. y Skjuve, M. (2019). Chatbots for customer service: user experience
and motivation. In Proceedings of the 1st International Conference on
60
Conversational User Interfaces (CUI '19). ACM, New York, NY, USA.
Disponible en: [Link]
Gallagher, S. (2012). How Google and Microsoft taught search to «understand»
the Web. Ars Technica. Disponible en: [Link]
technology/2012/06/inside-the-architecture-of-googles-knowledge-graph-
and-microsofts-satori/
Gianvecchio, S. Xie, M. Wu, Z. y Wang, H. (2011). Humans and bots in internet
chat: Measurement, analysis, and automated classification. IEEE/ACM
Transactions on Networking, 19. Disponible en:
[Link]
Herrmann, J. y Hodgson, B. (2001). "SRM: Leveraging the Supply Base for
High, R. (2012). The Era of Cognitive Systems: An Inside Look at IBM Watson and
How it Works. International Business Machines Corporation, 1(1).
Disponible en: [Link]
Hirschberg, J. y Manning, C. D. (2015). Advances in natural language
processing. Science, 349(6245). Disponible en:
[Link]
Hristidis, V. (2018). "Chatbot Technologies and Challenges," First International
Conference on Artificial Intelligence for Industries (AI4I), Laguna Hills, CA,
USA. doi: 10.1109/AI4I.2018.8665692. Disponible en:
[Link]
er=8665675
IBM. (2017). Watson for Oncology. Disponible en:
[Link]
Jia, X. y Bai, L. (2008) "The Supplier Relationship Management Applying
Management Thoughts of Customer Relationship Management," 4th
International Conference on Wireless Communications, Networking and
Mobile Computing, Dalian. doi: 10.1109/WiCom.2008.1602. Disponible en:
[Link]
er=4677909
61
Jo-Foley, M. (2013). “Cortana: More on Microsoft’s next-generation personal
assistant”. Disponible en: [Link]
microsofts-next-generation-personal-assistant-7000020602/
Kniberg H. & Skarin M. (2010). “Kanban y Scrum, obteniendo lo mejor de ambos”.
C4Media Inc.
List, B. (2017). BOT List. Disponible en: [Link]
Lo, H. N. y Lee, C. B. (2017). "Chatbots and conversational agents: A bibliometric
analysis," IEEE International Conference on Industrial Engineering and
Engineering Management (IEEM), Singapore. doi:
10.1109/IEEM.2017.8289883. Disponible en:
[Link]
er=8289834
Lu, C. Chiou, G. Day, M. y Ong, C. (2006). Using instant messaging to provide an
intelligent learning environment. Intelligent Tutoring Systems. Disponible en:
[Link]
Mauldin, M. L. (1994). ChatterBots, TinyMuds, and the Turing test: Entering the
Loebner Prize competition. In Proceedings of the Twelfth National
Conference on Artificial intelligence (vol. 1). Seattle, WA: American
Association for Artificial Intelligence.
Microsoft. (s. f.). BOT Skype Available. Recuperado de
[Link]
Milani, R. V. y Franklin, N. C. (2017). The Role of Technology in Healthy Living
Medicine. Progress in Cardiovascular Diseases, 59(5). Disponible en:
[Link]
Monczka, R. Trent, R. y Callahan, T. (1993). "Supply Base Strategies to Maximize
Supplier Performance", International Journal of Physical Distribution &
Logistics Management, vol. 23, no. 4.
Patel, N. P. Parikh, D. R. Patel, D. A. y Patel, R. R. (2019). "AI and Web-Based
Human-Like Interactive University Chatbot (UNIBOT)," 3rd International
conference on Electronics, Communication and Aerospace Technology
62
(ICECA), Coimbatore, India. doi: 10.1109/ICECA.2019.8822176. Disponible
en:
[Link]
er=8821793
Paz, F. J. Silveira, C. Krassmann, A. y Tarouco, L. M. R. (2017). Perspectivas
tecnológicas para o aprimoramento de Chatbot educacionais em AIML, Rev.
Iberoam. Educ. en Tecnol. y Tecnol. en Educ., vol. 20.
Sannikova, S. (2018). “Chatbot implementation with Microsoft Bot”. Finlandia:
Metropolia University of Applied Sciences.
Sousa, D. N. Brito, M. A. y Argainha, C. (2019). Virtual customer service: building
your Chatbot. In Proceedings of the 3rd International Conference on
Business and Information Management (ICBIM '19). ACM, New York, USA,
174-179. Disponible en: [Link]
[Link]/10.1145/3361785.3361805
Tinaquero, D. (2018). “Detector predictivo de conexiones fraudulentas. (tesis de
maestría)”. Catalunya: Universidad Oberta de Catalunya.
Watters, A. (2016). Clippy and the History of the Future of Educational
Chatbots. Hack Education Weekly News. Disponible en:
[Link]
Yerpude, S. y Singhal, T. K. (2018). "Supplier Relationship Management Through
Internet of Things- A Research Perspective," International Conference On
Advances in Communication and Computing Technology (ICACCT),
Sangamner. doi: 10.1109/ICACCT.2018.8529665. Disponible en:
[Link]
er=8529319
63