Investigação de uso da Virtual Human Markup Language em conjunto com a Artificial Inteligence Markup Language em Chatterbots Ewerton José Wantroba (BIC-UNICENTRO), Lucélia de Souza (Orientadora), e-mail: [email protected] Universidade Estadual do Centro-Oeste/Setor de Ciências Exatas e Tecnologia Palavras-chave: interação usuário-bot, AIML, VHML, chatterbots, linguagem natural Resumo: Este trabalho apresenta uma investigação inicial de uso da linguagem Virtual Human Markup Language, VHML em conjunto com a Artificial Inteligence Markup Language, AIML em chatterbots. São abordadas as diferentes formas de comunicação através da VHML e é apresentado um framework que a utiliza. Estuda-se a possibilidade de uso desta linguagem com a AIML em um agente conversacional denominado HelpBot. Introdução Chatterbots ou simplesmente bots são agentes conversacionais que possibilitam aos usuários interagirem por meio de conversa em linguagem natural. Podem ser utilizados para os diversos fins, educação à distância, entretenimento, horóscopo, propaganda, entre outros [Chatterbots, 2009]. Um dos bots que se destacam na literatura é o Alice [Alicebot, 2009], que inclusive ganhou o prêmio Löebner de chatterbots em 2004. Sua principal contribuição para a área de Inteligência Artificial (IA) é o uso da linguagem Artificial Inteligence Markup Language, AIML. Atualmente é fortemente recomendado a criação de bots com a AIML, a qual trabalha com tags denominadas categorias, tendo por base a linguagem XML (Extensible Markup Language) [Alicebot, 2009]. Destaca-se que um dos pontos importantes para a interação usuáriobot é a interface de comunicação, pois, se for agradável, contribui para uma melhor interação. Para personalizar uma interface de forma que apresente uma boa comunicação, como por exemplo, por meio de gestos e expressões faciais, fala e emoção do bot, pode-se utilizar a linguagem Virtual Human Markup Language, VHML [VHML, 2008]. A linguagem VHML foi projetada com base em sete princípios: 1. a linguagem deve ser completa e de fácil expansão; 2. deve ser simples; 3. apresentar sintaxe padronizada; 4. deve ser intuitiva; 5. apresentar nível de abstração alto; 6. ter boa usabilidade e 7. seguir uma padronização. Anais da SIEPE – Semana de Integração Ensino, Pesquisa e Extensão 26 a 30 de outubro de 2009 Assim, o desafio neste projeto é o uso em conjunto das duas linguagens, AIML para geração da base de conhecimento do bot e VHML, para comunicação através da interface. Apesar de essas linguagens terem o mesmo padrão XML, a documentação a respeito da VHML é escassa e existem poucos exemplos de bots que a utilize. Portanto, o objetivo deste trabalho é investigar o uso em conjunto dessas linguagens, buscando entender sobre frameworks existentes e tecnologias relacionadas, a fim de buscar alternativas para implementação. Materiais e Métodos Foram feitas pesquisas de cunho bibliográfico e exploratório em artigos e na Internet e buscas em fóruns sobre o tema em questão. Os autores deste artigo atuaram como usuários interagindo com diversos bots como forma de conhecer formas de interação implementadas. Este projeto tem como base o bot denominado HelpBot, um agente conversacional que atua no contexto de ajuda ao usuário em sistemas colaborativos, desenvolvido em projeto paralelo utilizando a AIML [Wantroba, 2008]. Resultados e Discussão A AIML é uma linguagem de marcação baseada no padrão XML. Permite armazenar conhecimento do chatterbot através de tags denominadas categorias (<category>). Cada categoria armazena a resposta a um estímulo feito ao bot. A tag categoria (<category>) é dividida em duas sub-tags: <pattern>, responsável por armazenar o estímulo do usuário para com o bot; e <template>, que armazena a resposta do bot ao estímulo. No quadro 1, é apresentado um exemplo de um arquivo AIML que armazena a resposta à pergunta feita pelo humano: “Como vai você?”. <aiml> <category> <pattern> COMO VAI VOCE </pattern> <template> Eu vou bem, obrigado. </template> </category> </aiml> Quadro 1. Exemplo de um arquivo AIML. A VHML é uma linguagem de marcação que divide-se nas seguintes sublinguagens: EML, Emotion Markup Language, linguagem de marcação de emoção; SML, Speech Markup Language, linguagem de marcação da fala; Anais da SIEPE – Semana de Integração Ensino, Pesquisa e Extensão 26 a 30 de outubro de 2009 FAML, Facial Animation Markup Language, linguagem de marcação de animação facial; HTML, HyperText Markup Language, linguagem de marcação de hipertexto; BAML, Body Animation Markup Language, linguagem de marcação corporal; DMML, Dialogue Manager Markup Language, linguagem de marcação de diálogo. Framework Metaface O framework Metaface (Figura 1) consiste em um sistema clienteservidor, desenvolvido para permitir que os usuários, através de um chatterbot, interajam por meio de fala e animação facial. Esse framework é utilizado para melhor exemplificar o uso da linguagem VHML, já que o mesmo a utiliza em seu desenvolvimento. Figura 1. Framework VHML MetaFace [Beard, 2002] Conforme observa-se na Figura 1, o usuário, ao interagir com o bot por meio de uma página HTML, digita uma conversa em linguagem natural, sendo a mesma codificada para ser enviada ao lado servidor, onde é decodificada e tratada por meio de um mecanismo da IA, como exemplo, a AIML. Através de uma busca na base de conhecimento, obtêm-se a resposta ao estímulo do usuário, que é então passada para o framework em formato VHML. A primeira tarefa a ser executada pelo framework é a verificação pelo parser SAX e a separação para envio dos parâmetros para cada uma das Anais da SIEPE – Semana de Integração Ensino, Pesquisa e Extensão 26 a 30 de outubro de 2009 subrotinas do sistema responsáveis por processar os vários tipos de sublinguagens: expressões, gestos, animação facial e sintetizador de fala, incluindo também a informação em HTML que pode vir a acompanhar a resposta ao estímulo, como exemplo, uma imagem. Cada subrotina processa a tag VHML correspondente, sendo a saída codificada e enviada para o lado cliente que a decodifica e distribui para cada parte do bot responsável pela resposta ao estímulo. Por exemplo, quando o bot responde a pergunta do usuário através da fala, em conjunto com alguns gestos de animação facial. Conclusões Como conclusões, observa-se que o uso de chatterbots na web tem aumentado bastante. Inclusive os bots estão migrando para conversas via messengers, como exemplo, no site Chatterbots existem vários links para bots que interagem dessa forma, como o do site da Microsoft. Em relação à linguagem VHML observou-se que existe ainda muito a ser feito. Isso é constatado pela falta de documentação, de acesso aos frameworks existentes e de exemplos de bots que utilizem AIML com VHML. Um dos desafios de se trabalhar com essas linguagens é a complexidade em relação à sincronização de várias tecnologias, assim como a enorme dimensão de todas as sublinguagens VHML envolvidas: fala, animação corporal, facial e emoção. Como trabalhos futuros, pretende-se escolher um tipo específico de interação, como por exemplo, a comunicação corporal e facial, para que se implementar algumas funcionalidades no agente conversacional HelpBot. Agradecimentos Os autores agradecem à bolsa BIC/UNICENTRO para realização deste trabalho. Referências Alicebot. Disponível em: http://alicebot.org/join.html. Acesso em mai/09. BEARD, S.; REID, D. MetaFace and VHML: A First Implementation of the Virtual Human Markup Language. Conference on Autonomous Agents & Multi-Agent Systems. Bologna, Italy. 16/jul/02. Chatbots. Disponível em: http://www.chatbots.org/. Acesso em jul/09. VHML. Disponível em: http://www.vhml.org/. Acesso em dez/08. Wantroba et al. Um exemplo de uso do padrão XML na definição de uma linguagem especializada para a Inteligência Artificial. VI CONGED, 2008. Anais da SIEPE – Semana de Integração Ensino, Pesquisa e Extensão 26 a 30 de outubro de 2009