You are on page 1of 23

1

DESENVOLVIMENTO DE UM CHATTERBOT BASEADO EM AIML PARA O SITE DE UMA INSTITUIO DE ENSINO SUPERIOR Lucas Pereira dos Santos1 Renata de Souza Frana 2 RESUMO O objetivo deste trabalho apresentar uma proposta para o desenvolvimento de um chatterbot, tambm conhecido como chatbot, enfatizando a importncia da tecnologia e os preceitos da linguagem AIML (Artificial Intelligence Markup Language). Atravs dos

estudos deste trabalho, sero demonstrados passos para a criao de um rob de conversao baseado no padro aberto de inteligncia artificial AIML, propondo sua aplicao em uma instituio de ensino superior. A metodologia utilizada baseou-se em referncias bibliogrficas e em um estudo de caso para aplicao do tema proposto.

Palavras-chave: Chatterbot, Ensino, Artificial, Aiml, Motor de Busca.

ABSTRACT The aim of this paper is to present a proposal for the development of a chatterbot, also known as chatbot, emphasizing the importance of technology and the precepts of language AIML (Artificial Intelligence Markup Language). Through studies of this work will be shown steps to create a chat robot based on open standard AI AIML, suggesting its application in a higher education institution. The methodology used was based on references and a case study for application of the proposed topic.

Keywords: Chatterbot, Education, Artificial, AIML, Search Engine.

1. INTRODUO Nos dias atuais, a informtica tem proporcionado grande influncia sociedade, principalmente na educao, em que a forma de se aprender tornou-se mais dinmica, alm de influenciar na maneira como as pessoas vivem.
1

Graduando do curso de Cincia da Computao da Faculdade Pitgoras Betim. Contato eletrnico: lucaspprof@gmail.com 2 Orientadora do trabalho de concluso de curso, Renata de Souza Frana. Contato eletrnico: profrenatafranca@gmail.com

Devido diversidade nos meios de utilizao da internet, diversos questionamentos so apontados, em relao aos impactos, tanto positivos, quanto negativos, que sua utilizao pode gerar. Segundo Seabra (2004),

a tecnologia em si no boa ou ruim, mas amplifica e potencializa a ao humana, tal como um megafone pode fazer o bom cantor alegrar multides e o desafinado incomodar muito mais gente. Para que a sociedade consiga acompanhar a dinamicidade do mundo, necessrio que as pessoas tenham acesso informtica e a tecnologia. Para que esse acesso seja equivalente a todos os seres, necessita-se de meio de Incluso digital, que segundo Becker (2009), o nome dado ao processo de democratizao do acesso s tecnologias da informao, de forma a permitir a insero de todos na sociedade da informao. Um includo digitalmente no aquele que apenas utiliza o mundo digital para trocar e-mails, mas aquele que usufrui desse suporte para melhorar as suas condies de vida. No suficiente que o cidado possua um simples computador conectado internet para se dizer que est includo digitalmente. Segundo o IBGE no Censo 2010, apenas 38,3% dos domiclios possuem computador em um contexto em que menos de 40 % deles possuem tanto telefone fixo quanto celular. De acordo com um levantamento feito pela Network Wizards 3 (2011), o Brasil possui o maior nmero de hosts4 de Internet da America do Sul, sendo o 4 do mundo, o que reafirma a ideia de que novos mtodos devem ser desenvolvidos para se interagir com a tecnologia, mtodos esses que proporcionem uma insero maior das pessoas no universo tecnolgico. A AIML (Artificial Intelligence Markup Language) uma linguagem que desafia os paradigmas da cincia da computao, pois possibilita que humanos conversem com sistemas computacionais usando linguagem natural (linguagem utilizada no dialogo entre duas pessoas). Enquanto pensa-se ser complexo para uma mquina conversar com um

humano sobre assuntos diversos, o Dr. Richard S. Wallace, criador da linguagem AIML demonstra que no bem assim. Tcnicas que facilitem a interao entre homem e mquina aumentam, exponencialmente, o alcance de uma tecnologia. Desta forma, novos mtodos para interao surgem no sendo bastante desenvolver uma ferramenta sem pensar nos usurios.

Organizao sem fins lucrativos dedicada a apoiar a infraestrutura da Internet universal. A Network Wizards calcula o nmero de usurios de um determinado pas tomando o nmero de hosts e multiplicando-o por dez, que o nmero estimado de usurios por host. 4 Em informtica, host qualquer dispositivo ou computador conectado a uma rede.

Um chatterbot, ou chatbot, um programa de computador que assume o lugar de um interlocutor, dialogando com pessoas comuns atravs de textos pr-programados. Em ingls bot a abreviao de robot, significando rob enquanto chatter significa conversador (AIRES, 2008, p.2). Chatterbots podem ser utilizados de diversas maneiras, e os tericos de Inteligncia Artificial definem em smula que uma das funes mais importantes de um ser artificial seria a capacidade de o mesmo se comunicar de maneira independente, o que aumenta significativamente a interatividade de qualquer sistema. Desta forma, este trabalho tem como objetivo desenvolver a temtica da incluso digital, atravs de uma proposta de um chatterbot que atenda os usurios do site de uma instituio de ensino superior, tirando dvidas simples atravs do portal, demonstrando a forma de constru-lo. Este trabalho est dividido em 4 partes. A primeira parte relatou uma breve introduo sobre o assunto, assim como o objetivo do trabalho. A parte 2 abordar os conceitos e fundamentos da inteligncia artificial. Seguindo para a parte 3, descrevesse e explorasse o universo dos chatterbots, demonstrando os passos necessrios para o seu desenvolvimento. A parte 4 ser o fim do desenvolvimento e a personalizao do chatterbot para que ele se adapte ao sistema. Enfatiza-se que o trabalho tem por objetivo personalizar um chatterbot para o SAC (Servio de atendimento ao Cliente) de uma instituio de ensino. Ao final, ser feita uma anlise sobre a proposta.

