You are on page 1of 9

1

AutoChatter Uma Ferramenta Centrada no Dilogo com o Usurio


Carla Lisiane de Oliveira Castanho, Raul Sidnei Wazlawick, Bernd Heinrich Storb, Fabrcio Abro Costa

ResumoApresenta-se neste artigo a ferramenta AutoChatter uma ferramenta de autoria para a criao automtica de chatterbots. Construda na linguagem Smalltalk, a ferramenta possibilita o desenvolvimento de processadores de conversao (chatterbots), os quais so capazes de manter um dilogo com o usurio dentro do contexto para o qual foram programados. Partindo do pressuposto de que uma comunicao efetiva ocorre quanto mais prxima do usurio for a linguagem utilizada, torna-se claro que uma interface em linguagem natural aumenta consideravelmente as possibilidades de interao, bem como o aprendizado de contedos especficos. Com isto, pretende-se aplicar o processo de construo de chatterbots em situaes de ensino/aprendizagem, onde espera-se que os estudantes sejam capazes de projetar e criar verdadeiras mquinas de dialogar a partir de uma estruturao e reflexo sobre o conhecimento. Palavras-Chave AutoChatter, Chatterbots, Processadores de Conversao.

centrando o desenvolvimento no usurio e na linguagem que ele utiliza. Desta forma, a ferramenta AutoChatter, desenvolvida por um grupo de pesquisadores do LSC Laboratrio de Sistemas de Conhecimento, busca atender a estas necessidades. A ferramenta AutoChatter foi desenvolvida tendo como base dois pontos principais: a facilitao da tarefa de criao de chatterbots pelo usurios, atravs da utilizao do dilogo em linguagem natural; e o apoio ao processo de ensinoaprendizagem pela possibilidade de sua utilizao como ferramenta de autoria para o aprendizado de contedos especficos atravs de uma construo do conhecimento pelo usurio aluno.

II. CHATTERBOTS ROBS DE CONVERSAO H quase cinco dcadas, a Inteligncia Artificial (IA) vem desenvolvendo pesquisas e programas de software visando dar ao computador a capacidade de conversar com um homem de forma natural. Esses programas so chamados chatterbots, e podem ser construdos para os mais diversos fins. Os primeiros chatterbots construdos tinham por objetivo fazer uma imitao perfeita de um ser humano conversando, de forma que no fosse possvel ao usurio do computador distinguir quando estava interagindo (via teclado) com um computador ou outro homem. Esse tipo de programa foi idealizado por Alan Turing em 1950 [4]. Turing no seu artigo Can machines think? prope um teste, o Jogo da Imitao, famoso como Teste de Turing, cujo objetivo era determinar se uma mquina pode pensar. O jogo consiste em uma pessoa em um terminal (A) se comunicando com um outro terminal (B), fisicamente separado de A, isto , as pessoas no se vem. Caso a pessoa em A, aps um determinado tempo de conversao em um terminal, no consiga determinar se B controlado por outra pessoa ou um programa, o software pode ser considerado inteligente. Turing fez uma previso acreditando que por volta do ano 2000, cinqenta anos depois do artigo, iriam existir mquinas capazes de passar no teste. At hoje, nenhum programa de computador conseguiu passar no Teste de Turing irrestrito. Contudo, outros testes, menos rgidos, foram criados. Por exemplo, concursos como o Loebner Prize premiam o programa que tiver maior habilidade para manter uma conversa por mais tempo. Esse

I. INTRODUO O desenvolvimento de ferramentas computacionais tem trazido consigo uma crescente preocupao no que diz respeito interface com o usurio. Cada vez mais a comunicao entre humano e computador torna-se parte imprescindvel do processo de desenvolvimento de um software, tornando-se, em alguns casos, o objetivo principal do mesmo. Uma das tecnologias que promovem grande interao entre usurio e sistema, a tecnologia de chatterbots, uma espcie de processador de conversao. Alm disso, deve-se considerar a existncia de ferramentas de autoria de chatterbots, ou seja, aquelas que permitem que o usurio se torne o ator no processo de criao do conhecimento. Em sua maioria estas ferramentas apresentam uma grande dificuldade de interao, utilizando linguagens complicadas que requerem um estudo e compreenso prvios por parte dos usurios, como pode ser verificado em ferramentas como Brainhat [1], Verbots (Verbal Software Robot) da Virtual Personalities [2] e o sistema CHAT (Conversational Hypertext Access Technology) [3]. Com isso, buscam-se alternativas que minimizem a dificuldade de interao desta categoria de ferramentas,

