• Nenhum resultado encontrado

Um Chatterbot aplicado ao Turismo: Um estudo de caso no Litoral Alagoano e na Cidade de Maceió

N/A
N/A
Protected

Academic year: 2021

Share "Um Chatterbot aplicado ao Turismo: Um estudo de caso no Litoral Alagoano e na Cidade de Maceió"

Copied!
8
0
0

Texto

(1)

Um Chatterbot aplicado ao Turismo: Um estudo de caso

no Litoral Alagoano e na Cidade de Maceió

Arandir Cordeiro da Silva, Evandro de Barros Costa

Instituto de Computação – Universidade Federal de Alagoas (UFAL)

arandircordeiro@gmail.com

Abstract. The advances of the Internet/Web have motivated the development

of interesting applications in different areas. The tourism is one these areas

where some challenges are posed. For example, the interfaces in software

systems applied to tourism need to be improved, mainly by offering more

interactivity with their users. The chatterbots technology is one the important

resource to be added in these systems. This paper proposes a Chatterbot,

named Balbinu’s, aiming at interacting with users, visiting a site in the State

of Alagoas, more specifically in the city of Maceió. In addition, an ontology of

the tourism has been developed for domain specification.

Resumo. Os avanços da Internet/Web têm motivado o desenvolvimento de aplicações

interessantes em diferentes áreas. Entre tais áreas, destaca-se o turismo, trazendo desafios importantes aos desenvolvedores de aplicações Web, notadamente pela sua demanda por interfaces mais interativas e sofisticadas. Nesse contexto, a tecnologia de Chatterbots aparece como uma alternativa atraente devido a sua proposta de processamento de diálogo em linguagem natural, entre o sistema e seus usuários. Nessa direção, o presente trabalho propõe um Chatterbot, denominado

Balbinu’s, capaz de interagir com usuários de portal de turismo sobre o

estado das Alagoas, mais especificamente, sobre a cidade de Maceió. Como

suporte ao funcionamento desse chatterbot, tem sido desenvolvida, usando a

plataforma Protége, uma ontologia do turismo focada em Alagoas.

1. Introdução

O setor de turismo tem demandado soluções de software cada vez mais sofisticadas para compor os seus portais de informação. Além da qualidade e quantidade do conteúdo presente em um portal de turismo, a interface deste com os seus usuários exige recursos sofisticados para assegurar interações eficientes e atratativas entre o sistema e seus usuários. Nesse sentido, uma das oportunidades que têm surgido para contribuir com a qualidade destas interfaces é o desenvolvimento de chatterbots, principalmente pelas capacidades que estas ferramentas oferecem na interação com seus usuários, através de diálogos em linguagem natural. Atualmente, esses sistemas são utilizados por milhares de usuários na Web para os mais diversos fins (e.g., participar de salas de chat e RPG, acompanhar estudantes em ambientes de educação a distância, tirar dúvidas sobre um domínio específico, representar empresas, oferecer suporte técnico, entre outros).

A indústria do entretenimento, em particular, está em permanente crescimento, e com ela crescem também as pesquisas que buscam soluções para os seus maiores problemas. Um desses problemas é a prestação ininterrupta de serviços a usuários variados. Os chatterbots têm sido utilizados nesses ambientes como assistentes digitais capazes de dialogar com usuários, a todo o momento, buscando assim substituir assistentes humanos, que são escassos e custam caro às

(2)

empresas. Além disso, como esses sistemas dialogam em linguagem natural, eles são simples de serem utilizados por pessoas de todas as idades, com um alto ou baixo grau de conhecimento sobre Web e Informática.

Os chatterbots estão, portanto, evoluindo cada vez mais, mas assim mesmo existem problemas nos quais são difíceis de resolver, dentre eles estão os tratamentos das ambigüidades. Por exemplo, na frase: ‘sua camisa é muito bonita porém a manga dela não combina com a mesma’. A palavra manga, descrita no texto do chatterbot, pode levar a um significado de manga como sendo uma fruta e não a manga da camisa. Esta é uma das maiores dificuldades que estes tipos de robôs possuem. Uma outra dificuldade é a criação de um mecanismo de aprendizado que permita a evolução da Base de Conhecimento de Domínio. Assim, diversos chatterbots foram desenvolvidos ao longo dos anos, porém todos eles ainda possuem problemas com o tratamento de ambigüidade, semântica e sintaxe. Além disso, abordagens objetivando o tratamento de personalidades também têm sido desenvolvidas (Galvão 2003).