2. INTELIGNCIA ARTIFICIAL (IA) Inteligncia Artificial (IA) um ramo da cincia da computao que se prope a elaborar dispositivos que simulem a capacidade humana. Segundo Rich (1994, p.3) a IA permite que objetos tecnolgicos tenham aes humanas como de raciocinar, perceber, tomar decises e resolver problemas, enfim, a capacidade de ser inteligente.
[...] a palavra inteligncia vem do latim inter (entre) e legere (escolher). [...] A palavra artificial vem do latim artificiale, significa algo no natural, isto , produzido pelo homem [...] Portanto, pode-se definir Inteligncia Artificial como [...] um tipo de inteligncia produzida pelo homem para dotar as mquinas de algum tipo de habilidade que simula a inteligncia do homem.(FERNANDES, 2005, p.160)

O desenvolvimento da rea comeou logo aps a Segunda Guerra Mundial, com o artigo "Computing Machinery and Intelligence" do matemtico ingls Alan Turing, e o prprio nome foi cunhado em 1956. Seus principais idealizadores foram os cientistas Herbert

Simon, Allen Newell, John McCarthy, Warren McCulloch, Walter Pitts e Marvin Minsky, entre outros. A construo de mquinas inteligentes interessa humanidade h muito tempo, havendo na histria um registro significante de seres mecnicos (reais) e personagens msticos, como o Golem5 e o Frankenstein6, que demonstram um sentimento ambguo do homem, composto de fascnio e de medo, em relao Inteligncia Artificial. Com o surgimento do computador moderno, que a inteligncia artificial ganhou meios e massa crtica para se estabelecer como cincia integral, com problemticas e metodologias prprias. Desde ento, seu desenvolvimento tem extrapolado os clssicos programas de xadrez ou de converso e envolvido reas como viso computacional, anlise e sntese da voz, lgica difusa, redes neurais artificiais e muitas outras. De acordo com Helder Coelho (1994), h uma discusso em que se consideram duas propostas bsicas para a IA: uma conhecida como "forte" e outra conhecida como "fraca". Inteligncia artificial forte: Aborda a criao da forma de inteligncia 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 construo de um sistema fsico dotado de inteligncia artificial apropriada. Inteligncia artificial fraca: Trata-se da noo de como lidar com problemas no determinsticos. Centra a sua investigao na criao de inteligncia artificial que no capaz de, verdadeiramente, raciocinar e resolver problemas. Uma tal mquina com esta caracterstica de inteligncia agiria como se fosse inteligente, mas no tem autoconscincia ou noo de si. Segundo Searle, (1986, p.112) ... ainda que uma mquina possa parecer falar chins por meio de recursos de exame comparativo com mostras e tabelas de referncia, binrias, isso no implica que tal mquina fale e entenda efetivamente a lngua. O teste clssico para aferio da inteligncia em mquinas o Teste de Turing (TT). O teste consiste em se fazer perguntas a uma pessoa e a um computador que no se pode
5

Ser animado artificial mtico, associado tradio do judasmo, que pode ser trazido vida atravs de um processo mgico. 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 de diversos cadveres para cri-lo.

ver. Um computador e seus programas passam no TT se, pelas respostas, for impossvel a algum distinguir qual interlocutor a mquina e qual a pessoa. Enquanto o progresso direcionado ao objetivo final de uma inteligncia similar humana tem sido lento, muitas derivaes surgiram no processo. Muitos outros sistemas teis tm sido construdos usando tecnologias que ao menos uma vez eram reas ativas em pesquisa de IA. Alguns exemplos incluem:

Lgica incerta, uma tcnica para raciocinar dentro de incertezas, tem sido amplamente usada em sistemas de controles industriais.

Sistemas tradutores. Redes Neurais vm sendo usadas em uma larga variedade de tarefas, de sistemas de deteco de intrusos a jogos de computadores.

Reconhecimento de voz est disponvel comercialmente e amplamente usado. Sistemas de lgebra computacional, tais como Matemtica e Macsyma, so bons exemplos de aplicaes de IA na soluo de problemas algbricos.

Aplicaes utilizando Vida Artificial so utilizadas na indstria de entretenimento e no desenvolvimento da Computao Grfica.

Chatterbots (robs de software para conversao), personagens virtuais que conversam em linguagem natural como se fossem humanos de verdade, so cada vez mais comuns na internet. A viso da Inteligncia Artificial, substituindo julgamento humano profissional,

