scieee Science in your language
[es] (orig)

Chatbot para la Sede Electrónica de la Dirección General de Policía

Abstract

Actualmente hay una gran diversidad de asistentes conversacionales en diferentes instituciones, como por ejemplo Siri o Alexa. Por ello se vio necesario desarrollar un chatbot que ayudará a los usuarios a resolver sus dudas sobre los trámites que se encuentran dentro de la Sede Electrónica de la Policía Nacional. Con este contexto, se decide enfocar el Trabajo Final de Grado en desarrollar un asistente conversacional que pueda responder preguntas sencillas relacionadas con los procesos de extranjería, renovación y solicitud del dni o pasaporte. A la hora de programar el asistente, se ha realizado un estudio previo de herramientas dedicadas al diseño de chatbots con el fin de encontrar la aplicación idónea. Finalmente, el framework que se utiliza es Rasa Stack, generado por algoritmos de Machine Learning capaces de responder a mensajes formulados a través del lenguaje natural. Por otro lado, se ha publicado el asistente en dos canales de texto: Telegram y el servidor web ofrecido por la herramienta BotFront. En resultado de este proyecto es un asistente conversacional desarrollado con Rasa Framework, capaz de responder a cuestiones sobre documentación o guiar al usuario en los trámites que brinda la Policía Nacional. Además, este Trabajo Fin de Grado explica como un manual todas las funcionalidades que tiene Rasa Stack con el fin de programar un chatbot.

Read accessible full text

Chatbot para la Sede Electrónica de la Dirección General de Policía

Author: Herranz Gómez, Rebeca
Year: 2022
Source: https://docta.ucm.es/bitstreams/006a4616-1fe7-45d1-a3dd-2cbcb4e9c425/download
Cha bo pa a la Sede Elec ´onica de la Di ecci´on
Gene al de Polic´ıa
Cha bo o Elec onic Headqua e s o he
Spanish Na ional Police
TRABAJO FIN DE GRADO
GRADO EN INGENIER´
IA INFORM ´
ATICA
CURSO 2021–2022
Rebeca He anz G´omez
Di ec o es
Luis Ja ie Ga c´ıa Villalba
Ana Lucila Sando al O ozco
Depa amen o de Ingenie ´ıa del So wa e e In eligencia A i icial
Facul ad de In o m´a ica
Uni e sidad Complu ense de Mad id
Mad id, Junio de 2022
Ag adecimien os
A mis di ec o es del TFG, que han con iado en m´ı desde el p incipio pa a ealiza es e
p oyec o. Tambi´en a Luis, Sand a y Daniel po o ece me un apoyo con inuo du an e odas
las semanas, ayud´andome con las dudas que en´ıa sob e el c´odigo y documen aci´on.
A odo el g upo de polic´ıas que me han explicado los ´ami es den o de la polic´ıa,
siemp e me han es ado o eciendo su ayuda y d´andome su eedback.
A mi amilia y a Ma ´ıa que siemp e han es ado ahi, apoy´andome y haciendo un poco
m´as ´acil mi ida es udian il.
A´
Al a o Cas illo, qui´en ha dado un sopo e inc e´ıble sob e la he amien a de Rasa
S ack.
A la Facul ad de In o m´a ica de la Uni e sidad Complu ense de Mad id po habe nos
o ecido he amien as online en momen os de COVID-19 con los que he podido a anza
en el abajo sin ene que acudi p esencialmen e.
iii
´
Indice Gene al
´
Indice de Figu as IX
´
Indice de Tablas XI
Lis ings XI
Lis a de Ac ´
onimos XV
Abs ac XVII
Resumen XIX
1. In oducci´
on 1
1.1. Mo i aci´on .................................... 1
1.2. Obje o de la In es igaci´on ............................ 2
1.3. Plan de T abajo ................................. 2
1.4. Es uc u a del T abajo .............................. 3
2. Con ex o de la In es igaci´
on 5
2.1. His o ia de los Asis en es Con e sacionales .................. 5
2.2. Momen o Ac ual ................................. 6
2.3. In eligencia A i icial y P ocesamien o del Lenguaje Na u al ......... 7
2.3.1. In eligencia A i icial ........................... 7
2.3.2. P ocesamien o del Lenguaje Na u al .................. 8
2.4. Funcionamien o de un Cha bo ......................... 11
2.5. F amewo ks y Lib e ´ıas U ilizadas ....................... 13

i ´
INDICE GENERAL
2.5.1. He amien as U ilizadas ......................... 13
2.6. Sede Elec ´onica ................................. 14
2.6.1. Apa ado Ex anje ´ıa .......................... 15
2.6.2. Reno aci´on y Solici ud de Pasapo e o DNI .............. 16
3. Es ado del A e 19
3.1. Con ex o Digi al ................................. 19
3.1.1. Cha bo s en el Sec o de la Medicina .................. 19
3.1.2. Cha bo s en el Sec o de la Educaci´on ................. 20
3.1.3. Cha bo s en el Sec o Banca io y Segu os ............... 21
3.2. F amewo ks de Desa ollo de Cha bo s ..................... 21
3.3. Asis en es Con e sacionales Realizados con Rasa S ack ............ 23
4. Me odolog´
ıa y an´
alisis del p oyec o 25
4.1. A qui ec u a Gene al del T abajo ........................ 25
4.2. Elecci´on de He amien a ............................. 28
4.3. Funcionamien o de Rasa S ack ......................... 29
4.3.1. Componen es de Rasa .......................... 30
4.4. Despliegue de He amien a ........................... 43
4.5. Conexi´on con Teleg am y Se icio Web ..................... 44
4.5.1. Teleg am ................................. 45
4.5.2. Se ido Web ............................... 47
5. Expe imen os y Resul ados 49
5.1. P uebas con la He amien a REST ul S ess .................. 49
5.2. Tes Uni a ios sob e Ac ions y Po cen ajes de Con ianza ........... 50
5.3. Compa aci´on de Resul ado Ob enidos ..................... 53
6. Conclusiones y T abajo Fu u o 55
6.1. Conclusiones ................................... 55
6.2. T abajo Fu u o .................................. 55
´
INDICE GENERAL ii
7. In oduc ion 57
7.1. Mo i a ion .................................... 57
7.2. Pu pose o he In es iga ion ........................... 58
7.3. Wo k Plan ..................................... 58
7.4. Disse a ion S uc u e .............................. 59
8. Conclusions and Fu u e Wo k 61
8.1. Conclusions .................................... 61
8.2. Fu u e Wo k ................................... 61
A. In o maci´
on sob e Rasa S ack 63
A.1. Componen es de Rasa S ack ........................... 63
A.1.1. En idades, In en s y Slo s ........................ 63
A.1.2. Sin´onimos y Tablas de B´usqueda .................... 64
A.1.3. His o ias pa a el En enamien o del NLU ............... 64
A.2. Es uc u a de Rasa S ack ............................ 65
Bibliog a ´
ıa 67
´
Indice de Figu as
2.1. In eligencia A i ical, Machine Lea ning y Deep Lea ning ........... 8
2.2. Relaci´on en e IA y NLP ............................. 8
2.3. Es uc u a de NLP ................................ 9
2.4. Es uc u a del Cha bo [RAMI17] ....................... 12
2.5. Esquema de paque es ............................... 14
2.6. P´agina inicial ................................... 15
2.7. P ocedimien os de Ex anje ´ıa ......................... 15
2.8. Ejemplo de T ´ami e ............................... 16
2.9. Acceso a los ´ami es ............................... 16
2.10. Pe ici´on de ci a .................................. 17
3.1. Resul ado isual del asis en e .......................... 24
4.1. Da a Flow [LBP+18] ............................... 25
4.2. Comp obaci´on de en ada ............................ 26
4.3. Diag ama de es ados-P egun a Usua io ..................... 27
4.4. Tipo de p egun as y espues as ......................... 27
4.5. Casos de uso ................................... 28
4.6. Clasi icaci´on de un mensaje ........................... 29
4.7. Esquema de pasos - Rasa S ack ......................... 30
4.8. Ejemplo de uso con Coun Vec o ize ...................... 41
4.9. Ejemplo de uso con LexicalSyn ac icFea u ize ................ 41
4.10. Ejemplo de uso con DIETClassi ie ....................... 41
4.11. Ejemplo de ResponseSelec o .......................... 42
ix
x i Lis a de Ac ´
onimos
VLE Vi ual Lea ning En i onmen

Abs ac
Nowadays, he e is a g ea numbe o con e sa ional assis an s in many di e en
ins i u ions, such as Si i o Alexa. Tha is he eason why i was deemed necessa y o
de elop a cha bo which helped use s wi h hei doub s abou he p ocedu es ha can
be ca ied ou in he en i onmen o he Na ional Police (Polic´ıa Nacional) Elec onic
Headqua e s. Wi hin his con ex , i is decided o ocus his End o Deg ee Disse a ion
on de eloping a con e sa ional assis an capable o answe ing simple ques ions ega ding
immig a ion ma e s, and enewal o applica ion o an ID ca d o Passpo . Be o e
p og amming he assis an , a p e ious analysis and s udy o he ools a ailable o he
de elopmen o cha bo s in o de o ind he mos adequa e applica ion. The amewo k
chosen is Rasa S ack, gene a ed by Machine Lea ning algo i hms capable o answe ing
simple ques ions o mula ed h ough na u al language. Addi ionally, he cha bo has
been published in wo ex channels: Teleg am, and he web se e p o ided by he ool
Bo F on . The esul o his p ojec is a con e sa ional assis an de eloped wi h Rasa
F amewo k, which is capable o answe ing documen a ion- ela ed ques ions, as well as
helping use s ca y ou he p ocedu es ha a e a ailable on he Na ional Police Elec onic
Headqua e s. Mo eo e , his End o Deg ee Disse a ion se es as a manual o all he
unc ionali ies ha Rasa S ack has ega ding he p og amming o a cha bo .
Keywo ds: Cha bo , Con e sa ional Assis an , Elec onic O ice, En i ies, ID,
Immig a ion Ma e s, Machine Lea ning, Na u al Language P ocessing, Passpo , Polic´ıa
Nacional, Rasa.
x ii
Resumen
Ac ualmen e hay una g an di e sidad de asis en es con e sacionales en di e en es
ins i uciones, como po ejemplo Si i o Alexa. Po ello se io necesa io desa olla un
cha bo que ayuda ´a a los usua ios a esol e sus dudas sob e los ´ami es que se encuen an
den o de la Sede Elec ´onica de la Polic´ıa Nacional. Con es e con ex o, se decide en oca
el T abajo Final de G ado en desa olla un asis en e con e sacional que pueda esponde
p egun as sencillas elacionadas con los p ocesos de ex anje ´ıa, eno aci´on y solici ud del
dni o pasapo e. A la ho a de p og ama el asis en e, se ha ealizado un es udio p e io de
he amien as dedicadas al dise˜no de cha bo s con el in de encon a la aplicaci´on id´onea.
Finalmen e, el amewo k que se u iliza es Rasa S ack, gene ado po algo i mos de Machine
Lea ning capaces de esponde a mensajes o mulados a a ´es del lenguaje na u al. Po
o o lado, se ha publicado el asis en e en dos canales de ex o: Teleg am y el se ido
web o ecido po la he amien a Bo F on . En esul ado de es e p oyec o es un asis en e
con e sacional desa ollado con Rasa F amewo k, capaz de esponde a cues iones sob e
documen aci´on o guia al usua io en los ´ami es que b inda la Polic´ıa Nacional. Adem´as,
es e T abajo Fin de G ado explica como un manual odas las uncionalidades que iene
Rasa S ack con el in de p og ama un cha bo .
Keywo ds: Ap endizaje Au om´a ico, Asis en e con e sacional, Cha bo , DNI, En idades,
Ex anje ´ıa, Pasapo e, Polic´ıa Nacional, P ocesado del Lenguaje Na u al, Rasa, Sede
Elec ´onica.
xix
Cap´ı ulo 1
In oducci´on
1.1. Mo i aci´on
Los p ocesos sob e la Sede Elec ´onica del Cue po Nacional de Polic´ıa han ido
e olucionando y su ido cambios debido a la pandemia po el Co ona i us (COVID-19).
Po ello, los ciudadanos se encuen an con m´as p egun as a la ho a de necesi a algunos
de los pun os que b inda es a p´agina web.
La polic´ıa p esenci´o es a ele aci´on de p egun as, y po ello se decidi´o que se ´ıa de
u ilidad c ea un cha bo que ayuda a al ciudadano con las dudas que u ie a sob e es os
´ami es. Po an o la mo i aci´on de es e p oyec o eside en esponde dichas dudas que
p esen e el usua io median e un asis en e con e sacional in eligen e.
Un cha bo , o bo con e sacional, es un p og ama in o m´a ico que in e ac ´ua con
pe sonas a a ´es de un cha ex ual o median e oz, o eciendo espues as y soluciones
´apidas a a eas epe i i as y p egun as comunes suscep ibles de se au oma izadas. Lle an
exis iendo desde los p incipios de la p og amaci´on pe o g acias a los a ances ealizados
den o del mundo de la in eligencia a i icial du an e es os ´ul imos a˜nos, han hecho esu gi
el in e ´es en ellos debido a las nue as ´ecnicas de econocimien o y an´alisis del lenguaje
na u al.
Con es e con ex o se puede da uso a dos campos de la in eligencia a i icial:
Na u al Language Unde s anding (NLU) yNa u al Language P occessing (NLP). Es os dos
componen es apo an esul ados conc e os sob e las cues iones que ealizan los clien es,
comp endiendo el habla humana a medida que se ep oduce y adem´as capaci a a un
sis ema de comp ende el signi icado e in enci´on que encie a una ase. Ac ualmen e
exis en a ias aplicaciones que hacen uso de es os campos con el in de dise˜na un asis en e
con e sacional. El ejemplo que se e en es e abajo es Rasa, amewo k sencillo y comple o
con odas las uncionalidades necesa ias.
Pe o p ime o, an es de empeza a p og ama , se necesi a ex ae odas las dudas
posibles encon adas po o os y adem´as de la in o maci´on deposi ada en la misma Sede
Elec ´onica, pa a su pos e io an´alisis y ecopilaci´on en un da ase , con el in de en ena
al cha bo .
1

