Julho de 2024 – Vol. 29 – Nº 7
Nota do Editor
Uma introdução bastante completa foi publicada em 2020 pela Elsevier. Um pouco difícil para quem não está acostumado com o campo, se torna imprescindível ler este artigo publicado pela ELSEVIER. Para os não versados vai ser um desafio, para os que já tem interesse no campo é uma bela análise deste fenômeno dos Chatbots.
Artigo publicado em: Article in Machine Learning with Applications · November 2020
Published by Elsevier Ltd. This is an open access article under the CC BY-NC-ND license (http://creativecommons.org/licenses/by-nc-nd/4.0/).
Link para o artigo original com as imagens
CHATBOTS: HISTORY, TECHNOLOGY, AND APPLICATIONS
Eleni Adamopoulou ∗, Lefteris Moussiades
Department of Computer Science, International Hellenic University, Agios Loukas, 65404 Kavala, Greece
(Declaração de contribuição de autoria CRediT Eleni Adamopoulou: Investigação, Validação, Escrita – rascunho original, Visualização. Lefteris Moussiades: Conceituação, Metodologia, Supervisão, Redação – revisão e edição, Administração de projetos. Agradecimentos Este trabalho é parcialmente apoiado pelo programa MPhil ‘‘Tecnologias Avançadas em Informática e Computadores’’, organizado pelo Departamento de Ciência da Computação, Universidade Helênica Internacional)
Machine Learning with Applications 2 (2020) 100006 Contents lists available at ScienceDirect Machine Learning with Applications journal homepage: www.elsevier.com/locate/mlwa Chatbots: History, technology, and applications Eleni Adamopoulou ∗ , Lefteris Moussiades Department of Computer Science, International Hellenic University, Agios Loukas, 65404 Kavala, Greece A R T I C L E I N F O Keywords: Chatbot Pattern matching Machine learning Natural dialog interfaces Natural language processing Human–computer interaction
A B S T R A C T: This literature review presents the History, Technology, and Applications of Natural Dialog Systems or simply chatbots. It aims to organize critical information that is a necessary background for further research activity in the field of chatbots. More specifically, while giving the historical evolution, from the generative idea to the present day, we point out possible weaknesses of each stage. After we present a complete categorization system, we analyze the two essential implementation technologies, namely, the pattern matching approach and machine learning. Moreover, we compose a general architectural design that gathers critical details, and we highlight crucial issues to take into account before system design. Furthermore, we present chatbots applications and industrial use cases while we point out the risks of using chatbots and suggest ways to mitigate them. Finally, we conclude by stating our view regarding the direction of technology so that chatbots will become really smart.
- Introdução
A inteligência artificial (IA) influenciou a forma como nos envolvemos nas nossas atividades diárias, concebendo e avaliando aplicações e dispositivos avançados, chamados agentes inteligentes, que podem desempenhar diversas funções. Um chatbot é um programa de inteligência artificial e um modelo de interação humano-computador (HCI) (Bansal & Khan, 2018). De acordo com o dicionário, chatbot é ‘‘Um programa de computador projetado para simular conversas com usuários humanos, especialmente pela Internet’’ (Chatbot |Definição de chatbot em inglês por Lexico Dictionaries, 2019). Ele usa Processamento de Linguagem Natural (PNL) e análise de sentimentos para se comunicar em linguagem humana por texto ou fala oral com humanos ou outros chatbots (Khanna et al., 2015). Entidades de conversação artificial, agentes interativos, bots inteligentes e assistentes digitais também são conhecidos como chatbots. Além de imitar a interação humana e divertir as pessoas, os chatbots são úteis em vários outros campos da educação, negócios e comércio eletrônico, saúde e entretenimento (Shawar & Atwell, 2007). A produtividade é a motivação mais importante para os usuários do chatbot, embora diferentes motivações incluam entretenimento, fatores sociais e interação com novidades. Além disso, nos negócios, os chatbots tornaram-se muito comuns porque reduzem os custos de serviço e podem atender muitos clientes simultaneamente. Os chatbots são mais amigáveis e atraentes para os usuários do que, por exemplo, a pesquisa de conteúdo estático em listas de perguntas frequentes (FAQs).
Oferecem aos usuários uma assistência confortável e eficiente na comunicação com eles; proporcionam-lhes respostas mais envolventes, respondendo diretamente aos seus problemas (Brandtzaeg & Følstad, 2017) (R. Ranoliya, Raghuwanshi, & Singh, 2017). Na maioria das vezes, os utilizadores sentem os chatbots como companheiros amigáveis e não apenas como meros assistentes (Costa, 2018). Quarenta por cento (40%) das solicitações dos usuários são mais emocionais do que informativas (Xu, Liu, Guo, Sinha, & Akkiraju, 2017). É a evolução do aprendizado de máquina e da análise de sentimento que equipou os chatbots com a capacidade de responder emocionalmente aos clientes (Følstad, Bertinussen Nordheim, & Alexander Bjørkli, 2018). O grau de confiança que um chatbot ganha com a sua utilização depende de fatores relacionados ao seu comportamento, aparência e outros relacionados à sua fabricação, questões de privacidade e proteção (Wallace, 2009). O desenvolvimento desta relação de confiança também é apoiado pelo nível em que o chatbot é humano, o que depende das características visuais, da proximidade do seu nome com uma pessoa, da sua personalidade e da sua eficiência em lidar com a linguagem humana ( Vá e Sundar, 2019).
A emoção é outro aspecto essencial para humanizar um chatbot, e tem havido muitas abordagens para construir um chatbot emocionalmente consciente (Pamungkas, 2019). Os desenvolvimentos em IA aprimoram as habilidades dos chatbots para imitar agentes humanos em conversas. No entanto, a comunicação humano-chatbot apresenta diferenças visíveis no conteúdo e na qualidade em comparação com a discussão humano-humano. A duração de uma conversa humano-chatbot é longa. As pessoas costumam usar uma linguagem concisa com vocabulário pobre ou até mesmo uma linguagem ruim (Hill, Randolph Ford, & Farreras, 2015).
É importante notar que a diferença crucial entre chatbots e humanos é a percepção de empatia, uma vez que os chatbots são menos capazes de compreensão conversacional do que os humanos. No entanto, estão a ser feitos progressos e os chatbots estão gradualmente a tornar-se mais conscientes dos sentimentos do seu interlocutor (Fernandes, 2018).
Além disso, a comunicação humano-chatbot muda dependendo da divulgação ou não do interlocutor. Os chatbots não divulgados são quatro vezes mais produtivos do que a equipe de vendas novata, e sua capacidade atinge a dos funcionários especializados em compras de consumo (Luo, Tong, Fang, & Qu, 2019). No entanto, a percepção humana subjetiva faz com que as pessoas considerem os chatbots divulgados menos informados e emocionalmente inteligentes. Assim, quando os clientes descobrem durante uma conversa que estão falando com um chatbot, ficam chateados e compram menos produtos. Portanto, foi utilizado um método de divulgação retardada de um chatbot (Luo et al., 2019). Em Mori, MacDorman e Kageki (2012), a chamada “teoria do vale misterioso” examina os sentimentos desconfortáveis que uma pessoa experimenta quando não sabe se o interlocutor é um humano ou um programa de computador (Skjuve , Haugstveit, Følstad e Brandtzaeg, 2019). A personificação e o contato nas revelações das pessoas sobre temas delicados, como estressores sociais, também foram examinados (Sannon, Stoll, DiFranzo, Jung, & Bazarova, 2018). Embora vivamos numa época em que o nosso interlocutor pode ser uma pessoa real ou um chatbot sem se importar com a sua verdadeira identidade (Dale, 2016), fica exposto um preconceito contra o género (Costa, 2018). A maioria dos chatbots são normalmente usados como assistentes pessoais e secretárias para executar atividades que imitam estereótipos tradicionalmente femininos e transmitem essas características através de comportamentos estereotipados.
Neste contexto, definimos a questão de investigação desta revisão de literatura da seguinte forma: Qual a evolução e o estado atual da tecnologia dos chatbots e das suas aplicações? Nosso objetivo é, por meio de uma investigação descritiva da questão de pesquisa, organizar informações críticas que sejam um pano de fundo necessário para futuras atividades de pesquisa na área de chatbots. Neste contexto, apresentamos o histórico de evolução dos chatbots e apontamos as desvantagens em cada fase; Também apresentamos as diferentes abordagens para a construção de chatbots e discutimos aplicações de chatbots e casos de uso industrial. A principal contribuição do nosso trabalho consiste em:
• Aprimoramos o sistema de classificação de chatbots proposto por (Ni mavat & Champaneria, 2017) adicionando a categoria ‘Permissões’, que distingue os chatbots de Open Source ou comerciais e ampliando a categoria ‘Canal de comunicação’ adicionando a entrada de imagem. • Propomos um projeto arquitetônico para chatbots que seja geral, inclua detalhes suficientes e completo em comparação com outros trabalhos relacionados. • Destacamos questões críticas que todo desenvolvedor deve levar em consideração antes do design do chatbot. • Apontamos as desvantagens dos chatbots atuais e comentamos como podemos mitigá-las. • Declaramos a nossa visão sobre a direção que a tecnologia deve tomar para que os chatbots atendam às necessidades da comunicação humana através da fala. O resto do artigo está estruturado da seguinte forma. Na Seção 2, fazemos um retrospecto histórico desde o início da criação do chatbot até os dias atuais, destacando o interesse da comunidade científica. Depois, na Secção 3, propomos uma classificação dos chatbots existentes. As abordagens de correspondência de padrões e aprendizado de máquina são descritas na Seção 4. Na Seção 5, sugerimos uma arquitetura geral do chatbot, enquanto na Seção 6 discutimos questões relacionadas ao desenvolvimento do chatbot. Na Seção 7 são abordadas as fraquezas e ameaças dos chatbots, enquanto na Seção 8 são apresentadas algumas aplicações de chatbots. Finalmente, na Seção 9, relatamos as limitações deste estudo, discutimos suas implicações e apresentamos nossa visão sobre a direção que a tecnologia deve tomar.
2. História
Em 1950, Alan Turing questionou-se se um programa de computador poderia falar com um grupo de pessoas sem perceber que o seu interlocutor era artificial. Esta questão, denominada teste de Turing, é considerada por muitos como a ideia generativa dos chatbots (Turing, 1950). O primeiro chatbot com nome ELIZA foi construído em 1966. ELIZA simulou a operação de um psicoterapeuta, retornando as frases do usuário na forma interrogativa Weizenbaum (1966). Sua capacidade de comunicação era limitada, mas serviu de fonte de inspiração para o posterior desenvolvimento de outros chatbots (Klopfenstein, Delpriori, Malatini, & Bogliolo, 2017). ELIZA utiliza correspondência de padrões e um esquema de seleção de respostas baseado em modelos (Brandtzaeg & Følstad, 2017). Uma desvantagem de ELIZA é que o seu conhecimento é limitado e, portanto, só pode ser discutido num determinado domínio de tópicos. Além disso, não consegue manter longas conversas e não consegue aprender ou descobrir o contexto da discussão.
Em 1972 apareceu PARRY; Agiu como um paciente com esquizofrenia (Colby, Weber, & Hilf, 1971). PARRY é considerado mais avançado do que ELIZA, pois supostamente tem uma “personalidade” e uma melhor estrutura de controle. Define suas respostas com base em um sistema de suposições e “respostas emocionais” ativadas pela mudança de pesos nas declarações do usuário (Colby, Hilf, Weber, & Kraemer, 1972). PARRY foi usado em um experimento em 1979, quando cinco juízes psiquiatras entrevistaram por teletipo um paciente para decidir se ele era um programa de computador ou um paciente esquizofrênico real. Portanto, os psiquiatras deram dez diagnósticos. O primeiro psiquiatra deu dois diagnósticos corretos; outro deu duas incorretas. O terceiro considerou que ambos os sujeitos eram pacientes reais, e os outros dois diagnosticaram que ambos os sujeitos eram chatbots (Heiser, Colby, Faught, & Parkison, 1979). No entanto, a amostra de cinco psiquiatras é pequena e o significado dos resultados não é claro, uma vez que as pessoas com esquizofrenia apresentam um certo grau de incoerência no seu discurso. Em geral, o PARRY é considerado um chatbot com baixas capacidades no que diz respeito à compreensão da linguagem e à capacidade de expressar emoções. Ele também tem uma baixa velocidade de resposta e não consegue aprender com a conversa. A Inteligência Artificial é utilizada pela primeira vez no domínio dos chatbots com a construção do Jabberwacky em 1988 (Jabberwacky, 2019). O Jabberwacky foi escrito em CleverScript, uma linguagem baseada em planilhas que facilitou o desenvolvimento de chatbots, e utilizou correspondência de padrões contextuais para responder com base em discussões anteriores. Ainda assim, o Jabberwacky não consegue responder à alta velocidade e trabalhar com um grande número de usuários (Jwala, 2019). O termo Chatterbot foi mencionado pela primeira vez em 1991. Era um jogador artificial TINY MUD (mundo virtual multijogador em tempo real), cuja função principal era conversar. Muitos jogadores humanos reais pareciam preferir falar com o Chatterbot do que com um jogador real.
O Chatterbot teve sucesso porque, no mundo TINYMUD, os jogadores presumiam que todos eram humanos e só poderiam causar dúvidas se cometessem um erro significativo (Mauldin, 1994). Sbaitso (Sound Blaster Artificial Intelligent Text to Speech Operador) (Dr. Sbaitso, 2019), um chatbot criado em 1992, foi projetado para exibir as vozes digitalizadas que as placas de som eram capazes de produzir. Desempenhava o papel de psicólogo sem qualquer tipo de interação complicada (Zemčík, 2019). Outro avanço na história dos chatbots foi a criação, em 1995, do ALICE (Artificial Linguistic Internet Computer Entity), o primeiro chatbot online inspirado em ELIZA (Wallace, 2009). ALICE baseou-se na correspondência de padrões, sem qualquer percepção real de toda a conversa (Marietto et al., 2013), mas com uma capacidade de discussão na web que permitia extensão e incluía qualquer tópico. No entanto, foram necessários alguns anos até que fosse melhorado para ganhar o título do Prémio Loebner do melhor programa de computador semelhante ao humano (Bradeško & Mladenić, 2012). ALICE foi desenvolvido com uma nova linguagem criada para esse fim, Artificial Intelligence Markup Language (AIML), que é a diferença mais crítica entre ALICE e ELIZA. A Base de Conhecimento da ALICE consistia em cerca de 41.000 modelos e padrões relacionados, um número vasto comparado ao ELIZA que tinha apenas 200 palavras-chave e regras (Heller, Procter, Mah, Jewell, & Cheung, 2005). No entanto, ALICE não possuía características inteligentes e não conseguia gerar respostas humanas que expressassem emoções ou atitudes.
Em 2001, houve uma verdadeira evolução na tecnologia chatbot com o desenvolvimento do SmarterChild (Molnár & Zoltán, 2018), que estava disponível em Messengers como America Online (AOL) e Microsoft ). Foi a primeira vez que um chatbot pôde ajudar as pessoas em tarefas práticas do dia a dia, pois conseguia recuperar informações de bancos de dados sobre horários de filmes, resultados esportivos, preços de ações, notícias e previsão do tempo. Essa habilidade marcou um desenvolvimento significativo tanto na inteligência da máquina quanto nas trajetórias de interação humano-computador, uma vez que os sistemas de informação poderiam ser acessados por meio de discussão com um chatbot.
O desenvolvimento de chatbots de Inteligência Artificial deu um passo adiante com a criação de assistentes de voz pessoais inteligentes, integrados em smartphones ou alto-falantes domésticos dedicados, que entendiam comandos de voz, falados por vozes digitais, e realizavam tarefas como monitoramento de dispositivos automatizados domésticos, calendários, e-mail e outros. Apple Siri (Siri), IBM Watson (Watson Assistant | IBM Cloud, 2020), Google Assistant (Google Assistant, seu próprio Google pessoal, 2019), Microsoft Cortana (Personal Digital Assistant — Cortana Home Assistant — Microsoft, 2019) e Amazon Alexa (O que exatamente é Alexa? De onde ela vem? E como ela funciona?, 2019) são os assistentes de voz mais populares. Existem também muitos outros assistentes de voz menos famosos que possuem características únicas, mas com as mesmas funções principais. Ligam-se à Internet e, ao contrário dos seus antecessores, criam rapidamente respostas significativas (Hoy, 2018). Siri (Siri), desenvolvido pela Apple em 2010, foi pioneiro no caminho para assistentes pessoais. Os usuários fazem consultas e conversam com ele por meio de Messengers por meio de comandos de voz, e inclui integração com arquivos de áudio, vídeo e imagem. O Siri faz recomendações e responde às solicitações dos usuários por meio de diversos serviços da Internet, ao mesmo tempo que se adapta, com uso constante, aos usos, pesquisas e desejos de linguagem dos usuários (Siri, 2020). Embora o Siri seja sofisticado, ele apresenta pontos fracos. Requer uma conexão com a internet. É multilíngue, mas há muitos idiomas que não suporta, enquanto as instruções de navegação são suportadas apenas em inglês. Também apresenta dificuldades em ouvir o interlocutor, que possui sotaque pesado ou na presença de ruídos (Soffar, 2019).
Em 2011, um chatbot chamado Watson (Watson Assistant | IBM Cloud, 2020) foi criado pela IBM. Watson conseguiu entender a linguagem humana natural bem o suficiente para vencer dois campeões anteriores na competição de perguntas e respostas “Jeopardy”, na qual os participantes recebiam algumas informações na forma de respostas e deveriam adivinhar as perguntas correspondentes.
Anos mais tarde, o Watson permitiu que as empresas criassem assistentes virtuais melhores. Além disso, o Watson Health foi projetado para ajudar médicos na área da saúde a diagnosticar doenças. No entanto, uma desvantagem do Watson é que ele oferece suporte apenas ao inglês.
O Google Now (Google now, 2020), desenvolvido em 2012, foi inicialmente utilizado para fornecer informações ao usuário levando em consideração a hora do dia, localização e preferências. O Google Assistant (Google Assistant, seu Google pessoal, 2019), desenvolvido em 2016, constitui a próxima geração do Google Now. Possui uma inteligência artificial mais aprofundada com uma interface mais amigável e conversacional e entrega informações aos usuários prevendo suas necessidades. Porém, ele não possui personalidade e suas perguntas podem violar a privacidade do usuário, pois está vinculado diretamente à sua Conta Google. A Microsoft projetou um assistente pessoal Cortana desenvolvido em 2014 (Personal Digital Assistant — Cortana Home Assistant — Microsoft, 2019). Ele reconhece comandos de voz e executa tarefas como identificação de hora e posição, oferece suporte a lembretes baseados em pessoas, envia e-mails e textos, cria e gerencia listas, bate-papo, joga jogos e encontra informações solicitadas pelo usuário. A principal desvantagem da Cortana relatada é que ela pode executar um programa que instala malware (a falha de segurança da Cortana significa que seu PC pode estar comprometido, 2018).
No mesmo ano, a Amazon (O que exatamente é Alexa? De onde ela vem? E como ela funciona?, 2019) introduziu Alexa, que está integrada em dispositivos para automação residencial e entretenimento e tornando assim a Internet das Coisas (IoT ) mais acessível aos humanos. Uma inovação é que os desenvolvedores podem usar o Alexa Skills Kit (ASK) para criar e publicar habilidades Alexa gratuitas ou pagas. Conforme relatamos na Seção 7, Alexa apresenta problemas de segurança. Embora os assistentes pessoais de voz permitam a comunicação por voz com os seus utilizadores, ocorrem frequentemente mal-entendidos, uma vez que não conseguem compreender a linguagem específica que as pessoas utilizam na fala oral ou não conseguem compreender todo o contexto da conversa. No início de 2016, ocorreu uma evolução da Tecnologia de Inteligência Artificial que mudou drasticamente a forma como as pessoas se comunicam com os fabricantes. As plataformas de mídia social permitiram que os desenvolvedores criassem chatbots para sua marca ou serviço, a fim de permitir que os clientes realizassem ações diárias específicas em seus aplicativos de mensagens. No final de 2016, 34.000 chatbots cobriam uma vasta gama de utilizações (Wizu, 2018) em áreas como Marketing, Sistemas de Apoio, Cuidados de Saúde, Entretenimento, Educação e Património Cultural. Milhares de chatbots baseados em texto com recursos específicos foram desenvolvidos para plataformas populares de mensagens, soluções industriais e pesquisas (Dale, 2016).
Além disso, a Internet das Coisas (IoT) introduziu uma nova era de objetos inteligentes conectados, onde o uso de chatbots melhorou a comunicação entre eles (Kar & Haldar, 2016). Vale destacar também o Microsoft XiaoIce, que é um chatbot de IA que satisfaz a necessidade humana de sociabilidade. Além da personalidade, sua contribuição para o desenvolvimento dos chatbots é o fato de possuir quociente inteligente e emocional (QI-EQ). Estabelece relações afetivas duradouras com seus usuários, levando em consideração as peculiaridades culturais e questões éticas (Zhou, Gao, Li, & Shum, 2019). A forma como os chatbots hoje em dia se envolvem em discussões é totalmente diferente da sua antecessora Eliza. Eles podem compartilhar pensamentos pessoais e eventos dramáticos familiares, ser relevantes, mas também confusos, e enganar, assim como os humanos (Shah, Warwick, Vallverdú, & Wu, 2016). Observou-se um aumento crescente na utilização de chatbots, principalmente a partir de 2016). O país que tem demonstrado maior interesse de pesquisa em chatbots são os EUA, enquanto o Reino Unido e o Japão seguem com menos de um terço do número de artigos publicados nos EUA.
3. Categorias de chatbots
Cada categoria foi definida com base em um critério simples, e um chatbot pode pertencer a mais de uma categoria ao mesmo tempo. Um chatbot pode acessar uma gama de conhecimentos, o que determina seu Domínio de Conhecimento. Chatbots que podem responder a qualquer pergunta do usuário de qualquer domínio são chamados de chatbots genéricos. Chorus (Chorus— A Crowd-Powered Conversational Agent on Google Hangouts, 2020) é um exemplo de chatbot genérico. Chatbots como Guardian (Good & Wilk, 2016), CRQA (Savenkov & Agichtein, 2016) ou AskWiz que operam em mais de um domínio são chatbots cruzados ou de domínio aberto. Em contraste, chatbots específicos de domínio, como InstuctableCrowd, Legion: Mobile ou SnapTravel, podem responder apenas a perguntas relativas a um domínio de conhecimento específico (Kucherbaev, Bozzon, & Houben, 2018). Os chatbots que oferecem serviços como reservas em restaurantes, companhias aéreas ou pesquisas em FAQ sem ser um companheiro amigável, pertencem aos chatbots interpessoais. Os chatbots intrapessoais são companheiros próximos que vivem no domínio do usuário e entendem suas necessidades. Eles geralmente estão conectados a aplicativos de mensagens como Slack e WhatsApp. Finalmente, os chatbots interagentes fornecem comunicação com outros chatbots. Alexa e Cortana são dois chatbots que foram integrados para se comunicarem (Nimavat & Champaneria, 2017). O objetivo principal que um chatbot pretende alcançar classifica-os em formativos, Chatbots baseados em bate-papo/conversacionais e baseados em tarefas. Quando os usuários se comunicam com um chatbot para obter informações específicas armazenadas em uma fonte fixa, são usados chatbots informativos como Guardian, Facebook M ou FAQ. Os chatbots baseados em bate-papo/conversacionais mantêm uma conversa natural com o usuário, como uma pessoa real faria. Por fim, os chatbots baseados em tarefas lidam com diferentes funções, como reserva de salas, e são excelentes para solicitar informações e responder adequadamente ao usuário (Kucherbaev et al., 2018)(Nimavat & Champaneria, 2017).
Resultados da pesquisa no Scopus (visualização do Scopus—Scopus—Welcome to Scopus, 2020), de 1966 a 2019 para as palavras-chave ”chatbot” ou ”agente de conversação” ou ”interface conversacional”. 2. Resultados da pesquisa no Scopus (Scopus preview—Scopus—Welcome to Scopus, 2020) de 1966 a 2019 para as palavras-chave ”chatbot” ou ”conversation agent” ou ”conversational interface” por país ou território .
O método de geração de resposta separa os chatbots em chatbots baseados em regras, baseados em recuperação e baseados em generativos, que analisaremos na próxima seção (Hien, Cuong, Nam, Nhung, & Thang, 2018). Em alguns casos onde é necessária mais flexibilidade, a operação de um chatbot pode ser combinada com a intervenção humana. Um chatbot mediado por humanos usa computação humana em pelo menos uma parte dele. Os chatbots totalmente autônomos podem ter pontos fracos que podem ser superados pela equipe que trabalha para integrar sua inteligência neles. No entanto, a computação humana carece de velocidade no processamento da informação e é inevitável lidar com uma grande quantidade de solicitações dos utilizadores (Kucherbaev et al., 2018). Dependendo das Permissões fornecidas pelos formulários da plataforma de desenvolvimento, os chatbots podem ser divididos em Código Aberto ou Comercial, que discutiremos mais detalhadamente na Seção 9. Por fim, outra classificação depende do canal de comunicação que os chatbots utilizam, que pode ser texto, voz, imagem, ou todas elas.
Os chatbots mais recentes agora podem reagir a imagens e, além de reconhecer objetos nas imagens, também podem comentar sobre elas e expressar suas emoções (Shum, He, & Li, 2018).
4. Abordagens de chatbot
Existem duas abordagens no desenvolvimento de um chatbot dependendo dos algoritmos e das técnicas adotadas: correspondência de padrões e abordagens de aprendizado de máquina.
4.1. Abordagens de correspondência de padrões
Os chatbots baseados em regras combinam a entrada do usuário com um padrão de regra e selecionam uma resposta predefinida de um conjunto de respostas com o uso de algoritmos de correspondência de padrões. O contexto também pode contribuir para a seleção das regras e o formato da resposta (Marietto et al., 2013). ELIZA e sua sucessora ALICE foram os primeiros chatbots a usar correspondência de padrões. Ao mesmo tempo, enquanto PARRY, PC Therapist III, Chatterbot em ‘‘TinyMUD’’, TIPS, FRED, CONVERSE, HEX, Albert e Jabberwacky (Bradeško & Mladenić, 2012; Masche & Le, 2018) utilizam esta técnica. Os sistemas baseados em regras, normalmente, não criam novas respostas, pois o conhecimento utilizado é escrito pelo desenvolvedor na forma de padrões conversacionais (Ramesh, Ravishankaran, Joshi, & Chandrasekaran, 2017). Quanto mais extenso for o banco de dados com as regras, mais capaz de um chatbot é responder às perguntas do usuário. Como são necessárias muitas regras para que esse tipo de chatbot funcione corretamente, fica difícil lidar com erros gramaticais e sintáticos nas respostas do usuário. Cleverbot, Chatfuel e Watson são alguns chatbots baseados em regras (Ramesh et al., 2017). Na maioria dos chatbots baseados em regras para comunicação de turno único, a resposta é selecionada levando em consideração apenas a última resposta. Humanos, como os chatbots, usam uma seleção de respostas multivoltas em que cada resposta é usada como feedback para escolher uma resposta que seja normal e apropriada para todo o contexto (Wu, Wu, Xing, Zhou, & Li, 2016). A desvantagem da abordagem de correspondência de padrões é que as respostas são automatizadas, repetidas e não têm a originalidade e a espontaneidade da resposta humana (Ramesh et al., 2017). Por outro lado, há um tempo de resposta rápido, pois não é realizado um exame sintático ou semântico mais profundo do texto de entrada (Jia, 2009). Nas subseções a seguir, três das linguagens mais comuns para implementação de chatbots com abordagem de correspondência de padrões são descritas e comparadas em suas funcionalidades básicas.
Linguagem de Marcação de Inteligência Artificial (AIML)
Essas linguagens são AIML, Rivescript e Chatscript. Linguagem de Marcação de Inteligência Artificial (AIML) durante os anos de 1995 a 2000, os desenvolvedores criaram a Linguagem de Marcação de Inteligência Artificial (AIML) (Marietto et al., 2013), para construir a Base de Conhecimento dos chatbots que adotaram a abordagem Pattern Matching. É baseado em XML e é de código aberto. ALICE foi o primeiro chatbot com Base de Conhecimento implementada na linguagem AIML. Graças à sua usabilidade, facilidade de aprendizagem e execução e à disponibilidade de coleções AIML pré-autoradas, o AIML é a linguagem de chatbot mais utilizada (Arsovski, Muniru, & Cheok, 2017). Os objetos de dados AIML consistem em tópicos, que incluem categorias relevantes para eles. Uma categoria é uma regra do chatbot, que possui um padrão para representar a entrada do usuário e um modelo para descrever a resposta do chatbot. O padrão pode incluir palavras, símbolos curinga e espaços simples. Todas as categorias são armazenadas em um objeto chamado Graphmaster, que tem a forma de uma árvore com seus nós representando as categorias e suas folhas representando os templates que são as respostas do chatbot. AIML usa uma técnica de correspondência de padrões que realiza uma primeira pesquisa profunda no Graphmaster para encontrar o melhor padrão (Wallace, 2009). Um chatbot implementado com AIML é, até certo ponto, sensível ao contexto. Ele pode responder à entrada do usuário de diferentes maneiras aleatoriamente ou com base no valor das variáveis atualizadas durante a conversa. Na Figura 4 demonstramos uma parte de uma Base de Conhecimento escrita em AIML.
Considerando o código AIML da Fig. 4, uma possível conversa entre um usuário e um chatbot poderia ser a seguinte (Fig. 5): Vale ressaltar que AIML, e outras linguagens de correspondência de padrões, às vezes são usadas em conjunto com Latent Análise Semântica (LSA) ou outras técnicas. Por exemplo, a AIML pode responder a questões baseadas em modelos específicos, enquanto questões que não podem ser respondidas desta forma podem utilizar LSA para a produção de respostas (Nt, 2016).
RiveScript (Linguagem de Script de Inteligência Artificial — RiveScript.com, 2019), criada em 2009, é uma linguagem de script baseada em linhas que implementa a Base de Conhecimento em chatbots baseados em regras. É de código aberto e possui interfaces disponíveis para diversas linguagens de programação, como Java e Python. Na sintaxe do RiveScript, o símbolo ‘‘+’’ indica uma entrada do usuário, enquanto ‘‘-’’ denota a resposta do chatbot. O intérprete combina a entrada do usuário com as respostas armazenadas e determina a reação mais adequada à entrada do usuário. O RiveScript também suporta curingas, redirecionamentos de conversação e é sensível ao contexto, pois suporta variáveis de usuário e chatbot (Gupta, Borkar, Mello, & Patil, 2015). Um exemplo de código RiveScript é mostrado na Figura 6. Chatscript
ChatScript foi lançado em 2011 e é um sistema especialista para desenvolver chatbots baseados em regras com uma linguagem de script de código aberto que é muito compacta. Ele combina as entradas do usuário com as saídas do chatbot usando correspondência de padrões. Um tagger e analisador incorporado analisa a entrada do usuário e a melhora em termos de gramática, sintaxe e semântica (Wilcox & Wilcox, 2014). ChatScript usa conceitos que são coleções de palavras semelhantes em relação ao significado e outras classes gramaticais. Bancos de dados de conceitos existentes podem ser usados diretamente pelos desenvolvedores, facilitando a criação de um chatbot. Também diferencia maiúsculas de minúsculas e, portanto, é capaz de detectar a emoção na resposta do usuário quando letras maiúsculas ou minúsculas são utilizadas para esse fim. Além de curto prazo Exemplo de código AIML. Figura 5. Exemplo de conversa. memória, o ChatScript também inclui memória de longo prazo usando variáveis que armazenam informações específicas do usuário e podem ser usadas diretamente ou em conjunto com condicionais para produzir respostas do chatbot (Ramesh et al., 2017). Alguns chatbots implementados com Chatscript são Suzette, Rosette, Chip Vivant e Mistsuku (Bradeško & Mladenić, 2012).
Discussão sobre linguagens de correspondência de padrões
Existem vantagens e desvantagens ao usar AIML, Rive Script ou Chatscript para implementar um chatbot (Arsovski et al., 2017).
Exemplo de código Chatscript. A principal desvantagem do AIML é que o autor deve escrever um padrão para cada resposta possível do usuário. No entanto, ajuda o chatbot a responder de forma rápida e fácil. AIML é fácil de aprender e implementar, mas o conhecimento é apresentado como uma instância em arquivos AIML; Portanto, não existe uma disposição fiável para a gestão de dados em grande escala. Além disso, AIML é uma série de palavras correspondentes baseada em regras que produz uma resposta totalmente contida ou uma substituição de palavra de entrada e é altamente ineficiente ao abordar grandes bases de conhecimento. (Trivedi, Gor e Thakkar, 2019). Se o conhecimento for criado com base em dados obtidos na Internet, ele deverá ser atualizado periodicamente, pois não é possível realizar atualizações automáticas. Além disso, a versão original do AIML não possui opção de extensão. AIML tem padrões de correspondência insatisfatórios e é difícil de gerenciar. Embora o conteúdo seja simples de inserir, o principal desafio é a grande quantidade de dados que o desenvolvedor precisa inserir manualmente para construir um chatbot funcional (Arsovski et al., 2017). RiveSript oferece recursos extras integrados e mais tags do que AIML. Mais especificamente, não há necessidade de arquivos de configuração adicionais para definir informações sobre o chatbot, por exemplo, seu nome, necessário para AIML. Além disso, aplica o princípio da herança em seus tópicos, existem respostas aleatórias ponderadas e macros de objetos. No AIM, cada entrada do usuário é transformada em letras maiúsculas para minimizar o padrão de correspondência de sobrecarga.
Porém, isso prejudica a emoção expressa quando o usuário usa letras maiúsculas. Para resolver essa desvantagem e estender o potencial de determinadas respostas à mesma entrada do usuário, o ChatScript diferencia maiúsculas de minúsculas. No entanto, a linguagem de script do ChatScript é mais complicada do que RiveScript e AIML, linguagens delimitadas por linhas analisadas. Também é baseado em significado e seu suporte de conceitos significa que além de criar um chatbot, é um sistema para manipular a linguagem humana. Portanto, o desenvolvedor não precisa escrever muitas regras. O ChatScript pode combinar várias regras de maneiras complicadas e fornecer respostas que não podem ser igualmente expressas em AIML ou RiveScript. Além disso, o código RiveScript pode ser traduzido para ChatScript, mas não o contrário.
Abordagens de aprendizado de máquina
Os chatbots que adotam abordagens de aprendizado de máquina em vez de correspondência de padrões extraem o conteúdo da entrada do usuário usando Processamento de Linguagem Natural (PNL) e dispõem da capacidade de aprender com conversas. Eles consideram todo o contexto do diálogo, não apenas o turno atual, e não exigem uma resposta predefinida para cada possível entrada do usuário. Normalmente, necessitam de um extenso conjunto de formação, cuja descoberta pode constituir uma dificuldade crucial, uma vez que os conjuntos de dados disponíveis podem ser inadequados. Por exemplo, o corpus de roteiros de filmes pode ser muito amplo ou uma linha de apoio de TI pode ser muito específica (Lin, D’Haro, & Banchs, 2016). Muitas vezes, Redes Neurais Artificiais (RNAs) são utilizadas para a implementação desses chatbots. Os modelos baseados em recuperação usam uma rede neural para atribuir pontuações e selecionar a resposta mais provável de um conjunto de respostas. Em contraste, os modelos generativos sintetizam a resposta, geralmente utilizando técnicas de aprendizagem profunda.
Processamento de Linguagem Natural (PNL)
Processamento de Linguagem Natural (PNL) (Khurana, Koli, Khatter, & Singh, 2017) é um campo de Inteligência Artificial que examina como os sistemas de computador podem interpretar e controlar a linguagem natural em relação ao texto ou fala. São coletadas informações sobre a compreensão e o uso da linguagem humana para criar as técnicas apropriadas para que os sistemas de computador gerenciem a linguagem humana e realizem uma variedade de tarefas (Jung, 2019).
A maioria das técnicas de PNL depende de aprendizado de máquina. Eles consistem em Natural Language Understanding, que desenvolve a missão de compreender um texto, e Natural Language Generation (Langner, Vogel, & Black, 2010; Perera & Nand, 2017), que introduz a responsabilidade de gerar o texto comumente conduzida pelas RNAs.
Compreensão de linguagem natural (NLU)
Os chatbots de compreensão de linguagem natural (NLU) usam a compreensão de linguagem natural (NLU) (McShane, 2017) para recuperar o contexto da entrada não estruturada do usuário em linguagem humana e responder com base na intenção do usuário atual (Jung, 2019). Os três principais problemas levantados durante o processo NLU são os mecanismos de pensamento, a interpretação e o conhecimento geral do usuário (Chowdhury, 2003). NLU suporta classificação de intenção e extração de entidade, levando em consideração as informações de contexto. As entidades podem ser definidas pelo sistema ou pelo usuário. Contextos são strings que armazenam o objeto ao qual o usuário se refere (Ramesh et al., 2017). O modelo de classificação de intenções pode ser um classificador como, por exemplo, um algoritmo SVM linear, ou pode ser um modelo pré-treinado que foi criado pela classificação manual de mensagens de texto coletadas de usuários em tópicos (intenções). Da mesma forma, o modelo de extração de entidades pode ser pré-treinado anotando manualmente as entidades nas mensagens de texto do usuário. Por esta razão, um corpus de treinamento anotado pode ser criado combinando um rótulo para cada bloco de palavras. Após o treinamento dos modelos, eles podem classificar automaticamente as novas mensagens de texto do usuário em intenções e extrair entidades (Hien et al., 2018).
Redes neurais artificiais
A recuperação de redes neurais artificiais e os chatbots baseados em geração usam vários tipos de redes neurais artificiais. O sistema recebe a entrada do usuário, calcula sua
representações vetoriais, alimenta-as como recursos para a rede neural e produz a resposta. O processo de mapeamento de palavras em vetores é chamado de incorporação de palavras, e vários métodos podem ser simples ou usar técnicas de aprendizagem profunda como Word2vec (Mikolov, Sutskever, Chen, Corrado, & Dean, 2013). Em sistemas baseados em recuperação, as redes neurais artificiais são treinadas usando vetores de entrada e de intenções do usuário. Eles tomam como entrada o vetor de entrada do usuário e fornecem uma probabilidade de cada intenção. A classificação das entidades na entrada do usuário é feita por sistemas Named-Entity Recognition (NER), que também podem utilizar técnicas de aprendizagem profunda. Embora os chatbots baseados em Generativo sejam úteis para envolver uma pessoa em conversas informais em domínio aberto, eles não são ideais para comunicações em domínio fechado nas quais os chatbots baseados em regras são adequados. Os chatbots híbridos usam uma abordagem baseada em recuperação e uma abordagem generativa para responder à entrada do usuário se não houver correspondência com nenhuma das regras (Mathur & Lopez, 2019).
Redes Neurais Recorrentes
Os desenvolvedores de chatbots utilizam Redes Neurais Recorrentes (RNN) (Chung, Gulcehre, Cho, & Bengio, 2014) para levar em conta o contexto anterior em uma conversa. Na RNN, a nova entrada do usuário e as informações de dados anteriores alimentam os neurônios. Dessa forma, um loop transmite conhecimento de uma parte da rede para a próxima. Além disso, quando os desenvolvedores de chatbots precisam consultar informações anteriores e aprender dependências de longo prazo, eles usam redes Long Short Term Memory (LSTMs), um tipo particular de RNN (Xu et al., 2017). Até onde o desenvolvedor deseja voltar nas informações de uma discussão pode ser um parâmetro configurável. Um chatbot para responder perguntas frequentes (FAQs) foi desenvolvido com o uso de redes neurais recorrentes LSTM, e resultados experimentais mostraram que o chatbot poderia reconhecer perguntas e respondê-las com um nível muito alto de precisão (Muangkammuen, Intiruk, & Saikaew, 2018 ). Além disso, em Kim, Kwon e Kim (2020), foram utilizadas RNN e Gated Recurrent Units (GRUs) bidirecionais, além de um mecanismo de atenção para gerar as respostas apropriadas, combinando o contexto da conversa e o conhecimento fornecido.
Modelo Sequência a Sequência
Um modelo típico baseado em Generativo é Sequência a Sequência (Seq2Seq), que gera uma sequência alvo observando a sequência de origem. A sequência de origem é a entrada do usuário e a sequência de destino é a resposta do chatbot (Ramesh et al., 2017). Dois RNNs podem ser usados como codificador e o decodificador, que é a versão mais básica e original do modelo, ou LSTMs e GRUs (Chung et al., 2014), podem ser usados para modelar sentenças mais longas. Essas redes neurais são treinadas usando Backpropagation Through Time, uma versão modificada da retropropagação (Mathur & Lopez, 2019). Em Zhou, Huang, Zhang, Zhu e Liu (2017) e Zhou et al. (2019), chatbots emocionalmente conscientes foram implementados usando Seq2Seq com GRU. Em outra pesquisa (Cho, van Merrienboer, Gulcehre, Bahdanau, Bougares, Schwenk, & Bengio, 2014), um codificador-decodificador RNN foi proposto para gerar uma sequência alvo a partir de uma sequência fonte usando uma unidade oculta com uma unidade de reinicialização e atualização para controlar as informações que ele lembra. Além disso, em Shaikh, More, Puttoo, Shrivastav e Shinde (2019), um chatbot que registra um amigo virtual foi proposto usando Seq2Seq.
Modelos Deep Seq2seq
Os chatbots generativos podem ter um desempenho melhor e mais humano quando o modelo é mais aprofundado e tem mais parâmetros, como no caso de modelos Seq2seq profundos contendo múltiplas camadas de redes LSTM (Csaky, 2017). Em Serban et al. (2016), é introduzido um modelo codificador-decodificador recorrente hierárquico de variável latente (VHRED), que mantém o contexto de longo prazo da conversa e gera saídas estendidas. Em outra pesquisa, foi desenvolvido um chatbot de domínio aberto com o uso de Redes Neurais Recorrentes Bidirecionais (BRNN) e camadas de atenção para dar as respostas adequadas quando a entrada do usuário consiste em mais de 20 palavras (Dhyani & Kumar, 2020). Foi proposto um chatbot multilingue baseado em modelos Seq2seq profundos com células GRU para apoiar as pessoas nas suas atividades de Património Cultural (Sperlí, 2020).
5. Arquitetura geral
Um projeto arquitetônico de chatbot apropriado é útil para o estudo de chatbots e para o aspirante a criador de chatbots. Portanto, vários projetos arquitetônicos foram propostos (Tabela 1). Em Khanna et al. (2015), os autores propõem uma arquitetura, mas é específica para chatbots baseados em regras. Da mesma forma, Wu et al. (2016) apresentam uma arquitetura específica para chatbots baseados em Retrieval. Além disso, eles não incluem um design. Em Zumstein e Hundertmark (2017), a Base de Conhecimento do chatbot está conectada a outras bases de dados e sistemas de informação que dão respostas às dúvidas do usuário. No entanto, há uma ausência de serviços vitais, como análise de sentimentos e tratamento de ambigüidades. Um interessante projeto de Khan (2017) apresenta uma arquitetura estruturada em camadas. No entanto, é bastante abstrato, pois não fornece detalhes essenciais para cada camada. Além disso, não discute como a entrada do usuário é analisada e quais são os componentes do Componente de Gerenciamento de Diálogo. Além disso (Nimavat & Champaneria, 2017), apresentou um design simplista que carece de muitos detalhes essenciais; por exemplo, não há informações sobre o back-end. Em Zhou et al. (2017), é proposto um chatbot que gera respostas emocionalmente consistentes, mas o desenho da arquitetura foca apenas no Módulo de Geração de Respostas. Hahm também trabalha com arquitetura (Hahm, Kim, An, Lee, & Choi, 2018), mas não fornece nenhum projeto arquitetônico. A arquitetura de S. e Balakrishnan (2018) serve a integração de big data com a Base de Conhecimento de um chatbot. No entanto, diz respeito apenas a modelos baseados em regras implementados com AIML. Em Mislevics, Grundspen¸ k¸ é, e Rollande (2018), é apresentado um projeto arquitetônico detalhado para um chatbot que dá suporte aos alunos. Este design carece de um componente de análise de sentimento. Em Zhou et al. (2019), é apresentada a arquitetura detalhada do Microsoft XiaoIce. Inclui muitas características interessantes, mas é específico do XiaoIce. Em Villegas, Arias-Navarrete e Palacios (2020), a pesquisa concentra-se nas camadas do campus e como elas estão conectadas a um chatbot, mas não fornece nenhum projeto arquitetônico do chatbot. Nesta seção compomos um projeto arquitetônico (Fig. 8) que é geral e, ao mesmo tempo, inclui todos os detalhes que consideramos cruciais. Descrevemos os principais componentes e as partes individuais que eles contêm e focamos no que consideramos mais importante. O desenvolvedor pode decidir quais partes irá implementar dependendo do tipo de chatbot. Na Tabela 1 encontra-se um resumo das características arquitetônicas dos chatbots dos estudos citados e da arquitetura proposta.
5.1. Interface de usuário
Componente A operação do chatbot começa quando ele recebe a solicitação do usuário por meio de um aplicativo utilizando entrada de texto ou fala, como um aplicativo de mensagens como Facebook, Slack, WhatsApp, WeChat, Viber ou Skype.
5.2. Componente de análise de mensagens do usuário
O controlador da interface do usuário direciona a solicitação do usuário ao componente de análise de mensagens do usuário para encontrar a intenção do usuário e extrair entidades seguindo abordagens de correspondência de padrões ou aprendizado de máquina. A mensagem do usuário pode ser retida como texto simples, o que mantém inalteradas todas as estruturas gramaticais e sintáticas da entrada ou processada por Processamento de Linguagem Natural (PNL) (Chowdhury, 2003; Khurana et al., 2017). Mais precisamente, através da sua entrada no chatbot, os utilizadores expressam o seu propósito, que é a intenção. O chatbot deve compreender a intenção do usuário e realizar as ações necessárias. Diferentes entradas do usuário desencadeiam diferentes intenções e podem incluir parâmetros, chamados entidades, para determinar detalhes precisos sobre eles (Ramesh et al., 2017). Certos serviços cognitivos podem ser vinculados ao componente de análise de mensagens do usuário para melhorar a precisão. 8 E. Adamopoulou e L. Moussiades Aprendizado de Máquina com Aplicativos 2 (2020) 100006 Tabela 1 Recursos arquitetônicos de modelos existentes e nosso modelo. Estudo Resumo Projeto arquitetônico Projeto arquitetônico detalhado Baseado em regras Baseado em recuperação Baseado em generativo Interface do usuário Análise de mensagens do usuário Componente Corretor ortográfico Tradutor Análise de sentimentos Caixa de diálogo Gerenciamento de componentes Tratamento de ambiguidade Tratamento de dados Tratamento de erros Componente de geração de resposta de back-end Arquitetura proposta 𝜈 𝜈 𝜈 𝜈 𝜈 𝜈 𝜈 𝜈 𝜈 𝜈 𝜈 𝜈 𝜈 𝜈 𝜈 Khanna et al. (2015) 𝜈 𝜈 𝜈 𝜈 𝜈 𝜈 𝜈 Wu et al. (2016) 𝜈 𝜈 Zumstein e Hundertmark (2017) 𝜈 𝜈 𝜈 𝜈 𝜈 𝜈 Khan (2017) 𝜈 𝜈 𝜈 𝜈 𝜈 𝜈 𝜈 𝜈 𝜈 𝜈 Champ Nimavat e aneria (2017) 𝜈 𝜈 𝜈 𝜈 𝜈 𝜈 𝜈 𝜈 𝜈 Zhou et al . (2017) 𝜈 𝜈 𝜈 Hahm et al. (2018) 𝜈 𝜈 𝜈 𝜈 𝜈 𝜈 𝜈 S. e Balakrishnan (2018) 𝜈 𝜈 𝜈 𝜈 𝜈 𝜈 𝜈 Mislevics et al. (2018) 𝜈 𝜈 𝜈 𝜈 𝜈 𝜈 𝜈 𝜈 Zhou et al. (2019) 𝜈 𝜈 𝜈 𝜈 𝜈 𝜈 𝜈 𝜈 𝜈 𝜈 𝜈 𝜈 𝜈 Villegas et al. (2020) 𝜈 𝜈 𝜈 𝜈 𝜈 𝜈 𝜈 𝜈 A arquitetura proposta consiste em um componente de interface de usuário, um componente de análise de mensagens de usuário, um componente de gerenciamento de diálogo, um backend e um componente de geração de resposta. • Um corretor ortográfico corrige os erros ortográficos do usuário, pois a entrada “purificada” geralmente resulta em uma melhor identificação da intenção.
• Um tradutor automático é usado no caso de usuários de chatbot multilíngues. O idioma do usuário é identificado e traduzido para o idioma da NLU do chatbot.
• A análise de sentimento é aplicada à entrada do usuário para ver o quão satisfeito ou irritado ele parece estar. Em alguns casos, uma pessoa real pode precisar se conectar à discussão se o usuário parecer muito frustrado.
A análise de sentimento detecta uma opinião positiva ou negativa dentro de um texto.
Em Tatai, Csordás, Kiss, Szaló e Laufer (2003), as reações dos usuários foram registradas enquanto discutiam com chatbots que utilizavam sentimentos diferentes. Foram preferidas respostas positivas do chatbot, independentemente do sentimento de entrada do usuário. Portanto, os chatbots devem analisar o sentido do input e aprender apenas com os inputs positivos, ignorando os inputs com uma visão negativa ou prejudicial (Bird, Ekart, & Faria, 2019). Um banco de dados completo de mapeamento de expressão-emoção que mapeia palavras e expressões em emoções dá suporte a um chatbot emocionalmente capaz (Tatai et al., 2003). Os serviços de análise de sentimento baseados em nuvem já são bem avaliados e também podem ser usados em chatbots para obter análise de sentimento a partir da entrada do usuário (Keijsers, Bartneck, & Kazmi, 2019).
5.3. Componente de gerenciamento de diálogo
O componente de gerenciamento de diálogo controla e atualiza o contexto da conversa. Mantém a intenção atual e as entidades identificadas até aquele ponto da conversa. Se o chatbot não conseguir coletar as informações de contexto necessárias, ele solicita informações de contexto adicionais do usuário para preencher entidades ausentes. Também faz perguntas de acompanhamento após o reconhecimento da intenção (Kucherbaev et al., 2018). O componente de gerenciamento de diálogo normalmente inclui os módulos a seguir.
Tratamento de ambiguidade. Este módulo fornece respostas quando o chatbot não consegue encontrar a intenção da solicitação do usuário ou se nenhuma entrada for coletada. O chatbot pode indicar que não teve resposta, pedir esclarecimentos, iniciar uma nova discussão (Heller et al., 2005) ou dar uma resposta geral que cubra uma variedade de questões para que o usuário fique satisfeito mesmo que tenha perguntado. a pergunta mais imprevisível.
Tratamento de dados.
As informações do usuário são armazenadas em um arquivo. Desta forma, o chatbot pode modificar suas respostas dependendo do usuário dando a impressão de ser mais inteligente.
Erro de tratamento.
O Módulo de Tratamento de Erros lida com erros inesperados para garantir a operação adequada do chatbot (Khanna et al., 2015). Após a tentativa de identificação, o chatbot segue para as próximas ações, que podem ser a recuperação de informações do Backend ou a resposta ao usuário. No primeiro caso, o identificador do fluxo de controle permanece dentro do Componente de Gerenciamento de Diálogo, que o utiliza para determinar a próxima ação. Em contrapartida, neste último caso, o controle passa para o Backend.
5.4. Backend
O chatbot recupera as informações necessárias para cumprir a intenção do usuário do Backend por meio de chamadas de APIs externas ou solicitações de banco de dados. Uma vez extraídas as informações apropriadas, elas são encaminhadas para o Módulo de Gerenciamento de Diálogos e depois para o Módulo de Geração de Respostas. Quando chatbots baseados em regras são usados, existe uma Base de Conhecimento (KB). Inclui uma lista de respostas escritas à mão que correspondem às entradas do usuário. Para que um chatbot se mantenha firme, a Base de Conhecimento deve cobrir uma ampla variedade de dúvidas e contêm uma variedade de respostas à mesma entrada do usuário para evitar redundância de respostas (Khanna et al., 2015). Uma Base de Dados Relacional (RDB) pode ser utilizada para que o chatbot possa relembrar conversas passadas, tornando assim a comunicação mais consistente e relevante. Essa abordagem traz consistência e precisão ao diálogo, pois permite que o chatbot acesse o histórico de informações anteriores (A & John, 2015). Criar a Base de Conhecimento de um chatbot é uma tarefa necessária, mas muitas vezes exigente e demorada porque é desenvolvida manualmente. Foi proposto um método que constrói automaticamente a Base de Conhecimento de um novo chatbot a partir de um já existente (Arsovski, Osipyan, Oladele, & Cheok, 2019). Além disso, um programa transforma um corpus na base de conhecimento AIML de um chatbot (Shawar & Atwell, 2004) (AbuShawar & Atwell, 2015). Freqüentemente, os chatbots baseados em regras completam sua base de conhecimento fazendo perguntas aos usuários e incentivando-os a longas conversas (Hahm et al., 2018). A Base de Conhecimento também pode suportar Ontologias (Redes Semânticas) como Wordnet ou OpenCyc (Al-Zubaide & Issa, 2011). O chatbot atualiza o estado da conversa e pesquisa os nós do Knowledge Graph para fazer conexões para os conceitos utilizados na conversa (Chowdhury, 2003). Além disso, em S. e Balakrishnan (2018), a Base de Conhecimento AIML foi enriquecida a partir de uma Base de Conhecimento de big data com a conexão do chatbot ao ambiente de big data. O uso de truques de linguagem na Base de Conhecimento de um chatbot torna-o mais humano. Esses truques simulam o comportamento das pessoas em uma conversa, como respostas estereotipadas, erros de digitação, forma de digitar, existência de personalidade e até respostas irracionais (aza, muha, zura, & Ahmad, 2018).
5.5. Componente de Geração de Resposta
A Geração de Resposta. O componente produz respostas usando um ou mais dos três modelos disponíveis: modelos baseados em regras, baseados em recuperação e baseados em generativos. O modelo baseado em regras seleciona a resposta de um conjunto de regras sem gerar novas respostas de texto. O componente Dialog Management passa os valores de espaço reservado que podem ser necessários para preencher o modelo de resposta ao Módulo de Geração de Resposta. Os modelos baseados em regras utilizam uma Base de Conhecimento (KB) organizada com padrões conversacionais (Ramesh et al., 2017). O modelo baseado em recuperação é mais flexível, pois seleciona a resposta mais adequada com a verificação e análise dos recursos disponíveis por meio de APIs (Hien et al., 2018). O modelo generativo usa geração de linguagem natural (NLG) (Singh, Darbari, Bhattacharjee, & Verma, 2016) para responder em uma linguagem natural semelhante à humana com base nas últimas e anteriores entradas. No entanto, desenvolver e treinar tal modelo é um desafio porque necessita de um extenso conjunto de dados para treinamento para estabelecer uma conversa frutífera (Hien et al., 2018). Quando o corpus de treinamento é pequeno, erros gramaticais são cometidos, principalmente em frases longas (Kim, Lee, Kim, Lee, & Kim, 2018). Também existem abordagens híbridas que comparam a resposta recuperada com a gerada e escolhem a melhor (Song et al., 2018). Quando o chatbot produz uma resposta, ele a apresenta ao usuário e espera até receber feedback (Kompella, 2018).
6. Desenvolvimento
Nesta seção discutimos questões críticas além do projeto arquitetônico, relacionadas à construção de chatbots.
6.1. O processo de criação de um chatbot
A criação de um chatbot começa com o planejamento dos objetivos, procedimentos e requisitos do usuário. Segue-se o desenvolvimento do chatbot utilizando uma linguagem de programação ou uma plataforma de desenvolvimento de chatbot e, posteriormente, as funcionalidades do chatbot são testadas localmente. O chatbot é então publicado em um site online ou data center e conectado a um ou mais canais para enviar e receber mensagens. Neste ponto, a integração adequada de um chatbot numa aplicação é crucial, e há
Existem três metodologias para fazer isso: integração usando API, integração manual ou integração de terceiros (Trivedi et al., 2019). Por fim, a avaliação é realizada através da coleta de dados durante um tempo fixo 10 E. Adamopoulou e L. Moussiades Machine Learning with Applications 2 (2020) 100006 Fig. 8. Arquitetura geral do Chatbot. após a implantação para que os desenvolvedores possam detectar erros e usar a entrada para melhorar o desempenho e os recursos do chatbot. A seleção de algoritmos ou plataformas para construir chatbots depende do que o chatbot deve fornecer aos usuários e em que categoria ele se enquadra (Nimavat & Champaneria, 2017). A seleção adequada pode resultar em benefícios de conectividade, eficiência, revisões de produção rápidas e descomplicadas e esforço mínimo para o projetista. Observe que um chatbot é considerado mais eficiente quando o usuário consegue se conectar diretamente, sem baixá-lo e instalá-lo. Um chatbot pode ser desenvolvido utilizando linguagens de programação como Java e Python ou uma plataforma de desenvolvimento de chatbot que pode ser comercial ou de código aberto (Nayyar, 2019). As plataformas de código aberto incluem RASA (Rasa, 2019), Botkit Botkit: Building Blocks for Building Bots (2019), Chatterbot Sobre ChatterBot — Documentação do ChatterBot 1.0.2 (2019), Pandorabots (Pandorabots: Home, 2019), Botlytics (Botlytics, 2019) e Microsoft Bot Framework (Microsoft Bot Framework, 2019), enquanto as plataformas comerciais incluem Botsify (Botsify, 2019), Chatfuel (Chatfuel, 2020), Manychat (ManyChat – Chat Marketing Made Easy, 2019) e Flow XO (AI Online Chatbot Software , Bate-papo ao vivo em sites, 2019). Algumas plataformas de nuvem NLU (Braun, Hernandez-Mendez, Matthes, & Langen, 2017) alimentadas por aprendizado de máquina são Google DialogFlow (Dialogflow, 2019), Facebook wit.ai (Wit.ai., 2019), Microsoft LUIS (LUIS (Language Entendimento) – Serviços Cognitivos – Microsoft Azure, 2019), IBM Watson Conversation (IBM Watson, 2019), Amazon Lex (Amazon Lex – Build Conversation Bots, 2019) e SAP Conversation AI (SAP Conversational AI |Automate Customer Service With AI Chatbots, 2019). As plataformas de código aberto disponibilizam seu código e o desenvolvedor pode ter controle total da implementação. Embora as plataformas comerciais não deem controle total aos desenvolvedores, eles muitas vezes se beneficiam da eficiência dos dados para treinar seus chatbots. Além disso, as plataformas comerciais facilitam a integração com outros produtos da plataforma. Por exemplo, um chatbot criado com Dialogflow pode ser facilmente interligado com o Google Assistant e outros dispositivos Google. Outras facilidades que muitas plataformas de desenvolvimento podem oferecer incluem:
1. Fácil adição de intenções e fácil teste de acionamento de intenções (Greyling, 2020)
2. Gerenciamento de contexto. A maioria das plataformas de desenvolvimento, embora utilizem abordagens tecnicamente diferentes, suportam gerenciamento de texto (Contexts | Dialogflow Documentation, 2020; Importância do contexto em uma conversa de chatbot | IBM, 2020). O gerenciamento adequado do contexto é fundamental para a classificação de intenções. Por exemplo, se a expressão do utilizador for “Em Kavala, hoje?”, é mais provável que a resposta venha como resultado de uma intenção não classificada. No entanto, se um contexto como “previsão do tempo” for ativado, uma resposta bem-sucedida reportará a previsão do tempo em Kavala no dia da conversa.
3. Suporte de entidades predefinidas e definidas pelo usuário e detecção automática de valores de entidade.
4. Apoie a pesquisa em coleções de documentos de conhecimento, como perguntas frequentes ou artigos, para encontrar respostas (Charrison, 2020; conectores de conhecimento | Documentação do Dialogflow | Google Cloud, 2020).
Plataformas individuais também podem oferecer recursos adicionais. Por exemplo, o Google Dialogflow oferece suporte a eventos, tanto definidos pela plataforma quanto personalizados. Em vez da entrada do usuário, os eventos também podem acionar intenções. Por exemplo, um evento ocorrido em um horário específico pode desencadear uma tentativa de alertar o usuário de que seu intervalo terminou (Eventos |Dialogflow Documentation |Google Cloud, 2020). Por fim, as plataformas de desenvolvimento poderão ser combinadas com linguagens de programação se os requisitos do projeto assim o exigirem. Portanto, as plataformas de desenvolvimento podem ser parte integrante da implementação de um chatbot. É claro que antes de escolher uma plataforma comercial, deve-se considerar os custos envolvidos em sua utilização.
Treinando um chatbot
Existem muitos corpora disponíveis para treinar chatbots (Serban, Lowe, Charlin, & Pineau, 2015). As abordagens de rede neural de bate-papo geralmente são treinadas em corpora de roteiros de filmes ou diálogos de plataformas da web. Um chatbot treinado em tais conjuntos de dados, formados por discussões entre diferentes falantes, muitas vezes carece de uma personalidade específica (Zhang et al., 2018). Além disso, vários problemas podem surgir ao usar corpora de diálogo com exemplos de diálogo humano para retreinar um chatbot (Atwell & Shawar, 2003). Quando o corpus de diálogo não é grande o suficiente para o treinamento, as respostas do chatbot podem apresentar erros sintáticos ou semânticos. Portanto, métodos foram propostos para pré-treinar um chatbot usando um grande corpus sem diálogo e para treiná-lo novamente usando um pequeno corpus de diálogo (Tammewar, Pamecha, Jain, Nagvenkar, & Modi, 2018). Às vezes, corpora de diálogo e abordagens de aprendizado de máquina são usados para gerar as regras AIML e, portanto, treinar chatbots baseados em regras (Shawar & Atwell, 2010). Além disso, várias versões de um chatbot em diferentes idiomas foram criadas automaticamente (Shawar & Atwell, 2005). Os desenvolvedores do chatbot geralmente mantêm os arquivos das conversas após a implantação do chatbot. Ajuda-os a compreender melhor as solicitações dos utilizadores e a melhorar o chatbot, que está continuamente a aprender através da análise destas conversas (et al. 2018). Novos exemplos de treinamento são extraídos das conversas das quais um chatbot participa quando a conversa corre bem ou caso seja solicitado feedback (Hancock, Bordes, Mazare, & Weston, 2019).
6.3. Conectar o chatbot a um canal
Nos últimos anos, os chatbots ganharam popularidade e são usados em diversas aplicações de mensagens ou conectados a sites. O Facebook é uma rede social popular para chatbots, principalmente para formar transações ou serviços, em vez de discutir com os usuários. Os chatbots do Facebook Messenger geralmente fazem parte de bate-papos em grupo e realizam funções de formulário, como fornecer estatísticas sobre uma partida esportiva, criar uma lista de reprodução de música ou fornecer respostas inteligentes, como informar sobre o horário comercial ou fazer uma reserva sem sair da janela de bate-papo. Portanto, os chatbots do Facebook apoiam principalmente os usuários de forma secretarial, em vez de se comunicarem com eles. Os chatbots do Skype, semelhantes aos do Facebook, são comumente usados em bate-papos em grupo para fins funcionais. Os chatbots do Skype tornam-se mais interativos quando oferecem aos usuários a alternativa de bate-papo por voz em vez de digitação. O Twitter adota uma nova abordagem para seus chatbots, oferecendo uma plataforma para as empresas se conectarem com seus clientes e proporcionando uma interação agradável em vez de transacional. As empresas usam chatbots do Slack internamente para maximizar a eficiência, aumentar a conectividade ou executar tarefas. Existem duas categorias de chatbots do Slack, os que enviam notificações e os que realizam transações específicas iniciadas pelo usuário. Os benefícios do encapsulamento do chatbot em aplicativos de mensagens estão incluídos: A interação com o chatbot pode ser rapidamente distribuída pela rede social do usuário sem sair do aplicativo de mensagens, o que garante a identidade do usuário. Os chatbots podem ser inseridos em chats em grupo ou trocados como qualquer contato, enquanto um sistema de notificação reengaja usuários inativos. Além disso, os sistemas de pagamento são integrado ao aplicativo de mensagens e pode ser usado com segurança e eficiência (Klopfenstein et al., 2017). Em contraste com os canais mencionados acima, os chatbots baseados em sites fornecem aos desenvolvedores controle total. No site é possível dizer com precisão como funciona o chatbot, incluindo sua finalidade, interface de usuário e experiência. Além disso, os usuários podem conversar sem sair da página atual, tendo uma forma fácil de fazer perguntas.
6.4. Modo conversacional dos chatbots
Quando um chatbot assume a personalidade de uma pessoa famosa, a interação com seu usuário parece melhorar. O Freudbot, um chatbot desenvolvido com AIML, foi utilizado na educação a distância e online e provou ser uma ferramenta útil de ensino e aprendizagem. Foi programado de acordo com as regras conversacionais relacionadas à troca de turnos, fornecendo respostas com implicações que convidavam o usuário a solicitar mais informações tornando a conversa mais longa (Heller et al., 2005). Os chatbots também devem oferecer aos usuários uma experiência mais acessível e realista para perguntar sobre suas configurações de privacidade em aplicativos ou sites (Harkous, Fawaz, & Aberer, 2016). Além disso, os chatbots podem atrair interesse e envolver os utilizadores em atividades como o preenchimento de questionários. Responder às perguntas do chatbot seria uma solução divertida e desejável para alguém porque não leva tanto tempo quanto os questionários tradicionais (Biduski, Bellei, Rodriguez, Zaina, & Bertoletti De Marchi, 2020). Os utilizadores e os chatbots interagem entre si, e é interessante examinar a “agência simbiótica”, um termo que foi inicialmente utilizado para a agência proxy onde os utilizadores e o software atuam na interação humano-tecnologia. Atualmente, o termo expande esse conceito de sistema proxy para considerar tanto como a tecnologia medeia os pensamentos, crenças e atitudes de alguém, quanto como a agência humana impacta o uso de produtos tecnológicos (Neff & Nagy, 2016).
6.5. Outras considerações de implementação
Ao projetar um chatbot, devemos primeiro determinar os objetivos que servirá. Com base nos objetivos, avaliaremos o caráter primário do chatbot, por exemplo, se precisamos de um chatbot genérico, de domínio cruzado ou de domínio fechado. Nos dois primeiros casos, provavelmente precisaremos utilizar técnicas de PNL. Antes de decidir, devemos levar em consideração se os dados necessários para o treinamento do chatbot estão disponíveis. Por outro lado, para chatbots de domínio fechado, o uso de uma linguagem de script pode ser preferível. Em geral, não é fácil encontrar dados de treinamento adequados para fins específicos. Por outro lado, um chatbot de domínio fechado baseado em linguagem de script pode, se projetado adequadamente, orientar efetivamente o usuário no sentido de atingir objetivos específicos. Por exemplo, um assistente de aprendizagem de vocabulário pode facilmente redirecionar a conversa quando não consegue classificar a intenção do usuário, dizendo: ‘Não entendi exatamente. Quer que eu te ajude a estudar algum vocabulário?’. Enquanto a discussão permanecer no contexto da aprendizagem de vocabulário, os diálogos são limitados e podem ser desenhados com precisão para que o resultado seja satisfatório. Além disso, tal chatbot pode ser uma abordagem inicial que ajudará na coleta de dados das frases dos usuários e enriquecerá a experiência de seu fabricante para que se for considerado útil prosseguir para a segunda fase utilizando a tecnologia PNL. Qualquer que seja a abordagem que seguirmos, devemos antecipar que o nosso software medirá a experiência do usuário para que, com base nas medições, possamos fazer melhorias apropriadas. No entanto, se escolhermos a tecnologia PNL, devemos considerar que a escolha de uma plataforma de implementação que suporte a abstração cognitiva nos fornecerá, até certo ponto, atualizações automáticas sobre os aspectos em constante evolução da Inteligência Artificial (Shaw, 2020). Além disso, é uma prática excelente fornecer aos membros da nossa equipe a capacidade de lidar com impasses para evitar experiências desagradáveis do usuário (Quais são as principais considerações ao implementar um chatbot, 2020). Uma decisão que também é importante está relacionada com as línguas que precisamos de apoiar.
É necessário cuidado especial na comunicação de voz, pois nem todos os sistemas Text-To-Speech (TTS) e Automatic Speech Recognition (ASR) suportam todos os idiomas (5 considerações principais para escolher seu chatbot | por Ruth Zive | Chatbots Magazine, 2020). 12 E. Adamopoulou e L. Moussiades Aprendizado de Máquina com Aplicações 2 (2020) 100006
7. Fraquezas e ameaças dos chatbots
Além de suas vantagens significativas, os chatbots não estão isentos de desvantagens e ameaças. Os clientes estão bastante familiarizados com a comunicação com empresas usando seus telefones, e-mail, boletins informativos ou sites, enquanto usam aplicativos de mensagens principalmente para comunicação privada. A nova forma como as empresas interagem com os clientes é através de chatbots em Messenger ou aplicativos independentes. Há sempre tempo para os clientes se adaptarem a uma nova forma de comunicar e isto é algo que as empresas devem ter em conta. No processo de transformação, ambas as plataformas tradicionais (offline e online) devem ser apoiadas e os consumidores devem ser encorajados a utilizar tecnologias e ferramentas emergentes (Zumstein & Hundertmark, 2017). A segurança dos dados é uma preocupação significativa tanto para fornecedores como para utilizadores. As empresas são responsáveis pela proteção e tratamento adequados dos dados dos clientes se fornecerem um aplicativo de chatbot independente. No entanto, à medida que as empresas disponibilizam o seu chatbot em sites de terceiros, os dados são frequentemente entregues a elas. A privacidade e a segurança dos dados devem ser mantidas, especialmente quando se trata de sistemas de autenticação e pagamento onde são acessados detalhes confidenciais, sensíveis ou financeiros. Além disso, os clientes devem estar cientes de que quando as empresas comunicam com eles, recolhem, armazenam e utilizam dados pessoais para fins comerciais e de marketing (Zumstein & Hundertmark, 2017).
7.1. Falha na compreensão da intenção
Apesar do seu desenvolvimento espetacular, os chatbots muitas vezes não conseguem captar a intenção do seu interlocutor. É provavelmente a sua fraqueza mais importante que se manifesta com bastante frequência. A falha em verificar a intenção do usuário cria frustração para ele. Dependendo do escopo do chatbot, esta vulnerabilidade pode ser prejudicial para o proprietário do chatbot, por exemplo, uma conversa frustrante com um chatbot servindo como assistente de vendas pode afastar o cliente.
7.2. Conteúdo tóxico nas entradas do usuário do chatbot
O conteúdo tóxico pode ser uma grave desvantagem para provedores e usuários de chatbot. Por exemplo, o registo de informações pessoais por serviços não confiáveis constitui conteúdo tóxico e deve ser evitado. Além disso, declarações que visem à exploração do chatbot ou à quebra de confidencialidade ou ao roubo de direitos autorais são consideradas conteúdo tóxico. Uma solução baseada em redação homomórfica, para o tratamento seguro de Informações Pessoais Identificáveis, proposta por Baudart, Dolby, Duesterwald, Hirzel e Shinnar (2018). Mais precisamente, é ativado um quadro de interferência que desvia o fluxo de conversação para um subdiálogo quando um material perigoso é identificado ou outras necessidades de proteção estão presentes. Essa abordagem cria defesas para linguagens de programação, computação em nuvem e chatbots. Não é intrusivo, pois não requer atualizações dos chatbots atuais ou plataformas de conversação subjacentes. Tay, um chatbot que melhora por meio de conversas, gerou grande polêmica ao ser atacado por trolls da internet no Twitter. Após 16 horas de sua exploração, passou a enviar Tweets altamente abusivos aos usuários. Portanto, embora o aprendizado com a experiência seja enfatizado como uma estratégia de sucesso, o chatbot deve ter proteção para evitar seu uso indevido (Neff & Nagy, 2016).
7.3. Decepção em relação aos chatbots
Detectar a fraude é fundamental em algumas aplicações onde os chatbots são usados. Características que tornam as interações dos chatbots mais humanas induzem comportamentos estratégicos indesejados dos humanos. enganadores para esconder seu engano. Para entender melhor essa relação, foi explorado o impacto das habilidades conversacionais do chatbot nas medidas de manipulação comportamental (Schuetzler, Grimes, & Giboney, 2019). As descobertas revelaram que os sinais de engano diferem dependendo das habilidades de conversação dos chatbots. Essa melhoria nas habilidades de conversação levou os usuários a se envolverem em atividades estratégicas que são contraproducentes para a detecção de fraudes. Portanto, usar chatbots mais humanos pode ser ineficiente para aplicações nas quais é benéfico identificar quando os indivíduos estão mentindo. A conveniência que os assistentes de voz digital domésticos oferecem aos seus usuários, monitorando dispositivos inteligentes e usando comandos de voz para receber assistência ao vivo, às vezes traz consigo ameaças à segurança. Em Lei et al. (2019), o Amazon Alexa foi considerado um estudo de caso, e diversas vulnerabilidades à proteção foram identificadas. O serviço Alexa depende apenas de autenticação fraca de fator único, que pode ser quebrada por seguir comandos de voz sem controle de acesso dependente de presença física. Esta pesquisa propõe um fator adicional de autenticação, a presença física.
7.4. Fatores adicionais de falha
Respostas longas, onde as informações vitais consistem em uma ou duas frases escondidas entre várias outras, podem resultar no desânimo do usuário e em férias na conversa. Portanto, devem ser preferidas mensagens curtas e claras. Erros ortográficos do usuário também podem falhar na classificação da intenção (The Worst Chatbot Fails | Conversational AI vs. Chatbots, 2019). Um mecanismo de verificação ortográfica empregado como etapa de pré-processamento pode ser útil aqui. Outras falhas iniciadas a partir da entrada do usuário podem ser devido a frases mal utilizadas, entonação ruim, pronúncia ruim, uso de humor sutil, dificuldades de fala, uso de gírias, erros de sintaxe (The Chat Crash – When a Chatbot Fails, 2020). A falta de personalidade por parte do chatbot também pode afastar o usuário do diálogo. Pode-se reduzir esse risco dando um nome e um avatar ao chatbot. Noutros casos, a desilusão do utilizador pode dever-se à falta de uma estratégia clara do chatbot e à consequente orientação ineficaz do utilizador para atingir os objetivos de comunicação (#ChatbotFail:
Falha na experiência do cliente do Chatbot (e como evitá-la), 2020).
Às vezes, um chatbot é projetado para servir a um propósito específico e depois revisado para atender a uma necessidade adicional. Neste caso, o chatbot revisado provavelmente apresentará uma dupla personalidade que criará sentimentos negativos no usuário (4 razões para o fracasso do chatbot empresarial e como superá-los usando uma abordagem multi-bot, 2020).
7.5. Mitigar os riscos
Pesquisadores de todo o mundo esperam que novos avanços na tecnologia forneçam respostas satisfatórias às fraquezas dos chatbots. Nesta fase, contudo, alguns comentários podem ajudar a reduzir estas fraquezas com base na tecnologia disponível. A integração com um serviço de chat ao vivo, que será ativado para entradas não identificadas, pode evitar a decepção do cliente. Além disso, assinar um chatbot que irá recuperar informações pessoais obtidas de outras aplicações (Three Ways To Mitigate Chatbot Risks, 2020) pode ser útil na tentativa de identificação. Um chatbot com ferramentas integradas de garantia de qualidade permite que as equipes de desenvolvimento melhorem o sistema continuamente (Como reduzir o risco na implantação de soluções de IA conversacional, 2020). Além disso, a especificação do texto aprovado para as declarações do chatbot pode evitar mensagens ofensivas (Three Ways To Mitigate Chatbot Risks, 2020). Por fim, para proteger transações críticas como as de pagamento, é essencial a integração do chatbot com um sistema que execute tais operações com precisão e eficiência.
8. Aplicações
8.1. Ambientes educativos
A crescente procura de aprendizagem conduz a uma elevada concorrência nas instituições de ensino superior. Uma das razões críticas para a aprendizagem escassa e as elevadas taxas de abandono escolar é o facto de que, à medida que o número de alunos aumenta, a assistência que os alunos recebem dos seus professores é reduzida.
Os chatbots, com sua capacidade de fornecer conteúdo educacional e assistência pessoal, vêm apoiar outras práticas de e-learning (Colace, De Santo, Lombardi, Pascale, Pietrosanto, & Lemma, 2018). Os chatbots para apoio à aprendizagem podem preservar informações repetindo lições antigas quando os alunos as perdem. Eles também coletam informações durante um curso, o que auxilia na melhoria do processo de aprendizagem e ensino. Os alunos são facilitados no estudo, pois os chatbots podem responder perguntas relacionadas ao material educacional. Um chatbot também pode ajudar os alunos com questões de administração escolar, como matrícula em um curso, calendário de exames, notas e outros detalhes relacionados aos estudos, para que a pressão sobre as secretarias escolares seja consideravelmente reduzida. Na investigação (Hien et al., 2018), o número de estudantes participantes num curso universitário estava a crescer porque um chatbot ajudava os estudantes a registarem-se. Os alunos na aprendizagem de línguas estrangeiras (FLL) ainda têm poucas chances de usar a língua-alvo. Os professores dos cursos FLL tentam construir aprendizagens abertas durante as aulas através de formação entre pares ou em grupo, mas isto é dificultado por diversas razões, tais como recursos inadequados, capacidade insuficiente para contribuição profissional ou falta de autoconfiança (Fryer, 2006). Os resultados da pesquisa mostraram que os alunos de línguas preferem chatbots do que tutores humanos porque se sentem mais confiantes e podem usá-los a qualquer momento (Haristiani, 2019). Em Jia (2004), foi introduzido um chatbot para conversar com alunos de inglês, que utiliza uma abordagem simplista ao raciocínio lógico e à inferência, principalmente através de análise sintática e semântica. Produz uma resposta levando em consideração o contexto do diálogo, o conhecimento e a personalidade do usuário, e o conhecimento do bom senso e da experiência de inferência.
8.2. Atendimento ao cliente
O desenvolvimento de novas tecnologias fez com que as pessoas interagissem entre si de forma diferente, assim como a sua interação com as empresas. O comércio eletrônico evoluiu e mudou completamente a forma como as empresas vendem seus produtos, mas existem alguns problemas relacionados à qualidade do atendimento ao cliente. Especialmente em chats ao vivo, o tempo de espera pela resposta de um funcionário da empresa pode ser longo e as respostas podem nem sempre ser relevantes (Nuruzzaman & Hussain, 2018). Muitas empresas utilizam chatbots para apoiar os clientes (Johannsen, Leist, Konadl, & Basche, 2018). O atendimento ao cliente está disponível 24 horas por dia por meio do chatbot, permitindo que o consumidor poste sua solicitação independente do horário padrão de funcionamento, o que aumenta a satisfação do usuário. Em Gupta et al. (2015), um chatbot baseado em site escrito em RiveScript ajuda os clientes a decidir qual produto é adequado para eles. Outro chatbot implementado com AIML e LSA utiliza um conjunto de dados de Perguntas Frequentes (FAQs) para responder aos usuários (Nt, 2016). Em S. e Balakrishnan (2018), foi proposto um framework com interface de big data para fornecer aos chatbots de atendimento ao cliente a capacidade de analisar conhecimento de ambientes distribuídos. Espera-se que o uso e desenvolvimento contínuos de chatbots os tornem dominantes em breve no campo da indústria de atendimento ao cliente.
8.3. Saúde
Nos cuidados de saúde, os chatbots são concebidos para fornecer aos pacientes informações personalizadas sobre saúde e terapia, produtos e serviços relacionados com os pacientes, e oferecer diagnósticos e sugerir tratamentos com base nos sintomas do paciente (The Top 12 Healthcare Chatbots, 2020). OneRemis sion (OneRemission, 2020) é um chatbot que ajuda pessoas com diagnóstico de câncer. Youper (Youper—Emotional Health Assistant Powered by AI, 2020) cuida da saúde emocional de seus usuários, e Florence (Florence—Your health assistant, 2020) lembra os pacientes de tomarem seus comprimidos. Existem muitos outros chatbots de saúde; alguns deles são Your.Md (Your.MD – Guia de saúde e verificador de autocuidado, 2020), Ada Health (Ada, 2020), Sensely (Sensely: plataforma de assistente virtual empresarial baseada em caracteres, 2020) e Buoy Health (Buoy Health: verifique os sintomas e encontre os cuidados certos, 2020). Além disso, muitos chatbots foram implantados para fornecer informações durante a pandemia de COVID-19, como o HealthBuddy (HealthBuddy: Um novo chatbot para interagir com comunidades na Europa e na Ásia Central sobre a COVID-19, 2020). As vantagens de usar chatbots de cuidados de saúde incluem encorajar a tomada de decisões médicas e apoiar, melhorar o exercício físico, apoiar a terapia cognitivo-comportamental e distúrbios somáticos que fornecem tratamento de saúde eficiente com precisão igual à dos médicos humanos (Palanica, Flaschner, Thommandram, Li e Fossat, 2019). Os pacientes descobrem que os chatbots são parceiros de contato mais confiáveis do que os físicos humanos; eles compartilham mais conhecimento do paciente e revelam mais sintomas. No entanto, os chatbots na área da saúde estão geralmente associados à fraca adesão dos pacientes devido à percepção da falta de consistência ou transparência representada pelos chatbots, em oposição às reuniões regulares com médicos humanos. Por outro lado, os médicos acreditam que os chatbots são mais eficazes em atividades administrativas, como marcar consultas, encontrar hospitais e entregar lembretes de receitas. Ainda assim, estão associados a riscos significativos, incluindo conhecimentos médicos incorretos. Portanto, os médicos não confiam nos chatbots para substituir tarefas complicadas de tomada de decisão que requerem aconselhamento médico profissional. Especialmente na área da psiquiatria, os chatbots oferecem o potencial de uma ferramenta nova e impactante. São utilizados para prevenção do suicídio e intervenção cognitivo-comportamental, e são adaptados a diferentes populações. Um chatbot que oferece terapia pode tornar o sistema de saúde mental mais acessível e mais bem-sucedido com pessoas que relutam em falar com um médico porque se sentem desconfortáveis em revelar os seus sentimentos. ELIZA atuou como psicoterapeuta rogeriana em 1964, e em 1972 PARRY tornou-se um software capaz de simular o comportamento de um ser humano com esquizofrenia que também foi “aconselhado” por ELIZA muitas vezes (Vaidyam, Wisniewski, Halamka, Kashavan, & Torous, 2019) .
Em alguns casos, os chatbots podem ser mais adequados para satisfazer os desejos dos pacientes do que os médicos humanos, porque não são tendenciosos em relação aos pacientes, e os pacientes não são tendenciosos contra os chatbots devido ao sexo, idade ou raça. Além disso, os chatbots não ficam exaustos ou doentes; eles são econômicos e podem funcionar ininterruptamente durante todo o dia, o que é especialmente útil para pessoas que podem ter problemas de saúde além do horário de trabalho do médico. Eles também podem interagir em diferentes idiomas para ajudar a responder às necessidades específicas dos pacientes.
8.4. Robótica
A área de pesquisa mais importante sobre chatbots é a interface de linguagem natural, que também é uma área crítica para robôs físicos. Portanto, no campo dos robôs físicos, encontramos abundantes aplicações de linguagem natural. Por exemplo, uma nova interface de linguagem natural é desenvolvida para o robô autônomo chamado KAMRO (Lueth, Laengle, Herzog, Stopp, & Rembold, 1994). Outra interface de linguagem natural para instruções para um robô baseado em visão foi projetada por (S. (Lauria, Bugmann, Kyriacou, Bos, & Klein, 2001)). Em (Selfridge & Vannoy, 1986), uma interface de linguagem natural permite aos usuários ensinar conhecimentos de visão e planos de montagem a um robô físico. O usuário pode tirar dúvidas sobre o comportamento do veículo (Garcia et al., 2018). Inclusive, a programação de um robô usando linguagem natural está sendo explorada por Lauria, Bugmann, Kyriacou e Klein (2002). Além disso, no campo da educação, a bibliografia é bastante impressionante. Por exemplo, em Conti, Di Nuovo, Cirasa e Di Nuovo (2017), humanóide narra histórias para alunos. A redução da ansiedade em alunos que estão aprendendo línguas estrangeiras quando um robô físico atua como tutor é relatada por So et al. (2018); Vogt, de Haas, de Jong, Baxter e Krahmer (2017).
Noutro caso, um robô físico ajuda as crianças na aprendizagem de vocabulário (Roy, Kieson, Abramson, & Crick, 2018).
8.5. Casos de uso industrial
No atual estágio de evolução tecnológica, os chatbots já são amplamente utilizados por muitas empresas e organizações. Aqui estão alguns exemplos para dar ao leitor uma ideia do que está acontecendo na prática. No setor bancário, os chatbots conversam com os clientes e, entre outros serviços, fornecem informações sobre os saldos das suas contas, facilitam o pagamento das suas contas, sugerem formas de poupar recursos e ajude a ativar cartões. Ao mesmo tempo, auxiliam o Banco na recolha de feedback dos clientes. Exemplos de tais chatbots (k, 2020) são Erika do Bank Of America, EVA do HDFC e Ceba do Bank of Australia. Na indústria alimentícia, os chatbots aceitam e rastreiam pedidos, organizam detalhes de entrega, fazem reservas, pedem feedback dos clientes, informam os clientes sobre ofertas e descontos e respondem às perguntas dos clientes com base nas perguntas frequentes da empresa (Enterprise Chatbot Platform |AI and NLP Enabled Bots, 2020). Exemplos de tais chatbots são o Pizza-bot do Dominos (Domino’s apresenta ‘Dom the Pizza Bot’ para Facebook Messenger – Econsultancy, 2020), o bot Messenger do Whole Food (Whole Foods Bot, 2020), o chatbot do Subway (Subway Bot, 2020) e o chatbot do Burger King (Burger-Ordering Chatbots: Ai chatbot, 2020). A IKEA, marca líder de móveis, lançou o chamado chatbot ORC. Zalando, marca de moda, usa chatbot para rastreamento de pedidos. PVR Cinemas, uma grande rede de cinemas na Índia, usa chatbot para reserva de ingressos. A National Railroad Passenger Corporation dos EUA usa um chatbot chamado Julie para reserva de passagens. A Organização Mundial da Saúde usa um chatbot chamado Alerta de Saúde da OMS para fornecer informações relacionadas ao coronavírus. Muitos outros casos de uso do setor podem ser encontrados (Casos de uso do chatbot: O que os bots podem fazer por setor e função, 2020; Top 10 Chatbot Use Cases That Really Work, 2020; Principais casos de uso de chatbot em diferentes setores, 2018), mas se alguém gosta apenas de conversar, pode escolher um Kuki em https://www.pandorabots.com/mitsuku/, Replika em https: //my. replika.ai/, Evie em https://www.eviebot.com/en/, Elbot em https: //www.elbot.com/ ou Cleverbot em https://www.cleverbot.com/.
9. Discussão
Sendo uma revisão de literatura, este estudo baseou-se principalmente em pesquisas bibliográficas. Em muitos casos, transferimos opiniões de autores que foram publicados em revistas científicas ou conferências sem os avaliarmos sistematicamente, uma vez que o tamanho da literatura que incluímos é proibitivo para uma avaliação sistemática. Além disso, utilizamos apenas bibliografia em inglês, embora trabalhos em outros idiomas possam conter informações úteis. Sem prejuízo das limitações acima expostas, passamos à discussão do que já foi apresentado. Nos últimos anos tem havido uma melhoria significativa no desenvolvimento e utilização de chatbots com benefícios substanciais em muitos domínios. Nos centros de atendimento ao cliente, eles trabalham 24 horas por dia, 7 dias por semana, enquanto gerenciam muitos clientes simultaneamente, melhorando drasticamente os custos com folha de pagamento. Da mesma forma, na educação, apoiam um número cada vez maior de alunos aos quais fornecem conteúdos educativos e assistência pessoal. Em alguns casos, como no caso em que reduzem a ansiedade linguística dos estudantes de línguas estrangeiras, chegam mesmo a superar os professores humanos. Na área da saúde, prestam diversos serviços aos pacientes. Contribuem também para o desenvolvimento de interfaces de linguagem natural em benefício da Robótica. No entanto, a utilidade dos chatbots não se limita às áreas mencionadas. Pode não ser exagero dizer que na maioria das ocasiões em que a comunicação ocorre através da linguagem natural é também uma oportunidade de aplicação para um chatbot. Como já mencionamos, o uso de chatbots traz riscos principalmente em termos pessoais. segurança de dados. Nesta área, contudo, estão a ser desenvolvidas tecnologias de protecção. O problema mais crucial que os chatbots enfrentam hoje é a limitação na compreensão e produção da fala natural. Às vezes, eles não conseguem entender uma frase, resultando em inconsistências na comunicação e experiências desagradáveis com o interlocutor. Melhorar a compreensão e a produção da linguagem é talvez o passo mais crítico no desenvolvimento futuro dos chatbots. Não sabemos até que ponto o processamento da linguagem natural pode ser desenvolvido com base na tecnologia atual. As vantagens em semântica, contexto e conhecimento desempenharão um papel crucial no desenvolvimento da PNL (Hirschberg & Manning, 2015). No entanto, temos expectativas optimistas, baseadas nos rápidos desenvolvimentos da PNL nos últimos anos. No entanto, uma questão fundamental define os limites do nosso optimismo. Qual é a diferença entre a fala humana e a fala de um chatbot? A tecnologia atual visa construir chatbots que possam aprender a falar, mas não possam aprender a pensar. Diferentes abordagens no campo da psicolinguística descrevem uma relação diferente entre linguagem e pensamento. Não iremos expandir aqui, mas salientaremos que todas as visões aceitam uma relação estreita entre linguagem e pensamento (Linguagem e Pensamento, 2020). Essa descoberta pode indicar uma nova direção que a pesquisa deve seguir para produzir chatbots que tenham uma fala semelhante à humana. Um pré-requisito para esta nova direção é o esclarecimento, pela colinguística psicológica e outras ciências relacionadas, dos complexos mecanismos de pensamento, linguagem e sua relação.
Reference
4 reasons for enterprise chatbot failure and how to overcome them using a multi-bot approach. (2020). https://servisbot.com/four-reasons-for-enterprise-chatbot-failure/. (Retrieved 30 September 2020).
5 core considerations for choosing your chatbot | by Ruth Zive | chatbots magazine. (2020). https://chatbotsmagazine.com/5-core-considerations-for-choosingyour-chatbot-4f4bb0856ead. (Retrieved 30 September 2020). A, S., & John, D. (2015). Survey on chatbot design techniques in speech conversation systems. International Journal of Advanced Computer Science and Applications, 6, http://dx.doi.org/10.14569/IJACSA.2015.060712. About ChatterBot—ChatterBot 1.0.2 documentation. (2019). https://chatterbot. readthedocs.io/en/stable/#. (Retrieved 25 November 2019). AbuShawar, B., & Atwell, E. (2015). ALICE Chatbot: Trials and outputs. Computación y Sistemas, 19, http://dx.doi.org/10.13053/cys-19-4-2326. Ada: Your health companion. (2020). Ada website: https://ada.com/. (Retrieved 8 June 2020).
AI Online chatbot software, live chat on websites. (2019). Flow XO website: https: //flowxo.com/. (Retrieved 25 November 2019). Al-Zubaide, H., & Issa, A. (2011). Ontbot: Ontology based chatbot. http://dx.doi.org/ 10.1109/ISIICT.2011.6149594. Amazon lex – build conversation bots. (2019). Amazon Web Services, Inc. website: https://aws.amazon.com/lex/. (Retrieved 25 November 2019). Arsovski, S., Muniru, I., & Cheok, A. (2017). Analysis of the chatbot open source languages aiml and chatscript: A review. http://dx.doi.org/10.13140/RG.2.2.34160. 15367. Arsovski, S., Osipyan, H., Oladele, M. I., & Cheok, A. D. (2019). Automatic knowledge extraction of any chatbot from conversation. Expert Systems with Applications, 137, 343–348. http://dx.doi.org/10.1016/j.eswa.2019.07.014. Artificial intelligence scripting language—Rivescript.com. (2019). https://www. rivescript.com/. (Retrieved 17 November 2019). Atwell, E., & Shawar, B. (2003). Using dialogue corpora to train a chatbot. https: //doi.org/10.13140/2.1.1455.7122. aza, muha, zura, & Ahmad, N. A. (2018). Review of chatbots design techniques. International Journal of Computer Applications, 181, 7–10. Bansal, H., & Khan, R. (2018). A review paper on human computer interaction. International Journal of Advanced Research in Computer Science and Software Engineering, 8(53), http://dx.doi.org/10.23956/ijarcsse.v8i4.630. Baudart, G., Dolby, J., Duesterwald, E., Hirzel, M., & Shinnar, A. (2018). Protecting chatbots from toxic content. (pp. 99–110). https://doi.org/10.1145/3276954. 3276958. Biduski, D., Bellei, E. A., Rodriguez, J., Zaina, L., & Bertoletti De Marchi, A. (2020). Assessing long-term user experience on a mobile health application through an in-app embedded conversation-based questionnaire. Computers in Human Behavior, 104, Article 106169. http://dx.doi.org/10.1016/j.chb.2019.106169. 15 E. Adamopoulou and L. Moussiades Machine Learning with Applications 2 (2020) 100006 Bird, J., Ekart, A., & Faria, D. (2019). Learning from interaction: an intelligent networkedbased human-bot and bot-bot chatbot system: contributions presented at the 18th UK workshop on computational intelligence. https://doi.org/10.1007/978-3-319-97982- 3_15. Botkit: Building blocks for building bots. (2019). https://botkit.ai/. (Retrieved 25 November 2019). Botlytics. (2019). https://www.botlytics.co/. (Retrieved 25 November 2019). Botsify (2019). Botsify—Create automated chatbots online for facebook messenger or website. Botsify website: https://botsify.com. (Retrieved 25 November 2019). Bradeško, L., & Mladenić, D. (2012). A survey of chatbot systems through a loebner prize competition. C, 34. Brandtzaeg, P., & Følstad, A. (2017). Why people use chatbots. In I. Kompatsiaris, & et al. (Eds.), Internet science: Vol. 10673. Cham: Springer, http://dx.doi.org/10.1007/ 978-3-319-70284-1_30. Braun, D., Hernandez-Mendez, A., Matthes, F., & Langen, M. (2017). Evaluating natural language understanding services for conversational question answering systems. Undefined website: /paper/Evaluating-Natural-Language-Understanding-ServicesBraun-Hernandez-Mendez/ab8c725e04fc25dc03e96332e4490573cd87abd8. (Retrieved 4 June 2019). Buoy health: Check symptoms & find the right care. (2020). https://www.buoyhealth. com. (Retrieved 8 June 2020). Burger-ordering chatbots: ai chatbot. (2020). https://www.trendhunter.com/trends/aichatbot. (Retrieved 20 August 2020). Charrison (2020). Creating search skills in watson assistant. https://docs-prod.vmware. com/en/VMware-Workspace-ONE/services/iintelligent-hub_IDM/GUID-85052A5D405C-441A-BC72-2E47D6ACCF94.html. (Retrieved 20 August 2020). Chatbot | definition of chatbot in english by Lexico Dictionaries, . (2019). Lexico Dictionaries | English website: https://www.lexico.com/en/definition/chatbot. (Retrieved 16 July 2019). #Chatbotfail: 4 chatbot customer experience fails (and how to avoid them). (2020). https://www.coredna.com/blogs/chatbot-fail#1. (Retrieved 30 September 2020). Chatbot use cases: what bots can do per industry and function. (2020). Acquire website: https://acquire.io/blog/chatbot-use-cases/. (Retrieved 20 August 2020). Chatfuel. (2020). https://chatfuel.com/. (Retrieved 31 March 2020). Cho, K., van Merrienboer, B., Gulcehre, C., Bahdanau, D., Bougares, F., Schwenk, H., & Bengio, Y. (2014). Learning phrase representations using rnn encoder–decoder for statistical machine translation. Learning Phrase Representations using RNN Encoder– Decoder for Statistical Machine Translation, 1724–1734, https://doi.org/10.3115/v1/ D14-1179. Chorus—a crowd-powered conversational agent on google hangouts. (2020). http: //talkingtothecrowd.org/index.html. (Retrieved 8 June 2020). Chowdhury, G. G. (2003). Natural language processing. Annual Review of Information Science and Technology, 37(1), 51–89. http://dx.doi.org/10.1002/aris.1440370103. Chung, J., Gulcehre, C., Cho, K., & Bengio, Y. (2014). Empirical evaluation of gated recurrent neural networks on sequence modeling. Colace, F., De Santo, M., Lombardi, M., Pascale, F., Pietrosanto, A., & Lemma, S. (2018). Chatbot for e-learning: A case of study. International Journal of Mechanical Engineering and Robotics Research, 7, 528–533. http://dx.doi.org/10.18178/ijmerr. 7.5.528-533. Colby, K. M., Hilf, F. D., Weber, S., & Kraemer, H. C. (1972). Turing-like indistinguishability tests for the validation of a computer simulation of paranoid processes. Artificial Intelligence, 3, 199–221. http://dx.doi.org/10.1016/0004-3702(72)90049- 5. Colby, K. M., Weber, S., & Hilf, F. D. (1971). Artificial paranoia. Artificial Intelligence, 2(1), 1–25. http://dx.doi.org/10.1016/0004-3702(71)90002-6. Contexts | dialogflow documentation. (2020). Google Cloud website: https://cloud. google.com/dialogflow/docs/contexts-overview?. (Retrieved 20 August 2020). Conti, D., Di Nuovo, A., Cirasa, C., & Di Nuovo, S. (2017). A comparison of kindergarten storytelling by human and humanoid robot with different social behavior. In Proceedings of the companion of the 2017 ACM/IEEE international conference on human-robot interaction (pp. 97–98). Vienna, Austria: Association for Computing Machinery, http://dx.doi.org/10.1145/3029798.3038359. Cortana security flaw means your pc may be compromised. (2018). Panda Security Mediacenter website: https://www.pandasecurity.com/mediacenter/mobile-news/ cortana-security-flaw/. (Retrieved 27 August 2020). Costa, P. C. F. da. (2018). Conversing with personal digital assistants: On gender and artificial intelligence. Journal of Science and Technology of the Arts, 10(3), http://dx.doi.org/10.7559/citarj.v10i3.563, 2-59–79. Csaky, R. (2017). Deep learning based chatbot models. http://dx.doi.org/10.13140/RG. 2.2.21857.40801. Dale, R. (2016). The return of the chatbots. Natural Language Engineering, 22, 811–817. http://dx.doi.org/10.1017/S1351324916000243. Dhyani, M., & Kumar, R. (2020). An intelligent chatbot using deep learning with bidirectional RNN and attention model. Materials Today: Proceedings, http://dx.doi. org/10.1016/j.matpr.2020.05.450, S221478532034030X. Dialogflow. (2019). Dialogflow website: https://dialogflow.com/. (Retrieved 25 November 2019). Domino’s introduces ‘Dom the Pizza Bot’ for Facebook Messenger – Econsultancy. (2020). https://econsultancy.com/domino-s-introduces-dom-the-pizza-botfor-facebook-messenger/. (Retrieved 20 August 2020). Dr. Sbaitso (2019). Wikipedia. https://en.wikipedia.org/w/index.php?title=Dr. _Sbaitso&oldid=922071070. Enterprise chatbot platform | ai and nlp enabled bots. (2020). https://surbo.io/. (Retrieved 20 August 2020). Events | dialogflow documentation | google cloud. (2020). https://cloud.google.com/ dialogflow/docs/events-overview. (Retrieved 20 August 2020). Fernandes, A. (2018). Nlp, nlu, nlg and how chatbots work. Medium website: https:// chatbotslife.com/nlp-nlu-nlg-and-how-chatbots-work-dd7861dfc9df. (Retrieved 8 November 2019). Florence—your health assistant. (2020). https://florence.chat/. (Retrieved 9 June 2020). Følstad, A., Bertinussen Nordheim, C., & Alexander Bjørkli, C. (2018). In Bodrunova S. (Ed.), Internet science: vol. 11193, What makes users trust a chatbot for customer service? an exploratory interview study (pp. 194–208). Cham: Springer, http://dx. doi.org/10.1007/978-3-030-01437-7_16. Fryer, L. (2006). Bots as language learning tools. language, learning and technology: Vol. 10. Garcia, F. J. C., Robb, D. A., Liu, X., Laskov, A., Patron, P., & Hastie, H. (2018). Explain yourself: A natural language interface for scrutable autonomous robots. ArXiv:1803.02088 [Cs]. Retrieved from http://arxiv.org/abs/1803.02088. Go, E., & Sundar, S. S. (2019). Humanizing chatbots: The effects of visual, identity and conversational cues on humanness perceptions. Computers in Human Behavior, 97, 304–316. http://dx.doi.org/10.1016/j.chb.2019.01.020. Good, N., & Wilk, C. (2016). Introducing the guardian chatbot. The guardian. Retrieved from https://www.theguardian.com/help/insideguardian/2016/nov/07/ introducing-the-guardian-chatbot. Google now. (2020). https://www.google.co.uk/landing/now/. (Retrieved 29 February 2020). Google assistant, your own personal google. (2019). Assistant website: https://assistant. google.com/. (Retrieved 30 August 2019). Greyling, C. (2020). How to create a chatbot with google dialogflow. Medium website: https://medium.com/@CobusGreyling/how-to-create-a-chatbot-with-googledialogflow-60616c2b802f. (Retrieved 20 August 2020). Gupta, S., Borkar, D., Mello, C. D., & Patil, S. (2015). An e-commerce website based chatbot. 6, 3.. Hahm, Y., Kim, J., An, S., Lee, M., & Choi, K.-S. (2018). Chatbot who wants to learn the knowledge: kb-agent. Semdeep/NLIWoD@ISWC, 4.. Hancock, B., Bordes, A., Mazare, P.-E., & Weston, J. (2019). Learning from dialogue after deployment: Feed yourself, chatbot!. ArXiv:1901.05415 [Cs, Stat]. Retrieved from http://arxiv.org/abs/1901.05415. Haristiani, N. (2019). Artificial intelligence (AI) chatbot as language learning medium: An inquiry. Journal of Physics: Conference Series, 1387, Article 012020. http://dx. doi.org/10.1088/1742-6596/1387/1/012020. Harkous, H., Fawaz, K., & Aberer, K. (2016). PriBots: conversational privacy with chatbots. Healthbuddy: a new chatbot to engage with communities in europe and central asia on covid-19. (2020). http://www.euro.who.int/en/health-topics/healthemergencies/coronavirus-covid-19/news/news/2020/5/healthbuddy-a-newchatbot-to-engage-with-communities-in-europe-and-central-asia-on-covid-19. (Retrieved 20 May 2020). Heiser, J. F., Colby, K. M., Faught, W. S., & Parkison, R. C. (1979). Can psychiatrists distinguish a computer simulation of paranoia from the real thing?: The limitations of turing-like tests as measures of the adequacy of simulations. Journal of Psychiatric Research, 15(3), 149–162. http://dx.doi.org/10.1016/0022-3956(79)90008-6. Heller, B., Procter, M., Mah, D., Jewell, L., & Cheung, B. (2005). Freudbot: An investigation of chatbot technology in distance education. Hien, H. T., Cuong, P.-N., Nam, L. N. H., Nhung, H. L. T. K., & Thang, L. D. (2018). Intelligent assistants in higher-education environments: The FIT-EBot, a chatbot for administrative and learning support. In Proceedings of the ninth international symposium on information and communication technology (pp. 69–76). New York, NY, USA: ACM, http://dx.doi.org/10.1145/3287921.3287937. Hill, J., Randolph Ford, W., & Farreras, I. G. (2015). Real conversations with artificial intelligence: A comparison between human–human online conversations and human–chatbot conversations. Computers in Human Behavior, 49, 245–250. http://dx.doi.org/10.1016/j.chb.2015.02.026. Hirschberg, J., & Manning, C. D. (2015). Advances in natural language processing. Science, 349(6245), 261–266. http://dx.doi.org/10.1126/science.aaa8685. How to reduce risk in deploying conversational ai solutions. (2020). Boost.ai website: https://www.boost.ai/articles/reducing-risk-in-conversational-ai-deployments. (Retrieved 20 August 2020). Hoy, M. (2018). Alexa, siri, cortana, and more: An introduction to voice assistants. Medical Reference Services Quarterly, 37, 81–88. http://dx.doi.org/10.1080/02763869. 2018.1404391. Ibm watson. (2019). https://www.ibm.com/watson. (Retrieved 30 August 2019). Importance of context in a chatbot conversation | IBM. (2020). https://www.ibm.com/ cloud/blog/importance-context-chatbot-conversation. (Retrieved 20 August 2020). Jabberwacky (2019). Wikipedia. Retrieved from https://en.wikipedia.org/w/index.php? title=Jabberwacky&oldid=926273345. Jia, J. (2004). NLML–A markup language to describe the unlimited english grammar. ArXiv:Cs/0404018. Retrieved from http://arxiv.org/abs/cs/0404018. 16 E. Adamopoulou and L. Moussiades Machine Learning with Applications 2 (2020) 100006 Jia, J. (2009). CSIEC: A computer assisted english learning chatbot based on textual knowledge and reasoning. Knowledge-Based Systems, 22(4), 249–255. http://dx.doi. org/10.1016/j.knosys.2008.09.001. Johannsen, F., Leist, S., Konadl, D., & Basche, M. (2018). Comparison of commercial chatbot solutions for supporting customer interaction. ECIS. Jung, S. (2019). Semantic vector learning for natural language understanding. Computer Speech & Language, 56, 130–145. http://dx.doi.org/10.1016/j.csl.2018.12.008. Jwala, K. (2019). Developing a Chatbot using Machine Learning. 8(1) 4. k, venkat (2020). Examples and best use cases of chatbots in banking industry. Medium website: https://medium.com/voice-tech-podcast/examples-and-best-usecases-of-chatbots-in-banking-industry-1a46cebdb0cd. (Retrieved 20 August 2020). Kar, R., & Haldar, R. (2016). Applying chatbots to the internet of things: Opportunities and architectural elements. International Journal of Advanced Computer Science and Applications, 7, http://dx.doi.org/10.14569/IJACSA.2016.071119. Keijsers, M., Bartneck, C., & Kazmi, H. S. (2019). Cloud-based sentiment analysis for interactive agents. In Proceedings of the 7th international conference on humanagent interaction (pp. 43–50). Kyoto, Japan: Association for Computing Machinery, http://dx.doi.org/10.1145/3349537.3351883. Khan, R. (2017). Standardized architecture for conversational agents a.k.a. chatbots. International Journal of Computer Trends and Technology, 50, 114–121. http://dx. doi.org/10.14445/22312803/IJCTT-V50P120. Khanna, A., Pandey, B., Vashishta, K., Kalia, K., Bhale, P., & Das, T. (2015). A study of today’s A.I. through chatbots and rediscovery of machine intelligence. International Journal of U- and e-Service, Science and Technology, 8, 277–284. http: //dx.doi.org/10.14257/ijunesst.2015.8.7.28. Khurana, D., Koli, A., Khatter, K., & Singh, S. (2017). Natural language processing: State of the art, current trends and challenges. ArXiv:1708.05148 [Cs]. Retrieved from http://arxiv.org/abs/1708.05148. Kim, S., Kwon, O.-W., & Kim, H. (2020). Knowledge-grounded chatbot based on dual wasserstein generative adversarial networks with effective attention mechanisms. Applied Sciences, 10(9), 3335. http://dx.doi.org/10.3390/app10093335. Kim, J., Lee, H.-G., Kim, H., Lee, Y., & Kim, Y.-G. (2018). Two-step training and mixed encoding-decoding for implementing a generative chatbot with a small dialogue corpus (pp. 31–35). http://dx.doi.org/10.18653/v1/W18-6707. Klopfenstein, L., Delpriori, S., Malatini, S., & Bogliolo, A. (2017). The rise of bots: A survey of conversational interfaces, patterns, and paradigms. In Proceedings of the 2017 conference on designing interactive systems (pp. 555–565). Association for Computing Machinery, http://dx.doi.org/10.1145/3064663.3064672. Knowledge connectors | dialogflow documentation | google cloud. (2020). https://cloud. google.com/dialogflow/docs/knowledge-connectors. (Retrieved 20 August 2020). Kompella, R. (2018). Conversational AI chat-bot—Architecture overview. Medium website: https://towardsdatascience.com/architecture-overview-of-a-conversational-aichat-bot-4ef3dfefd52e. (Retrieved 28 October 2019). Kucherbaev, P., Bozzon, A., & Houben, G.-J. (2018). Human-aided bots. IEEE Internet Computing, 22(6), 36–43. http://dx.doi.org/10.1109/MIC.2018.252095348. Langner, B., Vogel, S., & Black, A. (2010). Evaluating a dialog language generation system: Comparing the MOUNTAIN system to other NLG approaches. pp. 1109–1112. Language and thought. (2020). http://srwyatt.tripod.com/languagethought.htm. (Retrieved 20 August 2020). Lauria, S., Bugmann, G., Kyriacou, T., Bos, J., & Klein, A. (2001). Training personal robots using natural language instruction. IEEE Intelligent Systems, 16(5), 38–45. http://dx.doi.org/10.1109/MIS.2001.956080. Lauria, Stanislao, Bugmann, G., Kyriacou, T., & Klein, E. (2002). Mobile robot programming using natural language. Robotics and Autonomous Systems, 38(3), 171–181. http://dx.doi.org/10.1016/S0921-8890(02)00166-5. Lei, X., Tu, G.-H., Liu, A. X., Ali, K., Li, C.-Y., & Xie, T. (2019). The insecurity of home digital voice assistants—Amazon alexa as a case study. ArXiv:1712.03327 [Cs]. Retrieved from http://arxiv.org/abs/1712.03327. Lin, L., D’Haro, L., & Banchs, R. (2016). A web-based platform for collection of human-chatbot interactions. (pp. 363–366). http://dx.doi.org/10.1145/2974804. 2980500. Lueth, T. C., Laengle, T., Herzog, G., Stopp, E., & Rembold, U. (1994). KANTRA-humanmachine interaction for intelligent robots using natural language. In Proceedings of 1994 3rd IEEE international workshop on robot and human communication (pp. 106–111). https://doi.org/10.1109/ROMAN.1994.365947. Luis (language understanding) – cognitive services – microsoft azure. (2019). https: //www.luis.ai/home. (Retrieved 25 November 2019). Luo, X., Tong, S., Fang, Z., & Qu, Z. (2019). Frontiers: Machines vs. Humans: The impact of artificial intelligence chatbot disclosure on customer purchases. Marketing Science, 38(6), 937–947. http://dx.doi.org/10.1287/mksc.2019.1192. Manychat – chat marketing made easy. (2019). https://manychat.com/. (Retrieved 25 November 2019). Marietto, M., Varago de Aguiar, R., Barbosa, G., Botelho, W., Pimentel, E., Franca, R., & Silva, V. (2013). Artificial intelligence markup language: A brief tutorial. International Journal of Computer Science and Engineering Survey, 04, http://dx.doi. org/10.5121/ijcses.2013.4301. Masche, J., & Le, N.-T. (2018). A review of technologies for conversational systems (pp. 212–225). http://dx.doi.org/10.1007/978-3-319-61911-8_19. Mathur, S., & Lopez, D. (2019). A scaled-down neural conversational model for chatbots. Concurrency Computations: Practice and Experience, 31(10), Article e4761. http://dx.doi.org/10.1002/cpe.4761. Mauldin, M. L. (1994). CHATTERBOTS, TINYMUDS, and the turing test: entering the loebner prize competition. AAAI. McShane, M. (2017). Natural language understanding (NL, unot NLP) in cognitive systems. AI Magazine, 38(4), 43–56. http://dx.doi.org/10.1609/aimag.v38i4.2745. Microsoft bot framework. (2019). https://dev.botframework.com/. (Retrieved 25 November 2019). Mikolov, T., Sutskever, I., Chen, K., Corrado, G. s., & Dean, J. (2013). Distributed representations of words and phrases and their compositionality. Advances in Neural Information Processing Systems, 26. Mislevics, A., Grundspen¸ k¸ is, J., & Rollande, R. (2018). A systematic approach to implementing chatbots in organizations—RTU leo showcase. BIR workshops. Molnár, G., & Zoltán, S. (2018). The role of chatbots in formal education. https: //doi.org/10.1109/SISY.2018.8524609. Mori, M., MacDorman, K., & Kageki, N. (2012). The uncanny valley [from the field]. IEEE Robotics & Automation Magazine, 19, 98–100. http://dx.doi.org/10.1109/MRA. 2012.2192811. Muangkammuen, P., Intiruk, N., & Saikaew, K. R. (2018). Automated thai-FAQ chatbot using RNN-LSTM. In 2018 22nd international computer science and engineering conference (pp. 1–4). Chiang Mai, Thailand: IEEE, http://dx.doi.org/10.1109/ICSEC. 2018.8712781. Nayyar, D. A. (2019). Chatbots and the open source tools you can use to develop them. Open Source For You website: https://opensourceforu.com/2019/01/chatbots-andthe-open-source-tools-you-can-use-to-develop-them/. (Retrieved 28 August 2019). Neff, G., & Nagy, P. (2016). Talking to bots: Symbiotic agency and the case of tay. International Journal of Communication, 10, 4915–4931. Nimavat, K., & Champaneria, T. (2017). Chatbots: An overview types, architecture, tools and future possibilities. International Journal for Scientific Research and Development, 5(7), 1019–1024, Retrieved from http://www.ijsrd.com/. Nt, T. (2016). An e-business chatbot using AIML and LSA. (pp. 2740–2742). https: //doi.org/10.1109/ICACCI.2016.7732476. Nuruzzaman, M., & Hussain, O. K. (2018). A survey on chatbot implementation in customer service industry through deep neural networks. In 2018 IEEE 15th international conference on e-business engineering (pp. 54–61). Xi’an: IEEE, http: //dx.doi.org/10.1109/ICEBE.2018.00019. Oneremission, . (2020). https://keenethics.com/project-one-remission. (Retrieved 8 June 2020). Palanica, A., Flaschner, P., Thommandram, A., Li, M., & Fossat, Y. (2019). Physicians’ perceptions of chatbots in health care: Cross-sectional web-based survey. Journal of Medical Internet Research, 21(4), Article e12887. http://dx.doi.org/10.2196/12887. Pamungkas, E. W. (2019). Emotionally-aware chatbots: A survey. ArXiv:1906.09774 [Cs]. Retrieved from http://arxiv.org/abs/1906.09774. Pandorabots: home. (2019). https://home.pandorabots.com/home.html. (Retrieved 25 November 2019). Perera, R., & Nand, P. (2017). Recent advances in natural language generation: A survey and classification of the empirical literature. Computing and Informatics, 36, 1–31. http://dx.doi.org/10.4149/cai_2017_1_1. Personal digital assistant—cortana home assistant—microsoft. (2019). Microsoft Cortana, your intelligent assistant website: https://www.microsoft.com/en-us/cortana. (Retrieved 30 August 2019). R. Ranoliya, B., Raghuwanshi, N., & Singh, S. (2017). Chatbot for university related FAQs. In 2017 international conference on advances in computing, communications and informatics (pp. 1525–1530). Udupi. https://doi.org/10.1109/ICACCI.2017. 8126057. Ramesh, K., Ravishankaran, S., Joshi, A., & Chandrasekaran, K. (2017). A survey of design techniques for conversational agents. In Information, communication and computing technology: Vol. 750 (pp. 336–350). Singapore: Springer, http://dx.doi. org/10.1007/978-981-10-6544-6_31. Rasa: open source conversational A.I.. (2019). Rasa website: https://rasa.com/. (Retrieved 18 November 2019). Roy, S., Kieson, E., Abramson, C., & Crick, C. (2018). Using human reinforcement learning models to improve robots as teachers. In Companion of the 2018 ACM/IEEE International Conference on Human-Robot Interaction (pp. 225–226). Chicago, IL, USA: Association for Computing Machinery, http://dx.doi.org/10.1145/3173386. 3177074. S., R., & Balakrishnan, K. (2018). Empowering chatbots with business intelligence by big data integration. International Journal of Advanced Research in Computer Science, 9(1), 627–631. http://dx.doi.org/10.26483/ijarcs.v9i1.5398. Sannon, S., Stoll, B., DiFranzo, D., Jung, M., & Bazarova, N. N. (2018). How personification and interactivity influence stress-related disclosures to conversational agents. In Companion of the 2018 ACM conference on computer supported cooperative work and social computing (pp. 285–288). New York, NY, USA: ACM, http://dx.doi.org/ 10.1145/3272973.3274076. Sap conversational ai | automate customer service with ai chatbots. (2019). SAP Conversational AI website: https://cai.tools.sap. (Retrieved 25 November 2019). Savenkov, D., & Agichtein, E. (2016). CRQA: crowd-powered real-time automatic question answering system. In Fourth AAAI conference on human computation and crowdsourcing. presented at the fourth aaai conference on human computation and crowdsourcing. Retrieved from https://aaai.org/ocs/index.php/HCOMP/HCOMP16/ paper/view/14049. 17 E. Adamopoulou and L. Moussiades Machine Learning with Applications 2 (2020) 100006 Schuetzler, R. M., Grimes, G. M., & Giboney, J. S. (2019). The effect of conversational agent skill on user behavior during deception. Computers in Human Behavior, 97, 250–259. http://dx.doi.org/10.1016/j.chb.2019.03.033. Scopus preview—scopus—welcome to scopus. (2020). https://www.scopus.com/home. uri. (Retrieved 14 June 2020). Selfridge, M., & Vannoy, W. (1986). A natural language interface to a robot assembly system. IEEE Journal of Robotics and Automation, 2(3), 167–171. http://dx.doi.org/ 10.1109/JRA.1986.1087055. Sensely: character-based enterprise virtual assistant platform. (2020). Sensely website: https://www.sensely.com/. (Retrieved 8 June 2020). Serban, I., Lowe, R., Charlin, L., & Pineau, J. (2015). A survey of available corpora for building data-driven dialogue systems. Dialogue and Discourse, 9, http://dx.doi. org/10.5087/dad.2018.101. Serban, I., Sordoni, A., Lowe, R., Charlin, L., Pineau, J., Courville, A., & Bengio, Y. (2016). A hierarchical latent variable encoder-decoder model for generating dialogues. Shah, H., Warwick, K., Vallverdú, J., & Wu, D. (2016). Can machines talk? Comparison of Eliza with modern dialogue systems. Computers in Human Behavior, 58, 278–295. http://dx.doi.org/10.1016/j.chb.2016.01.004. Shaikh, A., More, D., Puttoo, R., Shrivastav, S., & Shinde, S. (2019). A survey paper on chatbots. 06(04) 4. Shaw, G. (2020). 10 key chatbot implementation considerations you should know. Medium website: https://chatbotsjournal.com/10-key-chatbot-implementationconsiderations-you-should-know-306d5f27044e. (Retrieved 30 September 2020). Shawar, B., & Atwell, E. (2004). Accessing an information system by chatting. 3136, pp. 407–412. https://doi.org/10.1007/978-3-540-27779-8_39. Shawar, B., & Atwell, E. (2005). Using corpora in machine-learning chatbot systems. International Journal of Corpus Linguistics, 10, 489–516. http://dx.doi.org/10.1075/ ijcl.10.4.06sha. Shawar, B., & Atwell, E. (2007). Chatbots: Are they really useful?. LDV Forum, 22, 29–49. Shawar, B., & Atwell, E. (2010). Chatbots: Can they serve as natural language interfaces to QA corpus? https://doi.org/10.2316/P.2010.689-050. Shum, H., He, X., & Li, D. (2018). From eliza to xiaoice: Challenges and opportunities with social chatbots. Frontiers of Information Technology & Electronic Engineering, 19(1), 10–26. http://dx.doi.org/10.1631/FITEE.1700826. Singh, S., Darbari, H., Bhattacharjee, K., & Verma, S. (2016). Open source NLG systems: A survey with a vision to design a true NLG system. 9, pp. 4409–4421. Siri Apple website: https://www.apple.com/siri/. (Retrieved 30 August 2019). Siri (2020). Wikipedia. Retrieved from https://en.wikipedia.org/w/index.php?title= Siri&oldid=942524254. Skjuve, M., Haugstveit, I., Følstad, A., & Brandtzaeg, P. (2019). Help! is my chatbot falling into the uncanny valley? An empirical study of user experience in humanchatbot interaction. Human Technology, 15, 30–54. http://dx.doi.org/10.17011/ht/ urn.201902201607. So, W.-C., Wong, M. K.-Y., Lam, W.-Y., Cheng, C.-H., Yang, J.-H., Huang, Y., & .. . Lee, C.-C. (2018). Robot-based intervention may reduce delay in the production of intransitive gestures in chinese-speaking preschoolers with autism spectrum disorder. Molecular Autism, 9(1), 34. http://dx.doi.org/10.1186/s13229-018-0217- 5. Soffar, H. (2019). Apple siri features, use, advantages, disadvantages & using of siri for learning. Science online website: https://www.online-sciences.com/technology/ apple-siri-features-use-advantages-disadvantages-using-of-siri-for-learning/. (Retrieved 27 August 2020). Song, Y., Li, C.-T., Nie, J.-Y., Zhang, M., Zhao, D., & Yan, R. (2018). An ensemble of retrieval-based and generation-based human-computer conversation systems. (pp. 4382–4388). http://dx.doi.org/10.24963/ijcai.2018/609. Sperlí, G. (2020). A deep learning based chatbot for cultural heritage. In Proceedings of the 35th Annual ACM Symposium on Applied Computing (pp. 935–937). Brno Czech Republic: ACM, http://dx.doi.org/10.1145/3341105.3374129. Subway bot. (2020). ChatbotGuide.org website: https://www.chatbotguide.org/subwaybot. (Retrieved 20 August 2020). Tammewar, A., Pamecha, M., Jain, C., Nagvenkar, A., & Modi, K. (2018). Production ready chatbots: generate if not retrieve. AAAI Workshops. Tatai, G., Csordás, A., Kiss, Á., Szaló, A., & Laufer, L. (2003). Happy chatbot, happy user. In T. Rist, R. S. Aylett, D. Ballin, & J. Rickel (Eds.), Intelligent Virtual Agents (pp. 5–12). Berlin Heidelberg: Springer. The chat crash – when a chatbot fails. (2020). Toptal Design Blog website: https: //www.toptal.com/designers/ux/chatbot-fails. (Retrieved 17 September 2020). The top 12 healthcare chatbots. (2020). The Medical Futurist website: https:// medicalfuturist.com/top-12-health-chatbots. (Retrieved 20 May 2020). The worst chatbot fails | conversational ai vs. chatbots. (2019). Netomi website: https: //www.netomi.com/the-worst-chatbot-fails-and-how-to-avoid-them. (Retrieved 30 September 2020). Three ways to mitigate chatbot risks. (2020). https://www.cioapplications.com/ cxoinsights/three-ways-to-mitigate-chatbot-risks-nid-2221.html. (Retrieved 20 August 2020). Top 10 chatbot use cases that really work. (2020). https://www.revechat.com/blog/ chatbots-use-cases/. (Retrieved 20 August 2020). Top chatbot use cases in different industries. (2018). BotCore website: https://botcore. ai/blog/top-chatbot-use-cases-in-different-industries/. (Retrieved 20 August 2020). Trivedi, A., Gor, V., & Thakkar, Z. (2019). Chatbot generation and integration: A review. International Journal of Advance Research, Ideas and Innovations in Technology, 5(2), 1308–1311, XX.XXX/IJARIIT-V5I2-1840. Turing, A. M. (1950). Computing machinery and intelligence. Mind, LIX(236), 433–460. http://dx.doi.org/10.1093/mind/LIX.236.433. Vaidyam, A. N., Wisniewski, H., Halamka, J. D., Kashavan, M. S., & Torous, J. B. (2019). Chatbots and conversational agents in mental health: A review of the psychiatric landscape. The Canadian Journal of Psychiatry, 64(7), 456–464. http: //dx.doi.org/10.1177/0706743719828977. Villegas, W., Arias-Navarrete, A., & Palacios, X. (2020). Proposal of an architecture for the integration of a chatbot with artificial intelligence in a smart campus for the improvement of learning. Sustainability, 12(1500), http://dx.doi.org/10.3390/ su12041500. Vogt, P., de Haas, M., de Jong, C., Baxter, P., & Krahmer, E. (2017). Child-robot interactions for second language tutoring to preschool children. Frontiers in Human Neuroscience, 11, http://dx.doi.org/10.3389/fnhum.2017.00073. Wallace, R. S. (2009). The anatomy of a.l.I.C.e. In R. Epstein, G. Roberts, & G. Beber (Eds.), Parsing the turing test: philosophical and methodological issues in the quest for the thinking computer (pp. 181–210). Dordrecht: Springer Netherlands, http: //dx.doi.org/10.1007/978-1-4020-6710-5_13. Watson assistant | ibm cloud. (2020). https://www.ibm.com/cloud/watson-assistant/. (Retrieved 29 February 2020). Weizenbaum, J. (1966). ELIZA—A computer program for the study of natural language communication between man and machine. Commun. ACM, 9(1), 36–45. http: //dx.doi.org/10.1145/365153.365168. What are the key considerations when implementing a chatbot. (2020). Engage Hub website: https://engagehub.com/blog/what-are-the-key-considerations-whenimplementing-a-chatbot. (Retrieved 30 September 2020). What exactly is alexa? where does she come from? and how does she work?. (2019). Digital Trends website: https://www.digitaltrends.com/home/what-is-amazonsalexa-and-what-can-it-do/. (Retrieved 30 August 2019). Whole foods bot.. (2020). ChatbotGuide.org website: https://www.chatbotguide.org/ whole-foods-bot. (Retrieved 20 August 2020). Wilcox, B., & Wilcox, S. (2014). Making it real: Loebner-winning chatbot design. Arbor, 189, Article a086. http://dx.doi.org/10.3989/arbor.2013.764n6009. Wit.ai.. (2019). https://wit.ai/. (Retrieved 25 November 2019). Wizu (2018). A visual history of chatbots. Medium website: https://chatbotsmagazine. com/a-visual-history-of-chatbots-8bf3b31dbfb2. (Retrieved 24 February 2020). Wu, Y., Wu, W., Xing, C., Zhou, M., & Li, Z. (2016). Sequential matching network: A new architecture for multi-turn response selection in retrieval-based chatbots. ArXiv:1612.01627 [Cs]. Retrieved from http://arxiv.org/abs/1612.01627. Xu, A., Liu, Z., Guo, Y., Sinha, V., & Akkiraju, R. (2017). A new chatbot for customer service on social media. In Proceedings of the 2017 CHI conference on human factors in computing systems (pp. 3506–3510). New York, NY, USA: ACM, http: //dx.doi.org/10.1145/3025453.3025496. Youper—emotional health assistant powered by ai. (2020). Youper website: https: //www.youper.ai/. (Retrieved 8 June 2020). Your.md – health guide and self-care checker. (2020). Your.MD website: https://www. your.md/. (Retrieved 8 June 2020). Zemčík, T. (2019). A brief history of chatbots. DEStech Transactions on Computer Science and Engineering, http://dx.doi.org/10.12783/dtcse/aicae2019/31439. Zhang, S., Dinan, E., Urbanek, J., Szlam, A., Kiela, D., & Weston, J. (2018). Personalizing dialogue agents: I have a dog, do you have pets too?. ArXiv:1801.07243 [Cs]. Retrieved from http://arxiv.org/abs/1801.07243. Zhou, L., Gao, J., Li, D., & Shum, H.-Y. (2019). The design and implementation of xiaoice, an empathetic social chatbot. ArXiv:1812.08989 [Cs]. Retrieved from http://arxiv.org/abs/1812.08989. Zhou, H., Huang, M., Zhang, T., Zhu, X., & Liu, B. (2017). Emotional chatting machine: emotional conversation generation with internal and external memory. Zumstein, D., & Hundertmark, S. (2017). Chatbots – an interactive technology for personalized communication. Transactions and Services. IADIS International Journal on WWW/Internet, 15, 96–109. Further reading https://promo.bankofamerica.com/Erica/. (Accessed 24 October 2020). https://www.hdfcbank.com/personal/ways-to-bank/eva. (Accessed 24 October 2020). https://www.commbank.com.au/support/ceba.html. (Accessed 24 October 2020). https://www.smartinsights.com/marketplace-analysis/customer-analysis/how-ikea-areinnovating-in-customer-research/. (Accessed 24 October 2020). https://annual-report.zalando.com/2017/choose-your-chatbot/. (Accessed 24 October 2020). https://www.news18.com/news/tech/pvr-cinemas-rolls-out-ai-powered-chatbot-ontheir-website-1326262.html. (Accessed 24 October 2020). https://www.verint.com/engagement/our-story/customer-success/amtraks-intelligentvirtual-assistant-ask-julie-success-story-with-verint/. (Accessed 24 October 2020). https://www.who.int/news-room/feature-stories/detail/who-health-alert-brings-covid19-facts-to-billions-via-whatsapp. (Accessed 24 October 2020). http://www.cleverbot.com/. (Accessed 24 October 2020). https://www.pandorabots.com/mitsuku/. (Accessed 24 October 2020).
*** ∗ Autor correspondente. Endereços de e-mail: [email protected] (E. Adamopoulou), [email protected] (L. Moussiades).
https://doi.org/10.1016/j.mlwa.2020.100006 Received 7 July 2020; Received in revised form 19 October 2020; Accepted 19 October 2020 Available online xxxx 2666-8270/© 2020 The Author(s). Published by Elsevier Ltd. This is an open access article under the CC BY-NC-ND license (http://creativecommons.org/licenses/by-nc-nd/4.0/). E. Adamopoulou and L. Moussiades Machine Learning with Applications 2 (2020) 100006