tem surgido muitas vezes na histria, em Fico Cientfica e, hoje em dia, em algumas reas especializadas em que "Sistemas Especialistas" so usados para melhorar ou para substituir o julgamento humano. Autores, como Wittgenstein (citado por Shanker, 1987,p.28) e Piaget (1968, pp. 121-152), sustentam que mesmo nesses termos no seria possvel afirmar que as mquinas pensam, pois o pensamento seria uma caracterstica humana, no se tratando de um processo mecnico estruturado por regras lgicas. Caracteriz-lo dessa forma seria transgredir sua prpria natureza. Todavia, deve ser lembrando a definio de pensamento proposta por Turing (1950, p.59), pensamento o processo pelo qual se resolve problemas manipulandose informaes. Assim, algo que pensa algo que resolve problemas, no importando se o processo pelo qual se chega s respostas seja lgico-formal e mecanicista ou baseado em modelos mentais e estratgias. Dessa forma, h tanto homens quanto mquinas plenamente capazes de resolver problemas.

3. INTERATIVIDADE Vive-se em um tempo que nada acontece fora do universo tecnolgico e a cada momento as pessoas encontram-se diante da interao homem-mquina. A cada momento experimentam-se formas de interao tcnica e social. Em uma era das mdias digitais e das tecnologias em rede, percebe-se a utilizao constante do termo interatividade. (PRIMO,1999, p.165)
Caractersticas como bidirecionalidade, resposta imediata, controle do usurio, quantidade de aes do usurio, respostas (feedback), transparncia, entre outras, se consideradas isoladamente no garantem o carter interativo da comunicao. Refere-se habilidade do usurio de perceber a experincia como uma simulao da comunicao interpessoal,alem claro de permitir que o usurio exera influncia sobre o contedo ou a forma da comunicao mediada. (RAFAELI, 1988, p.16)

J segundo Andrew Lippman (BRAND, 1988, p.5), pode-se definir interatividade como uma atividade mtua e simultnea da parte dos dois participantes, normalmente trabalhando em direo de um mesmo objetivo. Sendo assim, a interatividade seria um tipo de relao tecno-social, como um dilogo, uma conversao entre homens e mquinas, em tempo real. A relao deixaria de ser passiva ou representativa, passando a ser ativa e permitindo inclusive a relao inteligente entre mquinas inteligentes sem a mediao humana. (PRIMO,1999, p.165)

4. CHATTERBOTS Chatterbot (ou chatbot) um programa de computador que tenta simular um ser humano na conversao com as pessoas. O objetivo responder as perguntas de tal forma que as pessoas tenham a impresso de estar conversando com outra pessoa e no com um programa de computador. (SGANDERLA, 2008). Aps o envio de perguntas em linguagem natural, o programa consulta uma base de conhecimento e em seguida fornece uma resposta que tenta imitar o comportamento humano. O termo Chatterbot surgiu da juno das palavras chatter (a pessoa que conversa) e da palavra bot (abreviatura de robot), ou seja, um rob (em forma de software) que conversa com as pessoas. (AIRES, 2008, p.2) A palavra foi inventada por Michael Mauldin (Criador do primeiro Verbot7, Julia) em 1994, para descrever estes robs de conversao na Twelfth National Conference on

Verbot um chatterbot, ou Chatbot, programa desenvolvido para tentar se passar por um humano.

Artificial Intelligence8. Embora os chatterbots existam desde a dcada de 60, h um aumento no interesse destas tecnologias desde a generalizao da Internet. A Internet fez os

chatterbots acessveis ao pblico em geral e ao mesmo tempo criou para os Web sites a necessidade de terem uma interface parecida com a humana para fornecer informaes de forma agradvel a milhares de pessoas por dia.

4.1 Desafios De fato, mais e mais esforos esto sendo direcionados pesquisa e desenvolvimento de chatterbots. Embora adquirir inteligncia humana ainda seja um sonho distante, a tecnologia dos chatterbots s tende a crescer. (AGENTLAND, 2003). Os chatbots tambm apresentam algumas desvantagens, sendo a principal delas o fato de que um programa de computador e no capaz de pensar e aprender da mesma forma que um ser humano o faz. Como a quantidade de sentenas que um ser humano pode produzir praticamente innita, dicilmente um software ser capaz de lidar com todos os tipos de entradas fornecidas pelos usurios. Segundo Primo (2000) como a linguagem humana muito complexa, quanto mais pessoas participarem das conversas, e da escrita do crebro do chatterbot, melhor ser o desempenho do dialgico. Apesar das limitaes, esse tipo de programa no pode ser desprezado como ferramenta auxiliar. O potencial para o uso dessa tecnologia enorme em reas como educao, atendimento ao cliente, suporte on-line ou para qualquer servio que necessite de consulta base de dados. Pois proporciona um ambiente mais agradvel e de fcil interao, alem de ser uma tecnologia relativamente barata que pode ser usada por vrios usurios simultaneamente.

4.2 Vantagens e Caractersticas Um rob no precisa de salrio, vale alimentao ou vale transporte; Vocabulrio e respostas do rob totalmente personalizvel; 24 horas disponvel; Todas as mensagens trocadas entre o rob e usurios so gravadas e podem ser visualizadas posteriormente;

Fundada em 1979, a Associao para o Avano da Inteligncia Artificial (AAAI) uma sociedade cientfica sem fins lucrativos dedicada ao avano do conhecimento cientfico dos mecanismos subjacentes de pensamento e comportamento inteligente e a sua incorporao em mquinas.