2Cap´
ı ulo 1. In oducci´
on
1.2. Obje o de la In es igaci´on
El obje i o de es e p oyec o es el dise˜no e implemen aci´on de un cha bo basado en las
p egun as ealizadas con an e io idad an o en o os o dudas comunes suminis adas po
la Polic´ıa. Con es e elemen o se p e ende mejo a y agiliza los p ocesos que pe enecen a
la Sede Elec ´onica, y a su ez, ayuda al ciudadano, espondiendo las cues iones que le
puedan su gi mien as isi a la web. Po an o, la cla e es halla c´omo se a acele a las
in e acciones en e pe sonas y se icios, mejo ando as´ı la expe iencia del clien e. Al mismo
iempo, se quie e o ece a la Polic´ıa una opci´on pa a mejo a el p oceso de comp omiso
con los clien es y adem´as bene icia la e iciencia ope a i a al educi el cos o ´ıpico del
se icio al clien e.
De mane a pa alela, se iene la in enci´on de clasi ica las p egun as y espues as que
se ex aigan con el in de ob ene un n´ume o de exp esiones y palab as que c een un
ocabula io pa a luego en ena el cha bo . A a ´es de es e p oyec o, adem´as, se p e ende
en ende como uncionan los asis en es con e sacionales, analiza como es su es uc u a y
encon a las p incipales di icul ades que los ingenie os de in o m´a icos se encuen an a la
ho a de desa olla dicho so wa e.
1.3. Plan de T abajo
El desa ollo de es e abajo se ha ealizado en es ases:
1. In es igaci´
on:
Du an e los p ime os es meses se lle ´o a cabo un pe iodo de adap aci´on al con ex o
del abajo y de adquisici´on de conocimien os necesa ios pa a comenza con el
pos e io desa ollo. Al comienzo, se ealiz´o una euni´on gene al en la que se explic´o
el pun o de pa ida del abajo, cuales iban a se los obje i os que log a y cuales iban
a se los conocimien os necesa ios. T as es o, se aco da on nume osas euniones con
el in de ealiza un seguimien o del p og eso en la in es igaci´on y pa a esol e las
posibles dudas que su gie an. O o mo i o po el cual se conce a on dichas euniones
ue pa a pode explica los undamen os b´asicos de las aplicaciones con la que se
pueden p og ama asis en es. En las euniones ambi´en se explica on nume osas
he amien as que acili a ´ıan la labo de in es igaci´on. Una de es as he amien as
ue Google Schola , la que el equipo usa ´ıa pa a busca a ´ıculos cien ´ı icos sob e
in es igaciones an e io es ealizadas sob e el mismo campo de es udio. Finalmen e,
una ez ob enidas a ias conclusiones ace ca los eque imien os del p oyec o, se
comenz´o a da p io idad al desa ollo.
2. Desa ollo:
Una ez se adqui ie on los conocimien os necesa ios pa a pode empeza a c ea
una e si´on s´olida del p oyec o, se decidi´o comenza con la codi icaci´on de la
p opues a. La ase de in es igaci´on no ces´o, ya que e a imp escindible sabe sob e
concep os a anzados del lenguaje de p og amaci´on de Py hon y manejo con la
he amien as Rasa S ack. Du an e es a ase se cons uye on ambi´en los da a se s
de en enamien o, basados en in o maci´on ex a´ıda de abajos le´ıdos du an e la ase
an e io .
3. Expe imen aci´
on:
1.4. Es uc u a del T abajo 3
Finalmen e se ealiza on los p o o ipos de la idea inicial, comenz´o el p oceso de
expe imen aci´on, en el qu´e se ealiza on p uebas en se ido es web pa a isualiza
el aspec o del cha bo . Tambi´en se ealiza on a ias p uebas que consis ie on en
i comp obando si el asis en e espond´ıa co ec amen e a odos los ´ami es que
aba caba el p oyec o. Po o a pa e se hicie on p uebas de es ´es con la he amien a
de REST ul. Finalmen e, se ealiz´o una compa aci´on de los esul ados ob enidos
de i ados de la ase de expe imen aci´on y con los adqui idos en o os abajos de
in es igaci´on.
1.4. Es uc u a del T abajo
El es o del abajo es ´a o ganizado en 6 cap´ı ulos y 1 anexo con la es uc u a que se
comen a a con inuaci´on:
El Cap´ı ulo 2se explica la his o ia de los asis en es con e sacionales, adem´as de
desc ibi la elaci´on ac ual que se man iene con la in eligencia a i icial. Po o o lado se
acla an concep os que son elemen ales pa a comp ende el uncionamien o de los cha bo s.
Finalmen e se desc ibe los p ocesos que aba ca es e p oyec o, mos ando el en o no de la
Sede Elec ´onica.
El Cap´ı ulo 3se p esen a el es ado del a e, donde se ealiza una e isi´on de
di e en es soluciones en ocadas en a ios sec o es emp esa iales, con el in de ap ecia
la compene aci´on de los asis en es en el pano ama econ´omico-social. Po o o lado, se
analizan odas las aplicaciones capaces de desa olla po un asis en e, explicando los
pun os a a o y en con a de cada uno, pa a luego oma la decisi´on m´as ace ada a es e
abajo. En es e apa ado se incluye una abla compa a i a que esume las p incipales
ca ac e ´ıs icas de cada p opues a analizada.
El Cap´ı ulo 4p esen a la me odolog´ıa y an´alisis del p oyec o. P ime o se explican
di e en es diag amas que han sido esenciales pa a es uc u a el asis en e. Luego, se
incide en el uncionamien o in e no de Rasa, desa ollando el con enido de cada iche o.
Finalmen e se a a ´a el ema del despliegue de Rasa y c´omo se ealiza la conexi´on en e
es a he amien a, Teleg am y un se ido web.
El Cap´ı ulo 5desc ibe los expe imen os ealizados pa a e alua la e ec i idad de
la p og amaci´on del asis en e p opues a en el cap´ı ulo 4y se p esen an los esul ados
ob enidos.
El Cap´ı ulo 6mues a las p incipales conclusiones de es e abajo y las l´ıneas u u as
de in es igaci´on.
Los Cap´ı ulos 7y8son las aducciones al ingl´es de la In oducci´on y de las
Conclusiones.
Cap´ı ulo 2
Con ex o de la In es igaci´on
En es a secci´on se explica el con ex o en el que se desen uel e el T abajo Fin de G ado. En
el pun o 2.1, se esume la his o ia de los cha bo s y c´omo comenza on a hace se un hueco en
es a sociedad. En la secci´on 2.2 se si ´ua en qu´e con ex o social se encuen a la humanidad
y c´omo es a in eg ada la digi alizaci´on en el d´ıa a d´ıa de las pe sonas. En el pun o 2.3,
se explica en qu´e consis e la in eligencia a i icial y se pun ualiza el ´e mino NLP. En el
siguien e apa ado 2.4 se de alla c´omo unciona un cha bo y los elemen os esenciales que
lo o man. En el siguien e pun o 2.5 se explica ´a la combinaci´on de lib e ´ıas que se u ilizan
pa a lle a a cabo el uncionamien o del asis en e. Finalmen e, en el apa ado 2.6 se explica
el pun o de pa ida del cha bo , la p´agina web de la Sede Elec ´onica y el apa ado donde
se encuen a el asis en e.
2.1. His o ia de los Asis en es Con e sacionales
Sob e el a˜no 1950, Alan Tu ing public´o el pape “Compu e Machine y and In elligence”,
en el que se explic´o el Tes de Tu ing [TH50], donde e i icaba si una m´aquina puede
llega a ene un compo amien o in eligen e simila al del se humano. El es consis ´ıa
en man ene una con e saci´on en e una pe sona y o a en idad (pe sona o m´aquina) a
a ´es del cha . En onces la pe sona en´ıa que de e mina si hablaba con una m´aquina o
un humano.
Pos e io men e, en 1960, el p ime p og ama que simulaba una con e saci´on ue ELIZA
[Wei66], c eado po el p o eso Joseph Weizenbaum. ELIZA econoce palab as cla e
o ases pa a ep oduci una espues a. El obje i o de es e cha bo e a simula a un
psico e apeu a escuchando los p oblemas de su in e locu o y esc ibi´endole las espues as
a sus p egun as; de es a mane a consegu´ıa ayuda a la pe sona y as´ı con inua ´a hablando
sob e sus p eocupaciones. Si al inal no en´ıa espues as disponibles, op aba po o as
´ecnicas, como la gene aci´on de p egun as u ilizando como base la ase que le dec´ıa su
pacien e.
Once a˜nos despu´es, en 1971, Kenne h Colby c e´o PARRY [PCFR16]; un asis en e
que u ilizaba una es uc u a pa ecida a ELIZA con el in de simula a un pacien e con
pa anoia. Pe o hab´ıa una di e encia en e es os dos cha bo s, PARRY si e a conscien e
de la con e saci´on y ambi´en de su es ado de ´animo. Po an o, las espues as no en´ıan
in luenciadas solo po la en adas sino ambi´en po las c eencias,deseos e in enciones de
PARRY. Po ejemplo, en´ıa la capacidad de igno a , cambia de ema de con e saci´on e
5
12 Cap´
ı ulo 2. Con ex o de la In es igaci´
on
3. Se buscan espues as candida as en la base de da os seg´un las cualidades ecogidas
en los in en os, las en idades y el con ex o.
4. Se c ea una lis a con las espues as escogidas.
5. Se selecciona la espues a a base del con ex o del mensaje y la lis a de esul ados.
6. Finalmen e se ob iene una espues a.
Es a in o maci´on se puede e esquema izada en la Figu a 2.4.
Figu a 2.4: Es uc u a del Cha bo [RAMI17]

