Desenvolvimento chatterbot- Lucas Pereira

12.141 visualizações

Publicada em

O objetivo deste trabalho é apresentar uma proposta para o desenvolvimento de um
chatterbot, também conhecido como chatbot, enfatizando a importância da tecnologia e os
preceitos da linguagem AIML (Artificial Intelligence Markup Language). Através dos
estudos deste trabalho, serão demonstrados passos para a criação de um robô de conversação
baseado no padrão aberto de inteligência artificial AIML, propondo sua aplicação em uma
instituição de ensino superior. A metodologia utilizada baseou-se em referências
bibliográficas e em um estudo de caso para aplicação do tema proposto.

0 comentários
4 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
12.141
No SlideShare
0
A partir de incorporações
0
Número de incorporações
8
Ações
Compartilhamentos
0
Downloads
72
Comentários
0
Gostaram
4
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Desenvolvimento chatterbot- Lucas Pereira

  1. 1. 1DESENVOLVIMENTO DE UM CHATTERBOT BASEADO EM AIML PARA O SITE DE UMA INSTITUIÇÃO DE ENSINO SUPERIOR Lucas Pereira dos Santos1 Renata de Souza França 2 RESUMOO objetivo deste trabalho é apresentar uma proposta para o desenvolvimento de umchatterbot, também conhecido como chatbot, enfatizando a importância da tecnologia e ospreceitos da linguagem AIML (Artificial Intelligence Markup Language). Através dosestudos deste trabalho, serão demonstrados passos para a criação de um robô de conversaçãobaseado no padrão aberto de inteligência artificial AIML, propondo sua aplicação em umainstituição de ensino superior. A metodologia utilizada baseou-se em referênciasbibliográficas e em um estudo de caso para aplicação do tema proposto.Palavras-chave: Chatterbot, Ensino, Artificial, Aiml, Motor de Busca. ABSTRACTThe aim of this paper is to present a proposal for the development of a chatterbot, also knownas chatbot, emphasizing the importance of technology and the precepts of language AIML(Artificial Intelligence Markup Language). Through studies of this work will be shown stepsto create a chat robot based on open standard AI AIML, suggesting its application in a highereducation institution. The methodology used was based on references and a case study forapplication of the proposed topic.Keywords: Chatterbot, Education, Artificial, AIML, Search Engine.1. INTRODUÇÃO Nos dias atuais, a informática tem proporcionado grande influência à sociedade,principalmente na educação, em que a forma de se aprender tornou-se mais dinâmica, além deinfluenciar na maneira como as pessoas vivem.1 Graduando do curso de Ciência da Computação da Faculdade Pitágoras Betim. Contato eletrônico:lucaspprof@gmail.com2 Orientadora do trabalho de conclusão de curso, Renata de Souza França. Contato eletrônico:profrenatafranca@gmail.com
  2. 2. 2 Devido à diversidade nos meios de utilização da internet, diversosquestionamentos são apontados, em relação aos impactos, tanto positivos, quanto negativos,que sua utilização pode gerar. Segundo Seabra (2004),a tecnologia em si não é boa ou ruim, mas amplifica e potencializa a ação humana, tal comoum megafone pode fazer o bom cantor alegrar multidões e o desafinado incomodar muitomais gente. Para que a sociedade consiga acompanhar a dinamicidade do mundo, é necessárioque as pessoas tenham acesso à informática e a tecnologia. Para que esse acesso sejaequivalente a todos os seres, necessita-se de meio de Inclusão digital, que segundo Becker(2009), é o nome dado ao processo de democratização do acesso às tecnologias dainformação, de forma a permitir a inserção de todos na sociedade da informação. Um incluído digitalmente não é aquele que apenas utiliza o mundo digital paratrocar e-mails, mas aquele que usufrui desse suporte para melhorar as suas condições de vida.Não é suficiente que o cidadão possua um simples computador conectado à internet para sedizer que está incluído digitalmente. Segundo o IBGE no Censo 2010, apenas 38,3% dos domicílios possuemcomputador em um contexto em que menos de 40 % deles possuem tanto telefone fixo quantocelular. De acordo com um levantamento feito pela Network Wizards 3 (2011), o Brasil possuio maior número de hosts4 de Internet da America do Sul, sendo o 4º do mundo, o que reafirmaa ideia de que novos métodos devem ser desenvolvidos para se interagir com a tecnologia,métodos esses que proporcionem uma inserção maior das pessoas no universo tecnológico. A AIML (Artificial Intelligence Markup Language) é uma linguagem que desafiaos paradigmas da ciência da computação, pois possibilita que humanos conversem comsistemas computacionais usando linguagem natural (linguagem utilizada no dialogo entreduas pessoas). Enquanto pensa-se ser complexo para uma máquina conversar com umhumano sobre assuntos diversos, o Dr. Richard S. Wallace, criador da linguagem AIMLdemonstra que não é bem assim. Técnicas que facilitem a interação entre homem e máquina aumentam,exponencialmente, o alcance de uma tecnologia. Desta forma, novos métodos para interaçãosurgem não sendo bastante desenvolver uma ferramenta sem pensar nos usuários.3 Organização sem fins lucrativos dedicada a apoiar a infraestrutura da Internet universal. A Network Wizardscalcula o número de usuários de um determinado país tomando o número de hosts e multiplicando-o por dez, queé o número estimado de usuários por host.4 Em informática, host é qualquer dispositivo ou computador conectado a uma rede.
  3. 3. 3 Um chatterbot, ou chatbot, é um programa de computador que assume o lugar deum interlocutor, dialogando com pessoas comuns através de textos pré-programados. Eminglês bot é a abreviação de robot, significando robô enquanto chatter significa conversador(AIRES, 2008, p.2). Chatterbots podem ser utilizados de diversas maneiras, e os teóricos deInteligência Artificial definem em súmula que uma das funções mais importantes de um serartificial seria a capacidade de o mesmo se comunicar de maneira independente, o queaumenta significativamente a interatividade de qualquer sistema. Desta forma, este trabalho tem como objetivo desenvolver a temática da inclusãodigital, através de uma proposta de um chatterbot que atenda os usuários do site de umainstituição de ensino superior, tirando dúvidas simples através do portal, demonstrando aforma de construí-lo. Este trabalho está dividido em 4 partes. A primeira parte relatou umabreve introdução sobre o assunto, assim como o objetivo do trabalho. A parte 2 abordará osconceitos e fundamentos da inteligência artificial. Seguindo para a parte 3, descrevesse eexplorasse o universo dos chatterbots, demonstrando os passos necessários para o seudesenvolvimento. A parte 4 será o fim do desenvolvimento e a personalização do chatterbotpara que ele se adapte ao sistema. Enfatiza-se que o trabalho tem por objetivo personalizar umchatterbot para o SAC (Serviço de atendimento ao Cliente) de uma instituição de ensino. Aofinal, será feita uma análise sobre a proposta.2. INTELIGÊNCIA ARTIFICIAL (IA) Inteligência Artificial (IA) é um ramo da ciência da computação que se propõe aelaborar dispositivos que simulem a capacidade humana. Segundo Rich (1994, p.3) a IA“permite que objetos tecnológicos tenham ações humanas como de raciocinar, perceber, tomardecisões e resolver problemas, enfim, a capacidade de ser inteligente”. “[...] a palavra “inteligência” vem do latim inter (entre) e legere (escolher). [...] A palavra “artificial” vem do latim artificiale, significa algo não natural, isto é, produzido pelo homem [...]” Portanto, pode-se definir Inteligência Artificial como “[...] um tipo de inteligência produzida pelo homem para dotar as máquinas de algum tipo de habilidade que simula a inteligência do homem.”(FERNANDES, 2005, p.160) O desenvolvimento da área começou logo após a Segunda Guerra Mundial, com oartigo "Computing Machinery and Intelligence" do matemático inglês Alan Turing, e opróprio nome foi cunhado em 1956. Seus principais idealizadores foram os cientistas Herbert
  4. 4. 4Simon, Allen Newell, John McCarthy, Warren McCulloch, Walter Pitts e Marvin Minsky,entre outros. A construção de máquinas inteligentes interessa à humanidade há muito tempo,havendo na história um registro significante de seres mecânicos (reais) e personagensmísticos, como o Golem5 e o Frankenstein6, que demonstram um sentimento ambíguo dohomem, composto de fascínio e de medo, em relação à Inteligência Artificial. Com o surgimento do computador moderno, é que a inteligência artificial ganhoumeios e massa crítica para se estabelecer como ciência integral, com problemáticas emetodologias próprias. Desde então, seu desenvolvimento tem extrapolado os clássicosprogramas de xadrez ou de conversão e envolvido áreas como visão computacional, análise esíntese da voz, lógica difusa, redes neurais artificiais e muitas outras. De acordo com Helder Coelho (1994), há uma discussão em que se consideramduas propostas básicas para a IA: uma conhecida como "forte" e outra conhecida como"fraca".  Inteligência artificial forte: Aborda a criação da forma de inteligência baseada em computador que consiga raciocinar e resolver problemas; uma forma de IA forte é classificada como autoconsciente. É um tema bastante controverso. Segundo John Pollock (1989) a tese da IA forte é a de que podemos construir uma pessoa (uma coisa que literalmente pensa, sente e é consciente) por meio da construção de um sistema físico dotado de “inteligência artificial” apropriada.  Inteligência artificial fraca: Trata-se da noção de como lidar com problemas não determinísticos. Centra a sua investigação na criação de inteligência artificial que não é capaz de, verdadeiramente, raciocinar e resolver problemas. Uma tal máquina com esta característica de inteligência agiria como se fosse inteligente, mas não tem autoconsciência ou noção de si. Segundo Searle, (1986, p.112) “... ainda que uma máquina possa parecer falar chinês por meio de recursos de exame comparativo com mostras e tabelas de referência, binárias, isso não implica que tal máquina fale e entenda efetivamente a língua”. O teste clássico para aferição da inteligência em máquinas é o Teste de Turing(TT). O teste consiste em se fazer perguntas a uma pessoa e a um computador que não se pode5 Ser animado artificial mítico, associado à tradição do judaísmo, que pode ser trazido à vida através de umprocesso mágico. É muitas vezes visto como um gigante de pedra.6 Personagem criado por Mary Shelley no filme Frankenstein em 1994. No filme um cientista costura partes dediversos cadáveres para criá-lo.
  5. 5. 5ver. Um computador e seus programas passam no TT se, pelas respostas, for impossível aalguém distinguir qual interlocutor é a máquina e qual é a pessoa. Enquanto o progresso direcionado ao objetivo final de uma inteligência similar àhumana tem sido lento, muitas derivações surgiram no processo. Muitos outros sistemas úteistêm sido construídos usando tecnologias que ao menos uma vez eram áreas ativas empesquisa de IA. Alguns exemplos incluem:  Lógica incerta, uma técnica para raciocinar dentro de incertezas, tem sido amplamente usada em sistemas de controles industriais.  Sistemas tradutores.  Redes Neurais vêm sendo usadas em uma larga variedade de tarefas, de sistemas de detecção de intrusos a jogos de computadores.  Reconhecimento de voz está disponível comercialmente e é amplamente usado.  Sistemas de álgebra computacional, tais como Matemática e Macsyma, são bons exemplos de aplicações de IA na solução de problemas algébricos.  Aplicações utilizando Vida Artificial são utilizadas na indústria de entretenimento e no desenvolvimento da Computação Gráfica.  Chatterbots (robôs de software para conversação), personagens virtuais que conversam em linguagem natural como se fossem humanos de verdade, são cada vez mais comuns na internet. A visão da Inteligência Artificial, substituindo julgamento humano profissional,tem surgido muitas vezes na história, em Ficção Científica e, hoje em dia, em algumas áreasespecializadas em que "Sistemas Especialistas" são usados para melhorar ou para substituir ojulgamento humano. Autores, como Wittgenstein (citado por Shanker, 1987,p.28) e Piaget(1968, pp. 121-152), sustentam que mesmo nesses termos não seria possível afirmar que asmáquinas pensam, pois o pensamento seria uma característica humana, não se tratando de umprocesso mecânico estruturado por regras lógicas. Caracterizá-lo dessa forma seria transgredirsua própria natureza. Todavia, deve ser lembrando a definição de pensamento proposta porTuring (1950, p.59), “pensamento é o processo pelo qual se resolve problemas manipulando-se informações”. Assim, algo que pensa é algo que resolve problemas, não importando se oprocesso pelo qual se chega às respostas seja lógico-formal e mecanicista ou baseado emmodelos mentais e estratégias. Dessa forma, há tanto homens quanto máquinas plenamentecapazes de resolver problemas.
  6. 6. 63. INTERATIVIDADE Vive-se em um tempo que nada acontece fora do universo tecnológico e a cadamomento as pessoas encontram-se diante da interação homem-máquina. A cada momentoexperimentam-se formas de interação técnica e social. Em uma era das mídias digitais e dastecnologias em rede, percebe-se a utilização constante do termo interatividade. (PRIMO,1999,p.165) “Características como bidirecionalidade, resposta imediata, controle do usuário, quantidade de ações do usuário, respostas (feedback), transparência, entre outras, se consideradas isoladamente não garantem o caráter interativo da comunicação. Refere-se à habilidade do usuário de perceber a experiência como uma simulação da comunicação interpessoal,alem é claro de permitir que o usuário exerça influência sobre o conteúdo ou a forma da comunicação mediada.” (RAFAELI, 1988, p.16) Já segundo Andrew Lippman (BRAND, 1988, p.5), pode-se definir interatividadecomo uma “atividade mútua e simultânea da parte dos dois participantes, normalmentetrabalhando em direção de um mesmo objetivo”. Sendo assim, a interatividade seria um tipode relação tecno-social, como um diálogo, uma conversação entre homens e máquinas, emtempo real. A relação deixaria de ser passiva ou representativa, passando a ser ativa epermitindo inclusive a relação inteligente entre máquinas inteligentes sem a mediaçãohumana. (PRIMO,1999, p.165)4. CHATTERBOTS Chatterbot (ou chatbot) é um programa de computador que tenta simular um serhumano na conversação com as pessoas. O objetivo é responder as perguntas de tal forma queas pessoas tenham a impressão de estar conversando com outra pessoa e não com umprograma de computador. (SGANDERLA, 2008). Após o envio de perguntas em linguagem natural, o programa consulta uma basede conhecimento e em seguida fornece uma resposta que tenta imitar o comportamentohumano. O termo Chatterbot surgiu da junção das palavras chatter (a pessoa que conversa) eda palavra bot (abreviatura de robot), ou seja, um robô (em forma de software) que conversacom as pessoas. (AIRES, 2008, p.2) A palavra foi inventada por Michael Mauldin (Criador do primeiro Verbot7, Julia)em 1994, para descrever estes robôs de conversação na Twelfth National Conference on7 Verbot é um chatterbot, ou Chatbot, programa desenvolvido para tentar se passar por um humano.
  7. 7. 7Artificial Intelligence8. Embora os chatterbots existam desde a década de 60, há um aumentono interesse destas tecnologias desde a generalização da Internet. A Internet fez oschatterbots acessíveis ao público em geral e ao mesmo tempo criou para os Web sites anecessidade de terem uma interface parecida com a humana para fornecer informações deforma agradável a milhares de pessoas por dia.4.1 Desafios De fato, mais e mais esforços estão sendo direcionados à pesquisa edesenvolvimento de chatterbots. Embora adquirir inteligência humana ainda seja um sonhodistante, a tecnologia dos chatterbots só tende a crescer. (AGENTLAND, 2003). Os chatbots também apresentam algumas desvantagens, sendo a principal delas ofato de que é um programa de computador e não é capaz de pensar e aprender da mesmaforma que um ser humano o faz. Como a quantidade de sentenças que um ser humano podeproduzir é praticamente infinita, dificilmente um software será capaz de lidar com todos ostipos de entradas fornecidas pelos usuários. Segundo Primo (2000) como a linguagem humana é muito complexa, quanto maispessoas participarem das conversas, e da escrita do cérebro do chatterbot, melhor será odesempenho do dialógico. Apesar das limitações, esse tipo de programa não pode serdesprezado como ferramenta auxiliar. O potencial para o uso dessa tecnologia é enorme emáreas como educação, atendimento ao cliente, suporte on-line ou para qualquer serviço quenecessite de consulta à base de dados. Pois proporciona um ambiente mais agradável e defácil interação, alem de ser uma tecnologia relativamente barata que pode ser usada por váriosusuários simultaneamente.4.2 Vantagens e Características  Um robô não precisa de salário, vale alimentação ou vale transporte;  Vocabulário e respostas do robô totalmente personalizável;  24 horas disponível;  Todas as mensagens trocadas entre o robô e usuários são gravadas e podem ser visualizadas posteriormente;8 Fundada em 1979, a Associação para o Avanço da Inteligência Artificial (AAAI) é uma sociedade científicasem fins lucrativos dedicada ao avanço do conhecimento científico dos mecanismos subjacentes de pensamentoe comportamento inteligente e a sua incorporação em máquinas.
  8. 8. 8  Custo de manutenção muito baixo. Antes de classificar-se os chatterbots é importante esclarecer a diferença entrechatterbots e agentes. Segundo Primo (2000), nem todo agente é um agente de conversação.Software agente é um sinônimo para software robot ou simplesmente “bot”. Existe agente quebusca por ofertas, sugere produtos, etc., mas não entende linguagem natural. Um chatterbot é um tipo específico de bot capaz de entender linguagem natural.Talvez, o termo “entender” seja um tanto ambicioso, como diz Primo (2000), já quereconhecer signos não quer dizer propriamente que haja uma verdadeira compreensão porparte do robô. Enfim, deve-se entender que um robô de conversação não compreende a fala, massim, reconhece a linguagem podendo reagir a ela. De forma geral, os chatterbots podem seranalisados segundo uma série de características dentre as quais se destaca: (Franklin eGraesser, 1996).  Capacidade de aprender – capacidade do chatterbot de aprender durante o diálogo com o usuário. O chatterbot pode aprender sobre o domínio e sobre o usuário. Este tipo de chatterbot tem uma maior probabilidade de manter diálogo por mais tempo sem ser percebido o fato de ser um programa.  Memória – capacidade de lembrar os diálogos passados e sentenças mencionadas previamente dentro de um mesmo diálogo.  Domínio – possíveis temas para diálogo. Alguns chatterbots não fazem restrição de domínio, contudo podem ser especialistas em determinados assuntos. Em outros chatterbots existe a opção do usuário escolher qual o domínio da conversa.  Robustez – capacidade do robô de responder a sentenças do usuário não reconhecidas.  Autoconhecimento – capacidade de o robô falar sobre si mesmo. Os chatterbots podem ser classificados segundo sua área de aplicação como deentretenimentos, de busca, acadêmicos, de comércio, dentre outros. Laven (2000) apresentauma classificação que considera os recursos utilizados. Nesta classificação os chatterbotspodem ser encontrados nas seguintes categorias: clássicos, complexos, amigáveis eensináveis.  Clássicos: chatterbots criados com o objetivo inicial de estudar a complexidade na comunicação em linguagem natural entre homens e máquinas.  Complexos: criados a partir de linguagens de programação mais sofisticadas, A idéia principal neste programa é avaliar a natureza da comunicação entre homem e
  9. 9. 9 computador. Seu funcionamento é baseado em padrões de mapeamentos das perguntas mais comuns de usuários nas respostas adequadas.  Amigáveis: são capazes de reproduzir o comportamento de uma pessoa.  Ensináveis: Chatterbots que possuem capacidade de aprendizagem.4.3 Artificial intelligence markup language (AIML) Os Chatterbots são baseados em uma rotina de “estímulo – resposta”, ou seja,você pergunta, e ele responde com base na sua pergunta. Para criar um chatterbot, pode-seutilizar uma linguagem de marcação desenvolvida para esse propósito, como a ArtificialIntelligence Markup Language (AIML), que é virtualmente independente de linguagem deprogramação, tudo que se precisa para AIML funcionar, é um processador de AIML escritona linguagem escolhida pelo desenvolvedor. Pode-se também usar Prolog9, ou outra linguagem de programação em lógica, ecriar um chatterbot a partir do zero, ou ainda adaptar uma versão existente de algumprograma desse tipo, o que requer conhecimentos elaborados de programação decomputadores e de programação em lógica. O AIML é baseado num padrão de entradas e saídas, assim, quando o usuáriodigita algo, o bot já tem uma saída para aquela pergunta. O chatterbot é composto por tagsque irão definir todo o contexto necessário para se programar em AIML. (WALLACE, 2003) Existem inúmeros chatterbots na internet, porém, um deles ganha destaque nesteconceito, trata-se da A.L.I.C.E. (Artificial Linguistic Internet Computer Entity) escrita emAIML, criada por Richard S. Wallace, e ganhadora de muitos prêmios por sua eficiência erealismo (ALICE, 2003).Ainda, segundo o autor, o AIML tem como principais tags:  <aiml> inicia e terminar o bloco AIML.  <category> indica uma categoria ou unidade de conhecimento.  <pattern> Indica o padrão da mensagem que será digitada pelo usuário.  <template> indica a resposta para o que foi digitado  <random> proporciona respostas aleatórias  <li> marca bloco de respostas aleatórias é usado dentro do bloco <random>  <that> registra a ultima sentença, gerando uma sequencia no dialogo.9 Linguagem de programação puramente lógica, especialmente associada com a inteligênciaartificial e linguística computacional.
  10. 10. 10  <srai> Redireciona para outra questão ou categoria. A base de conhecimento do chatterbot é formada pelas tags da linguagem AIML,ou seja, todas as possíveis perguntas e respostas do usuário ficam armazenadas nessa base,conforme observa-se na Figura 1: Exemplo 1 Exemplo 2 <aiml> <aiml> <category> <category> <pattern> oi </pattern> <pattern>qual o seu nome?</pattern> <template> <template> Ola, tudo bem? <random> </template> <li>Sou chamado de chatterbot</li> </category> <li>Me chamo chatterbot</li> </aiml> <li>Chatterbot</li> <li>pode me chamar de chatterbot</li> </random> </template> </category> </aiml> Figura 1: Exemplo AIML Fonte: Elaborado pelo autor A Figura 1 possui exemplos de perguntas cadastradas na base de conhecimento dochatterbot. Cada bloco pode possuir milhares de questões. No exemplo 1, sempre que ousuário digitar “oi” o chatterbot responderá “ola, tudo bem?”. Já no exemplo 2, ao serdigitado “qual o seu nome?” o chatterbot vai sortear uma das respostas que estão dentro dobloco <random>.4.4 Exemplos de chatterbots Segundo Alcione (2010) em pesquisas realizadas, descobriu-se que já existemdiversos chatterbots, os quais possuem como função atender clientes de empresas. Cada vezmais as empresas investem nessa nova modalidade de atendimento. Os chatterbots estãoinclusos em diversas áreas, como: saúde, educação, comercial, governamental, entre outras. Aseguir, destacam-se os principais agentes de conversação disponíveis na internet. Eliza: Iniciando a primeira geração de chatterbot em 1966 e desenvolvido por JosephWeizenbaum, no Massachussets Institute of Technology (Instituto de Tecnologia deMassachussets), nasceu o primeiro chatterbot, Eliza. Este tinha por objetivo fazer umapsicanálise e diagnosticar, por meio de diálogos amigáveis, problemas psicológicos empacientes. Já naquela época obtinha-se êxito. Porém, Eliza não mantinha em base as conversasrealizadas anteriormente, com isso deixava um pouco a desejar (LEONHARDT, 2003).
  11. 11. 11 Cybelle (Nacional): Já no Brasil, o estudo de chatterbots é mais recente. Criado porAlex Primo, em 2000, o primeiro chatterbot brasileiro é chamado de Cybelle. Com poder deexpressões emocionais, como tristeza, humor, entre outros, isso ajudou a quebrar aslimitações com o humano em relação à comunicação, além, é claro, de propiciar um bombate-papo para descontrair. Cybelle possui uma base de conhecimento composta por váriasrespostas pré-programadas, possibilitando maior abrangência e flexibilidade com o humano(LEONHARDT, 2003). Ed: Desenvolvido pela Insite e lançado pela Petrobrás em 20 de outubro de 2004,surgiu para interagir com o meio social em um público-alvo infanto-juvenil, com a intençãode conscientizar quanto ao consumo racional energético brasileiro. Integrado ao site daConpet (Programa Nacional de Racionalização do Uso dos Derivados do Petróleo e do GásNatural), fornece amplo material, como vídeos, apostilas e centenas de links para saciar asdúvidas em questão (OLIVEIRA, 2004). Sete Zoom: Também desenvolvida pela Insite, para o site da Close Up, pela suapersonalidade atrevida, é considerada a modelo virtual mais famosa do Brasil. Várioscontextos e características de comunicação humana foram implementados; possui capacidadede bolar idéias a partir de assuntos abordados durante a conversa. Suas respostas são baseadasem uma personalidade forte por meio de uma base de conhecimento pré-alimentada pelosprogramadores. Em sua implementação, destacam a habilidade de memorizar assuntos jáconversados, como seu nome, por exemplo. Tem capacidade de direcionamento de assuntobaseado na inserção do internauta, além de apresentar e elaborar ideias (FERREIRA, 2008).5. ESTUDO DE CASO SOBRE O DESENVOLVIMENTO DE UM CHATTERBOT Esse estudo tem como objetivo desenvolver uma proposta de chatterbot a serinserido em um site de instituição de ensino superior, para apoiar a página de dúvidasfrequentes. O chatterbot poderá ser implantando tanto no site quanto em terminais espalhadospela instituição, visto que a interatividade e a facilidade de interagir com páginas web sãofatores de bastante relevância para o usuário. Será desenvolvido um chatterbot a partir de ummotor de busca já existente. Para poder explicar melhor como se dará o desenvolvimento do chatterbot, otrabalho será dividido em 3 partes, a primeira sobre o que é necessário para se desenvolver ochatterbot, a segunda sobre como instalar o motor de busca e como é seu funcionamento e aterceira vai demonstrar como personalizar o motor de busca e criar o chatterbot.
  12. 12. 125.1 O desenvolvimento O chatterbot será criado baseando-se no projeto “PROGRAM-O v1.0.3”desenvolvido por Elizabeth Perreau e lançado com o código-fonte aberto em janeiro 2009,que desde então vem recebendo atualizações de uma grande comunidade de desenvolvedoresao redor do mundo, o que justifica a escolha desse motor de busca para o desenvolvimento dotrabalho. Para instalar o motor de busca é necessário que o computador tenha um servidorWeb instalado. Nesse trabalho, adotou-se o programa WampServer2.1e-x32(Wamp)10, que éum pacote de programas que instala automaticamente o Apache 1.331, PHP5, MySQLdatabase, PHPmyadmin e SQLitemanager. Sendo que cada um dos programas instalados tema sua função durante o desenvolvimento. Para que seja possível criar e editar as páginas web, trabalha-se com o softwarePHP Editor 2.22, que é um editor gratuito e totalmente em português destinado a edição depáginas PHP11 e HTML12.5.2 Motor de busca Depois de baixado o motor de busca (PROGRAM-O, 2012), faz-se necessárioinstalá-lo no servido web, para isso basta abrir a pasta “www directory” que pode serencontrada clicando no ícone do Wamp na área de notificação do Windows e colar osarquivos(Figura 2) Figura 2: Wamp (Área de notificação) Fonte: Wamp Server 2.1 (2012)10 Pacote com os programas: Apache como servidor web, PHP5 que interpreta códigos na linguagem PHP,PHPmyadmin para controlar a parte administrativa do PHP e o SQLitemanager responsável pelos códigos (SQL)usados no banco de dados11 PHP ou Hypertext Preprocessor é uma linguagem de programação livre utilizada para gerar conteúdodinâmico na Internet12 HTML ou HyperText Markup Language é uma linguagem de programação utilizada para produzir páginasestáticas na Internet.
  13. 13. 13O motor de busca conta com o seguinte diretório:  Pasta Admin: Onde se encontram todos os scripts para a parte administrativa do motor de busca.  Pasta: Bot: Contém os arquivos necessários para o bot funcionar, como scripts para buscar a resposta no bando de dados.  Arquivo Index.php: Página inicial do nosso motor de busca, onde de fato poderemos conversar com nosso personagem.  Arquivo install_programo.php: Script para instalar o motor de busca no servidor web.5.2.1 Instalação do motor de busca Para instalar o motor de busca primeiro é necessário criar um banco de dados paraarmazenar as suas informações, para este estudo foi criado um banco de dados chamado“banco” usando o aplicativo PhpMyAdmin. Depois de criado o banco de dados, configura-se o acesso a ele. Para isso abra apasta “bot” que se encontra na pasta “www directory”. Dentro da pasta há um arquivochamado “config.php” que contém as configurações de acesso ao banco de dados. O arquivopossui 4 constantes que devem ser alteradas:  $dbh: Localização do servidor  $dbn: Nome do banco de dados  $dbu: Nome de usuário do banco de dados  $dbp: Senha do banco de dadosNo wamp a localização padrão do servidor é “localhost”, o usuário padrão é “root” e não háuma senha predefinida, Logo as constantes recebem os seguintes valores:  $dbh = "localhost";  $dbn = "banco";  $dbu = "root";  $dbp = ""; Esse processo também deve ser feito no arquivo “config.php” da áreaadministrativa do motor de busca, em “www directoryadminfuncs” . Para iniciar a instalação do motor de busca tem-se que abrir o browser e digitarna barra de endereço: localhost/install_programo.php , depois clicar em “click here to
  14. 14. 14proceed” para que o script crie as tabelas necessárias para o motor de busca funcionar. Astabelas são:Tabela 1: Tabelas do banco de dados TABELA COMENTÁRIO Armazena os scripts AIML instalados com o AIML motor de busca Armazena os scripts AIML instalados por AIML_USERUNDEFINED usuários desconhecidos Armazena informações sobre a personalidade BOTPERSONALITY do Chatterbot Armazena os diálogos realizados pelo CONVERSATION_LOG chatterbot Armazena palavras erradas e as suas SPELLCHECK correções. Mesmo que o usuário digite errado o chatterbot vai entender. UNDEFINED_DEFAULTS Armazena padrões definidos para o chatterbot Armazena entradas desconhecidas pelo UNKNOWN_INPUTS chatterbot Armazena dados referentes aos usuários da USERS área administrativaFonte: PhpMyAdmin (2012) - Gerado pelo projeto Program-o Posteriormente, adicionam-se alguns scripts AIML no banco de dados parasimular uma inteligência básica ao chatterbot. Além disso, as tabelas: Undefined_defaults,botpersonality e spellcheck são preenchidas com valores padrões do chatterbot. Tudo isso,baseando-se na língua inglesa. A partir desse momento o motor de busca já está instalado e funcionando em seuservidor web, agora torna-se necessário configurar a parte administrativa. Clicando em “Toinstall My Program-O admin área” abre-se a instalação da área administrativa, desta formasegue-se as instruções para que seja criado um nome de usuário e uma senha para oadministrador do chatterbot. Nesse trabalho utilizou-se o nome de usuário “admin” e a senha“123”. O processo de instalação do motor de busca está completo, acessando através daabertura do browser e digitando na barra de endereço: Localhost, assim será redirecionadopara a página inicial do chatterbot. Já para acessar a área administrativa digita-se:Localhostadmin na barra de endereço.
  15. 15. 155.2.2 Funcionamento do motor de busca O motor de buscas funciona de acordo com a lógica da linguagem AIML, logo para se fazer o motor de busca e transformá-lo em um chatterbot adiciona-se as sentenças de acordo com a linguagem AIML na área administrativa do chatterbot. Com a área administrativa aberta tem-se uma serie de opções, tais como:  Logs: Exibe o histórico das conversas do chatterbot;  Bot Personality: Permite alterar informações relacionadas a personalidade do chatterbot, como religião, idade e filme favorito;  Teach: Permite adicionar a “inteligência” do chatterbot, através de perguntas e respostas baseadas em AIML;  Upload AIML: Permite adicionar arquivos AIML ao banco de dados. Isso feito através da linguagem SQL;  Search Edit AIML: Permite pesquisar e editar as sentenças em AIML do banco de dados;  Demo Chat: Para visualizar uma demonstração do chatterbot.; A partir daí é possível criar o chatterbot de acordo com um objetivo, adicionando palavras ou expressões comuns dentro de um cenário. 5.3 Personalizando o chatterbot O Banco de dados encontra-se carregado com palavras e expressões em inglês, então, exclui-se as informações das tabelas: AIML e spellcheck. Para isso, abre-se o PhpMyAdmin e clique em SQL no canto superior esquerdo da tela (Figura 3): Figura 3: PhpMyAdmin Página inicial Fonte: PhpMyAdmin(2012)
  16. 16. 16 Digita-se: TRUNCATE aiml; TRUNCATE spellcheck e clica-se em executar.Desta forma, as duas tabelas terão seus conteúdos apagados e para adicionar as novassentenças, clica-se no botão “teach” da área administrativa. A Figura 4 representa a tela queserá aberta. Figura 4: Ensinando o chatbot Fonte: Área administrativa do chatbotOnde:  Topic: Indica a qual tópico ou categoria a pergunta pertence.  Previous Bot Res: Ultima resposta do chatterbot.  User Input: Pergunta digitada pelo usuário.  Bot Response: Resposta do chatterbot. Os únicos campos obrigatórios são: User Input e Bot Response. Após opreenchimento clica-se em “teach” e a pergunta e resposta serão adicionadas na tabela AIMLdo banco de dados. Maiores exemplos serão mostrados na posposta no capítulo posterior.6. PERSONALIZANDO UM CHATTERBOT PARA O SAC DE UMA INSTITUIÇÃO DE ENSINO SUPERIOR Com a popularização das telecomunicações, passou a ser comum as empresasdisponibilizarem a seus clientes centrais de atendimento, a fim de que eles pudessem,oficialmente, regisrar suas reclamações, fazer solicitações e oferecer sugestões para oaperfeiçoamento dos serviços existentes, alem de possibilitar o esclarecimento das duvidasmais comuns. Essas centrais de atendimento passaram a ser chamadas de SAC- Serviço deAtendimento ao Consumidor, que por sua vez vem recebendo investimentos para que osconsumidores sejam atendidos da melhor maneira possivel. Para que o chatterbot desenvolvido seja capaz de responder as principais dúvidasde alunos e usuários do site da instituição de ensino é necessário inserí-las em sua base dedados. Tudo isso usando uma linguagem não muito formal, a fim de deixar o chatterbot omais humano possivel.
  17. 17. 17 Após todos os passos seguidos de configuração do ambiente para funcionamentodo chatterbot, incluí-se as dúvidas mais comuns no banco de dados por meio do botão “teach”da área administrativa do chatterbot. (Figura 5) Figura 5: Botão Teach Fonte: Área administrativa do Chatbot Após uma análise minuciosa do que se poderia disponiblizar no SAC, têm-seexemplos de perguntas e respostas inseridas no Chatterbot Programa Científico, para atenderuma Instituição de ensino Superior.1) User input: Qual * endereço da escola? Bot Response: Estamos na Av. Juscelino Kubitscheck, 229 – Centro – Betim Figura 6: Ensinando o Chatbot 2 Fonte: Área administrativa do chatbot Figura 7: Página inicial do chatbot (simples) Fonte: página inicial do ChatBot
  18. 18. 182) User input: * psicologiaBot Response: Dá uma olhada nessa página: http://www.faculdadepitagoras.com.br/ psicologia.aspx Figura 8: Ensinando o Chatbot 4 Fonte: Área administrativa do chatbot Esse exemplo, em particular, oferece a possibilidade do usuário clicar em um linke ser redirecionado a uma página que responda a sua dúvida. A pergunta poderia ser: “Como éo curso de psicologia”, “Qual o foco do curso de psicologia”, “ Fale sobre o curso depsicologia”, etc. isso porque foi feito o uso do curinga “*” .3) User input: Quanto custa * ?Bot Response: <Random><li> Vá a escola e tire todas as suas duvidas</li> <li>Entre emcontato com a escola através do telefone (31) 2101-9000 para obter essa informação</li><li>Vá a escola e uma de nossas atendentes pode te mostrar nossa tabela de preços edescontos</li> Figura 9: Ensinando o Chatbot 5 Fonte: Área administrativa do chatbot A tag “Random” é usada para deixar a resposta mais interessante. A resposta podeser qualquer uma que esteja dentro das tags “<li> </li>”, usando um método aleatório deescolha.
  19. 19. 194) User input: Qual o preço *13 ?Bot Response: <srai> Quanto custa * ?</srai> A tag “srai” permite que a resposta dessa pergunta seja a mesma de outra, ou seja,a pergunta “Qual o preço * ?” terá a mesma resposta da pergunta “Quanto custa * ?”. Figura 10: Página inicial do Chatbot(com foto) Fonte: Página inicial do chatbot5) User input: *14Bot Response: <Random><li> Não entendi muito bem o que você disse, pode repetir apergunta?</li> <li>Entre em contato com a escola através do telefone (31) 2101-9000 paraobter essa informação </li><li>Não tenho essa informação, entre em contato pelo email:contato@escola.com.br e retornaremos assim que tivermos a resposta</li> Ao clicar no botão “teach” as perguntas são adicionadas na tabela “aiml” dobanco de dados de acordo com a imagem a seguir (Figura 11): Figura 11: PhpMyAdmin Fonte: Tabela AIML13 Em AIML o sinal “*” representa tudo ou qualquer coisa, ou seja, se o usuário digitar uma pergunta quecomece com “Qual” e termine com “nome” não importa o que tenha entre essas duas palavras, a resposta doChatbot será: “Meu nome é Personagem Cientifico”. Logo não há diferença entre se perguntar: “Qual seu nome”de “Qual é seu nome”, para o chatbot serão as mesmas perguntas.14 O Sinal “*” sozinho representa uma resposta padrão que será retornada pelo chatbot caso a pergunta feita pelousuário não conste no banco de dados
  20. 20. 207. Análise da proposta Empresas querem estar perto de seus clientes, saber o que eles pensam e assimmelhorar seus produtos. Em uma Instituição de Ensino não é diferente, pois ela pode perderalunos caso seu site não seja de fácil acesso, fazendo-o procurar o site de outra instituição deensino que tire suas duvidas de maneira mais rápida. O chatterbot pode dar respostas em umcurto espaço de tempo e proporcionar um ambiente amigável ao usuário, já que é possívelsanar as duvidas usando perguntas em linguagem natural, criando assim um ambiente de fácilacesso. Porém para que isso aconteça é necessária uma constante manutenção nochatterbot e em seus equipamentos, visto que um grande número de usuários podem acessar osistema e não obterem a resposta desejada. Isso faz com que o desenvolvimento do chatterbotpara instituição de ensino superior seja constante e sem data prevista de termino, sempre queuma pergunta nova for feita um administrador terá que adicioná-la a base de dados. Após a desmistificação do chatterbot, percebe-se que é muito importante sepensar em uma lógica antes de adicionar as perguntas ao banco de dados, é preciso se pensarnas perguntas frequentes e nas possíveis respostas que os usuários esperam. O Uso das tagsAIML é essencial para fazer com que o chatterbot ganhe realismo, alem disso um banco dedados recheado de possíveis respostas também pode simular um chatterbot bastanteinteligente, sendo assim necessário se prever as prováveis perguntas que serão feitas aochatterbot. O que fica evidenciado é que o realismo e a qualidade do chatterbot estãodiretamente relacionados à base de dados disponíveis para o chatterbot consultar. Percebe-se então, que o Chatterbot para uma instituição de ensino pode ser muitoútil quando se trata de ajudar os usuários, pois fornece um serviço diferenciado em que asdúvidas, críticas ou sugestões podem ser discutidas em um ambiente informal e bem natural.8. CONCLUSÃO No mundo em que se vive sempre será necessário resolver problemas de maneirarápida e pratica, tecnologias que envolvam um relacionamento mais natural com as máquinassão uma tendência para o futuro, o que demonstra a importância de se desenvolverferramentas pensando no usuário. A técnica de criação de um chatterbot parte com o propósito principal demanter uma comunicação natural com as pessoas, para que elas não percebam que estãolidando com uma máquina, ou que pelo menos a comunicação seja feita de uma forma mais
  21. 21. 21agradável. As possibilidades de um chatterbot são imensas, ele pode ser aplicando emqualquer situação em que um sistema computacional interaja com pessoas. O objetivo desse trabalho foi de apresentar como é possível desenvolver umchatterbot usando a linguagem AIML como base, sendo feito um estudo de caso no site deuma instituição de ensino para avaliar como um chatterbot poderia auxiliar usuários. O quepelas analises é completamente possível de ser realizado com os softwares e hardwaresdisponíveis atualmente. Deixando claro que há muitas aplicações para um chatterbot, permitindo seu usoem qualquer tipo de sistema uma vez que a linguagem de marcação AIML independe deoutras linguagens de programação, aumentando consideravelmente suas possibilidades. O chatterbot apresentado permite a criação de diálogos entre usuários e maquinaspor meio de escrita, porem a lógica da AIML permite que o chatterbot receba informações emforma de texto, imagem, áudio, dentre outras. O que deixa espaço para os programadoresmodificarem o código fonte do motor de busca utilizado, a fim de construir um chatterbottotalmente funcional e compatível com as necessidades de cada tipo de serviço. Como trabalho futuro, pretende-se desenvolver um chatterbot comreconhecimento de voz para inclusão digital de deficientes visuais, visto que é um publicocarente de softwares específicos para atender suas necessidades.9. REFERÊNCIAS BIBLIOGRÁFICASAGENTLAND (2003). Inteligent agents and bots. Disponível em <www.agentland.com>.Acesso em 26 de fevereiro de 2012.AIRES, João Clayton. Desenvolvimento de um Chatterbot para o Portal de Ensino daUniversidade do Oeste de Santa Catarina. Trabalho de Conclusão de Curso (Graduação emSistemas de Informação)−Universidade do Oeste de Santa Catarina, São Miguel do Oeste,2008.ALCIONE, Miguel Franz. Desenvolvimento de um Chatterbot para o Sicoob de SãoMiguel do Oeste ,2010 p. 147ALICE. Alicebot Org (2003). Disponível em <www.alicebot.org>. Acesso em 26 defevereiro de 2012.BRAND, Stewart. The media lab: inventing the future at M.I.T. Harmonsworth:Penguin,1988.BECKER, Maria, Inclusão digital e cidadania: as possibilidades e as ilusões da "solução"Editora UEPG, 2009 - 200 páginas
  22. 22. 22COELHO, Helder. Inteligência Artificial em 25 Lições. Lisboa: Fundação CalousteGulbenkian, 1994. 532 p. p. 341FERNANDES, Anita Maria da Rocha. Inteligência Artificial: noções gerais. Florianópolis:Visualbooks, 2005.FERREIRA, Leonardo. Trocas comunicativas em ambientes virtuais e inteligênciasartificiais. 2008. Disponível em: http://www.intercom.org.br/papers/regionais/nordeste2008/resumos/R12-0355-1. pdf>. Acesso em: 1 março 2012.FRANKLIN, S.; GRAESSER, A. Is it an Agent, or just a program?: A taxonomy forJENSEN, J. F. Interactivity: Tracing a new concept in media and communicationstudies. vol. 19. Nordicom Review. 1998. pp. 185–204.LAVEN, Simon. The Simon Lavel Homepage, 2000. Disponível em:http://www.simonlaven.com/Acesso em: 06 março 2012.LEONHARDT, Michelle Denise et al. Elektra: Um Chatterbot para Uso em AmbienteEducacional, v. 1, n. 2, setembro, 2003. Disponível em: <http://penta3.ufrgs.br/~elektra/info/artigos/chatterbot-Elektra%5B1%5D.PDF >. Acesso em:03 março 2012.PIAGET, J. (1968). A explicação em psicologia e o paralelismo psicofísico. Em: Piaget, J.;Fraisse, P. e Reuchlin, M. (Eds.), Tratado de Psicologia Experimental: Volume 1 (pp. 121-152). Rio de Janeiro: Editora Forense.POLLOCK, John. How to Build a Person: A prolegomenon, MIT Press, 1989.PRIMO, Alex e CASSOL, Márcio. Explorando o Conceito de interatividade: definições etaxonomias, 1999. Disponível em:http://seer.ufrgs.br/InfEducTeoriaPratica/article/view/6286/3756 . Acesso em: 15 de março de2012.PRIMO, Alex Fernando Teixeira; Coelho, Luciano Roth; Paim, Marcos Flávio Rodriguesetal. O uso de chatterbots na educação à distância. Universidade Federal do Rio Grande doSul, Porto Alegre, 2000.PROGRAM-O, Blog Program-o. Disponível em: http://blog.program-o.com . Acesso em :07/07/2012RAFAELI, S. (1988). Interactivity: From new media to communication. In R. P. Hawkins,J. M. Wiemann, & S. Pingree (Eds.), Sage Annual Review of Communication Research:Advancing Communication Science: Merging Mass and Interpersonal Processes, 16, 110-134.Beverly Hills: Sage.RICH, Elaine; Knight, Kevin. Inteligência Artificial. 2ª ed. Rio de Janeiro: McGraw-Hill,1994. 722 p. p. 3. ISBN 85-346-0122-4SEABRA, Carlos, Inclusão digital:Algumas promessas e muitos desafios. Disponível em:www.cidec.futuro.usp.br/artigos/artigo12.html capturado em 16/03/2012
  23. 23. 23SEARLE, John L. Minds, Brains, and Programs. Cambridge, Massachusetts: HarvardUniversity Press, 1986. 112 pSGANDERLA, Rachele Bianchi. Chatterbot para Interação com Usuários. 2008.Disponível em:<http://tecnociencia.inf.br/comunidade/index.php?option=com_content&task=view&id=119&Itemid=41>. Acesso em: 06 março 2012.SHANKER, S.G. (1987). Wittgenstein versus Turing on the nature of Churchsthesis. Notre Dame J. Formal Logic, 28 (4), 615-649.TURING, A. (1950). Computing machinery and intelligence. Mind, 59 (236), 423-460WALLACE, Richard (2003). Artificial Intelligence Markup Language (AIML) Version1.0.1. Disponível em <www.alicebot.org/TR/2001/WD-aiml>. Acesso em 7 de março de2012.

×