Custo de manuteno muito baixo. Antes de classificar-se os chatterbots importante esclarecer a diferena entre chatterbots e agentes. Segundo Primo (2000), nem todo agente um agente de conversao. Software agente um sinnimo para software robot ou simplesmente bot. Existe agente que busca por ofertas, sugere produtos, etc., mas no entende linguagem natural. Um chatterbot um tipo especfico de bot capaz de entender linguagem natural. Talvez, o termo entender seja um tanto ambicioso, como diz Primo (2000), j que reconhecer signos no quer dizer propriamente que haja uma verdadeira compreenso por parte do rob. Enfim, deve-se entender que um rob de conversao no compreende a fala, mas sim, reconhece a linguagem podendo reagir a ela. De forma geral, os chatterbots podem ser analisados segundo uma srie de caractersticas dentre as quais se destaca: (Franklin e Graesser, 1996).

Capacidade de aprender capacidade do chatterbot de aprender durante o dilogo com o usurio. O chatterbot pode aprender sobre o domnio e sobre o usurio. Este tipo de chatterbot tem uma maior probabilidade de manter dilogo por mais tempo sem ser percebido o fato de ser um programa.

Memria capacidade de lembrar os dilogos passados e sentenas mencionadas previamente dentro de um mesmo dilogo. Domnio possveis temas para dilogo. Alguns chatterbots no fazem restrio de domnio, contudo podem ser especialistas em determinados assuntos. Em outros chatterbots existe a opo do usurio escolher qual o domnio da conversa.

Robustez capacidade do rob de responder a sentenas do usurio no reconhecidas. Autoconhecimento capacidade de o rob falar sobre si mesmo. Os chatterbots podem ser classificados segundo sua rea de aplicao como de

entretenimentos, de busca, acadmicos, de comrcio, dentre outros. Laven (2000) apresenta uma classificao que considera os recursos utilizados. Nesta classificao os chatterbots podem ser encontrados nas seguintes categorias: clssicos, complexos, amigveis e ensinveis.

Clssicos: chatterbots criados com o objetivo inicial de estudar a complexidade na comunicao em linguagem natural entre homens e mquinas.

Complexos: criados a partir de linguagens de programao mais sofisticadas, A idia principal neste programa avaliar a natureza da comunicao entre homem e

computador. Seu funcionamento baseado em padres de mapeamentos das perguntas mais comuns de usurios nas respostas adequadas.

Amigveis: so capazes de reproduzir o comportamento de uma pessoa. Ensinveis: Chatterbots que possuem capacidade de aprendizagem.