2.5. F amewo ks y Lib e ´
ıas U ilizadas 13
2.5. F amewo ks y Lib e ´ıas U ilizadas
En es e apa ado se a a explica los amewo ks y lib e ´ıas que se han u ilizado pa a
p og ama el cha bo , adem´as del amewo k de Rasa S ack.
2.5.1. He amien as U ilizadas
Teleg am - The Bo Fa he [L´o20] o ece un sopo e de open-sou ce, asegu ando
solidez y sencillez a la ho a de c ea y usa bo s. Si se quie e c ea un bo en
Teleg am, el p ime paso es inicia un cha con Bo Fa he , un bo espec´ı ico pa a
c ea asis en es. Si u´andose en la con e saci´on, p egun a ´a al usua io sob e las
cualidades que se aplican al bo que se es ´a c eando (imagen del pe il, nomb e,
desc ipci´on,...), adem´as se p opo ciona ´a al usua io in o maci´on imp escindible como
el Token o el enlace di ec o al bo . Es a cla e se a a de una cadena de ca ac e es
que pe mi e su con ol median e pe iciones HTTP a la API.
Gi hub [Gi 22] b inda la posibilidad de c ea una p´agina web, ya que dispone de la
he amien a de pages, con la que deja subi un eposi o io a una u l. Funcionalidad
sencilla que con un simple index.h ml ya se puede es ea el cha bo en in e ne .
Bo F on [Joa21] es open sou ce que se ha u ilizado pa a da o ma o a la is a web
del Cha bo , g acias al c´odigo dejan en su p´agina web de Gi hub. Simplemen e con
copia el sc ip en el index.h ml y pe sonaliza algunos da os, ya se puede conec a
el p oyec o con una p´agina web.
Spacy [CC20] es una lib e ´ıa que se encuen a in eg ada in e namen e en Rasa, ya
que se u iliza pa a analiza el lenguaje na u al del usua io. A di e encia con o as
lib e ´ıas, p opo ciona esul ados m´as e icaces y ´apidos, con un 90 %. Con ella, se
ealiza una okenizaci´on de los mensajes, o ece de ec o es p e-en enados y sopo e
mul idioma.
Tenso Flow [AC21] es open sou ce que u iliza Rasa de mane a in e na ambi´en pa a
ealiza p ocesos de ap endizaje au om´a ico. A su ez ope a sob e a ays de da os
que disponen de m´as de una dimensi´on, g acias a las edes neu onales llamadas
enso es. Al en ena el cha bo se hace uso de es a lib e ´ıa.A su ez ambi´en ealiza
una okenizaci´on sob e el lenguaje na u al del usua io.
Rasa sdk [CC20] o ma pa e del conjun o de lib e ´ıas que hace posible la
p og amaci´on de ac ions.py con las clases Ac ion. Es as clases implemen an unciones
que il an los mensajes del usua io y de uel en una espues a conc e a median e las
unciones de name() y un(). Pa a ob ene un esul ado hace uso de elemen os como
el T acke , el Dispa che y domain.yml
Fuzzywuzzy [GLPC21] es o a biblio eca que se u iliza pa a compa a dos cadenas
de ca ac e es, como po ejemplo palab as u o aciones. El esul ado de uel o es un
n´ume o que equi ale a una p opo ci´on en e el 0 al 100 de la semejanza en e es os
dos elemen os. Si el alo que o na es ´a m´as p ´oximo al 0, en onces su equi alencia
es m´ınima, pe o en cambio si es m´as ce cano al 100, su igualdad es mayo .
JSON [Ali16] es una lib e ´ıa que se u iliza en es e p oyec o con el in de ob ene
da os de iche os con o ma o .json pa a su pos e io an´alisis. Lo bene icioso de es a
lib e ´ıa es c´omo es uc u a los da os y lo ´acil que esul a accede a los elemen os.
14 Cap´
ı ulo 2. Con ex o de la In es igaci´
on
A con inuaci´on en la Figu a 2.5 se mues a la elaci´on en e cada de una de las
he amien as explicadas:
Figu a 2.5: Esquema de paque es
2.6. Sede Elec ´onica
La Sede Elec ´onica es la p´agina web donde se a encon a aplicado el cha bo [Nac22],
espec´ı icamen e en los apa ados de ex anje ´ıa, pasapo e y DNI. La Sede Elec ´onica
pe enece al conjun o de se icios nacionales de Espa˜na, y pone a la disposici´on de los
ciudadanos a ios p ocesos pa a ges iona ´ami es legales.
En es e caso los apa ados son los siguien es:
P ocesos selec i os
DNI
Pasapo e
An ecenden es policiales
Ex anje ´ıa
Segu idad p i ada
Regis os elec ´onicos
Documen aci´on pa a iaja
Quejas y suge encias
Luego cada secci´on iene subapa ados y enlaces que edi igen a los o mula ios o las
webs donde se pueden ealiza es os ´ami es. Los ´ami es ac ualmen e se ges ionan de
mane a p esencial, pe o como obje i o u u o ienen planeado da el su icien e sopo e
web pa a ealiza la mayo ´ıa de mane a online. Un ejemplo de la apa iencia que iene la
p´agina inicial de la Sede Elec ´onica se e en la Figu a 2.6.
2.6. Sede Elec ´
onica 15
Figu a 2.6: P´agina inicial
2.6.1. Apa ado Ex anje ´ıa
Es e p oyec o es ´a cen ado jus o en es a secci´on, pa a pode esponde p egun as sencillas
y e´o icas que puedan su gi al usua io a la ho a de que e solici a alg´un ´ami e.
Los p ocedimien os disponibles en el apa ado de Ex anje ´ıa se pueden e en la Figu a
2.7. Al selecciona un apa ado de los que se han mos ado an e io men e, e edi ige a
una explicaci´on sob e el ´ami e. Tambi´en mues a enlaces de in e ´es pa a el usua io como
donde consul a las asas o la o icina de ex anje ´ıa o comisa ´ıa de polic´ıa m´as ce cana.
De odas es ´as p´aginas se ha ex a´ıdo la in o maci´on pa a c ea las espues as a las
p egun as que puede ecibi el cha bo , po ejemplo “¿Qu´e papeles necesi o pa a solici a
la c´edula?” o “¿Cu´an o cues a solici a la a je a de esidencia?”. En la Figu a 2.8 se e
un ejemplo de odos los da os que se pueden encon a po cada ´ami e.
Figu a 2.7: P ocedimien os de Ex anje ´ıa
16 Cap´
ı ulo 2. Con ex o de la In es igaci´
on
Figu a 2.8: Ejemplo de T ´ami e
2.6.2. Reno aci´on y Solici ud de Pasapo e o DNI
Pa a accede a es os ´ami es se debe de accede p ime o a los p ocesos de DNI o Pasapo e
elec ´onico. Se puede localiza en la p´agina una secci´on con la siguien e in o maci´on
mos ada en la Figu a 2.9. Cuando se hace click en “Ci a P e ia pa a DNI o Pasapo e”,
se edi ige a una p´agina donde el usua io debe ellena los campos obliga o ios con sus
da os pe sonales, elegi la echa y el cen o donde desea pedi ci a.
De es os ´ami es ambi´en se esponde a que documen aci´on es necesa ia o el p ecio
pa a ealiza la eno aci´on o solici ud del DNI o pasapo e. En la Figu a 2.10 se mues a
la p´agina de inicio pa a solici a o eno a el DNI y el pasapo e, de donde se ha ex a´ıdo
la in o maci´on pa a edac a el p ocedimien o de es os ´ami es.
Figu a 2.9: Acceso a los ´ami es
2.6. Sede Elec ´
onica 17
Figu a 2.10: Pe ici´on de ci a

Cap´ı ulo 3
Es ado del A e
Hoy en d´ıa el uso de asis en es i uales es ´a en auge y cada ez hay m´as emp esas
in e esadas en inco po a es os mecanismos pa a a ende a sus clien es. Po ello, hay que
conoce es e so wa e y sabe que ipo de cha bo es el m´as ap opiado pa a el negocio. En
la secci´on 3.1 se mues an di e en es cha bo s di ididos en es sec o es que ya es ´an siendo
u ilizados de mane a co idiana. En el pun o 3.2 se mues an las di e en es aplicaciones que
pe mi en el desa ollo de un cha bo . El el ´ul imo pun o 3.3, despu´es de habe explicado
las he amien as de dise˜no de cha bo s, se desc iben o os p oyec os desa ollados con
Rasa S ack, aplicaci´on que pos e io men e se explica ´a su uncionamien o.
3.1. Con ex o Digi al
Como se ha ci ado an e io men e, debido a la c isis y pos e io con inamien o po el
COVID-19, la digi alizaci´on es impo an e pa a el d´ıa a d´ıa de las emp esas, ya que apo an
al usua io la capacidad de esol e sus dudas de o ma emo a. Po ello p oponen en ajas
ecnol´ogicas, como los cha bo s, pa a agiliza sus come cios y ´ami es.
3.1.1. Cha bo s en el Sec o de la Medicina
El p ime asis en e a a a es OneRemission [kee21a], cha bo di igido a ayuda a
los pacien es que luchan con a el c´ance . Las ecnolog´ıas que u iliza son Node.js,
MongoDB, Wi .ai, Bo P ess y WebSocke . El esul ado es un sopo e que o ece planes
de alimen aci´on, eje cicios y p ´ac icas seleccionadas po p o esionales de la medicina
in eg a i a. De es a mane a, pueden p egun a dudas simples y p escindi po an o de la
supe isi´on de un m´edico. Sin emba go, si se llega ´a a necesi a la ayuda de un especialis a,
OneRemission o ece sesiones con onc´ologos en l´ınea las 24 ho as del d´ıa du an e oda la
semana.
El siguien e es Youpe [kee21b], asis en e di igido a mejo a la salud psicol´ogica
de los pacien es. Es ´a desa ollado con 13 ecnolog´ıas y se icios, incluidas HTML5,
Google Analy ics, jQue y, SPF, Google Apps o Business y IP 6 [c u22]. El esul ado
es una aplicaci´on que o ece e apia online po cha , sesiones i uales con psic´ologos
especializados y planes de medicaci´on en caso de necesi a .
O o cha bo a des aca es Babylon Heal h [Bab21], idea que su gi´o con el in de
de ec a la en e medad que pod´ıan padece los usua ios seg´un sus s´ın omas. El desa ollo
19
20 Cap´
ı ulo 3. Es ado del A e
consis i´o en c ea un conjun o de he amien as, dise˜nado en o no al ce eb o de un m´edico,
u ilizando IA. El u o de es e p oyec o es un asis en e con e sacional, en el que los
pacien es in o man, po oz o mensaje, del es ado en el que se encuen an. En pa alelo,
los m´edicos es udian los casos pa a ece a medicamen os o de i a a los pacien es a un
especialis a.
El pos e io asis en e i ual, Flo ence [oT17], iene la unci´on de simula el
compo amien o de una en e me a pe sonal. El desa ollo se basa en so wa e desa ollado
con algo i mos de ap endizaje au om´a ico, incluido el NLP; adem´as dispone de se ido es
en las pla a o mas de Facebook Messenge y Skype. El asis en e inal es capaz de eco da
a los pacien es que omen sus medicamen os y ealiza un esquema de los d´ıas y ho as a
las que deben de oma los.
O o asis en e que hay que ci a es Heal hily [Hea22], aplicaci´on que iene el labo de
in o ma sob e emas de medicina basados en uen es de al a iabilidad. El esul ado inal
es una aplicaci´on disponible en iOS, And oid, Facebook Messenge , Slack, KIK, Teleg am
y e si´on web que pe mi e al pacien e decidi de mane a m´as e icien e sob e emas de su
salud. Tambi´en unciona como in e media a pa a da in o maci´on sob e se icios m´edicos
en l´ınea.
3.1.2. Cha bo s en el Sec o de la Educaci´on
El p ime cha bo que se a desc ibi es Cou seQ [GBFAMC18], el cual dispone de
uncionalidades como eco da echas de en ega o mos a los ho a ios de los es udian es
y p o eso es. Su desa ollo se ealiz´o g acias a los a ances de en el campo in eligencia
a i icial, conc e amen e en las amas del ML, Big Da a ( ecopilaci´on y an´alisis de
da os) y NLP. El aspec o inal es el de una aplicaci´on capaz de desempe˜na las
uncionalidades an e io men e mencionadas y con la capacidad de se in eg ada en los
Lea ning Managemen Sys em (LMS) oVi ual Lea ning En i onmen (VLE), po ejemplo
Moodle.
El siguien e en desc ibi es el asis en e Ani [GBFAMC18], que iene el obje i o de
ealiza u o ´ıas pa icula es pa a acili a el comp omiso y la esponsabilidad de los
alumnos. El desa ollo es simila a los an e io es ya que es ´a p og amado a pa i de
algo i mos de ap endizaje au om´a ico con el in de ob ene esul ados pe sonalizados pa a
casa usua io, llegando incluso a pode sus i ui acciones de p o eso es. Finalmen e, se
consigue un asis en e que apo a elemen os que mo i an y e al´uan a los es udian es,
adem´as de inclui un cu so pa a ap ende ingl´es.
O o cha bo a des aca es Bo e [GBFAMC18], que a di e encia de los dem´as bo s,
es un obo ´ısico que ayuda a los alumnos en la Uni e sidad Obe a, si uada en Ca alu˜na.
El uncionamien o de Bo e se basa en ecnolog´ıa cogni i a pa a pode ap ende a pa i
del compo amien o demos ado po el alumnos. El u o inal es un asis en e ´ısico con
in e acciones a base de se˜nales de luz y mensajes sono os (como ases de mo i aci´on) o
mo imien os, con el obje i o de se i de ayuda a los es udian es a o ganiza sus a eas.
El pos e io asis en e i ual es el bo desa ollado en la Uni e sidad CEU Ca denal
He e a [CIO17].El obje i o es consegui acompa˜na al alumno en su cu so acad´emico y
esponde sus p egun as de mane a ins an ´anea y sin in e upciones. Su implemen aci´on se
basa en la he amien a de Mic oso Azu e, y ac ualmen e soluciona dudas adminis a i as,
pe o se espe a que en el u u o pueda de e mina la conduc a del alumno con el in de
aconseja le du an e su pe iodo acad´emico.
3.2. F amewo ks de Desa ollo de Cha bo s 21
Po ´ul imo, los obo s Peppe y Nao [Rob22] es ´an cen ados en la educaci´on
uni e si a ia. Se pueden p og ama po comple o con una in e az g ´a ica o di ec amen e
con el So wa e De elopmen Ki (SDK) y he amien as de codi icaci´on como Py hon y
C++. En e sus unciones se encuen an da y dinamiza las clases y e alua ac i idades.
3.1.3. Cha bo s en el Sec o Banca io y Segu os
Comenzando po el asis en e Eno [One22] undado po la emp esa Capi al One, es un
cha bo banca io y pu amen e “con e sacional”, lo que signi ica que depende casi po
comple o de IA pa a gene a sus espues as. Es o signi ica que Eno analiza cada mensaje
que ecibe pa a encon a la mejo espues a. El aspec o inal es un asis en e que esponde
p egun as sob e el saldo, mo imien os ecien es, echas de encimien o y l´ımi es de la
a je a.
El segundo asis en e se a a de ABIE [NEW18], que iene el obje i o de guia a
los agen es a a ´es del ´ami e de en a, pe mi i´endoles accede a in o maci´on y a
documen os. En elaci´on con su implemen aci´on, cuen a con algo i mos de In eligencia
A i icial y el sopo e de la emp esa Alls a e. Respec o a su aspec o inal, es un asis en e
con e sacional que o ece da os y p oduc os de mane a pe sonalizada seg´un el clien e.
Adem´as maneja m´as de 25.000 consul as po mes de 12.000 agen es [di 18], inc emen ando
a un i mo del 10 %. Es o es debido a que los agen es se es ´an concienciando de que g acias
a es e asis en e ob ienen un mejo esul ado de mane a m´as eloz.
El siguien e cha bo es Bo O e a [di 18], que acili a da os sob e un p og ama de
descuen os en ocio y comp as en Espa˜na. Pa a ello, los usua ios pueden ealiza p egun as
po mensaje di ec o o po oz y ob end ´an espues as sob e los descuen os en de e minados
´ambi os o luga es. El lenguaje que u iliza Bo o e a es ce cano y ameno, con el in del que
el clien e se sien a c´omodo en la con e saci´on. Po o o lado, es e se icio ya es ´a disponible
desde el a˜no pasado en aplicaciones como Facebook Messenge , y se puede accede a ´el
median e la p opia web o po la App de imaginBank.
El cua o asis en e a a segu os de iaje y es ´a c eado po la emp esa ARAG [ARA22].
Consis e en un asis en e de segu os de iaje que mues a in o maci´on sob e los p oduc os
de la compa˜n´ıa con el in de ayuda a los clien es con sus iajes. Es a he amien a pe mi e
que las emp esas puedan habla , a a ´es de la mensaje ´ıa ins an ´anea de Facebook, con los
consumido es sin necesidad de que haya una pe sona de ´as de la cuen a. El ocabula io
que emplea di e ido, sencillo y ameno, pa a que el usua io se sien a m´as con iado al
plani ica su desplazamien o.
El ´ul imo asis en e es Blue [BBV22], el nue o asis en e i ual del banco BBVA.
El obje i o es ayuda a los clien es y consul a in o maci´on sob e su cuen a. La
implemen aci´on se basa en algo i mos de NLP ydeML, o ap endizaje au om´a ico. De
es a mane a,el usua io in e ac ´ua con es e cha bo no solo ´ıa ex o esc i o, sino ambi´en
median e el uso de la oz. El esul an e asis en e se encuen a en la pa e supe io de echa
de la en ana de na egaci´on de la aplicaci´on de BBVA.
3.2. F amewo ks de Desa ollo de Cha bo s
Los amewo ks son un ipo de he amien as con una se ies de a chi os y pau as que
se u ilizan pa a implemen a p oyec os con una es uc u a y me odolog´ıa con el in de
28 Cap´
ı ulo 4. Me odolog´
ıa y an´
alisis del p oyec o
Figu a 4.5: Casos de uso
4.2. Elecci´on de He amien a
F en e a odas la he amien as desc i as an e io men e, se ha elegido la opci´on de
desa olla el cha bo con Rasa [VLRL19]. Es el amewo k que p esen a mejo es
ca ac e ´ıs icas, ya que iene un g an sopo e, documen aci´on y adem´as se puede dise˜na
cha bo s m´as complejos. Las cualidades que se an a ene en cuen a son:
Facilidad de ap endizaje: Es e concep o se e ie e al g ado de ´exi o ob enido du an e
el ap endizaje en el anscu so del iempo.
Sopo e de la comunidad: Se alo a si el amewo k iene una comunidad de ´as
dispues a a ayuda .
Documen aci´on exis en e: Se alo a la can idad y calidad de in o maci´on que exis e
an o o icial como c eada po la comunidad.
Madu ez ecnol´ogica: Cuan i ica en una escala del 1 al 9 el g ado de e oluci´on de
una ecnolog´ıa. El ni el 1 es la obse aci´on y epo e de p incipios y el ni el 9 se
conside a una ecnolog´ıa p obada con ´exi o en misiones.
Capacidad de pe sonaliza : Ca ac e ´ıs ica que pe mi e a la ecnolog´ıa adap a se al
p oyec o de cada clien e.
Ac ualizaci´on de so wa e: Analiza si los desa ollado es in oducen cambios y
a˜naden unciones nue as a la ecnolog´ıa.
A con inuaci´on, se puede e en la Tabla 4.1 la pun aci´on (1-10) de di e en es cualidades
esenciales que debe de ene odo amewo k.

