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
Download

investigação de uso da virtual human markup language em