4.3 Artificial intelligence markup language (AIML) Os Chatterbots so baseados em uma rotina de estmulo resposta, ou seja, voc pergunta, e ele responde com base na sua pergunta. Para criar um chatterbot, pode-se utilizar uma linguagem de marcao desenvolvida para esse propsito, como a Artificial Intelligence Markup Language (AIML), que virtualmente independente de linguagem de programao, tudo que se precisa para AIML funcionar, um processador de AIML escrito na linguagem escolhida pelo desenvolvedor. Pode-se tambm usar Prolog9, ou outra linguagem de programao em lgica, e criar um chatterbot a partir do zero, ou ainda adaptar uma verso existente de algum programa desse tipo, o que requer conhecimentos elaborados de programao de computadores e de programao em lgica. O AIML baseado num padro de entradas e sadas, assim, quando o usurio digita algo, o bot j tem uma sada para aquela pergunta. O chatterbot composto por tags que iro definir todo o contexto necessrio para se programar em AIML. (WALLACE, 2003) Existem inmeros chatterbots na internet, porm, um deles ganha destaque neste conceito, trata-se da A.L.I.C.E. (Artificial Linguistic Internet Computer Entity) escrita em AIML, criada por Richard S. Wallace, e ganhadora de muitos prmios por sua eficincia e realismo (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 padro da mensagem que ser digitada pelo usurio. <template> indica a resposta para o que foi digitado <random> proporciona respostas aleatrias <li> marca bloco de respostas aleatrias usado dentro do bloco <random> <that> registra a ultima sentena, gerando uma sequencia no dialogo.
9

Linguagem de programao puramente lgica, especialmente associada com a inteligncia artificial e lingustica computacional.

10

<srai> Redireciona para outra questo ou categoria. A base de conhecimento do chatterbot formada pelas tags da linguagem AIML, ou seja, todas as possveis perguntas e respostas do usurio ficam armazenadas nessa base, conforme observa-se na Figura 1:
Exemplo 1 <aiml> <category> <pattern> oi </pattern> <template> Ola, tudo bem? </template> </category> </aiml> Exemplo 2 <aiml> <category> <pattern>qual o seu nome?</pattern> <template> <random> <li>Sou chamado de chatterbot</li> <li>Me chamo chatterbot</li> <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 do chatterbot. Cada bloco pode possuir milhares de questes. No exemplo 1, sempre que o usurio digitar oi o chatterbot responder ola, tudo bem?. J no exemplo 2, ao ser digitado qual o seu nome? o chatterbot vai sortear uma das respostas que esto dentro do bloco <random>.

4.4 Exemplos de chatterbots Segundo Alcione (2010) em pesquisas realizadas, descobriu-se que j existem diversos chatterbots, os quais possuem como funo atender clientes de empresas. Cada vez mais as empresas investem nessa nova modalidade de atendimento. Os chatterbots esto inclusos em diversas reas, como: sade, educao, comercial, governamental, entre outras. A seguir, destacam-se os principais agentes de conversao disponveis na internet. Eliza: Iniciando a primeira gerao de chatterbot em 1966 e desenvolvido por Joseph Weizenbaum, no Massachussets Institute of Technology (Instituto de Tecnologia de Massachussets), nasceu o primeiro chatterbot, Eliza. Este tinha por objetivo fazer uma psicanlise e diagnosticar, por meio de dilogos amigveis, problemas psicolgicos em pacientes. J naquela poca obtinha-se xito. Porm, Eliza no mantinha em base as conversas realizadas anteriormente, com isso deixava um pouco a desejar (LEONHARDT, 2003).

11

Cybelle (Nacional): J no Brasil, o estudo de chatterbots mais recente. Criado por Alex Primo, em 2000, o primeiro chatterbot brasileiro chamado de Cybelle. Com poder de expresses emocionais, como tristeza, humor, entre outros, isso ajudou a quebrar as limitaes com o humano em relao comunicao, alm, claro, de propiciar um bom bate-papo para descontrair. Cybelle possui uma base de conhecimento composta por vrias respostas pr-programadas, possibilitando maior abrangncia e flexibilidade com o humano (LEONHARDT, 2003). Ed: Desenvolvido pela Insite e lanado pela Petrobrs em 20 de outubro de 2004, surgiu para interagir com o meio social em um pblico-alvo infanto-juvenil, com a inteno de conscientizar quanto ao consumo racional energtico brasileiro. Integrado ao site da Conpet (Programa Nacional de Racionalizao do Uso dos Derivados do Petrleo e do Gs Natural), fornece amplo material, como vdeos, apostilas e centenas de links para saciar as dvidas em questo (OLIVEIRA, 2004). Sete Zoom: Tambm desenvolvida pela Insite, para o site da Close Up, pela sua personalidade atrevida, considerada a modelo virtual mais famosa do Brasil. Vrios contextos e caractersticas de comunicao humana foram implementados; possui capacidade de bolar idias a partir de assuntos abordados durante a conversa. Suas respostas so baseadas em uma personalidade forte por meio de uma base de conhecimento pr-alimentada pelos programadores. Em sua implementao, destacam a habilidade de memorizar assuntos j conversados, como seu nome, por exemplo. Tem capacidade de direcionamento de assunto baseado na insero do internauta, alm 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 ser inserido em um site de instituio de ensino superior, para apoiar a pgina de dvidas frequentes. O chatterbot poder ser implantando tanto no site quanto em terminais espalhados pela instituio, visto que a interatividade e a facilidade de interagir com pginas web so fatores de bastante relevncia para o usurio. Ser desenvolvido um chatterbot a partir de um motor de busca j existente. Para poder explicar melhor como se dar o desenvolvimento do chatterbot, o trabalho ser dividido em 3 partes, a primeira sobre o que necessrio para se desenvolver o chatterbot, a segunda sobre como instalar o motor de busca e como seu funcionamento e a terceira vai demonstrar como personalizar o motor de busca e criar o chatterbot.

12

5.1 O desenvolvimento O chatterbot ser criado baseando-se no projeto PROGRAM-O v1.0.3 desenvolvido por Elizabeth Perreau e lanado com o cdigo-fonte aberto em janeiro 2009, que desde ento vem recebendo atualizaes de uma grande comunidade de desenvolvedores ao redor do mundo, o que justifica a escolha desse motor de busca para o desenvolvimento do trabalho. Para instalar o motor de busca necessrio que o computador tenha um servidor Web 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, MySQL database, PHPmyadmin e SQLitemanager. Sendo que cada um dos programas instalados tem a sua funo durante o desenvolvimento. Para que seja possvel criar e editar as pginas web, trabalha-se com o software PHP Editor 2.22, que um editor gratuito e totalmente em portugus destinado a edio de pginas PHP11 e HTML12. 5.2 Motor de busca Depois de baixado o motor de busca (PROGRAM-O, 2012), faz-se necessrio instal-lo no servido web, para isso basta abrir a pasta www directory que pode ser encontrada clicando no cone do Wamp na rea de notificao do Windows e colar os arquivos(Figura 2)

Figura 2: Wamp (rea de notificao) Fonte: Wamp Server 2.1 (2012)


10

Pacote com os programas: Apache como servidor web, PHP5 que interpreta cdigos na linguagem PHP, PHPmyadmin para controlar a parte administrativa do PHP e o SQLitemanager responsvel pelos cdigos (SQL) usados no banco de dados 11 PHP ou Hypertext Preprocessor uma linguagem de programao livre utilizada para gerar contedo dinmico na Internet 12 HTML ou HyperText Markup Language uma linguagem de programao utilizada para produzir pginas estticas na Internet.

13

O motor de busca conta com o seguinte diretrio: Pasta Admin: Onde se encontram todos os scripts para a parte administrativa do motor de busca. Pasta: Bot: Contm os arquivos necessrios para o bot funcionar, como scripts para buscar a resposta no bando de dados. Arquivo Index.php: Pgina 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 Instalao do motor de busca Para instalar o motor de busca primeiro necessrio criar um banco de dados para armazenar as suas informaes, 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 a pasta bot que se encontra na pasta www directory. Dentro da pasta h um arquivo chamado config.php que contm as configuraes de acesso ao banco de dados. O arquivo possui 4 constantes que devem ser alteradas: $dbh: Localizao do servidor $dbn: Nome do banco de dados $dbu: Nome de usurio do banco de dados $dbp: Senha do banco de dados No wamp a localizao padro do servidor localhost, o usurio padro root e no h uma senha predefinida, Logo as constantes recebem os seguintes valores: $dbh = "localhost"; $dbn = "banco"; $dbu = "root"; $dbp = ""; Esse processo tambm deve ser feito no arquivo config.php da rea administrativa do motor de busca, em www directory\admin\funcs\ . Para iniciar a instalao do motor de busca tem-se que abrir o browser e digitar na barra de endereo: localhost/install_programo.php , depois clicar em click here to

14

proceed para que o script crie as tabelas necessrias para o motor de busca funcionar. As tabelas so:
Tabela 1: Tabelas do banco de dados

TABELA AIML AIML_USERUNDEFINED BOTPERSONALITY CONVERSATION_LOG SPELLCHECK UNDEFINED_DEFAULTS UNKNOWN_INPUTS USERS

COMENTRIO Armazena os scripts AIML instalados com o motor de busca Armazena os scripts AIML instalados por usurios desconhecidos Armazena informaes sobre a personalidade do Chatterbot Armazena os dilogos realizados pelo chatterbot Armazena palavras erradas e as suas correes. Mesmo que o usurio digite errado o chatterbot vai entender. Armazena padres definidos para o chatterbot Armazena entradas desconhecidas pelo chatterbot Armazena dados referentes aos usurios da rea administrativa

Fonte: PhpMyAdmin (2012) - Gerado pelo projeto Program-o

Posteriormente, adicionam-se alguns scripts AIML no banco de dados para simular uma inteligncia bsica ao chatterbot. Alm disso, as tabelas: Undefined_defaults, botpersonality e spellcheck so preenchidas com valores padres do chatterbot. Tudo isso, baseando-se na lngua inglesa. A partir desse momento o motor de busca j est instalado e funcionando em seu servidor web, agora torna-se necessrio configurar a parte administrativa. Clicando em To install My Program-O admin rea abre-se a instalao da rea administrativa, desta forma segue-se as instrues para que seja criado um nome de usurio e uma senha para o administrador do chatterbot. Nesse trabalho utilizou-se o nome de usurio admin e a senha 123. O processo de instalao do motor de busca est completo, acessando atravs da abertura do browser e digitando na barra de endereo: Localhost, assim ser redirecionado para a pgina inicial do chatterbot. J para acessar a rea administrativa digita-se: Localhost\admin na barra de endereo.

15

5.2.2 Funcionamento do motor de busca O motor de buscas funciona de acordo com a lgica da linguagem AIML, logo para se fazer o motor de busca e transform-lo em um chatterbot adiciona-se as sentenas de acordo com a linguagem AIML na rea administrativa do chatterbot. Com a rea administrativa aberta tem-se uma serie de opes, tais como: Logs: Exibe o histrico das conversas do chatterbot; Bot Personality: Permite alterar informaes relacionadas a personalidade do chatterbot, como religio, idade e filme favorito; Teach: Permite adicionar a inteligncia do chatterbot, atravs de perguntas e respostas baseadas em AIML; Upload AIML: Permite adicionar arquivos AIML ao banco de dados. Isso feito atravs da linguagem SQL; Search Edit AIML: Permite pesquisar e editar as sentenas em AIML do banco de dados; Demo Chat: Para visualizar uma demonstrao do chatterbot.; A partir da possvel criar o chatterbot de acordo com um objetivo, adicionando palavras ou expresses comuns dentro de um cenrio.

5.3 Personalizando o chatterbot O Banco de dados encontra-se carregado com palavras e expresses em ingls, ento, exclui-se as informaes 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 Pgina inicial Fonte: PhpMyAdmin(2012)

16

Digita-se: TRUNCATE aiml; TRUNCATE spellcheck e clica-se em executar. Desta forma, as duas tabelas tero seus contedos apagados e para adicionar as novas sentenas, clica-se no boto teach da rea administrativa. A Figura 4 representa a tela que ser aberta.

Figura 4: Ensinando o chatbot Fonte: rea administrativa do chatbot

Onde: Topic: Indica a qual tpico ou categoria a pergunta pertence.


Previous Bot Res: Ultima resposta do chatterbot. User Input: Pergunta digitada pelo usurio.

Bot Response: Resposta do chatterbot. Os nicos campos obrigatrios so: User Input e Bot Response. Aps o preenchimento clica-se em teach e a pergunta e resposta sero adicionadas na tabela AIML do banco de dados. Maiores exemplos sero mostrados na posposta no captulo posterior.

6. PERSONALIZANDO UM CHATTERBOT PARA O SAC DE UMA INSTITUIO DE ENSINO SUPERIOR Com a popularizao das telecomunicaes, passou a ser comum as empresas disponibilizarem a seus clientes centrais de atendimento, a fim de que eles pudessem, oficialmente, regisrar suas reclamaes, fazer solicitaes e oferecer sugestes para o aperfeioamento dos servios existentes, alem de possibilitar o esclarecimento das duvidas mais comuns. Essas centrais de atendimento passaram a ser chamadas de SAC- Servio de Atendimento ao Consumidor, que por sua vez vem recebendo investimentos para que os consumidores sejam atendidos da melhor maneira possivel. Para que o chatterbot desenvolvido seja capaz de responder as principais dvidas de alunos e usurios do site da instituio de ensino necessrio inser-las em sua base de dados. Tudo isso usando uma linguagem no muito formal, a fim de deixar o chatterbot o mais humano possivel.

17

Aps todos os passos seguidos de configurao do ambiente para funcionamento do chatterbot, inclu-se as dvidas mais comuns no banco de dados por meio do boto teach da rea administrativa do chatterbot. (Figura 5)

Figura 5: Boto Teach Fonte: rea administrativa do Chatbot

Aps uma anlise minuciosa do que se poderia disponiblizar no SAC, tm-se exemplos de perguntas e respostas inseridas no Chatterbot Programa Cientfico, para atender uma Instituio de ensino Superior. 1) User input: Qual * endereo 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: Pgina inicial do chatbot (simples) Fonte: pgina inicial do ChatBot