2 concurso prope dilogos entre juizes e chatterbots em um domnio restrito. O programa que conseguir enganar os juizes por mais tempo ganha o prmio. O Professor Joseph Weizenbaum [5] criou o primeiro chatterbot, denominado Eliza, em 1966 no MIT. Em poucas linhas de cdigo, Eliza era designada a simular um psicoterapeuta. Se o usurio mencionasse Minha me, Eliza poderia responder O que lhe vm mente quando voc pensa em sua me? O sucesso de Eliza estava em uma coleo de respostas que fazia com que o usurio fizesse a maior parte do trabalho. Isto , ao invs de responder a questo, Eliza poderia trazer de volta a questo ao usurio sob novas variantes, fazendo com que o mesmo continuasse o dilogo [6]. Variaes deste chatterbot inicial so encontradas em toda a web. Eles podem manipular uma srie de funes e, as verses mais recentes so mais do que simples caixas de dilogo: muitos so animados, outros usam fotografias de pessoas reais. Muitos possuem gestos e expresses para acompanhar certas palavras. Deste modo os bots so capazes de rir de piadas, fazer cara feia para insultos e olhar com expresses felizes quando decifram alguma questo [7]. No chatterbot Eliza [5] so usadas vrias sadas para no responder diretamente s perguntas do usurio, levando-o praticamente a conversar sozinho, para isto, ela responde uma pergunta com outra pergunta. O chatterbot Parry [10], quando o casamento de padres no retorna resultado, utiliza bases de conhecimento com temas especficos para montar as respostas, sempre mantendo em todas as respostas um ar de parania no seu comportamento. J o chatterbot Jlia [11] usa alguns artifcios para parecer mais humana e divertida, sua base de conhecimento contm respostas levantando controvrsias, tentando envolver o usurio, ao invs de deixa-lo dirigir o discurso; em alguns casos Jlia tenta concordar com o usurio ao invs de se esquivar. A rede de ativao de respostas uma tcnica baseada em respostas passadas. Consiste em vrios padres com respostas associadas a um valor de ativao associado a cada n contendo a resposta. Caso o usurio mencione algum padro especfico, a ativao estimulada nos ns relacionados e inibida nos outros ns [12]. Para o chatterbot Ultra Hal [13] responder uma pergunta, ele primeiramente tenta casar toda a frase que entra com uma lista de frases comuns; caso a frase de entrada no esteja cadastrada, ento o casamento de padres feito com palavras-chave em busca de resposta. Para perguntas com resposta sim/no, ele escolhe aleatoriamente e armazena na base de conhecimento, para quando o usurio fizer a mesma pergunta, consultar a base e retornar a mesma resposta, dando desta forma credibilidade no funcionamento do agente. Outra tcnica para escolher respostas o raciocnio baseado em casos (RBC), para isso o programa possui um conjunto de casos passados na sua base permitindo percorrer o conjunto de dados procura de uma soluo e responder, adaptando ao caso atual [14]. Uma companhia em Novato (Califrnia), chamada Inference, entrou no campo dos chatterbots com um mdulo do seu software funcionando como uma ajuda central de atendimento ao consumidor. Este programa possui um conjunto de casos passados na sua base, permitindo percorrer o conjunto de dados a procura de uma soluo e responder, possivelmente adaptando ao caso atual, ao consumidor de modo a solucionar o problema.

III. COMO TRABALHAM OS CHATTERBOTS A tecnologia de chatterbots ainda no realiza o entendimento de linguagem natural de uma forma geral, o que ainda um problema em aberto na rea da computao. Desta forma, esta tecnologia trabalha, geralmente, com o reconhecimento de padres e palavras-chave. Quando um padro ou palavra-chave reconhecido, o chatterbot oferece uma resposta apropriada. Se ele chega ao ponto que no encontrou nenhum casamento entre a pergunta ou colocao do usurio e todos os padres e palavras-chave armazenados em sua base de conhecimentos, o chatterbot ento oferece uma resposta no baseada na entrada do usurio, mas designada a dar continuidade a conversao. Por exemplo, frases como V em frente ou Vamos falar sobre outro assunto [8]. Chatterbots mais sofisticados, no entanto, realizam uma modelagem do usurio e atravs disso lembram coisas interessantes que o usurio disse no incio da conversao. De um modo geral, podemos citar algumas estratgias diferentes para a escolha da resposta mais apropriada a cada interao com o usurio: O casamento de padres uma tcnica em que feito um casamento entre um conjunto de palavras-chave e um grupo de respostas relacionadas quelas chaves, respeitando a ordem das chaves definida uma certa prioridade entre as respostas. Por exemplo, em uma pergunta com a palavra me, ser escolhida uma resposta de um grupo de respostas relacionadas ao tema famlia. Alm desta tcnica do casamento de padres, certos truques so utilizados por alguns chatterbots [9].

IV. ALGUMAS FERRAMENTAS QUE UTILIZAM A AUTORIA NA CONSTRUO DE CHATTERBOTS A seguir apresenta-se quatro ferramentas para criao de interfaces em linguagem natural, que possibilitam que o usurio desenvolva um chatterbot: Brainhat de Kevin Dowd [1]; o NeuroServer Authoring Environment da NativeMinds [15]; os Verbots da Virtual Personalities [2] e o CHAT de Thomas Whalen [3]. Segundo a definio de [16], a primeira ferramenta serve para criar Processadores de Linguagem Natural, e as outras trs servem para criar Processadores de

3 Conversao. Brainhat [1] foi desenvolvido para criar processadores em ingls. Brainhat usa uma gramtica pr-definida. Para criar um Processador de Linguagem Natural precisa-se definir o conhecimento bsico, isto definir as palavras e os conceitos que Brainhat inicialmente conhece e descrever as relaes entre os conceitos. define ball-1 label child wants wants typically uso de wildcards. A criao de uma hierarquia de conceitos e de cenrios no Brainhat requer conhecimento nas reas de lingstica e da lgica. A criao de vReps to complexa que a NativeMinds oferece cursos de treinamento para as empresas que compram seu produto. A gerao de bases de informao para os Verbots e no sistema CHAT requer uma determinada experincia na rea. Segundo [3], uma pessoa leva aproximadamente 3 meses para criar uma base de informao tpica do CHAT. Isso nos remete discusso da facilitao dos processos de construo do conhecimento em ferramentas de autoria. Nos casos citados acima, a tarefa de criao de chatterbots to complexa que o usurio teria que receber um treinamento para poder trabalhar com as ferramentas. A carga cognitiva torna-se muito maior, pois necessrio obter um conhecimento prvio muitas vezes complexo, para s ento atuar como autor do processo de construo das atividades.

