5.2 Utilização de Chatbot DL
5.2.3 Experimento 2 – Base de dados Ubuntu Dialog corpus
No caso 2 serão implementadas as mesmas etapas descritas no caso 1, a diferença reside no dataset, para este caso, será implementado o ubuntu dialog corpus. Uma base de dados com um milhão de interações. Como se referiu na secção 5.2.2 (descrição das bases de dados), será usado 10% deste
dataset. As etapas passam por apresentar a preparação de dados, nesta, descreve-se as diferentes
fases de preparação de dados desde a conversão do texto à vectorização. Após o processo de vectorização os dados estão preparados para o processo de treino do modelo, sendo esta a segunda etapa, a terceira refere a avaliação do modelo, onde se faz a análise da performance do modelo com recurso a métricas e são apresentados os resultados. Para o presente modelo, serão usados os parâmetros descritos no caso 1, como melhor modelo.
Parte I: preparação de dados
Para o caso 2 a preparação de dados, passou pela leitura do ficheiro ubuntu.txt. Tendo um total de 100468 linhas de interações.
Tabela 18: Leitura de dados (ubuntu dialog corpus).
User Value
Leeguy92 How to generate na xorg,confi file?
Leeguy92 For intel GMAS
Ozzmosis -> Leeguy92 Sudo xorg-configure, I think
Após a leitura de dados, segue-se a etapa de conversão do ficheiro em letras minúsculas (lowercanse), conforme se vê na Tabela 19.
Tabela 19: Leitura do ficheiro.
Type value
Str Start
Str Sock
Str End
A próxima etapa, refere a contagem de números de vezes que a palavra surge no texto. Uma técnica chamada de word_counts.
Tabela 20: Contagem dos números de vezes que as palavras aparecem num ficheiro ubuntu.txt. Type value
Add 10 Configure 3
Sda1 2
A etapa a seguir refere-se ao processo de conversão das palavras do ficheiro ubuntu.txt em um dicionário, como se pode ver na Tabela 21.
Tabela 21: Processo de conversão das palavras em um dicionário. Type value
But 26 Str 97 Here 23
Para o processo de treino e validação, há necessidade de os dados estarem convertidos em vetores. Ou melhor, não se consegue treinar um modelo num ficheiro baseado em carateres. Nesta etapa se apresenta o processo de conversão de dados de caracteres para vetores. Mais detalhes podem se ver nas tabelas Tabela 22 e
Tabela 23.
Tabela 22: Entrada do y (ubuntu dialog corpus).
Index Type Size Value
0 list 9 ‘Start, ‘busybyesk’, antbee, what, 's, this, wicd ,?, end 1 list 6 Start’, ‘kyral, no, paste, wrong
3 list 5 ‘Mani’, ‘I’, ‘know’, in’, ‘am’
Tabela 23: Entrada do x (ubuntu dialog corpus).
Index Type Size Value
0 list 19 [1, 1, 63, 1, 6, 78, 1, 5, 1, 13, 1, 41, 16, 74, 1, 1, 1, 1, 1] 1 list 9 [1, 1, 1, 6, 1, 1, 1, 83, 3]
3 list 5 [1, 85, 8, 1, 3]
No processo de treino e validação. O teste foi de 20094 e o treino de 80373. Sendo a soma 100467, equivalente ao tamanho (10%) da base de dados ubuntu dialog corpus.
Figura 41:Teste e treino base de dados ubuntu dialog corpus
Etapa II: Treino do modelo
Para este dataset o treino do modelo foi na base dos seguintes parâmetros: um batch_size de 512, 100 épocas, camadas intermediárias 256, optimizador Rmsprop, função de ativação softmax e
dropout de 0.2%. No processo de treino e validação. O teste foi de 20094 e o treino de 80373.
Sendo a soma 100467 (representando 10% do dataset), equivalente ao tamanho da base de dados
Figura 42: Loss base de dados ubuntu dialog corpus
Figura 44:Perplexity ubuntu dialog corpus
Etapa III: Avaliação do modelo Loss (Ubuntu)
Para o treino foi usada a loss de categorical cross-entropy. Comparado o treino (1.24) e a validação (1.22), pela primeira pontuação, houve aprendizagem em diante, nas épocas 78 a 85 na validação a curva de aprendizagem decresce, uma vez que, vai distanciando do ponto 0. Após a época 85, o modelo vai se aproximando do 0, tentando atingir uma pontuação perfeita, conforme se vê na Figura 42.
Acurracy (ubuntu)
A accuracy é uma métrica importante na análise do modelo, uma vez que, serve como indicador de quão o modelo consegue aprender/generalizar.
Nas primeiras 4, 20 a 40 épocas tanto no treino e na validação o modelo atingi overfiting, conforme se vê na Figura 43. Nas épocas 10 assiste uma curva de aprendizagem crescente, tanto no treino e validação nas restantes épocas assiste um modelo que consegue convergir, chegando a atingir uma pontuação máxima de 0.65.
Perplexity (ubuntu)
Nesta etapa vai se analisar a perplexity um dos indicadores de melhor perplexity é quando esta é baixa. Pela Figura 44 a pontuação máxima é do treino (8.2) e validação (9). Por conseguinte, ao fim de 20 épocas a curva de aprendizagem da validação (8.15) tem de aumentar em relação ao treino (8.15) e validação (8.4). Um dado que inverso a perplexity, uma vez quando menor for, diz se pontuação perfeita.
Etapa IV: Discussão dos resultados (caso 1 e 2)
No início desta secção, um dos objetivos passava pela prova de conceito de chatbots em open e
close domain. Pode se afirmar que o mesmo foi alcançado, uma vez que, através de um exemplo
proposto por Osipenko, foi possível ter esta interação [69]. Neste artigo, ao ser implementado, constatou-se através métricas da loss e acurracy, que o modelo não converge melhor. Um dado que constitui um desafio, por aplicar técnicas de otimização para modelo para convergir melhor. Outro dado relevante, foi o fator base de dados, nos casos de estudo. No decorrer do estudo houve contato com duas bases de dados públicas (cornell dialog corpus e ubuntu). A primeira mais genérica, sendo que aborda sobre filmes e tende a responder perguntas genéricas por exemplo (hello, how are you) e a segunda mais caraterística de close domain, pois refere-se a questões técnicas de ubuntu, não fugindo muito caso dos SIC. Umas conclusões destas duas bases de dados é que o desenvolvimento de chatbot em open domain são difíceis, uma vez que existe constante treino para gerar respostas pretendidas e close domain tende a gerar respostas pretendidas pois cinge a um assunto específico. Ainda nas bases de dados, foi possível perceber que os ruídos nas bases de dados influenciam a performance do modelo, entretanto uma excelente preparação de dados é relevante para o modelo convergir.
Outro aspeto relevante tem a ver com o modelo e os parâmetros, tanto no caso 1 e caso 2 a alteração dos modelos ditava o desempenho do modelo.
Comparando o caso 1 e 2, percebe que o caso 2 converge melhor pelo gráfico da accuracy, com uma pontuação máxima de 0.65 (Figura 43). Umas das diferenças dos dois casos, é que segundo caso lida com dados referentes a assistência técnica de ubuntu. Um caso equiparado a chatbots na área de suporte, por exemplo os SIC (lida com serviços específicos).
Além da accuracy, outra métrica que mostra que caso convergir o melhor é a loss e a perplexity. A loss no caso 2, tende a se aproximar se 0, um resultado que evidencia uma saída pretendia e a
perplexity tende a diminuir na validação.
Em suma, nesta prova de conceito no caso 1 e caso 2. O caso que mais se enquadra a realidade dos SIC, seria o proposto no caso 2. Uma vez que, o tipo de base de dados refere a questões técnicas de ubuntu. E mais ao aplicar-se as métricas de (accurracy, losss e perplexity) convergiu melhor comparado com o caso 1. Para o desenvolvimento do chatbot o modelo seq2seq seria ideal para uma implementação inicial, sendo posteriormente melhorado, tendo em conta as diferentes etapas de treino.
6 Considerações Finais
Nesta dissertação foi estudada a proposta de transformação digital do ecossistema de negócios com recurso a um chatbot. Devido a inexistência de um histórico significativo de dados para o desenvolvimento de chatbot, o estudo consistiu no seguinte: desenvolvimento de uma plataforma de configuração da rede sem fios para os utilizadores da UTAD, e efetuados dois exemplos de utilização de ML com chatbots, com o objetivo de fazer uma prova de conceito, dado a inexistência de uma base de dados com exemplos representativos do problema dos SIC.
A plataforma permite interação com os utilizadores na configuração da rede sem fios e deixar opiniões sobre a interação. Estas opiniões são enviadas para o email de contato e guardado na base de dados, para que, no final, seja instrumento de base para desenvolver um chatbot-inteligente com recurso a ML. Além de guardar a opinião na base de dados, a plataforma guarda todas as interações que a página vai tendo usando o sistema de logging (framework laravel).
O sucesso da utilização de ML depende muito da qualidade dos dados disponíveis. Os dois exemplos de utilização de ML com chatbots foram relevantes para este estudo uma vez que permitiram experimentar a interação e desenvolvimento prático das diferentes fases de chatbot de DL. No final da implementação desde dois exemplos, verificou-se que o modelo do exemplo 2 (treinado com uma base de dados com questões técnicas e ubuntu, mais organizada) convergiu melhor do que o modelo do exemplo 1 (treinado com uma base de dados com questões de filmes e genéricas, mais ruidosa). A comparação foi feita com base nas métricas accuracy, loss e
perplexity. Através deste trabalho, foi possível perceber que arquitetura de chatbot poderia ser
proposto para realidade dos SIC, e podemos concluir que a solução adequada a propor seria um
6.1 Conclusão
Ao fim desta dissertação, podemos dizer que os objetivos a que nos propusemos foram alcançados. O primeiro objetivo passava por propor uma arquitetura baseada em árvore de decisão, recolha e armazenamento, numa base de dados. A plataforma implementada permite, através de interação, em primeiro lugar, orientar os utilizadores na configuração de rede sem fios, em segundo lugar, oferecer a opção aos utilizadores de deixar os seus comentários, destes serem guardados em base de dados e enviados automaticamente para o email de contato. Com este trabalho possibilitou-me aprofundar o conhecimento dos processos de suporte dos SICs para a configuração de wifi-
eduroam e o contacto com ferramentas de desenvolvimento web, nomeadamente a programação
em Lavrável com utilização de bases de dados MySQL,
O segundo objetivo dizia respeito ao estudo e exploração de exemplos com chatbot de open e close
domain. Foi feito uma revisão de literatura sobre ML e DL e foram implementados dois modelos seq2seq, treinados com duas bases de dados, configurados e avaliados. Esta tarefa permitiu estudar
e aprender a programar com Python e aprender e utilizar técnicas de ML e de DL aplicadas a dados de texto, nomeadamente através dos processos de preparação dos dados, treino de modelos e avaliação. O estudo e a exploração destes exemplos, revelou-se de grande relevância visto que nos permitiu concluir que a solução que melhor se adequa aos SIC, será o chatbot close domain. Uma vez que os SIC lidam com certos serviços (configuração da rede sem fios) ligados a universidade este modelo seria o mais adequado. Este modelo poderia basear-se em arquitetura seq2seq.
6.2 Síntese da tese
Nesta dissertação foi apresentada uma proposta de transformação digital do ecossistema de negócios com recurso a chatbot. Foram, inicialmente, definidos dois objetivos: Proposta uma arquitetura de arvores de decisão e estudo de exemplos de utilização de chatbot em open e close
domain.
O desenvolvimento plataforma foi feito com recurso a manual de configuração dos SIC referente a configuração da rede sem fios, tendo passado pelas seguintes etapas:
• Desenho das arquiteturas com recurso ao Ludichart;
• Implementação da ferramenta com recurso a framework laravel.
Para o desenvolvimento da segunda parte e, assim, alcançar o segundo objetivo, foi necessário efetuar uma revisão bibliografia, no sentido de perceber o que existe sobre essa temática, nomeadamente o tipo de base de dados utilizadas, preparação de dados, modelos mais utilizados, treino, validação, testes dos dados, métricas, entre outros
Para a realização trabalho há que referir que, houve etapas prévias e que culminaram com a definição dos objetivos acima: o estudo do funcionamento da plataforma eletrónica de suporte, interações constantes com os responsáveis do SIC como também dos colaboradores. Estas interações foram relevantes na definição e clarificação do objetivo do trabalho, como também na validação de, por exemplo, as arvores de decisões, tendo em conta que foram desenhadas com recurso ao manual de configuração em vigor nos SIC.
Em suma o desenvolvimento da ferramenta de configuração de rede sem fios e exemplos de utilização de ML com chatbots são uma mais valia para os SIC. Em primeiro lugar por propor um processo de automatização de serviços prestados pelos SIC e em segundo lugar por propor um
chatbot de DL. A aplicação destes dois recursos vai dar um apoio significativo dos colaboradores
dos SIC, uma vez que, vão focar o seu tempo em outras tarefas.
6.3 Trabalho futuro
Este trabalho não se esgota com a apresentação e defesa desta dissertação. Existem alguns aspetos que poderão ser melhorados e outros complementados com trabalho futuro. Assim, uma das preocupações será a utilização da ferramenta desenvolvida, com o objetivo de recolher o maior número de dados. O melhoramento da ferramenta desenvolvida ao longo deste trabalho será, também, uma proposta de trabalho futuro. Estes melhoramentos deverão permitir uma maior recolha de dados da interação utilizador-plataforma. Com estes dados poderá ser possível desenvolver, como foi proposto no trabalho realizado, um chatbot baseado em DL.
Referências bibliográficas
[1] G. M. D’silva, S. Thakare, S. More, and J. Kuriakose, “Real world smart chatbot for customer care using a software as a service (SaaS) architecture,” in 2017 International Conference on
I-SMAC (IoT in Social, Mobile, Analytics and Cloud) (I-SMAC), 2017, pp. 658–664, doi:
10.1109/I-SMAC.2017.8058261.
[2] R. Wallace, “The anatomy of A.L.I.C.E,” in Parsing the Turing Test, 2009, pp. 181–210. [3] Oliveira and Sara, “FPCEUP - Interfaces Conversacionais – Chatbot para a Casa da Música.
Dissertação de Mestrado,” 2017. .
[4] M. Omar and M. Vasquez, “Chatbot: Apllicaciones Y Controlees De chatbot e Segurida,” 2018, doi: https://www.scribd.com/document/369452292/Chat-Bots#download.
[5] P. B. Brandtzæg and A. Følstad, “Chatbots: changing user needs and motivations,” 38-43, 2018, doi: 10.1145/3236669.
[6] E. G. de Oliveira, K. dos S. Marcondes, E. P. Malere, and H. M. Galvão, “Marketing de serviços: relacionamento com o cliente e estratégias para a fidelização,” Rev. Adm.
UNIFATEA, vol. 2, no. 2, 2009.
[7] L. Amaral and J. Varajão, Planeamento de Sistemas de Informação, FCA-Editora de Informática 2, 225. 2000.
[8] A. Stachowicz-Stanusch and W. Amann, “Artificial intelligence at universities in Poland,”
Organ. Zarządzanie Kwart. Nauk., vol. nr 2, 2018, doi: 10.29119/1899-6116.2018.42.6.
[9] A. R. Hevner, S. T. March, J. Park, and S. Ram, “Design science in information systems research,” MIS Q. Manag. Inf. Syst., vol. 28, no. 1, pp. 75–105, Mar. 2004.
[10] E. Stolterman and A. C. Fors, “Information Technology and the Good Life,” in Information
Systems Research: Relevant Theory and Informed Practice, B. Kaplan, D. P. Truex, D.
Wastell, A. T. Wood-Harper, and J. I. DeGross, Eds. Boston, MA: Springer US, 2004, pp. 687–692.
[11] J. Editors, Handbook of Research on New Literacies. Routledge Handbooks Online, 2008. [12] F. Radlinsk and N. Craswell, “A Theoretical Framework for Conversational Search. Paper
presented at the Proceedings of the 2017 Conference on Conference Human Information Interaction and Retrieval Oslo, Norway,” 2017.
[13] J. Zamora, “I’m Sorry, Dave, I’m Afraid I Can’T Do That: Chatbot Perception and Expectations,” in Proceedings of the 5th International Conference on Human Agent
[14] A. Androutsopoulou, N. Karacapilidis, E. Loukis, and Y. Charalabidis, “Transforming the communication between citizens and government through AI-guided chatbots,” Gov. Inf. Q., Oct. 2018, doi: 10.1016/j.giq.2018.10.001.
[15] R. Singh, M. Paste, N. Shinde, H. Patel, and N. Mishra, “Chatbot using TensorFlow for small Businesses.,” 2018.
[16] I. Jacobs, “‘Chatbot Hell’ Can’t Become a Thing,” 2018. [Online]. Available: https://www.destinationcrm.com/Articles/ReadArticle.aspx?ArticleID=123341. [Accessed: 07-Dec-2019].
[17] C. Werner, G. Tapuc, L. Montgomery, D. Sharma, S. Dodos, and D. Damian, “How Angry are Your Customers? Sentiment Analysis of Support Tickets that Escalate,” in 2018 1st
International Workshop on Affective Computing for Requirements Engineering (AffectRE),
2018, pp. 1–8, doi: 10.1109/AffectRE.2018.00006.
[18] M. Vasconcelos, H. Candello, C. Pinhanez, and T. dos Santos, “Bottester: Testing Conversational Systems with Simulated Users,” in Proceedings of the XVI Brazilian
Symposium on Human Factors in Computing Systems, New York, NY, USA, 2017, pp. 73:1–
73:4, doi: 10.1145/3160504.3160584.
[19] Y. Wu, Z. Li, W. Wu, and M. Zhou, “Response selection with topic clues for retrieval-based chatbots,” Neurocomputing, vol. 316, pp. 251–261, Nov. 2018, doi: 10.1016/j.neucom.2018.07.073.
[20] M. Lapan, Deep Reinforcement Learning Hands-On: Apply modern RL methods, with deep
Q-networks, value iteration, policy gradients, TRPO, AlphaGo Zero and more, 1 edition.
Packt Publishing, 2018.
[21] E. Pratt, “Artificial Intelligence and Chatbots in Technical Communication– A Primer. Tekom. - Pesquisa Google,” 2017. [Online]. Available: https://intelligent-information.blog. [Accessed: 07-Dec-2019].
[22] C. Wei, Z. Yu, and S. Fong, “How to Build a Chatbot: Chatbot Framework and Its Capabilities,” in Proceedings of the 2018 10th International Conference on Machine
Learning and Computing, New York, NY, USA, 2018, pp. 369–373, doi:
10.1145/3195106.3195169.
[23] “Teste de Turing - Inteligência Artificial.” [Online]. Available: https://sites.google.com/site/inteligenciaartificialist/o-que-e-a-inteligencia-artificial/teste- de-turing. [Accessed: 09-Jun-2019].
[24] J. Griffey, A. Yelton, B. Kim, and C. Boman, Artificial intelligence and machine learning in
libraries. 2019.
[25] S. J. Russell, Artificial intelligence : a modern approach /. Prentice Hall, 2010.
[27] J. Heaton, “Ian Goodfellow, Yoshua Bengio, and Aaron Courville: Deep learning: The MIT Press, 2016, 800 pp, ISBN: 0262035618,” Genet. Program. Evolvable Mach., vol. 19, Oct. 2017, doi: 10.1007/s10710-017-9314-z.
[28] J. Brownlee, Machine Learning Mastery With Python Discover The Fastest Growing
Platform For Professional Machine Learning With Step-By-Step Tutorials and End-To-End Projects, 1.11. 2017.
[29] “Botkit: Building Blocks for Building Bots.” [Online]. Available: https://botkit.ai/. [Accessed: 04-May-2019].
[30] “Wit.ai.” [Online]. Available: https://wit.ai/. [Accessed: 04-May-2019].
[31] M. Nuruzzamn and O. Hussian, “A Survey on Chatbot Implementation in Customer Service Industry through Deep Neural Networks | Semantic Scholar,” 2018. [Online]. Available: https://www.semanticscholar.org/paper/A-Survey-on-Chatbot-Implementation-in-
Customer-Deep-Nuruzzaman-Hussain/6bc22a9898755ce86ea688e96cef04fd18b0677a. [Accessed: 07-Dec-2019].
[32] “Chatfuel.” [Online]. Available: https://chatfuel.com/. [Accessed: 05-May-2019].
[33] chrisbasoglu, “The Microsoft Cognitive Toolkit - Cognitive Toolkit - CNTK.” [Online]. Available: https://docs.microsoft.com/en-us/cognitive-toolkit/. [Accessed: 04-May-2019]. [34] “PyTorch.” [Online]. Available: https://www.pytorch.org. [Accessed: 04-May-2019]. [35] E. Liddy, “Natural Language Processing,” Cent. Nat. Lang. Process., Jan. 2001.
[36] D. Khurana, A. Koli, K. Khatter, and S. Singh, “Natural Language Processing: State of The Art, Current Trends and Challenges,” ArXiv170805148 Cs, Aug. 2017.
[37] J. Schmidhuber, “Deep Learning in Neural Networks: An Overview,” Neural Netw., vol. 61, pp. 85–117, Jan. 2015, doi: 10.1016/j.neunet.2014.09.003.
[38] J. Brownlee, “Gentle Introduction to the Adam Optimization Algorithm for Deep Learning,”
Machine Learning Mastery, 02-Jul-2017. [Online]. Available: https://machinelearningmastery.com/adam-optimization-algorithm-for-deep-learning/. [Accessed: 05-Dec-2019].
[39] “Redes Neurais Artificiais.” [Online]. Available:
http://conteudo.icmc.usp.br/pessoas/andre/research/neural/. [Accessed: 19-Aug-2019]. [40] H. Simon, Redes Neurais, Princípios e Prática, 2. ed. [S.l.]:Bookman,. 1999.
[41] F. Chollet, Deep learning with Python. Shelter Island, New York: Manning Publications Co, 2018.
[42] C. M. Bishop, Neural Networks for Pattern Recognition. New York, NY, USA: Oxford University Press, Inc., 1995.
[43] Y. LeCun, Y. Bengio, and G. Hinton, “Deep learning,” Nature, vol. 521, no. 7553, pp. 436– 444, May 2015, doi: 10.1038/nature14539.
[44] “Activation Functions — ML Cheatsheet documentation.” [Online]. Available: https://ml- cheatsheet.readthedocs.io/en/latest/activation_functions.html#linear. [Accessed: 05-May- 2019].
[45] R. Sebastian, “] An overview of gradient descent optimization algorithms,” 2017. [Online]. Available: https://arxiv.org/abs/1609.04747. [Accessed: 06-Dec-2019].
[46] “convolutional neural network - Pesquisa Google.” [Online]. Available: https://www.google.com/search?biw=1347&bih=588&tbm=isch&sa=1&ei=TQTUXLLSJJ OCjLsPou6TqA0&q=convolutional+neural+network&oq=convolutional+neural+network& gs_l=img.3...0.0..74186...0.0..0.0.0...1...gws-wiz-
img.sy75Pad7Oik#imgrc=Hep460cPUfFy_M: [Accessed: 09-May-2019].
[47] S. Han et al., “DSD: Dense-Sparse-Dense Training for Deep Neural Networks,”
ArXiv160704381 Cs, Feb. 2017.
[48] “word embeddings - Pesquisa Google.” [Online]. Available: https://www.google.com/search?q=word+embeddings&source=lnms&tbm=isch&sa=X&ve d=0ahUKEwi16fbM2I7iAhWi1uAKHTvrDnYQ_AUIDigB&biw=1680&bih=890#imgrc= Mb4mPAqyznfSRM: [Accessed: 09-May-2019].
[49] “long short term memory neural network - Pesquisa Google.” [Online]. Available: https://www.google.com/search?q=long+short+term+memory+neural+network&source=ln ms&tbm=isch&sa=X&ved=0ahUKEwiH_YT41o7iAhVsD2MBHTRwCH4Q_AUIDigB&b iw=1680&bih=890#imgrc=Z6SRsEtiIyufXM: [Accessed: 09-May-2019].
[50] O. Vinyals and Q. Le, A Neural Conversational Model. 2015.
[51] “Sequence to Sequence - Pesquisa Google.” [Online]. Available: https://www.google.com/search?q=Sequence+to+Sequence&source=lnms&tbm=isch&sa= X&ved=0ahUKEwjIle-
h2o7iAhVwA2MBHUlTB3wQ_AUIDigB&biw=1680&bih=890#imgrc=ETlclKR- J3PPoM: [Accessed: 09-May-2019].
[52] M. Nielsen, “Neural Networks and Deep Learning,” 2015. [Online]. Available: https://www.goodreads.com/work/best_book/44188868-neural-networks-and-deep-
learning. [Accessed: 07-Dec-2019].
[53] D. Britz, “Deep Learning for Chatbots, Part 1 – Introduction,” WildML, 07-Apr-2016. [Online]. Available: http://www.wildml.com/2016/04/deep-learning-for-chatbots-part-1- introduction/. [Accessed: 04-Dec-2019].
[54] Tom Young, Devamanyu Hazarika, Soujanya Poria, and Erik Cambria, Recent Trends in
Deep Learning Based Natural Language Processing, 13 vols. IEEE Computational
[55] J. Brownlee, “A Gentle Introduction to Calculating the BLEU Score for Text in Python,”
Machine Learning Mastery, 19-Nov-2017. [Online]. Available: https://machinelearningmastery.com/calculate-bleu-score-for-text-python/. [Accessed: 04- Dec-2019].
[56] D. Raj, “Metrics for NLG evaluation,” Medium, 16-Sep-2017. [Online]. Available: https://medium.com/explorations-in-language-and-learning/metrics-for-nlg-evaluation- c89b6a781054. [Accessed: 11-Dec-2019].
[57] R. Lowe, N. Pow, I. Serban, and J. Pineau, “The Ubuntu Dialogue Corpus: A Large Dataset for Research in Unstructured Multi-Turn Dialogue Systems,” ArXiv150608909 Cs, Feb. 2016.
[58] G. Aalipour, P. Kumar, S. Aditham, T. Nguyen, and A. Sood, “Applications of Sequence to Sequence Models for Technical Support Automation,” 2018, pp. 4861–4869, doi: 10.1109/BigData.2018.8622395.
[59] UTAD, Plano Atividades Serviços. UTAD, 2013.
[60] J. Brownlee, Deep Learning for Natural Language Processing, V1.11. 2017. [61] B. Shneiderman and C. Plaisant, “Designing the User Interface 4th Ed,” Jan. 2005.
[62] 14:00-17:00, “ISO 9241-210:2010,” ISO. [Online]. Available: http://www.iso.org/cms/render/live/en/sites/isoorg/contents/data/standard/05/20/52075.html . [Accessed: 07-Dec-2019].
[63] M. Kantardzic, Data mining: concepts, models, methods and algorithms, 2. ed. New Jersey: : John Wiley & Sons. 2011.
[64] M. Stauffer, Laravel: Up & Running. .
[65] “Logging - Laravel - The PHP Framework For Web Artisans.” [Online]. Available: https://laravel.com/docs/5.6/logging#writing-log-messages. [Accessed: 31-Dec-2019]. [66] S. Raval, This is the code for “Chatbot Tutorial” by Siraj Raval on Youtube :
llSourcell/chatbot_tutorial. 2019.
[67] A. Osipenko, “Building ChatBot — Weekend of a Data Scientist,” Medium, 30-May-2019.