Na perspectiva de contornar os problemas supra-mencionados, o presente artigo propõe um Chatterbot, denominado Balbinu´s, capaz de interagir com seus usuários em uma estrutura de portal de turismo, oferecendo informação sobre o litoral Alagoano e, particularmente, sobre a cidade de Maceió, capital de Alagoas. Basicamente, as informações são relacionadas a: Praias, Lagoas, Museus, Mirantes, Teatros, Artesanatos, Folclores, Gastronomia, Aeroportos, Rodoviárias, Portos, Históricos, Hospedagem (Hotéis e Pousadas) e Atrações Turísticas, todos estes itens estão inclusos em suas vias de acesso para todos que desejem chegar a um local específico. Estas informações já estão contidas em uma ontologia, a partir da qual extrai-se informação útil tanto para os turistas quanto para as pessoas que moram no estado. Portanto, a proposta aqui é oferecer condições adequadas para as pessoas obterem estes tipos de informações de maneira simples, clara e rápida.

O presente artigo está organizado da seguinte forma. Na Seção 2 estão descritos os trabalhos identificados como relacionados ao aqui proposto. Uma breve visão sobre chatterbot é abordada na Seção 3. Na Seção 4 é descrita a arquitetura do Balbinu’s, além dos detalhes sobre o seu funcionamento e a descrição da ontologia em elaboração. Finalmente, conclusões e trabalhos futuros são apresentados na Seção 5, seguindo-se das referências.

2. Trabalhos Relacionados

Quando se fala em chatterbots, logo ocorre o nome do sistema que representa a sua primeira realização, ou seja, o sistema Eliza, desenvolvido com a finalidade de simular um psicanalista em uma conversa com um interlocutor considerado seu paciente. Daí, ele (Chatterbot) espera que o interlocutor conte seus problemas, através da declaração de sentenças, as quais são avaliadas, gerando perguntas, numa tentativa de interagir levando o usuário a descobrir resposta para suas dúvidas, tal como acontece na estratégia rogeriana. O Eliza foi desenvolvido pelo cientista e professor Joseph Weizenbaum no Massachussets Institute of Technology [Weizenbaum 1996].

Na década de 90 iniciou-se uma nova investida no desenvolvimento de Chatterbots, considerando principalmente os avanços nas áreas de PLN (Processamento de Linguagem Natural), Engenharia de Software e, outros aspectos, da própria Inteligência Artificial. Como exemplo dessa geração, tem-se o JULIA, desenvolvido por Michael Mauldin [Mauldin 1990]. JULIA funcionava em um ambiente virtual de entretenimento, participando do ambiente como se fosse um usuário humano interagindo com outros humanos através de salas de chat. O JULIA possui um modelo interno do mundo, que pode ser atualizado no momento em que a conversa está se desenvolvendo. Ou seja, ela é capaz de contextualizar o diálogo, gerando assim uma maior aproximação de uma conversação real. JULIA também tem memórias de estados, que faz com que ela se lembre das últimas sentenças digitadas pelos usuários.

(3)

Os méritos destacados acima levaram, no Loebner Prize de 1993, uma versão de JULIA a ser classificada em terceiro lugar.

Um outro importante exemplo de chatterbot é o Profª. Elektra, desenvolvido pela UFRGS. Ele visava inicialmente tirar duvídas e responder perguntas referentes ao domínio da Física, envolvendo alunos do ensino médio num contexto de preparação para o vestibular, sendo colocado disponível no ar para os internautas, em meados de 2002. Este chatterbot obteve sucesso em seu funcionamento, estando atualmente sendo utilizado no curso de Especialização a Distância em Informática na Educação, na disciplina Internet para Educadores na própria UFRGS [Leonhardt 2002].

3. Características de um Chatterbot

Uma característica primeira de um sistema chatterbot diz respeito a sua capacidade de manter um diálogo, através de linguagem natural, com seus usuários. A Figura 3.1 apresenta um modelo funcional de um chatterbot.

Figura 3.1 Modelo Funcional Básico de Chatterbot