ball toy-1 color-1 size-1 round-1

Fig. 1 Definio do Conceito ball-1 da Palavra ball em Brainhat

A Fig. 1 mostra um exemplo de um conceito definido no Brainhat: o conceito ball-1 da palavra ball, que um brinquedo, aparece muitas vezes junto com uma cor e um tamanho e tipicamente redondo. O NeuroServer Authoring Environment da NativeMinds [15] uma ferramenta para criao de representantes virtuais na web, chamados vReps. Para desenvolver um vRep, deve-se descrever as tarefas do vRep, desenvolver uma hierarquia dos tpicos, escrever os scripts do vRep, e desenvolver suas representaes grficas. O conhecimento dos Verbots (Verbal Software Robot) da Virtual Personalities [2] uma lista de regras. Cada regra tem um nome, um nvel de ativao geral, um conjunto de padres com um nvel de ativao para cada padro, uma resposta, e opcionalmente regras de modificao de nveis de ativao de outras regras. <work-0> a:0.5 p:60 Wh *your*job* r:Im a full time Verbot.
Fig. 2 Exemplo de uma Regra de um Verbot

V. A FERRAMENTA AUTOCHATTER Embora a grande maioria dos desenvolvedores se detenha em sistemas autnomos que desempenham tarefas similarmente aos humanos, no isto que os usurios querem. De acordo com [17], os usurios querem ter o senso de realizao, ao invs de admirar um sistema esperto ou inteligente. Ou seja, querem ser impulsionados pela tecnologia para aplicar seu conhecimento e experincia com vistas a aumentar sua satisfao pessoal. Com isto, o desenvolvimento da ferramenta AutoChatter [18] baseou-se em dois pontos principais: a facilitao da tarefa de criao de chatterbots pelo usurio, atravs da utilizao do dilogo em linguagem natural; e o apoio ao processo de ensino-aprendizagem pela possibilidade de sua utilizao como ferramenta de autoria para o aprendizado de contedos especficos atravs de uma construo do conhecimento pelo usurio-aluno. A. Dilogo em Linguagem Natural Quando o usurio utiliza o computador para resolver uma determinada tarefa, o computador tanto serve como ferramenta, quanto age como co-participante de comunicao. O usurio entra com uma informao representada de forma que o sistema computacional entenda. Depois de processar a entrada do usurio, o computador retorna os resultados de tal forma que o usurio possa entende-la. Esta troca de informao entre usurio e computador pode ser representada de diversas formas, utilizando diferentes dispositivos de entrada e sada. Segundo [19], provavelmente, a forma mais natural de comunicao entre dois humanos aquela que usa fala junto com expresses faciais e gestos, e possibilita a incorporao de outras modalidades de representao de informao, como escrita, mapas, desenhos, animao, vdeo, som, etc.

A Fig. 2 mostra uma regra com o nome <work-0>, nvel de ativao 0.5, o padro wh*your*job* com nvel de ativao 60 e a resposta Im a full time verbot. O wildcard * no padro pode ser substitudo por uma seqncia de caracteres. Por exemplo, a entrada what is your job combina com este padro. Caso no exista uma outra regra que combine com a entrada com um nvel de ativao maior que 60, o verbot responde com a frase Im a full time verbot. O CHAT (Conversational Hypertext Access Technology) de Thomas Whalen [3] composto por uma shell e uma base de conhecimento. A base de conhecimento uma lista de regras, representando um autmato finito. Como os Verbots, o sistema Chat trabalha com casamento de padres e permite o