18

2) User input: * psicologia Bot Response: D uma olhada nessa pgina: 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 usurio clicar em um link e ser redirecionado a uma pgina que responda a sua dvida. A pergunta poderia ser: Como o curso de psicologia, Qual o foco do curso de psicologia, Fale sobre o curso de psicologia, 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 em contato com a escola atravs do telefone (31) 2101-9000 para obter essa informao </li><li>V a escola e uma de nossas atendentes pode te mostrar nossa tabela de preos e descontos</li>

Figura 9: Ensinando o Chatbot 5 Fonte: rea administrativa do chatbot

A tag Random usada para deixar a resposta mais interessante. A resposta pode ser qualquer uma que esteja dentro das tags <li> </li>, usando um mtodo aleatrio de escolha.

19

4) User input: Qual o preo *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 preo * ? ter a mesma resposta da pergunta Quanto custa * ?.

Figura 10: Pgina inicial do Chatbot(com foto) Fonte: Pgina inicial do chatbot

5) User input: *14 Bot Response: <Random><li> No entendi muito bem o que voc disse, pode repetir a pergunta?</li> <li>Entre em contato com a escola atravs do telefone (31) 2101-9000 para obter essa informao </li><li>No tenho essa informao, entre em contato pelo email: contato@escola.com.br e retornaremos assim que tivermos a resposta</li> Ao clicar no boto teach as perguntas so adicionadas na tabela aiml do banco de dados de acordo com a imagem a seguir (Figura 11):