Em 1950, Alan Turing propôs uma espécie de jogo no qual três participantes, uma mulher, um homem e um interrogador de qualquer sexo deveriam ficar em salas separadas para o interrogador conversar com o homem e a mulher através de terminais de computador. Ao término do diálogo, o interrogador deveria ser capaz de dizer quem era o homem e quem era a mulher. Com a intenção de verificar a inteligência de um sistema de software, Turing, em seu artigo "Can machines think?", colocou a possibilidade de substituirmos a mulher ou o homem por uma máquina, sendo o interrogador capaz de dizer quem é humano e quem é máquina, [Turing 1950] . Tal jogo passou a ser conhecido como "Turing Test" e foi redesenhado por um grupo de pesquisadores do Cambridge Center for Behavioura Studies4, transformando-se em um evento de grandeza internacional, denominado Loebner Prize. Este evento avalia o desempenho de sistemas que conversam com os avaliadores do concurso em linguagem natural. Até hoje, nenhum sistema conseguiu receber o grande prêmio do concurso. O primeiro sistema a receber o prêmio de U$ 2.000,00 foi o OC Therapist, em 1991, criado por Joseph Weintraub da empresa “Thinking Systems Softwares”.

(4)

4. O chatterbot Balbinu’s

A arquitetura deste chatterbot consiste dos seguintes módulos: uma Interface para diálogo com usuário, uma base de substituição que tem a finalidade de corrigir possíveis palavras erradas, uma base de conhecimento de domínio que tem a finalidade de conter resposta sobre o assunto que se trata (turismo no litoral Alagoano e na cidade de Maceió), Módulo de Histórico, servindo para armazenar pelo menos as 5 (cinco) últimas perguntas para que o chatterbot não se perca facilmente do foco da conversação. Para que isso seja possível algumas etapas são requeridas. Primeiramente um interlocutor interage com o Balbinu’s através de sua interface via Internet. Esta interface é constituída de um formulário, tem a finalidade de dar entradas em possíveis perguntas e um espaço destinado para a visualização das possíveis respostas. O interlocutor então poderá fazer perguntas em linguagem natural no espaço destinado na interface do bot. Depois disto o bot processa a entrada da informação e logo em seguida procura a resposta mais adequada em sua base de Conhecimento de Domínio, providenciando logo em seguida uma resposta ao interlocutor, demonstrado na figura 4.1.

Figura 4.1 Arquitetura do Baubinu’s

Como referência para a construção do Balbinu’s, considerou-se o chatterbot ALICE [Wallace, 1995], um chatterbot de terceira geração que apresenta uma vasta possibilidade de recursos. Tal software encontra-se disponível gratuitamente em seu site na Internet e inclusive está disponível também em diversas plataformas, baseando-se em AIML, uma linguagem de programação típica para construção de chatterbots.

4.1. Funcionamento Interno de Processamento

Atualmente boa parte dos chatterbots são orientados a domínio e, assim, possuem uma base de Conhecimento de Domínio. O Balbinu’s segue essa linha, tendo sua base definida usando a linguagem Artificial Intelligence Markup Language (AIML) [Taylor, 2003]. Esta linguagem de marcação foi derivada do Extencible Markup Language (XML). Através de seus objetos e categorias, estas organizadas em tópicos, com isso descrevem padrões que o chatterbot reconhece. Esta aplicação é responsável para efetuar o tratamento da Linguagem Natural das mensagens como um todo (Entrada/Saída), propiciam também tecnologias que permitem a utilização remota e paralela do sistema, isso fazendo com que os usuários possam acessá-lo de qualquer local, na hora que desejar.

(5)

Como este trabalho está sendo desenvolvido com base no ALICE [Wallace 2005], optou-se para realizar o tratamento das mensagens através de arquivos de definição XML (eXtensible Markup Language). Como padrão e troca de informação pela Internet, o referido padrão já é utilizado e com sucesso no chatterbot originário ALICE. Estes documentos XML contêm formatações específicas sobre a (Entrada/Saída), ou seja, são definidas máscaras de Entradas e Saídas para permitir que as informações extraídas da Base de Conhecimento de Domínio possam ser apresentadas ao Interlocutor de maneira natural. Além disso possuem também mensagens de resposta padrão para perguntas freqüentes e não constantes na base do conhecimento. Um exemplo disso é um bom dia, boa noite no fim de uma saudação. O arquivo do tipo XML é interpretado por um interpretador que tem por finalidade de verificar neste arquivo de definições qual máscara a mensagem receberá do usuário, geralmente esta pesquisa é feita através de palavras-chave fornecidas pelas definições.

4.2. Base de Conhecimento de Domínio