4 Atualmente, a troca de informao entre usurio e computador acontece de uma forma bem diferente da comunicao entre humanos, utilizando teclado e/ou mouse como dispositivos de entrada, monitor e/ou impressora como dispositivos de sada e representando a informao de entrada em uma linguagem de comandos. Mesmo considerando formas de comunicao altamente artificiais entre usurio e computador, a interao entre humano e computador pode ser mais natural do que ela acontece atualmente. Uma forma de tornar a comunicao entre usurio e computador mais natural a substituio da linguagem de comandos por interfaces que permitem comunicao por palavras e frases completas. Assim, o usurio interage com o computador numa conversao similar a dilogos que ele tem na sua vida diria. [16] diferencia entre dois tipos de interfaces que permitem comunicao em linguagem natural: Processadores de Conversao e Processadores de Linguagem Natural. Segundo [16], o objetivo tanto de Processadores de Conversao quanto de Processadores de Linguagem Natural criar uma resposta adequada para uma entrada em linguagem natural. Esta resposta pode ser, por exemplo, um movimento de um dispositivo mecnico, ou uma sentena em linguagem natural mostrada na tela do monitor. O conhecimento de um Processador de Conversao , normalmente, composto por informaes simples, e muito diferente do conhecimento que um ser humano precisa para resolver suas tarefas dirias. Por outro lado, o conhecimento de um Processador de Linguagem Natural armazenado em estruturas que permitem separar o conhecimento em tipos organizados. Normalmente, Processadores de Linguagem Natural executam anlise lexical, anlise sinttica, anlise semntica, anlise de discurso e anlise pragmtica, e incluem um mecanismo de backtracking e uma mquina de inferncia. Resumindo, enquanto a meta de um Processador de Conversao simular uma conversao eficiente, um Processador de Linguagem Natural pretende entender a entrada do usurio, e, se possvel, gerar novo conhecimento. A ferramenta AutoChatter faz parte da categoria de Processadores de Conversao, possuindo uma interface de fcil uso, fazendo do dilogo em linguagem natural uma de suas caractersticas principais. B. Construo do Conhecimento Atravs da Autoria A idia de utilizar agentes que falam (chatterbots) no ensino no nova [20]. Entretanto, geralmente o chatterbot visto como um tutor, ou seja, como uma entidade que vai fazer perguntas ao estudante e provocar respostas da parte dele. Freqentemente estes agentes corrigem as respostas do estudante ou procuram aplicar recompensa ou reforo de aprendizagem a partir das respostas que o estudante fornece. Em outros casos, o chatterbot funciona apenas como um faqbot, simplesmente respondendo s questes que lhe foram colocadas, sem possibilitar uma interao maior do aluno com o sistema. J na ferramenta de autoria de chatterbots (AutoChatter), o aluno se torna ator no processo de construo do conhecimento, pois ele quem vai construir seus chatterbots/personagens, e no apenas question-los ou ser questionado. De acordo com [21], os sistemas conhecidos como sistemas de autoria, procuram oferecer a seus usurios vantagens e facilidades para criao de aplicaes que no so obtidas utilizando-se uma linguagem de programao. De acordo com [22], a grande revoluo dos computadores no est em sua rapidez, tamanho, potncia e interface amigvel, e sim, em sua maleabilidade lgica. Ou seja, os computadores (software e hardware) podem ser moldados para qualquer atividade. Desse modo a grande questo : como podemos moldar a lgica dos computadores para servir aos nossos propsitos? E ainda: a maneira como moldarmos esta lgica ir afetar a forma de usarmos o computador. Ou seja, de acordo com os autores citados acima, se o computador servir ao propsito de apresentar situaes prontas, permitindo que o usurio somente faa uso disso em uma camada superficial, ento este usurio ir sempre procurar por algo pronto, no ir desenvolver sua capacidade de criao ou mesmo de construo prpria de um determinado conhecimento. Por outro lado, preciso oferecer condies adequadas acerca disso, pois o usurio no deve ter que aprender uma determinada linguagem ou se envolver com tcnicas complexas, para depois trabalhar com uma ferramenta. O que se quer expressar aqui que as ferramentas de autoria possibilitam um ganho enorme para seus usurios, permitindo que eles saiam de uma camada superficial de contato com o computador e entrem mais a fundo nesse processo. Mas para isso, necessrio oferecer condies adequadas uma ferramenta de fcil uso e acesso, que no traga uma sobrecarga cognitiva. Desta forma, acredita-se que a ferramenta AutoChatter propicia estas condies para que os estudantes construam seus prprios chatterbots, e ao mesmo tempo, faam isso de uma forma totalmente usual, proporcionada pelo dilogo em linguagem natural, sem as dificuldades da maioria das categorias desse tipo de ferramenta. C. Descrio da Ferramenta A ferramenta de construo de chatterbots foi criada com o propsito geral das ferramentas de autoria permitir a criao do ambiente por parte dos alunos. Com isso, pretende auxiliar no processo de aprendizagem de contedos especficos atravs da criao destes ambientes. A ferramenta foi implementada na linguagem de programao Smalltalk, no ambiente de desenvolvimento Mundo dos Atores [23], desenvolvida por um grupo de pesquisadores do LSC Laboratrio de Sistemas de Conhecimento da UFSC (Universidade Federal de Santa

5 Catarina). Esta ferramenta constitui-se em um prottipo da que ser efetivamente usada na ferramenta de autoria de ambientes virtuais do projeto CNPq-ProTem-CC "museuVirtual" [24]. Na Fig. 3 encontra-se a arquitetura de funcionamento da ferramenta, as descries especficas seguem nos itens posteriores:
Steeming para determinar raizes das palavras.

Remoo de stopwords

thesaurus

pergunta

palavra". O stemming geralmente efetuado atravs de dicionrios de sufixos que contm uma lista dos possveis finais de palavras, sendo que o algoritmo pode ser aplicado com sucesso a diferentes linguagens. Na ferramenta AutoChatter este processo de retirada do sufixo das palavras baseia-se no algoritmo de Porter [26]. Primeiro so retirados da frase a acentuao, letras maisculas, palavras da classe fechada (artigos, preposies, etc.), flexionadores e formadores verbais. As palavras restantes passam pelo stemming que deixa apenas o radical de cada palavra. Estes radicais so guardados na base de conhecimento do chatterbot associados ao conjunto de respostas definidos pelo usurio. Exemplos de extrao de sufixos:
Tabela 1 Exemplos de Extrao de Sufixos

resposta

Frase Original
Determinar a resposta segundo mtodo de seleo prestabelecido. Trocar atual foco de assunto, se necessrio. Comparar a pergunta com entradas do repertrio. Determinar o conjunto de possveis respostas associadas a entrada mais semelhante

Frase aps a retirada de sufixos nom pod convers sab chatterbot fal fal comput

Qual o seu nome? Sobre o que podemos conversar? Voc sabe o que um chatterbot? Fale algo sobre voc mesmo. Fale algo sobre computao.

Fig. 3 Arquitetura de Funcionamento

