Elementos Necessários para a Construção de Agentes Conversacionais Emocionais IX Salão de Iniciação Científica PUCRS Rodrigo Souza WIlkens1,2, Márcia Cristina Moraes1 (orientador) 1Faculdade de Informática – PUCRS –Porto Alegre – Brasil, de Educação Tutorial – PET-Inf 2Programa 1. Introdução Há diversos tipos de agentes de software, como por exemplo: reativo, colaborativo, educacional, conversacional, emocional entre outros. Neste trabalho abordamos os significados e os principais elementos que compõe um agente conversacional emocional no contexto de inteligência artificial. 2. Definições de agentes Existem diversas definições de agentes na área de inteligência artificial, tais como [Gasser, 1992], [Wooldridge & Jennings, 1995], [Jennings, 1999], [Etzioni & Weld, 1995], [Franklin & Grasser, 1996], [Ferber & Gasser, 1991], [Hayes, 1995] e [Foner, 1993], sendo apresentas algumas nesta seção. Um agente é uma entidade real ou virtual, imersa em um ambiente sobre o qual ela é capaz de agir, que dispõe de uma capacidade de percepção e de representação parcial deste ambiente, que pode se comunicar com outros agentes, e que possui um comportamento autônomo (conseqüência de suas observações, de seu conhecimento e da suas intenções com os outros agentes) [Ferber & Gasser, 1991]. Agentes inteligentes executam continuamente três funções: percepção das condições dinâmicas do ambiente; ações que afetam as condições do ambiente; e raciocínio para interpretar percepções, resolver problemas e determinar ações [Hayes, 1995]. Um agente deve ser capaz de colaborar com o seu usuário para auxiliá-lo na realização de suas tarefas. Deste modo, o agente deve ser autônomo, lembrar as preferências dos seus usuários, possuírem um modelo de discurso, conseguir atingir seu objetivo, mesmo que tarefas menores não tenham sido atingidas, e colaborar com o usuário, conhecendo as experiências do mesmo [Foner, 1993]. Dentre os agentes a aqueles que possuem a habilidade de conversar com o usuário em linguagem natural com o usuário. Das definições de agentes conversacionais destacam-se [Teixeira & Meneses, 2003], [Franklin & Graesser, 1996] e [Laven, 2001]. Teixeira e Meneses em [Teixeira & Meneses, 2003] classificam agente conversacional, ou chatterbot, como um programa de computador que tenta simular um ser humano na conversação com pessoas. O objetivo é responder às perguntas de tal forma que as pessoas tenham a impressão de estar conversando com outra pessoa e não com um programa de computador. Após 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. Laven [Laven, 2001] apresenta uma classificação que considera os recursos computacionais utilizados. Nesta classificação os chatterbots podem ser encontrados nas seguintes categorias: clássicos, complexos, amigáveis e ensináveis. Os clássicos são os primeiros chatterbots criados, com o objetivo de estudar a complexidade da comunicação em linguagem natural entre homens e máquinas, como exemplo temos Eliza. Os complexos foram criados a partir de linguagens de programação mais sofisticadas, seu funcionamento é baseado em padrões de mapeamento de perguntas mais comuns de usuários nas respostas adequadas, como exemplo temos Alice. Os amigáveis são capazes de reproduzir o comportamento de uma pessoa, como exemplo há Julia. Os ensináveis são os que possuem capacidade de aprendizagem, como exemplo há Megahall. Assim como os agentes conversacionais, outro tipo de agente são os agentes emocionais. Destacamos os trabalhos de [Sarmento, 2004] e [Elliot, 1992]. Um Agente Emocional é um agente capaz de operar em diferentes estados emocionais que são alcançados através de um processo de avaliação. Essa avaliação leva em conta os interesses do estado do agente, o modelo de ambiente e as chances de conquista de cada objetivo individual pertencentes ao conjunto de metas do agente. O estado emocional pode ser utilizado por outros processos dentro da arquitetura: como entrada de informação; como um mecanismo de controle de processos; como um mecanismo de alocação dos recursos; e na definição da informação global do processamento de estratégia [Sarmento, 2004]. Um agente e que possua uma vida afetiva é um agente com emoções rudimentares e ações induzidas por emoções. Adicionalmente os agentes são capazes de raciocinar sobre acontecimentos emocionais que ocorreram em outras interações [Elliot, 1992]. 3. Elementos de um Agente Conversacional Emocional Nesta seção mostramos os elementos necessários para a construção de agentes conversacionais emocionais, segundo os trabalhos mostrados na seção anterior. Um agente emocional conversacional possui dois tipos de elementos, os externos e os internos. Os elementos externos são os responsáveis pela comunicação do agente com o ambiente e outros agentes. Os elementos internos devem realizar o processamento do agente para que este apresente um comportamento credível. Estes elementos são representados na figura I. Para os elementos externos ao agente estes devem estar imersos no mesmo ambiente, este ambiente possui, também, um ou mais agentes (o usuário é considerado como um agente). Sobre o ambiente, o agente deve ser capaz de perceber eventos, assim como realizá-los. O agente deve possuir, também, a capacidade de se comunicar com outros agentes imersos no mesmo ambiente, assim podendo comunicar-se com o usuário. Neste trabalho são utilizados onze elementos internos ao agente. O interpretador de percepção recebe a percepção do ambiente e traduz esta para um tipo de dado interpretável pelos demais elementos do agente. A representação do ambiente é responsável pelo conhecimento do agente sobre o ambiente, esta é alterada pelo interpretador de percepções. Os estados emocionais representam as emoções que o agente possui, estas devem estar de acordo com algum modelo oriundo da psicologia. O raciocínio emocional é responsável por alterar os estados emocionais para estes condizerem com os últimos eventos, assim como indicar pesos sobre possíveis comportamentos dado o estado emocional. O interpretador de linguagem natural é responsável por interpretar o texto inserido do usuário e modificar as informações necessárias nos objetivos, estados emocionais, representação do ambiente e memória. A memória é responsável por armazenar as interações anteriores do agente. Os objetivos são responsáveis por armazenar as intenções que o agente tem. O domínio representa os conhecimentos específicos do agente. A máquina de inferência avalia os dados descritos anteriormente e indica o próximo estado do agente. O gerador de comportamento recebe da máquina de inferência o próximo estado do agente e indica o comportamento mais adequado para o agente. A última etapa deste processo é determinar as ações, que consiste de converter os comportamentos do agente em ações interpretáveis pelo ambiente. Figura I: Elementos de um agente conversacional emocional. 4. Conclusões Há diversos tipos de agentes e com complexidades diferentes para a implementação. O agente conversacional emocional certamente apresenta um alto nível de complexidade para o desenvolvimento, pois este é a união de dois conceitos de agentes, os agentes conversacionais e os agentes emocionais. Através deste trabalho mostramos os módulos necessários para o desenvolvimento de agentes emocionais conversacionais, segundo a literatura atual. Os módulos necessários para o desenvolvimento de agentes emocionais conversacionais são dois, externo e interno. O módulo externo é composto de quatro sub-módulos e o módulo interno é composto por onze submódulos. Referências Gasser, L. (1992). Boundaries, identity and aggregation: plurality issues in multiagent systems. Decentralized AI . Wooldridge, M. J., & Jennings, N. R. (1995). Intelligent agents: theory and practice. The Knowledge Engineering Review , pp. pp.115-152. [Jennings, 1999], Etzioni, O., & Weld, D. S. (1995). Intelligent Agents on the Internet: Fact, Fiction. IEEE Expert , pp. 44-49. [Franklin & Grasser, 1996], Ferber, J., & Gasser, L. (1991). Intelligence artificielle distribueited. International Workshop on Expert Systems & their Applications . [Hayes, 1995] e Foner, L. N. (1993). What's an Agent Anyway? A Sociological Case Study. MIT Media Laboratory. [Teixeira & Meneses, 2003] Franklin, S., & Graesser, A. (1996). Is it an Agent, or just a Program?: A Taxonomy for Autonomous Agents. International Workshop on Agent Theories, Architectures and Languages . Laven, S. (2001). Top Town. Fonte: http://www.toptown.com/hp/sjlaven/ Sarmento, L. M. (2004). An Emotion-Based Agent Architecture. Departamento de Ciência de Computadores Faculdade de Ciências da Universidade do Porto. Elliot, C. (1992) “The Affective Reasoner: A Process Model of Emotions in a Multi-agent System”. Ph.D. Thesis.