4.3. Funcionamien o de Rasa S ack 29
AIML Dialog low IBM Wa son Rasa Flow XO Wi .ai
Ap endizaje(20 %) 6 7 7 6 7 6
Comunidad(20 %) 4 4 3 9 6.5 5
Documen aci´on(20 %) 5 6.5 6 9 7 6.5
Madu ez(15 %) 5 8 9 5 5 6
Pe sonaliza (15 %) 7 6.5 7 5 7 5
Ac ualizaci´on(10 %) 7 7 8 8 6 5
TOTAL 5.5 6.38 7 7.4 6.5 5.65
Tabla 4.1: Tabla compa a i a en e he amien as
Despu´es de analiza es a abla, el amewo k m´as comple o es Rasa S ack. Po ello se ´a
la he amien a que se a a u iliza en es e p oyec o.
4.3. Funcionamien o de Rasa S ack
Como se ha especi icado an es Rasa es ´a di idida en dos p incipales secciones: la pa e
de NLU y del Co e. Po an o, a la ho a de p og ama y o ma el da ase es impo an e
ene en men e el lujo que sigue dicha he amien a.
Las Figu a 4.6 y4.7 mues an el uncionamien o que oma Rasa S ack [PG21].
Figu a 4.6: Clasi icaci´on de un mensaje
30 Cap´
ı ulo 4. Me odolog´
ıa y an´
alisis del p oyec o
1. El igge que da comienzo al low se a a del en ´ıo de un mensaje a Rasa S ack, que
hace de B oke u O ques ado y iene la uncionalidad de o ganiza las conexiones
en e las di e en es capas.
2. Pos e io men e, la secci´on que en a en acci´on es la del NLU, desci ando el in en del
usua io y okenizando el mensaje, consiguiendo as´ı las en i ies y los slo s asociados.
Cuando se ealiza es e paso, ambi´en se calcula un g ado de con ianza, que es un
po cen aje basado en lo que en iende Rasa del mensaje. Si dicho c´alculo es meno al
40 %, se mues a un mensaje de que no se ha en endido al usua io.
3. En pa alelo, el componen e Co e se enca ga de decidi que acci´on oma seg´un
el pun o de la con e saci´on en que se encuen a el asis en e con el usua io. Es a
de e minaci´on de espues a la oma g acias a las his o ias que se han es ablecido en
su en enamien o y al po cen aje calculado con la coincidencia con dichas his o ias
de inidas en s o ies.yml.
4. Finalmen e se de uel e una espues a al usua ia po el mismo canal que el de en ada.
Figu a 4.7: Esquema de pasos - Rasa S ack
4.3.1. Componen es de Rasa
Las en idades o en i ies son palab as cla es imp escindibles pa a il a la in enci´on o el
in en de la p egun a que haga el usua io y sabe que espues a o u e ance da el asis en e.
Adem´as se pueden gua da los alo es de las en idades en slo s con el in de accede a
ellos en las di e sas unciones o ac ions. Todos es os componen es o ma ´an pa e de las
es uc u as s o ies, donde se c ea un lujo de in en s yu e ance.
4.3. Funcionamien o de Rasa S ack 31
Si se quie e sabe m´as sob e es os elemen os se ecomienda lee la in o maci´on
ecopilada en el Anexo Apa a en ende mejo el con enido de cada iche o del p oyec o.
A con inuaci´on se de allan su p og amaci´on.
Nlu.yml
Aqu´ı esiden odas los in en s con los que se ha en enado el asis en e. Cada in en
iene es ´a o mado po los mensajes m´as ecuen es de inidos den o de la Sede
Elec ´onica. Los in en s o man pa e de Rasa NLU y es la mane a que pe mi e
o ganiza y clasi ica los mensajes en iados po el usua io.
Los mensajes es ´an di ididos po la acci´on po la que p egun a el usua io:
•P oceso
•P ecio
•Documen aci´on necesa ia
Y ambi´en po el ipo de ´ami e, ya que se ha aba cado odos los p ocesos del
apa ado de ex anje ´ıa y eno aci´on/solici ud del pasapo e y DNI.
Como se puede ap ecia en el Algo i mo 4.1 hay palab as seleccionadas en e
co che es, es o quie e deci que el alo que esc iba el usua io se ´a gua dado
y pos e io men e analizado en la secci´on de ac ions.py. Cuando se es udie
es e componen e se explica ´a mejo el a amien o po el que pasa es e da o
(nomb e ami e).
Domain.yml
Secci´on dedicada a las espues as posibles que da el asis en e, llamadas u e ances.
Como los in en s, ambi´en pe enece a Rasa NLU y se u iliza pa a el en enamien o
del cha bo .
Su clasi icaci´on es ´a basada po la p egun a a la que esponde, y adem´as en es e
iche o se iene en cuen a los in en s de inidos en nlu.yml, las acciones que es ´an en
ac ions.py y el ipo de en idades que se gua dan. Es a especi icaci´on se debe a que
ambi´en son elemen os impo an es a la ho a de esponde al usua io, ya que las
acciones ambi´en son las enca gadas de esponde al clien e.
El comienzo del iche o empieza con la lis a de odos los in en s como se puede e
en el Algo i mo 4.2.
Pos e io men e hay que especi ica las en idades como en el Algo i mo 4.3. En es e
p oyec o solo se ha u ilizado una en idad ipo ex o que gua da el ´ami e po el que
p egun a el usua io.
A con inuaci´on, se esc iben odas las espues as que da el asis en e, excep o las que
p o engan de las acciones. Todas las u e ances deben de se nomb adas con un
nomb e ´unico y seguidas po el mensaje que da el cha bo . El Algo i mo 4.4 es un
ejemplo de la es uc u a que hay segui pa a decla a las u e ances.
Y inalmen e se nomb an las acciones que se encuen an en el iche o de ac ions.py
como se mues a en el Algo i mo 4.5.
32 Cap´
ı ulo 4. Me odolog´
ıa y an´
alisis del p oyec o
Algo i mo 4.1: Con enido de nlu.yml
1−in en : a j e a s s o l a s
2 examples :|
3−Ta je a de [es udian e ](nomb e ami e)
4−Ta je a e s i d e n c i a [ a m i l i a de ciudadano UE](nomb e ami e)
5−Ta je a e s i d e n c i a [la ga du ac i ´on ](nomb e ami e)
6−Ta je a de e s i d e n c i a y [ abajo ](nomb e ami e)
7−Ta je a [ amilia ](nomb e ami e)
8
9−in en : ami es−solos
10 examples :|
11 −Asigna [NIE ](nomb e ami e)
12 −Au o iz ac i ´on y e no aci ´on l a e s i d e n c i a [ empo al ](nomb e ami e)
13 −Au o izacion de [ eg eso ](nomb e ami e)
14 −Reg i s a [ciudadano de UE](nomb e ami e)
Algo i mo 4.2: Lis a de in en s
2 i n e n s :
3−s a
4−de sp e di
5−con i ma
6−nega
7−p egun as−in oSede
8−p egun as−ges iones
9−p egun as−ce i icados
10 −p egun as− i maElec
11 −p egun as−ex anje ia
12 −p egun as− eag upacion
13 −dudas−NIE−TIE
14 −...
Algo i mo 4.3: Especi icaci´on de la en idad
1 en i ies :
2−nomb e ami e
3
4 slo s :
5 nomb e ami e :
6 ype : ex
7 ini ial alue :NULL
8 au o ill : ue
9 in luence con e sa ion : ue
Algo i mo 4.4: Ejemplos de u e ances
1 u e ex anje ia :
2− ex :”Pa a pode s o l i c i a l a a j e a a m i l i a de l a UE es
3n e c e s a i o que e l a m i l i a comuni a io ,
4pueda p oba que i e n e medios
5s u i c i e n e s pa a pode s o s e n e l e economicamen e . ”
6
7 u e eag upacion :
8− ex :”Pa a hace una eag upacion
9no es n e c e s a i o en e p a i da de naci mien o espanol a ”
4.3. Funcionamien o de Rasa S ack 33
Algo i mo 4.5: Lis a de acciones
1 a c i o n s :
2−ac ion p ecio
3−ac ion p oceso
4−ac ion documen acion
5−ac ion il o
T ami esJSON.json
Documen o con o ma o JSON, que unciona como da ase de in o maci´on que
se que ´ıa sepa a de domain.yml, ya que es ´a o mado po un a ay, llamado
a ayT ami es que con iene odos los p ocesos que se pueden ealiza an o en
ex anje ´ıa, e in o maci´on impo an e a la ho a de eno a /solici a el pasapo e
o DNI. Es a in o maci´on se puede e en el Algo i mo 4.6.
De es e da ase ex aen la in o maci´on las acciones de la an e io igu a, dependiendo
de la p egun a del usua io. Cada ´ami e iene los siguien es elemen os:
•T ami e: apa ado que simplemen e nomb a el elemen o y si e de gu´ıa pa a el
p og amado .
•Alias: elemen o que con iene ca ac e ´ıs icas que ep esen an al ´ami e y po el
que se le pueden di e encia de los dem´as.
•P ecio: se especi ica el dine o que cues a ami a dicho p oceso o e gu´ıa al
enlace donde pode encon a el p ecio.
•Documen aci´on: se conc e a la documen aci´on necesa ia pa a ealiza el ´ami e
o ambi´en puede conduci al usua io a un link donde ambi´en se mues e es a
misma in o maci´on.
•P oceso: gu´ıa pa a solici a cualquie expedien e di igida al clien e. En algunos
elemen os es e apa ado es ´a complemen ado con un enlace, que especi ica mejo
los pasos que debe de segui el usua io seg´un sus condiciones.
p ocesosJSON.json
Documen o con o ma o JSON, que unciona como da ase con el ipo de solici udes
de in o maci´on que se puede hace sob e los ´ami es. El con enido de es e iche o se
mues a en el Algo i mo 4.7.
Es e da ase se u iliza pa a compa a el ´ul imo mensaje del usua io con los da os
p ocesosJSON.json, de es a mane a se comp ueba qu´e ipo de in o maci´on desea el
ecep o .
Ac ions.py
Fiche o dedicado a la p og amaci´on de unciones enca gadas de ex ae la
in o maci´on gua dada en las en idades y busca una espues a g acias a es e da o.
Po an o es e documen o es ´a o mado po clases de ac ions p oceden es de la
lib e ´ıa asa sdk y ienen el o ma o que se mues a en el Algo i mo 4.8.
En la unci´on name se de uel e el nomb e de la acci´on po el que se ´a econocida
la clase en los dem´as iche os como en s o ies.yml o domain.yml. Po o a pa e,la
unci´on un iene la l´ogica de la clase, donde se en ´ıa el mensaje desde el dispa che
g acias a la unci´on de u e message(” ex o”). Dos ejemplos de ac ions se en en los
Algo i mos 4.9 y4.10.