1) Funcionamento A base de conhecimento do chatterbot constitui-se de um conjunto de frases e respostas definido pelo usurio. O usurio entra com um conjunto de uma ou mais frases de entrada e um conjunto de uma ou mais frases de resposta para a(s) frase(s) de entrada. A base de conhecimento tem a opo de ser construda como um nico repertrio, onde todos os conjuntos frases/respostas encontram-se no mesmo nvel, ou dividir a base de conhecimento em diversos repertrios. Um destes repertrios o repertrio principal e os outros so divises, como sub-repertrios deste repertrio que armazenam conjuntos frases/respostas de assuntos derivados do assunto do repertrio principal. Eles se organizam na base de conhecimento de forma hierrquica, do assunto de maior para o de menor relevncia. Servem para dar mais consistncia s respostas do chatterbot.
a) Retirada de Sufixos

b) Respostas em Seqncia e Aleatrias A resposta pode ser definida como um conjunto de respostas em seqncia ou um conjunto de respostas aleatrias. As respostas em seqncia e aleatrias tm como propsito evitar que o chatterbot efetue sempre a mesma resposta para questes repetidas. Respostas em seqncia consideram o conjunto das frases da resposta uma lista circular, e respostas aleatrias selecionam aleatoriamente uma frase do conjunto de frases da resposta. c) Focos de Assunto A base de conhecimento dividida em focos de assuntos apresentados em uma janela para a visualizao do dicionrio de cada nvel (um "dicionrio" uma estrutura de dados muito usada em Smalltalk que permite associar um objeto "chave" a um "valor". No caso, so associados conjuntos de seqncias de palavras-chave como "chave" e uma lista de frases-resposta como "valor"). A partir da raiz da base de conhecimento - o nvel de foco de assunto inicial - possvel atribuir uma mudana de estado de foco para uma associao frase/resposta do chatterbot. A Fig. 4 apresenta um exemplo da implementao da hierarquia de focos de assunto na ferramenta AutoChatter:

Cada frase de entrada passa por um processo de retirada de sufixos de palavras principais chamado stemming. [25] define um algoritmo de stemming como um procedimento para reduzir todas as palavras com o mesmo sufixo uma forma comum, usualmente pela retirada dos sufixos de cada

6 questo. O objetivo da utilizao dos focos de assunto promover o dilogo ativo por parte do chatterbot, onde este deixa de atuar como um faqbot apenas respondendo s questes do usurio e passa a conduzir o dilogo, instigando a conversao sobre um determinado assunto dentro de sua base de conhecimento. Abaixo mostrado um dilogo baseado em focos de assunto, desenvolvido com o uso da ferramenta: ALUNO: A empresa possui controle de estoque? CHATTERBOT: Bem, nossa empresa trabalha com controle de estoque. Voc gostaria de saber como isto funciona? ALUNO: Sim, eu gostaria. CHATTERBOT: O controle de estoque feito em fichas de papel pelo funcionrio do estoque. Sempre que chega uma remessa, ele soma os valores nas linhas de cada produto. Cada vez que chega um pedido para ser faturado ele subtrai esses valores. Como as mercadorias levam uma semana para vir de So Paulo a Florianpolis, temos que manter sempre um estoque mdio, comprando mercadorias antes dos pedidos chegarem, para que possamos atender o mais rpido possvel. s vezes ocorre desperdcio, mas isto outra histria... ALUNO: Me fale sobre este desperdcio. CHATTERBOT: Muitas vezes ocorre desperdcio, mas normalmente no prprio supermercado. Neste caso, temos que aceitar as mercadorias de volta como devoluo. Uma nota de devoluo especfica emitida pelo cliente nestes casos. A partir deste ponto ocorre uma mudana de assunto, acabando por entrar em outro foco especfico: ALUNO: Quantos funcionrios a empresa possui? CHATTERBOT: Temos ao todo 10 funcionrios, alguns trabalham em turnos diferentes. ALUNO: Qual o horrio destes turnos? CHATTERBOT: Temos trs turnos de trabalho, manh, tarde e vespertino. d) Thesaurus Automtico A construo automtica de thesaurus considera a associao entre perguntas e respostas e baseia-se na idia que palavras (radicais) com um significado semelhante aparecem em perguntas com respostas semelhantes (ou aparecem em respostas com perguntas semelhantes). Segundo [27] a construo do thesaurus utiliza a associao entre perguntas e respostas, para determinar semelhanas entre palavras (radicais). Se para cada ocorrncia de um radical numa pergunta (resposta), se encontra uma ocorrncia de um outro radical numa outra pergunta (resposta), de tal forma que as respostas (perguntas) so muito similares ento o significado destes radicais (palavras) deve ser similar. Por questes prticas deve se exigir um nmero mnimo de ocorrncias de um radical para estabelecer uma afirmao de similaridade de significado. Para entender melhor o funcionamento do thesaurus

Fig. 4 Exemplo de Implementao da Hierarquia de Focos de Assuntos na Ferramenta

A base de conhecimento permite que uma questo do usurio - aps passar pelo stemming para a determinao dos radicais das palavras-chaves - possa ser comparada com as frases de entrada do repertrio definido para o foco. A comparao determina a resposta associada entrada com o maior nmero de palavras (radicais) coincidentes com a questo do usurio, se existir. Se a comparao conseguiu determinar uma dupla entrada/resposta, o chatterbot verifica se existe algum foco de mudana de estado para esta dupla. Se no houver, o chatterbot apresenta ao usurio a frase de resposta segundo o mtodo de seleo definido para a resposta. No caso de haver um foco de assunto para a dupla entrada/resposta na base de conhecimento, o chatterbot repete os passos descritos acima considerando o novo foco de assunto. Se no houver nenhuma entrada da base de conhecimento que coincida pelo menos em uma palavra com a questo do usurio, o chatterbot se comporta do mesmo modo como se no tivesse encontrado este novo foco. Se houver alguma entrada que coincida pelo menos em uma palavra com a questo do usurio, o chatterbot muda o nvel de foco de assunto para o novo foco e repete o processo de procura por um foco de assunto para a frase selecionada da base de dados. Caso a comparao entre a questo do usurio e as entradas no encontrem nenhuma dupla entrada/resposta para o foco atual, o chatterbot muda o nvel de foco para o nvel inferior, se houver, e procura para uma resposta neste nvel. Este processo repetido at que seja encontrada alguma frase que coincida pelo menos em uma palavra com a questo do usurio. Se o chatterbot desceu at o nvel de foco raiz na base de conhecimento e no encontrou nenhuma resposta, ele avisa ao usurio que no possui conhecimento sobre a