A base de conhecimento do Balbinu’s é desenvolvida através de arquivos do tipo XML. Opcionalmente esta abordagem apresentou-se como uma possível solução para este sistema, por ser a mais utilizada entre os chatterbots existentes. Os dados relativos ao conhecimento do sistema serão armazenados em um banco de dados relacional. Nesse sentido, planejamos em um futuro bem próximo em colocar nossa base de conhecimento em uma ontologia efetuada em uma ferramenta de representação de conhecimento chamada Protegé. Nesta base de conhecimento de Domínio encontram-se informações concernentes ao turismo no litoral Alagoano e na cidade de Maceió, capital das Alagoas, inclusive com uma forte possibilidade da base conhecimento conter também fotos dos referidos pontos turísticos quando solicitado.

Figura 4.2 Parte da Ontologia

Como mostrado na Figura 3, a ontologia refere-se a representação do conhecimento do domínio de turismo. Tal ontologia possui características descritas como teatros, gastronomia local, portos, museus, praias, artesanato, aeroportos, rodoviárias entre outros, todos com suas principais vias de acesso explicando detalhadamente como fazer para chegar ao local escolhido . Para cada tipo de informação, existe a relação com o histórico. Com isso, com a ontologia como base de conhecimento, a complexidade na interpretação semântica dos dados digitados pelo usuário diminui.

4.3. Base de Substituição

Esta base de substituição tem a finalidade de substituir possíveis palavras digitadas erradas pelo interlocutor, por palavras corretas. Através disso dará sentido as palavras e a frase como um todo e também fará com que o interpretador possa procurar e encontrar a melhor resposta possível para exibir ao interlocutor. Esta Base de Substituição é constituída por um arquivo do tipo XML onde estão discriminadas listagens de palavras escritas de maneira errada, onde a mesma palavra pode estar escrita de diversas maneiras e assim sucessivamente. Geralmente está

(6)

escrita primeiro a palavra errada e depois a palavra escrita de maneira correta ou também palavras abreviadas, tal como ocorre com a escrita de alguns internautas, sendo tais abreviações substituídas pela palavra correta, para que o Balbinu’s possa compreender e dar uma resposta coerente.

4.4. Módulo de Histórico

Este módulo, por sua vez, possui a capacidade de armazenar pelo menos as cinco últimas perguntas efetuadas pelo interlocutor, pois com este recurso o Balbinu’s não irá se perder e irá entender quando houver uma troca de assunto.

4.5. Módulo de Comportamento

Para o Balbinu’s compreender as mensagens enviadas pelo interlocutor, ele realiza comparações com as definições do arquivo de comportamento, em XML. Estas definições são carregadas para a memória quando é ativado o servidor do Balbinu’s. Daí, o interpretador se encarrega de carregar a classe onde está implementada a manipulação do arquivo XML, as mensagens encontradas dentro desta categoria são colocadas dentro de um vetor do tipo string. Os retornos são colocados em instâncias de objetos do tipo retorno, quando a leitura da categoria é concluída e satisfeita, a instância é passada para uma classe chamada de Comportamento, onde é inserida em um vetor, que durante a troca de mensagens com o interlocutor será percorrida para a comparação de strings. É durante o processamento do XML que as marcações <bot/> são identificadas e substituídas pelo conteúdo da respectiva tag <personalidade/>. Esta substituição é possível porque as informações de personalidade são constantes e não variam no decorrer da interação com o interlocutor.

4.6. Módulo Interpretador

Este módulo tem por finalidade controlar todos os passos na carga do servidor de dados. Ele é quem coordena e carrega a base de Conhecimento de Domínio, a Base de substituição, coordena também quando o interlocutor digita uma frase qualquer e pressiona o botão, dando assim entrada de uma informação. Ele verifica logo na base de substituição corrigindo possíveis erros nas palavras, logo em seguida percorre a Base de Domínio de Conhecimento a procura da informação desejada. Em seguida, ele irá para o Módulo de Comportamento para analisar qual classe irá ser passada como parâmetro de resposta e em seguida passará para o módulo de histórico armazenando assim sua última posição sobre uma possível resposta. Depois disto ter sido efetuado, o interpretador retorna uma resposta para o interlocutor, efetuando assim um ciclo que se repete cada vez que o referido interlocutor digitar e pressionar o botão confirmando uma nova entrada de informação.