34 Cap´
ı ulo 4. Me odolog´
ıa y an´
alisis del p oyec o
Algo i mo 4.6: Fiche o ami esJSON.json
1”a ayT ami es”:[
2{
3” ami e ” :” P o oga de e s a n c i a de c o a du ac ion ” ,
4
5”alias”:” l a p o og a de e s a n c i a de c o a du aci on ” ,
6
7”p ecio”:” El p e c i o puede a i a dependiendo s i se dis po ne de
8 isado o no . Con isado −>31 ,22 eu os , Sin isado −>17 ,49 eu os
9( se inc emen a a en 1 ,06 eu os mas po cada dia que se p o ogue
10 l a e s a n c i a ) ” ,
11
12 ” documen acion ” :”−Imp eso de s o l i c i u d n n
13 −Pasapo e comple o o i u l o de i a je n n
14 −Do cu me n a ci n a c e d i a i a de dis po ne de medios economicos
15 s u i c i e n e s n n
16 −Documen acion a c e d i a i a de d is po ne de segu o m d i c o
17 de i a j e . n n
18 −Documen acion que g a a n i c e e l e o n o a l p a i s de p o ce de nc ia . n n
19 −Documen acion a c e d i a i a de l a s a zo ne s e x c e p c i o n a l e s po l a s que
20 se s o l i c i a la p o oga ” ,
21
22 ”p oceso”:” Se e a l i z a d en o de l a s e c c i o n de E x a n j e i a y l ue go
23 s e l e c c i o n a s e l apa ado de P o g a de e s an ci a co a de du acion .
24 En e s e apa ado pod as d es c a g a e e l Fo mula io EX00 ,
25 que end as que en ega e l l e n o en la O i cin a de E x an je ia ,
26 Je a u a S up e io o C o m i s a a de P o l i c i a . Po an o , dicho a mi e
27 se p oces a de mane a p e s e n c i a l . ”
28 },
Algo i mo 4.7: Fiche o p ocesosJSON.json
1{
2”a ayP oceso”:[” Como l o s o l i c i o ?” ,” Como p e d i l o ? ” ,
3” Que pasos debo de s e g u i ? ” ,” Donde l o hago ?” ,”Pasos”,
4” I n u c c i o n e s ” ,”Apa ado” ,”Seccion”,”Guia de como h a c e lo ” ,
5” P ocedimien o ” ,” P oceso ” ,”Guia” ,”Guide” ,”P occess”,”S eps”],
6”a ayDocumen acion”:[” Documen os n e c e s a i o s ” ,
7” Documen acion n e c e s a i a ” ,”Documen acion” ,” Papeles n e c e s i o ” ,
8”Pappe s” ,” Pappe s h a i need ” ,” Necessa y documen a ion ” ],
9”a ayP ecio”:[”P ecio”,”P ice”,”Money” ,” Dine o ” ,” Valo ” ,
10 ” Cos e ” ,”Eu os” ,” P ecio d el ami e ” ]
11 }
Algo i mo 4.8: Ejemplo ac ions
1 c l a s s Ac ionHello ( Ac ion ) :
2
3 de name( s e l ) −>Tex :
4 e u n ” ac ion name ”
5
6 async de un (
7 s e l ,dispa che :Collec ingDispa che , acke :T acke ,
8 domain :Dic [Tex ,Any ])−>L i s [Dic [Tex ,Any ] ] :
9 disp a c h e . u e message ( e x :” Hello Wo ld ! ” )
10
11 e u n [ ]
4.3. Funcionamien o de Rasa S ack 35
Algo i mo 4.9: Clase Ac ion P oceso
1 c l a s s Ac ionP oceso ( Ac ion ) :
2
3 #Donde s e ad ju di ca e l nomb e de l a u n c i ´on
4 de name( s e l ) −>Tex :
5 e u n ”ac ion p oceso”
6
7 de un ( s e l ,dispa che :Collec ingDispa che , acke :T acke ,
8 domain :Dic [Tex ,Any ])−>L i s [Dic [Tex ,Any ] ] :
9 #Se ob i ene e l alo de l a en idad ”nomb e ami e ”
10 nomb e ami e = ac k e . g e s l o ( ”nomb e ami e”)
11
12 #Se ob i ene e l ul imo mensaje d el u su a io
13 mensaje = a c k e . l a e s m e s s a g e [’ ex ’ ]
14
15 #Se ab e e l da ase y se ob ienen l o s da os d el a ay
16 wi h open ( ’ p ocesosJSON . json ’ ,’ ’ ,enc odin g =’ u 8’) as i l e :
17 da aP oceso = json . load ( i l e )
18
19 maxiP oceso = −1
20
21 #Buscamos e l apa ado que enga un mayo p o c en aj e de s i m i l i u d e n e
22 l o s elemen os de l a ay y nomb e ami e
23 o i in ange ( 15 ):
24 p ob abi li dad = uz z . o k e n s e a i o ( mensaje ,
25 da aP oceso [’a ayP oceso ’ ] [ i])
26 i p obabilidad >maxiP oceso :
27 maxiP oceso = p oba bi l id ad
28
29
30 i ( nomb e ami e !=NULL and maxiP oceso >50 ):
31 #Se ab e e l d a ase y se ob ienen l o s da os d el a ay
32 wi h open ( ’ ami esJSON . json ’ ,’ ’ ,en codi ng =’ u 8’) as i l e :
33 da a = jso n . load ( i l e )
34
35 maxi = −1
36 pos = 0
37
38 #Buscamos e l apa ado que enga un mayo p o cen a je de s i m i l i u d
39 en e e l a l i a s y nomb e ami e
40 o i in ange ( 15 ):
41 Token Se Ra io = uz z . o k e n s e a i o ( nomb e ami e ,
42 da a [’a ayT ami es ’ ] [ i] [ ’ a l i a s ’ ])
43 i Token Se Ra io >maxi :
44 maxi = Token Se Ra io
45 pos = i
46
47
48 #Se de uel e e l alo s i e l p o c en aj e es mayo que 50
49 i maxi >50 :
50 e s pu e s a = da a [’a ayT ami es ’ ] [ pos ] [ ’ p oceso ’ ]
51 dis p a c he . u e me ssage ( es p ues a )
52
53 e l s e :
54 dis pa che . u e mess age ( ”Lo si en o , me pod ias e p e i e l
55 a mi e d el que q u i e e s i n o m a e ? Recue da que ie ne n que s e
56 a m i es de l a Sede E l e c o n i c a ” )
57
58 e u n [Sl o S e ( ”nomb e ami e”,NULL) ]
59
60 e l s e :
61 d isp a c he . u e me ssa ge ( ”Lo sie n o , me po d ia s e p e i e l
62 a mi e d el que q u i e e s i n o m a e ? Recue da que ie ne n que s e
63 a m i es de l a Sede E l e c o n i c a ” )
64 e u n [ ]
36 Cap´
ı ulo 4. Me odolog´
ıa y an´
alisis del p oyec o
Algo i mo 4.10: Clase Ac ion Fil o
1 c l a s s A c ionFil o ( Ac ion ) :
2
3 #Donde s e ad ju di ca e l nomb e de l a u n c i ´on
4 de name( s e l ) −>Tex :
5 e u n ”ac ion p oceso”
6
7 de un ( s e l ,dispa che :Collec ingDispa che , acke :T acke ,
8 domain :Dic [Tex ,Any ])−>L i s [Dic [Tex ,Any ] ] :
9 #Se ob i ene e l alo de l a en idad ”nomb e ami e ”
10 nomb e ami e = ac k e . g e s l o ( ”nomb e ami e”)
11
12 #Se ob i ene e l ul imo mensaje d el u su a io
13 mensaje = a c k e . l a e s m e s s a g e [’ ex ’ ]
14
15 #Se c a l c u l a e l p o c en a je de semejanza en e e l ul imo mensaje y e l s l o
16 p oba bi lid ad = uz z . o k e n s e a i o ( mensaje ,nomb e ami e)
17
18 i ( nomb e ami e !=NULL and p ob a bi lid ad >50 ):
19 #Se ab e e l d a ase y se ob ienen l o s da os d el a ay
20 wi h open ( ’ ami esJSON . json ’ ,’ ’ ,encoding =’ u 8’ ) as i l e :
21 da a = jso n . load ( i l e )
22
23 maxi = −1
24
25 #Buscamos e l apa ado que enga un mayo p o cen a je de s i m i l i u d
26 en e e l a l i a s y nomb e ami e
27 o i in ange ( 15 ):
28 Token Se Ra io = uz z . o k e n s e a i o ( nomb e ami e ,
29 da a [’a ayT ami es ’ ] [ i] [ ’ a l i a s ’ ])
30 i Token Se Ra io >maxi :
31 maxi = Token Se Ra io
32
33
34 #Se de uel e e l alo s i e l p o c en aj e es mayo que 50
35 i maxi >50 :
36 dis p a c he . u e mes sage
37 ( ”Y que me q u i e e s c o n s ul a sob e e s e a mi e : n” +
38 ”−D o cu me n a c i n n e c e s a i a n” +
39 ”−P ecio de l m i e n” +
40 ”−Como p e d i l o ? n” )
41
42 e l s e :
43 dis pa che . u e mess age ( ”Lo si en o , me pod ias e p e i e l
44 a mi e d el que q u i e e s i n o m a e ? Recue da que ie ne n que s e
45 a m i es de l a Sede E l e c o n i c a ” )
46 e l s e :
47 d isp a c he . u e me ssa ge ( ”Lo sie n o , me po d ia s e p e i e l
48 a mi e d el que q u i e e s i n o m a e ? Recue da que ie ne n que s e
49 a m i es de l a Sede E l e c o n i c a ” )
50
51 e u n [ ]
La unci´on un de las ac ions que il an el p oceso, documen aci´on y p ecio del
´ami e se componen de los siguien es pasos:
1. Ex ae el da o de la en idad “nomb e ami e” y lo gua da en una a iable
llamada nomb e ami e.
2. Ex ae el ex o del ´ul imo mensaje y lo gua da en el pa ´ame o mensaje
3. Se ab e el a chi o p ocesosJSON con pe misos de lec u a y se gua da el
con enido en la a iable da aP oceso, pa a luego pode accede a los da os.
4. Despu´es se c ea una a iable pa a gua da el m´aximo po cen aje de simili ud.
4.3. Funcionamien o de Rasa S ack 37
5. Se eco e el a ay y se gua da el po cen aje de semejanza en e la a iable
mensaje y el elemen o del a ay que se es ´a analizando. Luego ese alo se
compa a con la a iable de maxiP oceso y si es mayo , se ac ualiza.
6. Se comp ueba si el alo de semejanza es mayo de 50 y si nomb e ami e no
es nulo. Si no cumple es as condiciones, se de uel e un mensaje in o mando de
que no se ha encon ado espues a a la p egun a del usua io.
7. Si cumple las condiciones an e io men e explicadas, se ab e el a chi o
ami esJSON con pe misos de lec u a y se gua da el con enido en la a iable
da a, pa a luego pode accede a los da os.
8. Pos e io men e se decla an dos a iables que an a gua da la posici´on
del ´ami e il ado y el po cen aje m´aximo de semejanza en e la a iable
nomb e ami e y la secci´on de alias.
9. Se eco e el a ay, que en es e caso iene 15 elemen os, y se gua da el
po cen aje de semejanza en e la a iable nomb e a iable y la secci´on de alias
en Token Se Ra io. Luego es e alo se compa a con la a iable maxi y si es
mayo , se ac ualiza y adem´as se gua da la posici´on.
10. Se comp ueba si el po cen aje encon ado es mayo de 50, ya que sino supe a ese
umb al, no es iable la espues a que pueda da . Si es mayo , p ime o ob iene
el da o de p oceso y luego lo de uel e con dispa che .u e message( espues a).
En caso de que ue a meno o igual a 50, se de uel e un mensaje in o mando
de que no se ha encon ado espues a a la p egun a del usua io.
11. Finalmen e en el e u n se modi ica el alo del slo a nulo, pa a pos e io es
b´usquedas.
Luego en la unci´on un de la ac ion que il a el ´ami e po el que se p egun a,
iene unas lige as modi icaciones compa adas con el es o.
1. Ex ae el da o de la en idad “nomb e ami e” y lo gua da en una a iable
llamada nomb e ami e.
2. Ex ae el ex o del ´ul imo mensaje y lo gua da en el pa ´ame o mensaje
3. Calcula la semejanza que hay en e la a iable nomb e ami e y el ´ul imo
mensaje.
4. Luego se comp ueba si el nomb e ami e no es nulo y adem´as de si el po cen aje
de semejanza es mayo que 50. Si no cumple es as condiciones, se de uel e un
mensaje in o mando de que no se ha encon ado espues a a la p egun a del
usua io. Es a comp obaci´on se hace ya que el sis ema algunas eces allaba al
cap a el ´ami e po el que se p egun aba.
5. Si cumple las condiciones an e io men e explicadas, se ab e el a chi o
ami esJSON con pe misos de lec u a y se gua da el con enido en la a iable
da a, pa a luego pode accede a los da os.
6. Pos e io men e se decla an la a iable que gua da el po cen aje m´aximo de
semejanza en e la a iable nomb e ami e y la secci´on de alias.
7. Se eco e el a ay, que en es e caso iene 15 elemen os, y se gua da el
po cen aje de semejanza en e la a iable nomb e a iable y la secci´on de alias
en Token Se Ra io. Luego es e alo se compa a con la a iable maxi y si es
mayo , se ac ualiza.
44 Cap´
ı ulo 4. Me odolog´
ıa y an´
alisis del p oyec o
Figu a 4.13: Ca pe a de abajo
Figu a 4.14: Ejemplos de modelos c eados
Figu a 4.15: Ejecu a el asis en e po e minal
4.5. Conexi´on con Teleg am y Se icio Web
An es de explica el p ocedimien o que se ha seguido pa a ealiza las conexiones, hay que
ene en cuen a que el se ido de Rasa ejecu a el p oyec o de mane a local, mien as que
Teleg am y la p´agina web se ejecu an en la nube. Po an o se ienen que enlaza las dos
ejecuciones median e el so wa e de ng ok. Es una he amien a que hay que ins ala la como
zip y pos e io men e descomp imi la pa a su uso. De es a mane a, se ´a posible accede a la
e minal ng ok.exe, desde donde se lanza ´a el comando ng ok h p 5005, pue o donde se
ejecu a localmen e el p oyec o. Es impo an e man ene abie o es e ´unel mien as se es e
u ilizando el asis en e ´ıa Teleg am o web, ya que si se cie a ng ok deja ´a de unciona
la conexi´on.

4.5. Conexi´
on con Teleg am y Se icio Web 45
En el Algo i mo 4.19 se mues a como p opo ciona una u l ope a i a du an e 8 ho as
que simula un ´unel al mismo pue o de nues o localhos . El enlace que se debe de escoge
es el h ps, ya que se debe de ealiza una conexi´on segu a, y po ejemplo Teleg am no
acep a enlaces h p.
Algo i mo 4.19: Ejecuci´on de ng ok
1 ng ok by @inconsh e eable
2
3 S e s s io n S a us o n l i n e
4 Accoun Rebeca ( Plan :F ee )
5 Ve sion 2.3.40
6 Region Uni ed S a e s ( us )
7 Web I n e a c e
8 Fo wa ding
9 Fo wa ding
10 Connec ions l opn 1 5p50 p90
11 000.00 0 .00 0 .00 0 .00
4.5.1. Teleg am
Como se ha explicado an e io men e, Teleg am pone a la disposici´on del usua io la
he amien a de The Bo Fa he . Como se e en la Figu a 4.16, es a uncionalidad pe mi e
c ea un bo de mane a sencilla en la que Bo Fa he i ´a haciendo p egun as al usua io de
c´omo quie e pe sonaliza su asis en e.
Figu a 4.16: Pe sonaliza bo
Los pasos pa a ealiza la conexi´on con Teleg am son los siguien es:
1. C ea y pe sonaliza el asis en e en Teleg am con Bo Fa he .
2. Una ez c eado se debe de gua da el API TOKEN y el nomb e del asis en e en el
p oyec o de Rasa.
46 Cap´
ı ulo 4. Me odolog´
ıa y an´
alisis del p oyec o
3. En el Algo i mo 4.20 se especi ica la con igu aci´on del a chi o c eeden ials.yml. Se
iene que descomen a el apa ado de Teleg am y se esc iben los da os gua dados
en e comillas.
Acces oken →API TOKEN
Ve i y →Nomb e del Chab o
webhook u l →Mnlace p opo cionado po ng ok, a˜nadiendo luego el su ijo de
/webhooks/ eleg am/webhook.
Algo i mo 4.20: Conexi´on Teleg am
1 eleg am :
2 access oken :
3 e i y :” SedeCha bo ”
4 webhook u l :
4. Ab i dos e minales localizadas en la ca pe a del p oyec o y ejecu a asa un en
una y asa un ac ions en la es an e.
Realizados ya es os pasos se puede pasa a habla con el asis en e ´ıa Teleg am. En la
Figu a 4.17 se e el o ma o de una con e saci´on po Teleg am.
(a) Saludo inicial (b) In o maci´on del Pasapo e
Figu a 4.17: Resul ados en Teleg am
4.5. Conexi´
on con Teleg am y Se icio Web 47
4.5.2. Se ido Web
Pa a es a opci´on se necesi a de ng ok, Gi hub y Bo F on , he amien as que se u ilizan a
mane a de p ueba, ya que ambi´en se puede u iliza una p´agina de web. Adem´as de que
hab ´a que ealiza peque˜nas modi icaciones en el c´odigo pa a su co ec o uncionamien o.
Los pasos a segui son los siguien es:
1. C eamos un eposi o io en Gi hub, con el nomb e de usua io y el su ijo .gi hub.io.
2. A˜nadimos a ese eposi o io nues o p oyec o y adem´as un documen o index.h ml. El
esul ado del eposi o io se ´ıa el que se mues a en la Figu a 4.18.
Figu a 4.18: Reposi o io de Gi hub
3. Aho a es el momen o de comple a el a chi o index.h ml con el dise˜no que se desee
pa a la p´agina web. En es e caso se ha u ilizado Bo F on , un open sou ce en Gi hub
sencillo de u iliza y que unciona con el Algo i mo 4.21.
Algo i mo 4.21: Bo F on Sc ip
1<s c i p >!( u n c io n ( ) {
2 l e e = documen . c ea eElemen ( ” s c i p ” ),
3 = documen . head | | documen . ge Elemen sByTagName(”head” )[0];
4 ( e . s c =
5” h ps :/ / cdn . j s d e l i . ne /npm/ asa−webcha @1 . x . x/ l i b / index . j s ” ),
6// Replace 1 . x . x wi h he e s ion ha you wan
7 ( e . async = ! 0),
8 ( e . onload = ( ) =>{
9 window . WebCha . d e a u l (
10 {
11 cus omDa a :{language :”en” },
12 socke U l :” h ps :/ / b −b o o n . de elopmen . agen s . bo o n . cloud ” ,
13 // add o he p ops he e
14 },
15 n u l l
16 ) ;
17 }),
18 . inse Be o e(e, . i s Child);
19 }) () ;
20 </s c i p >
El ´unico cambio que hab ´ıa que ealiza se ´ıa modi ica el da o de socke U l y
a˜nadi el enlace de ng ok.
48 Cap´
ı ulo 4. Me odolog´
ıa y an´
alisis del p oyec o
4. Pasando al p oyec o, hay que descomen a la opci´on de socke io en el a chi o de
c eeden ials.yml y esc ibi las ca ac e ´ıs icas del Algo i mo 4.22.
Algo i mo 4.22: Conexi´on con Socke io
1 socke io :
2 use message e :use u e ed
3 bo message e :bo u e ed
4 session pe sis ence : ue
5. A la ho a de ejecu a el asis en e, ambi´en hab ´a que ab i dos e minales si uadas
en la ca pe a del p oyec o, y en una lanza el comando de asa un ac ions y en
o a asa un -m models –enable-api –co s “*”.
6. La Figu a 4.19 mues a el esul ado de la p´agina→h ps://nomb e-usua io.gi hub.io.
(a) Saludo inicial (b) P ecio del DNI
Figu a 4.19: Resul ado en web
Cap´ı ulo 5
Expe imen os y Resul ados
Pa a ealiza p uebas sob e es e p oyec o se han elabo ado p uebas de es ´es y es sob e
el asis en e, adem´as de las co espondien es e isiones du an e su desa ollo. El p ime
apa ado 5.1 se desc ibe el p oceso de ealiza p uebas de es ´es con las ex ensi´on de
REST ul S ess. La segunda pa e de es e capi ulo 5.2, se desc iben es es que se han
p og amado en py hon pa a comp oba el uncionamien o de las acciones y adem´as se
p esen an las ci as de con ianza de los in en s. En la ´ul ima secci´on 5.3, se mos a ´an
esul ados de o os p oyec os elacionados con Rasa S ack y se ha ´a una b e e compa aci´on
con es e p oyec o.
5.1. P uebas con la He amien a REST ul S ess
La he amien a REST ul S ess es una ex ensi´on de Google Ch ome que pe mi e analiza el
asis en e pa a sabe da os de iempo de espues a seg´un el n´ume o de usua ios conec ados
a la ez. El uncionamien o de la ex ensi´on se basa en llamadas HTTP(GET,POST,PUT
y DELETE) al endpoin de la API.
Los pasos pa a ealiza las p uebas de es ´es son las siguien es:
1. P ime o se debe desca ga la ex ensi´on. Simplemen e con busca la en el buscado
Google e ins ala la, ya se pod ´a ejecu a .
2. Se esc ibe la di ecci´on del a ge , d´onde se ealiza ´a una pe ici´on POST. La u l que
hab ´a que indica se ´a la siguien e: h p://localhos :5005/webhooks/ es /webhook.
3. Se ellena el ecuad o de eques body con el mensaje de p ueba. El o ma o m´as
indicado pa a en ia el mensaje es en JSON y especi icando los campos de sende
ymessage.
4. Tambi´en se pueden modi ica los campos de op ions. En es e caso, el alo de
i e a ions es 1500, el delay es de 100 ms y el imeou de 30000.
5. Pa a ealiza la p ueba, se debe de lanza el siguien e comando po e minal en
la ca pe a del p oyec o: un -m models –enable-api –co s “*” –debug y en
pa alelo se pincha en el bo ´on de play de la aplicacion REST ul.
49

50 Cap´
ı ulo 5. Expe imen os y Resul ados
Figu a 5.1: REST ul S ess - Se ings
En la Figu a 5.1 se mues a que el campo del message es ¿Cu´an o ale eno a el dni?,
pa a sabe el iempo que a da en il a el da ase y encon a la espues a co ec a.
Se han ealizado al inal 235 i e aciones, con los esul ados siguien es:
Du aci´on media: 2778ms
Co ec os 235
Du aci´on m´axima: 4603 ms
E o es: 0
Du aci´on m´ınima: 2176 ms
Wa mups: 5
Du aci´on o al: 652939
Usua ios: 3 de mane a concu en e
Es os da os se pueden e isa en las dos pes a˜nas de Pe o mance yCha , mos adas
en las Figu as 5.2 y5.3.
5.2. Tes Uni a ios sob e Ac ions y Po cen ajes de
Con ianza
Pa a p oba el uncionamien o de las es acciones desc i as en el a chi o de ac ions.py,
se han ealizado es s uni a ios con la lib e ´ıa de uni es de Py hon.
5.2. Tes Uni a ios sob e Ac ions y Po cen ajes de Con ianza 51
Figu a 5.2: REST ul S ess - Pe o mance
Figu a 5.3: REST ul S ess - Cha
Los es s ienen un o ma o como el que mues a el Algo i mo 5.1 y los ipos que hay
son:
es il o p ecio comp ueba si se ha escogido el p ecio co ec o con un un ´ami e
ejemplo, que en es e caso es la solici ud de la c´edula de insc ipci´on
es il o documen a ion e isa si la documen aci´on il ada es la co ec a pa a
el ´ami e de asigna el NIE.
es il o p oceso e i ica si se ha ob enido el p oceso co ec o pa a el ´ami e de
solici a la a je a de es udian e.
Pa a ejecu a es os es s [CC20], se debe de ab i una e minal localizada en el p oyec o
y llama al m´e odo de main de la lib e ´ıa uni es con el siguien e comando py hon
es uni a ios.py - , como se mues a en la Figu a 5.4.
52 Cap´
ı ulo 5. Expe imen os y Resul ados
Algo i mo 5.1: Ejemplo del es il o p ecio
1 c l a s s Tes Ac ions ( u n i e s . Tes Case ) :
2
3 de e s i l o p e c i o ( s e l ) :
4 p ecio = ” El p e c i o e s 3 ,27 e u os ”
5 ami e = ” c edula de i n c i p c i o n ”
6
7
8 maxi = −1
9 pos = 0
10
11 #Buscamos e l apa ado que enga un mayo p o c en aj e de s i m i l i u d
12 en e e l a l i a s y nomb e ami e
13 o i in ange ( 15 ):
14 Token Se Ra io = u zz . o k e n s e a i o ( ami e ,da a
15 [’a ayT ami es ’ ] [ i] [ ’ a l i a s ’ ])
16 i Token Se Ra io >maxi :
17 maxi = Token Se Ra io
18 pos = i
19
20 #Se de uel e e l al o s i e l po ce n aje es mayo que 50
21 i maxi >50 :
22 e s pue s a = da a [’a ayT ami es ’ ] [ pos ] [ ’ p ecio ’ ]
23
24 e l s e :
25 e s pue s a = ”ninguna”
26
27 s e l . a sse Eq ua l ( esp u es a ,p ecio ,’ E o al encon a e l p ec io ’ )
Figu a 5.4: Ejecuci´on de los es s uni a ios
Po o a pa e, pa a sabe sob e los po cen ajes de con ianza de cada in en [PG+20],
se ha u ilizado los iche os de alidaci´on que se encuen an en la ca pe a de esul s.
En un p incipio cuando se c ea el p oyec o, es a ca pe a no exis e. Po an o, pa a
e alua el modelo pa a la clasi icaci´on de la in enci´on y ex acci´on de en idades se debe
de esc ibi asa es po la e minal si uada en la ca pe a del p oyec o.
Es e comando c ea ´a la ca pe a de esul s, con a ios a chi os de da os analizando el
asis en e. Los a chi os que se quie en des aca pa a analiza los esul ados son:
in en e o s.json
in en successes.json
Como indica su nomb e, en el p ime o se encuen an los e o es posibles que pueden
apa ece en el asis en e, mien as que en el segundo a chi o se ob ienen los in en s
co ec os. En la Figu a 5.5 se mues a el con enido del iche o de e o es con sus
co espondien es p edicciones.
5.3. Compa aci´
on de Resul ado Ob enidos 53
Figu a 5.5: A chi o in en e o s.json
Y en in en successes.json se han analizado los po cen ajes de con ianza de los diez
p ime os in en s, con sus espec i as ases de ejemplos. En la Tabla 5.1 se han ecopilado
los esul ado ob enidos.
In enci´on Con ianza media
s a 0.96
despedi 0.90
con i ma 0.92
nega 0.84
p egun as-in oSede 0.90
p egun as-ges iones 0.78
p egun as-ce i icados 0.88
p egun as- i maElec 0.76
p egun as-ex anje ia 0.76
p egun a- eag upacion 0.94
Tabla 5.1: Resul ados del a chi o in en successes.json
Se puede ap ecia que los alo es son al os debido al g an n´ume o de ejemplos que se
han a˜nadido a cada in enci´on.
5.3. Compa aci´on de Resul ado Ob enidos
En el abajo de Rasa amwo k: ´
An´alisis e implemen aci´on de un cha bo [CC20] se
han ealizado p uebas de es ´es con la misma he amien a que se ha is o an e io men e,

Cap´ı ulo 8
Conclusions and Fu u e Wo k
8.1. Conclusions
The aim o his wo k was o p og am an assis an ha would help use s sol e he doub s
hey had wi hin he Na ional Police Elec onic Headqua e s. Ini ially, he sec ions o
be co e ed we e no de ined. Ne e heless, he bo esponds o e e y ask conce ning
immig a ion ma e s, and enewal o applica ion o a passpo o ID ca d.
Se e al ools capable o de eloping con e sa ional assis an s ha e been esea ched,
concluding ha he echnology o be used would be Rasa S ack, as a simple ye comple e
ool. In addi ion o his, i is a ool ha allows you o p og am all he unc ionali ies ha
an assis an has, while o he applica ions we e mo e limi ed and had li le suppo .
Pe sonally, de eloping a con e sa ional assis an wi h an applica ion ha was unknown
o me has been qui e a challenge. Bu on he o he hand, i has been an in e es ing p ocess
o ge o know his kind o applica ion and, abo e all, o lea n h oughou hese six mon hs
how o use i . Addi ionally, I ha e been able o imme se mysel in some o he p ocedu es
ha a e ca ied ou wi hin he en i onmen o he Na ional Police Elec onic Headqua e s.
I eel his has made me g ow as a compu e enginee , ca ying ou a p ojec eques ed by
he Na ional Police hemsel es. I also liked o begin my wo k wi hin he ield o A i icial
In elligence (AI); one ha I had no ye been able o s udy du ing my deg ee.
This is, undoub edly, a ool ha will ha e mo e impo ance and p ominence in he
u u e, since AI will be pa amoun in u u e echnology, and wha be e way han o help
humani y. I am glad o ha e been pa o his p ojec and, abo e all, o help sol e some
o he doub s ha migh a ise o use s wi hin he Elec onic Headqua e s.
8.2. Fu u e Wo k
Thanks o he equi emen s ha cha ac e ise Rasa, i has been possible o success ully
de elop an assis an , sui able o u u e wo ks ha shall be ca ied ou on i . Howe e , i
can be imp o ed in he ollowing ways:
Adding mo e in en s o en i ies, in o de o answe mo e ques ions abou o he
p ocedu es a ailable a he Elec onic Headqua e s.
De elop he g aphic pa o he assis an
61
62 Cap´
ı ulo 8. Conclusions and Fu u e Wo k
Link he bo o o he applica ions, i.e., Wha sApp.
Au oma e ool deploymen .
Ap´endice A
In o maci´on sob e Rasa S ack
A.1. Componen es de Rasa S ack
A.1.1. En idades, In en s y Slo s
Las en idades o en i ies son c ´ı icas en el caso de que se quie a da una espues a
pe sonalizada al usua io. Po ejemplo, si enemos un in en asociado a consul a
las euniones que iene cie a pe sona en un d´ıa, uno de los ejemplos pod ´ıa se
“¿Qu´e euniones iene Ma cos {nomb e pe sona}el d´ıa 23 de mayo{ echa}?”, donde
nomb e pe sona y echa es una en i y que se i ´a pa a busca las euniones que iene
esa pe sona en ese d´ıa conc e o.
Po o o lado, los in en s son las in enciones que iene el usua io cuando in e ac ´ua
con el cha bo . El usua io puede u iliza di e en es exp esiones y palab as pa a decla a el
mismo in en . Po ejemplo, una pe sona puede saluda de a ias mane as, diciendo hola,
hey, c´omo es ´as, e c.
Algo i mo A.1: In en s
1 nlu :
2−in en :s a
3 examples :|
4−Hola
5−Buenos d´ı as
6−Buenas
7−Muy buenas
8−s a
9−/ s a
10
11 −in en :de spe di
12 examples :|
13 −Has a luego
14 −Nos emos
15 −Adi´o s
16 −Chao
17 −Ten buen d´ı a
Si se quisie a almacena da os de una con e saci´on, se ienen que u iliza los slo s. Son
elemen os pa ecidos a las en idades pe o ienen la capacidad de gua da palab as cla es
de los mensajes del usua io. Po ejemplo, si se c ea un cha bo con el que se puede pedi
63
64 Cap´
ı ulo A. In o maci´
on sob e Rasa S ack
ci a m´edica; la echa, la ho a y el nomb e del clien e se ´ıan slo s, po que son da os que
in e esan gua da .
Algo i mo A.2: Slo s
1 slo s :
2 nomb e ami e :
3 ype : ex
A.1.2. Sin´onimos y Tablas de B´usqueda
Tambi´en exis en la opci´on de u iliza sin´onimos y ablas de b´usqueda a la ho a de analiza
un in en del usua io.
Los sin´onimos se aplican pa a de ini dos en idades que ienen el mismo signi icado
Es os elemen os suelen se usados pa a a a ab e ia u as o cuando se usa ´a pa a la
en ada de una Ac ion.
Las ablas de b´usqueda son muy ´u iles pa a educi el n´ume o de ejemplos que
apo amos al asis en e pa a en ena . Pe mi en de ini palab as que pe enezcan al mismo
g upo aunque engan signi icados di e en es. Se conside an g upo cuando se ob iene la
misma espues a po pa e del cha bo .
A.1.3. His o ias pa a el En enamien o del NLU
Las his o ias de Rasa [GS+19] si en pa a en ena los modelos de ges i´on de di´alogo
del p oyec o. Rep esen an con e saciones en e un usua io y un asis en e; adem´as ienen
una es uc u a donde las en adas del usua io se exp esan como in en s mien as que los
mensajes del asis en e se exp esan como nomb es de acci´on o espues as co espondien es
(u e ances).
Los in en os del usua io no ienen ninguna ma ca delan e, simplemen e se iden i ican
con la palab a in en y las espues as del bo se nomb an con la palab a ac ion.
Algo i mo A.3: S o ies
1 s o i e s :
2
3−s o y :despues−ok
4 s e p s :
5−in en :con i ma
6−ac ion :u e ol e
7−in en :nega
8−ac ion :u e despedi
9
10 −s o y :despues−ok2
11 s e p s :
12 −in en :con i ma
13 −ac ion :u e ol e
14 −in en :con i ma
15 −ac ion :u e cuen ame
A.2. Es uc u a de Rasa S ack 65
A.2. Es uc u a de Rasa S ack
Cuando se c ea un p oyec o de Rasa desde la e minal, iene un dise˜no inicial o mado po
los siguien es iche os:
nlu.yml →apa ado donde se clasi ican los in en os con las ases que iene pa a
en ena el cha bo
ules.yml →secci´on donde se especi ica el pa ´on que debe de segui el cha bo pa a
da una espues a en un espec´ı ico g upo de in en os.
s o ies.yml →pa e donde se esc iben odos los lujos de las his o ias, pa a que el
cha bo pueda segui es os pa ones.
es s o ies.yml →su unci´on es se i de gu´ıa pa a ealiza p uebas sob e el cha bo .
Mues a como el pa ´on que debes de segui y lo que debe de i espondiendo el
cha bo .
domain.yml →secci´on donde se encuen an la espues as del cha bo que da a an e
las in e acciones del usua io.
c eeden ials.yml →pa e d´onde se especi ica el oken y los da os necesa ios pa a
ealiza una conexi´on con un enlace web ex e no.
ac ions.py →el obje i o de es a secci´on es la c eaci´on de unciones que pe mi an
au oma iza las espues as po pa e del asis en e y adem´as sean espues as m´as
pe sonalizadas an e el mensaje del usua io.

Bibliog a ´ıa
[AA15] Bayan AbuShawa and E ic A well. Alice cha bo : T ials and ou pu s.
Compu aci´on y Sis emas, 19(4):625–632, 2015.
[AC21] Luis Es ua do Azu dia C´a camo. De ini una gu´ıa e´o ica y p ´ac ica pa a pode
implemen a asis en es PhD hesis, Uni e sidad de San Ca los de Gua emala,
2021.
[Ali16] Abde -Rahman Ali. How o wo k wi h json da a using py hon. h ps: // aco a .
link/ FU2lCW , 2016.
[a a20] a a indpai. Wha is okeniza ion in nlp? he e’s all you need o know. . ly/ hRJG ,
2020.
[ARA22] ARAG. A ag, pione a en el lanzamien o de un cha bo de segu os de iaje en
espa˜na. h ps: // www. a ag. es/ conocenos/ sala-de-p ensa/ 00165/ , 2022.
[Bab21] Babylon. Babylon app. h ps: // www. babylonheal h. com/ en-us/
wha -we-o e / cha bo , 2021.
[BBV22] BBVA. ¿c´omo es blue, el nue o asis en e i ual de bb a?
h ps: // www. bb a. es/ inanzas- is azo/ e / banca-digi al/
como-es-blue-el-nue o-asis en e- i ual-de-bb a. h ml , 2022.
[CC20] ´
Al a o Cas illo Cabe o. Rasa amewo k-an´alisis e implemen aci´on de un cha bo .
B.S. hesis, Uni e si a Poli `ecnica de Ca alunya, 2020.
[CI22] Gi hub CI. Componen s asa docs. h ps: // asa. com/ docs/ asa/
componen s/ #language-models , 2022.
[CIO17] CIO. La uni e sidad ceu implan a un bo que mejo a la elaci´on
con sus alumnos. h ps: // www. ciospain. es/ educacion/
la-uni e sidad-ceu-implan a-un-bo -que-mejo a-la- elacion-con-sus-alumnos ,
2017.
[Com19] Cha Compose. Cha bo s pa a la educaci´on: Aplicaciones y bene icios. h ps:
// www. cha compose. com/ cha bo s-educacion. h ml , 2019.
[c u22] c unchbase. Youpe . h ps: // www. c unchbase. com/ o ganiza ion/ youpe /
echnology , 2022.
[DCLT18] Jacob De lin, Ming-Wei Chang, Ken on Lee, and K is ina Tou ano a. Be :
P e- aining o deep bidi ec ional ans o me s o language unde s anding. a Xi
p ep in a Xi :1810.04805, 2018.
[De 10] OV De yugina. Cha e bo s. Scien i ic and Technical In o ma ion P ocessing,
37(2):143–147, 2010.
[Die21] E in Die sche. No hwell heal h eams up wi h con e sa o ai
pa ien engagemen cha bo . h ps: // medci ynews. com/ 2018/ 10/
no hwell-heal h-con e sa/ ? = 1, 2021.
67
68 BIBLIOGRAF´
IA
[di 18] di endia. Cha bo s: es ad´ıs icas y ejemplos de uso en banca y segu os. h ps:
// mk e a. di endia. es/ blog/ cha bo s-banca-y-segu os , 2018.
[dV21] Gil del Valle. Top 5 de los mejo es cha bo s de asis encia m´edica. h ps: //
aco a . link/ MZFAM3, 2020-2021.
[GBFAMC18] Guillem Ga cia B us enga, Ma c Fue es Alpis e, and N´u ia Molas Cas ells.
B ie ing pape : los cha bo s en educaci´on. 2018.
[Gi 22] Gi hub. Websi es o you and you p ojec s. h ps: // pages. gi hub. com/ ,
2022.
[GLPC21] Maikol Ja ie Gilces Le´on and Ch is ian Fe nando Pin Ce allos. Duplicidad
de c´odigo en s ack o e low en espa˜nol. B.S. hesis, Uni e sidad de Guayaquil.
Facul ad de Ciencias Ma em´a icas y F´ısicas . .. , 2021.
[G o21] IT Digi al Media G oup. La banca aho a ´a has a 7.300 millones de d´ola es
a a ´es de los cha bo s. h ps: // www. i ends. es/ negocios/ 2019/ 02/
la-banca-aho a a-has a-7300-millones-de-dola es-a- a es-de-los-cha bo s ,
2021.
[GS+19] Jos´e Ma ´ıa Gu i´e ez Siliceo e al. Desa ollo de cha bo s con en o nos de c´odigo
abie o. 2019.
[HD16] Pol He n´andez Delgado. P og amaci´on de un [ o] bo pa a una consul a in e ac i a
de la in o maci´on de un p oyec o. 2016.
[Hea22] Heal hily. Heal hily. h ps: // www. li eheal hily. com/ , 2017-2022.
[He 21] Noelia He n´andez. Los cha bo s: un nue o ecu so pa a el aula. h ps: //
aco a . link/ pzb 9q , 2020-2021.
[i h21] ipglobal ech hub. ¿c´omo en iende un bo ? nlu en asa. h ps: // www. ipglobal.
es/ como-en iende-un-bo -nlu-en- asa/ , 2021.
[Jan17] S ini Jana hanam. Hands-on cha bo s and con e sa ional UI de elopmen :
build cha bo s and oice use in e aces wi h Cha uel, Dialog low, Mic oso Bo
F amewo k, Twilio, and Alexa Skills. Pack Publishing L d, 2017.
[Joa21] Ma hieu Joannon. Bo on . h ps: // gi hub. com/ bo on / asa-webcha ,
2021.
[kee21a] keen.e hics. One emission - making he li es o cance su i o s easie . h ps:
// keene hics. com/ p ojec -one- emission , 2021.
[kee21b] keen.e hics. Youpe . h ps: // www. youpe . ai/ , 2021.
[KKKS17] Diksha Khu ana, Adi ya Koli, Ki an Kha e , and Sukhde Singh. Na u al
language p ocessing: S a e o he a , cu en ends and challenges. a Xi p ep in
a Xi :1708.05148, 2017.
[LBP+18] Ta un Lalwani, Shashank Bhalo ia, Ashish Pal, Vasundha a Ra hod, and Sh eya
Bisen. Implemen a ion o a cha bo sys em using ai and nlp. In e na ional Jou nal
o Inno a i e Resea ch in Compu e Science & Technology (IJIRCST) Volume-6,
Issue-3, 2018.
[L´o20] Jos´e Ma ´ıa L´opez. C ea u p opio bo de eleg am sin sabe p og ama . h ps:
// blog hinkbig. com/ c ea -bo -de- eleg am-bo a he / , 2020.
[Nac22] Policia Nacional. Sede elec ´onica del cue po nacional de polic´ıa. h ps: //
sede. policia. gob. es/ po alCiudadano/ , 2022.
[NEW18] Alls a e NEWSROOM. Jus ask abie: Alls a e business insu ance sha es an
inno a i e ool o help small business owne s consume s wi h op-o -mind
ques ions. . ly/ SAx , 2018.
BIBLIOGRAF´
IA 69
[One22] Capi al One. Mee eno. h ps: // www. capi alone. com/ digi al/ eno/ , 2022.
[oT17] Massachuse s Ins i u e o Technology. Babylon app. h ps: // www.
babylonheal h. com/ en-us/ wha -we-o e / cha bo , 2017.
[PA+19] So Piza o A belo e al. Bo con e sacional de ec o de sen imien os. 2019.
[P ´
APGMAV21] Daniel Po edano ´
Al a ez, Ja ie Po ela Ga c´ıa-Miguel, and Es eban Alejand o
A mas Vega. Es udio de la pe cepci´on p´ublica de la acuna con a la co id-19
median e ´ecnicas de pln y de ap endizaje au om´a ico. 2021.
[PCFR16] Ma ia Jo˜ao Pe ei a, Lu´ısa Coheu , Ped o Fialho, and Rica do Ribei o. Cha bo s’
g ee ings o human-compu e communica ion. a Xi p ep in a Xi :1609.06479,
2016.
[PG+20] Ve ´onica Pinilla G´omez e al. Dise˜no e implemen aci´on de un cha bo pa a el
so wa e de idbox. 2020.
[PG21] Ma cos Pino Gamazo. Desa ollo de un cha bo pa a p´ublico in an il pa a clasi ica
sonidos del cielo. e si´on 2. 2021.
[RAMI17] AM Rahman, Abdullah Al Mamun, and Alma Islam. P og amming challenges o
cha bo : Cu en and u u e p ospec i e. In 2017 IEEE Region 10 Humani a ian
Technology Con e ence (R10-HTC), pages 75–78. IEEE, 2017.
[Rob22] So Banck Robo ics. Peppe y nao, obo s pa a la ense˜nanza. h ps: //
www. so bank obo ics. com/ emea/ es/ peppe -and-nao- obo s-educa ion ,
2022.
[SSA+18] Yasi Ali Solangi, Zul iqa Ali Solangi, Sam een Aa ain, Amna Ab o, Ghulam Ali
Mallah, and Asadullah Shah. Re iew on na u al language p ocessing (nlp)
and i s oolki s o opinion mining and sen imen analysis. In 2018 IEEE
5 h In e na ional Con e ence on Enginee ing Technologies and Applied Sciences
(ICETAS), pages 1–4. IEEE, 2018.
[ST20] Siddhan Singh and Ha deo K Thaku . Su ey o a ious ai cha bo s based on
echnology used. In 2020 8 h In e na ional Con e ence on Reliabili y, In ocom
Technologies and Op imiza ion (T ends and Fu u e Di ec ions)(ICRITO), pages
1074–1079. IEEE, 2020.
[Tea21] Inben a Team. Cha bo s banca ios: un imp escindible pa a la a enci´on a clien e.
h ps: // aco a . link/ uMs0We , 2021.
[TH50] Alan M Tu ing and J Haugeland. Compu ing machine y and in elligence. The
Tu ing Tes : Ve bal Beha io as he Hallma k o In elligence, pages 29–56, 1950.
[VLRL19] Rub´en Da ´ıo Villamiza Laguado and Daniel Fe nando Rico Le´on. Cha bo pa a
la b´usqueda y compa aci´on de p oduc os ecnol´ogicos a a ´es de la pla a o ma
messenge . 2019.
[Wei66] Joseph Weizenbaum. Eliza—a compu e p og am o he s udy o na u al language
communica ion be ween man and machine. Communica ions o he ACM,
9(1):36–45, 1966.