7 automtico, considere o exemplo descrito abaixo. Este exemplo mostra como o thesaurus associa a palavra produto palavra alimento. A Tabela 2 mostra as associaes com perguntas que contem flexes da palavra produto.
Tabela 2 Exemplo de Associaes do Thesaurus Automtico Perguntas Respostas

palavra produto. Assim, a pergunta Como vocs vendem os alimentos? (que no est cadastrada no repertrio do chatterbot) tem como resposta Os vendedores entram em contato com nossos clientes. O vendedor visita o cliente e este pode ou no fazer um pedido baseado nas mercadorias que o mesmo ainda possui nas prateleiras ou estoque. 2) Implementando um Chatterbot A interao da ferramenta com o usurio feita atravs de uma tela de interao, onde o usurio escreve sua questo em um campo de escrita e a resposta do chatterbot aparece na tela, deixando transparente ao usurio o critrio de escolha da resposta na base de conhecimento para a questo. A ferramenta pode ainda ser definida para funcionar em rede comunicando-se com um servidor. Isto permite opes de gravar um arquivo de log no servidor com todos os dilogos feitos por vrios usurios - diferenciando o dilogo de cada usurio - e permite ao usurio carregar verses atualizadas do repertrio de seus chatterbots via rede. Abaixo (Fig. 5) apresentada a tela de interao com o usurio, onde so realizados dilogos com o chatterbot:

E como a empresa vende seus Os vendedores entram em contato com produtos? A venda dos produtos feita como? nossos clientes. O vendedor visita o cliente e este pode ou no fazer um

Como os pedidos so feitos pelos pedido baseado nas mercadorias que o clientes? mesmo ainda possui nas prateleiras ou

Os produtos so entregues de acordo estoque. com um pedido de compra feito previamente pelo cliente, ou so vendidos pelo prprio entregador? Quantos produtos so comercializados Nossa empresa trabalha apenas com em sua empresa? produtos dietticos. Nenhum dos itens

Quais os tipos de alimentos a sua com que trabalhamos perecvel. empresa produz? Quais so os tipos de alimentos? Alm de alimentos, vocs distribuem outros tipos de produtos? Vocs distribuem alimentos tambm S para outras cidades? A empresa exporta os seus produtos? Sua empresa exporta produtos para outros pases? Vocs possuem algum critrio de Nossos produtos so sazonais. No vero avaliao por vendas, local para vendemos mais adoantes e sucos efetuar a distribuio dos alimentos? Quais os produtos comercializados? dietticos. No inverno vendemos mais atendemos clientes em Santa

Catarina.

mais caf descafeinado e chocolate diettico Fig. 5 Tela de interao com o usurio

As perguntas da primeira associao no contm a palavra alimento. Na segunda associao existe uma pergunta que contem uma flexo da palavra alimento e no contem uma flexo da palavra produto (a pergunta Quais so os tipos de alimentos?). O mesmo vale para a terceira associao (Vocs distribuem alimentos tambm para outras cidades?) e para a quarta associao (Vocs possuem algum critrio de avaliao por vendas, local para efetuar a distribuio dos alimentos?). Isto quer dizer que existe uma co-ocorrncia entre flexes das palavras produto e alimento, porque quase sempre aparece uma flexo da palavra produto numa pergunta de uma associao onde existe uma outra pergunta da mesma associao em que a palavra produto no aparece, mas uma flexo da palavra alimento pode ser encontrada. Portanto, o thesaurus associa a palavra alimento

a) Menus A ferramenta possui 4 menus, sendo estes relatados abaixo: Menu Sobre: O Menu Sobre conta com duas opes: Ajuda e Contato. Nele so encontradas informaes sobre seus desenvolvedores, com os respectivos endereos de contato. Na opo Ajuda, podem ser encontradas dicas de inicializao da ferramenta. Menu Repertrio: O Menu Repertrio possui trs opes: Carregar Repertrio Existente, Editar Repertrio e Criar Repertrio Novo. A opo Carregar Repertrio Existente ir carregar, de um arquivo j gravado em disco, um dicionrio de frases/respostas no repertrio do chatterbot. A opo Editar Repertrio permite a edio do repertrio que est sendo usado, utilizando as mesmas opes de criao de um novo repertrio, mostradas a seguir.