Figura 11: PhpMyAdmin Fonte: Tabela AIML

13

Em AIML o sinal * representa tudo ou qualquer coisa, ou seja, se o usurio digitar uma pergunta que comece com Qual e termine com nome no importa o que tenha entre essas duas palavras, a resposta do Chatbot ser: Meu nome Personagem Cientifico. Logo no h diferena entre se perguntar: Qual seu nome de Qual seu nome, para o chatbot sero as mesmas perguntas. 14 O Sinal * sozinho representa uma resposta padro que ser retornada pelo chatbot caso a pergunta feita pelo usurio no conste no banco de dados

20

7. Anlise da proposta Empresas querem estar perto de seus clientes, saber o que eles pensam e assim melhorar seus produtos. Em uma Instituio de Ensino no diferente, pois ela pode perder alunos caso seu site no seja de fcil acesso, fazendo-o procurar o site de outra instituio de ensino que tire suas duvidas de maneira mais rpida. O chatterbot pode dar respostas em um curto espao de tempo e proporcionar um ambiente amigvel ao usurio, j que possvel sanar as duvidas usando perguntas em linguagem natural, criando assim um ambiente de fcil acesso. Porm para que isso acontea necessria uma constante manuteno no chatterbot e em seus equipamentos, visto que um grande nmero de usurios podem acessar o sistema e no obterem a resposta desejada. Isso faz com que o desenvolvimento do chatterbot para instituio de ensino superior seja constante e sem data prevista de termino, sempre que uma pergunta nova for feita um administrador ter que adicion-la a base de dados. Aps a desmistificao do chatterbot, percebe-se que muito importante se pensar em uma lgica antes de adicionar as perguntas ao banco de dados, preciso se pensar nas perguntas frequentes e nas possveis respostas que os usurios esperam. O Uso das tags AIML essencial para fazer com que o chatterbot ganhe realismo, alem disso um banco de dados recheado de possveis respostas tambm pode simular um chatterbot bastante inteligente, sendo assim necessrio se prever as provveis perguntas que sero feitas ao chatterbot. O que fica evidenciado que o realismo e a qualidade do chatterbot esto diretamente relacionados base de dados disponveis para o chatterbot consultar. Percebe-se ento, que o Chatterbot para uma instituio de ensino pode ser muito til quando se trata de ajudar os usurios, pois fornece um servio diferenciado em que as dvidas, crticas ou sugestes podem ser discutidas em um ambiente informal e bem natural.

8. CONCLUSO No mundo em que se vive sempre ser necessrio resolver problemas de maneira rpida e pratica, tecnologias que envolvam um relacionamento mais natural com as mquinas so uma tendncia para o futuro, o que demonstra a importncia de se desenvolver ferramentas pensando no usurio. A tcnica de criao de um chatterbot parte com o propsito principal de manter uma comunicao natural com as pessoas, para que elas no percebam que esto lidando com uma mquina, ou que pelo menos a comunicao seja feita de uma forma mais

21