4.6.1. Módulo de Mensagens (Entrada/Saída)

A troca de informação com o interlocutor consiste em duas etapas distintas e significativas, são elas: 1º - Consiste na entrada da informação dada pelo interlocutor para que possa ser comparada com as definições de comportamento, já descritas e carregadas na memória do servidor; 2º - Consiste na escolha da resposta mais adequada para o interlocutor, fazendo as substituições no texto, nos locais onde são aplicadas as máscaras, e realizando uma busca na Base de Conhecimento de Domínio quando necessário e formatando a mensagem de resposta. Quando uma informação é passada pelo interlocutor é definido também um método para o retorno de uma referida categoria. Este método faz a escolha randômica entre as opções de retorno disponíveis para a categoria. Esta também, por sua vez, consultará a Base de Domínio de Conhecimento, podendo também exibir fotos de um local se solicitado, a figura 4.3 ilustra uma conversação com um interlocutor.

(7)

Figura 4.3 Tela de Entrada e Saída do Balbinu’s

Conclusão

Este trabalho teve como finalidade apresentar uma proposta de chatterbot, aplicado ao domínio de turismo, com estudo de caso relacionado ao turismo no litoral Alagoano e na cidade de Maceió. Tal caso é bastante rico de informações de vários tipos, constituindo-se numa aplicação interessante. Trata-se de um trabalho que tem se mostrado promissor em direção a vir a se constituir em uma aplicação prática em futuro próximo.

Como trabalho futuro pretende-se definir como será efetuado o processo de aquisição do conhecimento em linguagem natural, fazendo correção sintática, avaliação semântica e tratamento das ambigüidades. Uma implantação de personalidade efetiva e não só de comportamento, um mecanismo de conhecimento de domínio utilizando ontologia que já está sendo implementada e não só por arquivos do tipo XML.

Referências

Galvão, A. M. (2003) “Persona-AIML: Uma Arquitetura para Desenvolver Chatterbots com Personalidade”.

Mauldin, M. L. (1994) Chatterbots, TinyMUDs, and the Turing Test: Entering the Loebner Prize Competition, Proceedings of Twelfth National Conference on Artificial Intelligence (AAAI-94), Seattle, Washington.

Turing, A. M. (1950). Computing machinery and intelligence, Mind, Vol. 49, pp. 433-490. Taylor, A. (2003). The aiml mini reference and primer. Disponível em : http:// hippie.alicebot.com\ataylor/index.html

Wallace, R. S. (1995).ALICE - Artificial linguistic internet computer entity – the ALICE AI. foundation. Disponível em http\\alicebot.org

Wallace, R. S. (2005). AIML: Artificial Intelligence Markup Language, Disponível em: http:// www.alicebot.org /aiml.html, Acesso em 04 de novembro de 2006.

(8)

http\\www.pandorabots.com/pandora/talk?botid=f5d922d97e345aal, Acesso em 04 de novembro de 2006.

Weizenbaum, J. (1966) “ELIZA – A Computer Program for the Study of Natural Language Communication Betweem Man and Machine”. In Communications of the ACM, Vol. 9(1), pp 35-36.

Referências

Documentos relacionados

O estudo buscou também contribuir para o desenvolvimento científico, disponibilizando para a sociedade os impactos acerca da saúde mental, social e corporal dos

O TBC surge como uma das muitas alternativas pensadas para as populações locais, se constituindo como uma atividade econômica solidária que concatena a comunidade com os

xii) número de alunos matriculados classificados de acordo com a renda per capita familiar. b) encaminhem à Setec/MEC, até o dia 31 de janeiro de cada exercício, para a alimentação de

Figura A53 - Produção e consumo de resinas termoplásticas 2000 - 2009 Fonte: Perfil da Indústria de Transformação de Material Plástico - Edição de 2009.. A Figura A54 exibe

Local de realização da avaliação: Centro de Aperfeiçoamento dos Profissionais da Educação - EAPE , endereço : SGAS 907 - Brasília/DF. Estamos à disposição

Tespia (Mount Athos) - não correu, importada para o Brasil; mãe de:. MONESI (Ariosto II) -

Ainda segundo Gil (2002), como a revisão bibliográfica esclarece os pressupostos teóricos que dão fundamentação à pesquisa e às contribuições oferecidas por

As principais constatações identificam ações e práticas no âmbito da gestão logística e da cadeia do abastecimento que contribuem para o equilíbrio entre os