8 A opo Criar Repertrio Novo permite ao usurio a edio de um novo repertrio a ser utilizado pelo chatterbot. Este repertrio inclui: as frases de entrada (fornecidas pelo usurio), as frases de sada (respostas do chatterbot s frases de entrada do usurio) e os focos de assunto ao qual estas frases podem estar relacionadas ou no. Atravs do Editor de Frases (mostrado na Fig. 6) possvel adicionar um conjunto de frases de entrada e da mesma forma, um conjunto de respostas para as frases de entrada. Antes de editar as respostas necessrio fazer a escolha do estilo das respostas, se sero em seqncia ou aleatrias. Se no for escolhido o estilo das respostas, o default que o estilo seja resposta nica para a(s) pergunta(s) (apenas a definio de uma nica resposta aceita). Da mesma forma, possvel tambm retirar frases do conjunto (tanto frases de entrada como frases de resposta) ou limpar todas as frases do repertrio. Tambm necessrio que o usurio escolha o idioma do repertrio, a retirada de sufixos diferente para o idioma portugus e para o ingls, por isso importante que o idioma selecionado esteja correto com o dicionrio a ser carregado para que o chatterbot responda corretamente. Menu Dilogo: O Menu Dilogo possui duas opes. A opo Gravar Dilogo tem como objetivo o usurio poder armazenar um arquivo que contenha todo o dilogo entre ele e o chatterbot a partir do momento em que esta opo seja escolhida e o nome do arquivo definido. A qualquer momento do dilogo o usurio pode verificar o arquivo onde o dilogo est sendo armazenado, atravs da opo Mostrar Dilogo. Menu Conexo: O Menu Conexo conta com duas opes Verifica Conexo e Habilita Conexo. A opo Verifica Conexo ir verificar se a conexo com o servidor designado pode ser estabelecida, ou seja, se h possibilidade de conexo com o servidor em um dado momento. J a opo Habilita Conexo permite ao usurio a escolha entre habilitar a conexo com o servidor remoto (se esta estiver disponvel), de modo que os dilogos entre o chatterbot e o usurio possam ser gravados em um arquivo log; ou no habilitar a conexo com o servidor, desta forma os dilogos realizados no sero armazenados via rede.

VI. CONCLUSES O presente trabalho abordou o desenvolvimento e uso de ferramentas/tecnologias de chatterbots nos mais diversos contextos. Cobrindo aspectos que vo desde formas de desenvolvimento, reas de atuao, at aplicaes utilizadas atualmente. No entanto, o trabalho procurou se deter no uso de uma ferramenta de autoria de chatterbots (AutoChatter), com o objetivo de demonstrar o funcionamento desta ferramenta. Alm disso, a ferramenta AutoChatter foi avaliada atravs de uma pesquisa exploratria, como pode ser verificado em [30]. Esta avaliao se deu tanto em termos de seu funcionamento como de sua utilizao, procurando identificar problemas e atravs disso propor solues; alm de utiliz-la para a avaliao da adequao do uso da tecnologia de chatterbots para o aprendizado de contedos especficos. Desta forma, a pesquisa realizou-se em duas Instituies de Ensino a Universidade Federal de Santa Catarina (UFSC) e as Faculdades Integradas de Palmas (FACIPAL), envolvendo alunos de graduao do curso de Sistemas de Informao. Quanto ao primeiro objetivo avaliar o funcionamento da ferramenta AutoChatter, acredita-se que tenha sido atingido em grande parte na experincia realizada na UFSC Universidade Federal de Santa Catarina, visto que a maior parte dos problemas detectados foram solucionados neste perodo. Podem ser citados como exemplos a incorporao de novos menus ferramenta (Menus Dilogo e Conexo), como alternativa para possveis problemas com o servidor remoto; a remoo de algumas stop words, o que possibilitou um ganho de performance do chatterbot frente questionamentos; um novo estudo sobre a utilizao dos focos de assunto, o que permitiu sua utilizao correta; e ainda a incorporao de um thesaurus ferramenta, como alternativa para aumentar a

Fig. 6 Edio de Frases para Criao de um Repertrio

A base de conhecimento dividida em focos de assuntos apresentados em uma janela para a visualizao do dicionrio de cada nvel. A partir da raiz da base de conhecimento - o nvel de foco de assunto inicial - possvel atribuir uma mudana de estado de foco para uma associao frase/resposta do chatterbot. Abaixo, na Fig. 7, apresenta-se o Visualizador de Repertrio para um novo foco de assunto

Fig. 7 Visualizador de Repertrios