agradvel. As possibilidades de um chatterbot so imensas, ele pode ser aplicando em qualquer situao em que um sistema computacional interaja com pessoas. O objetivo desse trabalho foi de apresentar como possvel desenvolver um chatterbot usando a linguagem AIML como base, sendo feito um estudo de caso no site de uma instituio de ensino para avaliar como um chatterbot poderia auxiliar usurios. O que pelas analises completamente possvel de ser realizado com os softwares e hardwares disponveis atualmente. Deixando claro que h muitas aplicaes para um chatterbot, permitindo seu uso em qualquer tipo de sistema uma vez que a linguagem de marcao AIML independe de outras linguagens de programao, aumentando consideravelmente suas possibilidades. O chatterbot apresentado permite a criao de dilogos entre usurios e maquinas por meio de escrita, porem a lgica da AIML permite que o chatterbot receba informaes em forma de texto, imagem, udio, dentre outras. O que deixa espao para os programadores modificarem o cdigo fonte do motor de busca utilizado, a fim de construir um chatterbot totalmente funcional e compatvel com as necessidades de cada tipo de servio. Como trabalho futuro, pretende-se desenvolver um chatterbot com

reconhecimento de voz para incluso digital de deficientes visuais, visto que um publico carente de softwares especficos para atender suas necessidades.

9. REFERNCIAS BIBLIOGRFICAS AGENTLAND (2003). Inteligent agents and bots. Disponvel em <www.agentland.com>. Acesso em 26 de fevereiro de 2012. AIRES, Joo Clayton. Desenvolvimento de um Chatterbot para o Portal de Ensino da Universidade do Oeste de Santa Catarina. Trabalho de Concluso de Curso (Graduao em Sistemas de Informao)Universidade do Oeste de Santa Catarina, So Miguel do Oeste, 2008. ALCIONE, Miguel Franz. Desenvolvimento de um Chatterbot para o Sicoob de So Miguel do Oeste ,2010 p. 147 ALICE. Alicebot Org fevereiro de 2012. (2003). Disponvel em <www.alicebot.org>. Acesso em 26 de

BRAND, Stewart. The media lab: inventing the future at M.I.T. Harmonsworth: Penguin,1988. BECKER, Maria, Incluso digital e cidadania: as possibilidades e as iluses da "soluo" Editora UEPG, 2009 - 200 pginas

22

COELHO, Helder. Inteligncia Artificial em 25 Lies. Lisboa: Fundao Calouste Gulbenkian, 1994. 532 p. p. 341 FERNANDES, Anita Maria da Rocha. Inteligncia Artificial: noes gerais. Florianpolis: Visualbooks, 2005. FERREIRA, Leonardo. Trocas comunicativas em ambientes virtuais e inteligncias artificiais. 2008. Disponvel em: http://www.intercom.org.br/papers/regionais/nor deste2008/resumos/R12-0355-1. pdf>. Acesso em: 1 maro 2012. FRANKLIN, S.; GRAESSER, A. Is it an Agent, or just a program?: A taxonomy for JENSEN, J. F. Interactivity: Tracing a new concept in media and communication studies. vol. 19. Nordicom Review. 1998. pp. 185204. LAVEN, Simon. The Simon Lavel Homepage, http://www.simonlaven.com/Acesso em: 06 maro 2012. 2000. Disponvel em:

LEONHARDT, Michelle Denise et al. Elektra: Um Chatterbot para Uso em Ambiente Educacional, v. 1, n. 2, setembro, 2003. Disponvel em: < http://penta3.ufrgs.br/~elektra/info/artigos/chatterbot-Elektra%5B1%5D.PDF >. Acesso em: 03 maro 2012. PIAGET, J. (1968). A explicao em psicologia e o paralelismo psicofsico. Em: Piaget, J.; Fraisse, P. e Reuchlin, M. (Eds.), Tratado de Psicologia Experimental: Volume 1 (pp. 121152). Rio de Janeiro: Editora Forense. POLLOCK, John. How to Build a Person: A prolegomenon, MIT Press, 1989. PRIMO, Alex e CASSOL, Mrcio. Explorando o Conceito de interatividade: definies e taxonomias, 1999. Disponvel em: http://seer.ufrgs.br/InfEducTeoriaPratica/article/view/6286/3756 . Acesso em: 15 de maro de 2012. PRIMO, Alex Fernando Teixeira; Coelho, Luciano Roth; Paim, Marcos Flvio Rodrigues etal. O uso de chatterbots na educao distncia. Universidade Federal do Rio Grande do Sul, Porto Alegre, 2000. PROGRAM-O, Blog Program-o. Disponvel em: http://blog.program-o.com . Acesso em : 07/07/2012 RAFAELI, 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. Inteligncia Artificial. 2 ed. Rio de Janeiro: McGraw-Hill, 1994. 722 p. p. 3. ISBN 85-346-0122-4 SEABRA, Carlos, Incluso digital:Algumas promessas e muitos desafios. Disponvel em: www.cidec.futuro.usp.br/artigos/artigo12.html capturado em 16/03/2012

23

SEARLE, John L. Minds, Brains, and Programs. Cambridge, Massachusetts: Harvard University Press, 1986. 112 p SGANDERLA, Rachele Bianchi. Chatterbot para Interao com Usurios. 2008. Disponvel em: <http://tecnociencia.inf.br/comunidade/index.php?option=com_content&task=view&id=119 &Itemid=41>. Acesso em: 06 maro 2012. SHANKER, S.G. (1987). Wittgenstein versus Turing on the nature of Church's thesis. Notre Dame J. Formal Logic, 28 (4), 615-649. TURING, A. (1950). Computing machinery and intelligence. Mind, 59 (236), 423-460 WALLACE, Richard (2003). Artificial Intelligence Markup Language (AIML) Version 1.0.1. Disponvel em <www.alicebot.org/TR/2001/WD-aiml>. Acesso em 7 de maro de 2012.

You might also like