9 probabilidade de respostas corretas frente novos questionamentos. J com relao ao segundo objetivo proposto a adequao de uma ferramenta de autoria de chatterbots para o auxlio ao aprendizado da anlise de requisitos, acredita-se que tambm tenha sido atingido. Atravs do contato com os alunos, percebeu-se uma forte motivao em se trabalhar com a ferramenta, confirmando o que vrios autores destacam [28], [29], que a curiosidade e o interesse dos alunos por esta categoria de ferramentas promovida principalmente pelo uso do dilogo em linguagem natural aumentam a motivao do estudante, promovendo conseqentemente o aprendizado. Alm disso, verificou-se que o aprendizado dos estudantes se deu tanto pela possibilidade de construir seus prprios chatterbots (colocando-se no papel tanto do gerente de uma empresa, quanto do cliente que se dirige a este), quanto pela possibilidade de interagir com chatterbots criados por outros estudantes (o que possibilita a obteno de informaes das mais diversas categorias de empresas). Outro ponto a ser destacado que a utilizao de uma ferramenta de autoria neste contexto provocou uma conscientizao por parte dos estudantes, onde estes verificaram que a grande responsabilidade sobre o funcionamento correto dos chatterbots incidia sobre eles mesmos, ou seja, o chatterbot s funcionaria corretamente se fosse construdo corretamente pelos alunos. A questo do envolvimento dos alunos tambm foi de extrema importncia, tornando uma experincia deste tipo algo extremamente motivador para outros pesquisadores que pretendam desenvolver aplicaes nesta rea. Comprovou-se realmente a grande motivao gerada por esta categoria de ferramentas (chatterbots) nos estudantes, atravs do contato com estes e com seus trabalhos.
[11] Foner, Leonard N., Entertainig Agents: A Sociological Case Study, The First International Conference on Autonomous Agents (Agents 97). Marina Del Rey, CA. [12] Mauldin, Michael L., Chatterbots, tinymunds and the Turing Test: entering the Lloebner Prize Competition, Available: http://indian.monterey.edu/sbc/sbsc/sbsc368a/aaai94.htm [13] Zabaware, Ultra Hal Representative, Available: http://www.ultrahal.com [14] Kolodner, J.; Domesheck, E., Towards a Case-Based Aid for Conceptual Design, International Journal of Expert Systems. 4(2), 201-220. 1991 [15] Native Minds, NeuroServer Authoring Environmentt , Available: http://an1-sj.nativeminds.com/default.html [16] Suereth, R., Developing Natural Language Interfaces: Processing Human Conversation, New York: McGraw-Hill, 1997, 312p. [17] Shneiderman, Ben, Designing the User Interface Strategies for Effective Human-Computer Interaction, Addison-Wesley Publishing Company, 1992, 571p. [18] Wazlawick, Raul S.; Storb, Bernd H.; Castanho, Carla L. O.; Costa, Fabricio A., Chatterbots Aplicados ao Ensino A Construo de Uma Ferramenta de Autoria, XXI Congresso da Sociedade Brasileira de Computao/VII Workshop de Informtica na Escola. Fortaleza: UNIFOR Universidade de Fortaleza, 2001a. [19] Bersen, N.O.; Dybkjr, H.; Dybkjr, L., D esigning Interactive Speech Systems: from first Ideas to User Testing, London: Springer, 1998. 276p. [20] Graesser, A. C., Wiemer-Hastings, K., Wiemer-Hastings, P., Kreuz, R.. AutoTutor: a simulation of a human tutor, Journal of Cognitive Systems Research 1:35-51. Elsevier. 1999. [21] Nunes, M. G. V.; Pansanato, L. E., Autoria de Aplicaes Hipermdia para Ensino, Revista Brasileira de Informtica na Educao,n.5, p.103124, 1999. [22] Johnson, Deborah G., Nissenbaum, Helen, Computers, Ethics & Social Values, Prentice Hall, 1995. 714 pg. [23] Wazlawick, R. S., Mariani, A. C., The Use of an Actor and Stage Metaphor for Introducing Object-Oriented Programming, In: ICEUT2000 - International Conference on Educational Uses of Communication and Information Technologies. IFIP World Computer Congress. Beijing, China. August, 2000. p. 247-252. [24] Wazlawick, R. S. , Rosatelli, M. C., Ramos, E. M. F., Cybis, W. A. Storb, B. H., Schuhmacher, V. R. N., Mariani, A. C. Kirner, T., Kirner, C. Fagundes, L. C., Providing more Interactivity to Virtual Museums: A proposal for a VR Authoring Tool, Presence Teleoperators And Virtual Environments, MIT Press, Cambridge, USA. 10(6):647-656. December, 2001. [25] Lovins, J.B., Development of a stemming algorithm, Mechanical Translation and Computational Linguistics, 11, 1968, 22-31. [26] Porter, M. F., An algorithm for suffix stripping, Program,v.14, n.3, p. 130-137. 1980. [27] Storb, Bernd Heinrich, Construo de um Thesaurus Automtico, Florianpolis. 5 pginas. [28] Primo, A.F.T., Chatterbots: Robs de conversao, Available: http://www.cybelle.cjb.net/ [29] Brugnara, Telmo, MuseuVirtual: Um Estudo sobre guias virtuais em um ambiente de aprendizagem colaborativa via rede, Available: http://www.psico.ufrgs.br/~telmo/salao2000 [30] Castanho, C. L. O; Wazlawick, R. S., A Avaliao do Uso de Chatterbots no Ensino , Dissertao de Mestrado. CTC INE UFSC. 2002.

REFERENCIAS
[1] [2] [3] Dowd, Kevin, Brainhat, Available: http://www.brainhat.com Vperson. Virtual Personalities, Available: http://www.vperson.com Whalen, Thomas, Computacional behaviorism applied to natural language, Available: http://www.gsu.edu/~dscthw [4] Turing, A.M, Computing machinery and intelligence, Mind, v.59, p. 433-560, 1950. Available: http://www.loebner.net/Prizef/TuringArticle.html [5] Weinzenbaum, J., ELIZA A Computer Program for the Study of Natural Language Communication between Man and Machine, Communications of the ACM 9(1), p. 36-45, 1966. [6] Maybot, Natural Languages Interfaces, Available: http://www.maybot.com [7] Leaverton, Michael, How Virtual Agents Make the Web More Human, Available: http://www.cnet.com/techtrends/0-1544320-8-2862007-1.html [8] Baer, Jeremy; Morgan, Chenoah, Educational Application of Conversational Agents, Available: http://www.cs.washington.edu/homes/jbaer/pubs/edmediachat.html [9] Cheong, F.C., Internet Agents: spiders, wanderers, brokers, and bots, Indianapolis: New Riders Publishing, 1996. [10] Edwards, Jeff, Parry, Available: http://www.stetson.edu/departments/mathcs/students/research/cs/cs498/200 0/jeffedwards.pdf

You might also like