Thesis - the Spoken Language Systems Lab - INESC-ID

Transcrição

Thesis - the Spoken Language Systems Lab - INESC-ID
Fala Comigo:
Agente Virtual Conversacional e Emocional
Saulo Tavares Rego
Dissertação para obtenção do Grau de Mestre em
Engenharia Informática e de Computadores
Júri
Presidente:
Professora Maria dos Remédios Vaz Pereira Lopes Cravo
Orientador:
Professor João Paulo da Silva Neto
Co-Orientador: Professora Maria Luísa Torres Ribeiro Marques da Silva Coheur
Vogal:
Professor Rui Filipe Fernandes Prada
Outubro de 2010
Página i
Agradecimentos
2
Gostaria de agradecer a todos do grupo L F, em especial a:
João Paulo Neto, cuja orientação foi essencial e a disponibilidade impecável.
David José Rodrigues, Filipe Martins e Márcio Viveiros, pela ajuda prestada.
Miguel Bugalho, Tiago Luís e Silvana Abalada, pela boa disposição e discussão de ideias.
Agradeço a todos os meus amigos, em especial ao Alexandre Paulo, Bruno Coelho, Hugo
Terças e Ricardo Nunes por terem sido os mais presentes, sempre bem-humorados, os melhores.
Agradeço com particular carinho à Carolina Pimentel, Graça Eleutério e Tânia Rosa pela
participação na minha vida que com certeza não seria a mesma sem elas.
Agradeço ao Filipe Gonçalves pela compreensão e ajuda nos momentos mais difíceis.
Agradeço à minha tia Urânia, pelo permanente interesse e preocupação.
Agradeço aos meus pais e irmãos, pelo incessante apoio, valores, motivação, bem como
segurança e optimismo transmitidos.
Finalmente, desejo agradecer a todas as pessoas que não foram aqui mencionadas, mas que
directa ou indirectamente contribuíram para a concretização deste trabalho.
Saulo Rego.
Página i
Resumo
Os embodied conversational agents (ECAs) proporcionam um poderoso meio de comunicação entre
humanos e máquinas através da união de gestos, expressão facial/emocional e fala. A interacção caraa-cara viabiliza o uso de actos de comunicação pragmáticos, tais como ênfase nas frases, tomada de
vez, representação visual de emoções, ou entoação, conseguidos através de canais verbais ou não, que
servem para potenciar a credibilidade, confiança e o próprio envolvimento dos seus utilizadores.
Esta dissertação insere-se na área de investigação dos ECAs e sumariza um projecto que teve
por objectivo melhorar a plataforma de diálogo DIGA (Dialogue Assistance), que tem vindo a ser
2
desenvolvida no Laboratório de Língua Falada (L F) do Instituto de Engenharia de Sistemas e
Computadores Investigação e Desenvolvimento (INESC-ID) em Lisboa, e evoluir a sua estrutura para
um agente conversacional e emocional. O trabalho iniciou-se com um estudo na área, seguido de um
conjunto de desenvolvimentos, nomeadamente a criação de um conjunto composto por sete estados
emocionais credíveis e a evolução de um módulo comportamental que passou a usar esses e outros
estados em tempo-real.
Para testar esse progresso foram elaboradas interacções e vídeos demonstração que foram
usados e avaliados por dezenas de utilizadores.
Como resultado deste trabalho surgiu uma plataforma evoluída e reestruturada, e um agente
conversacional e emocional, mais natural e cativante, que de momento pode ser usado com três tipos
de personalidade, e que se encontra disponível para responder a questões sobre a Custódia de Belém.
Palavras-chave: Agentes conversacionais; Expressividade; Comportamento emocional; Personalidade;
Naturalidade; Realismo.
Página iii
Abstract
Embodied conversational agents (ECAs) provide a powerful means of communication between humans
and machines through the union of gestures, facial/emotional expression and speech. The interaction
face-to-face enables the use of pragmatic acts of communication, such as emphasis in the sentences,
turn taking, visual representation of emotions, or intonation, achieved through verbal or nonverbal
channels, which serve to enhance the credibility, trust and even the involvement of its users.
This work fits in the research area of ECAs and summarizes a project that aimed to improve the
DIGA (Dialogue Assistance) framework, which has been developed in the Spoken Language Laboratory
2
(L F) of the Instituto de Engenharia de Sistemas e Computadores Investigação e Desenvolvimento
(INESC-ID) in Lisbon, and evolve its structure to a conversational and emotional agent. The work
started with a study, followed by a series of developments, including the creation of seven credible
emotional states, and the evolution of a behavioral module that now uses these and other states in
real-time.
To test that progress real-time interactions and demonstration videos were prepared and later
used and evaluated by dozens of users.
As a result of this work emerged a new restructured and evolved framework, and an emotional
and conversational agent, more natural and engaging, which for now can be used with three types of
personality, and is available to answer questions about the Custódia de Belém.
Keywords: Conversational agents; Expressiveness; Emotional behavior; Personality; Naturalness;
Realism.
Página v
Índice
1.
2.
3.
4.
Introdução ..............................................................................................................................................................................1
1.1.
Agentes artificiais ......................................................................................................................................................1
1.2.
Objectivos propostos ...............................................................................................................................................5
1.3.
Organização da dissertação ..................................................................................................................................5
Estado da arte .......................................................................................................................................................................7
2.1.
Caracterização de emoções ...................................................................................................................................7
2.2.
Plataforma DIGA ........................................................................................................................................................9
2.3.
MagiCster e Greta .................................................................................................................................................. 11
2.4.
Galatea ........................................................................................................................................................................ 14
2.5.
Olga.............................................................................................................................................................................. 16
2.6.
REA ............................................................................................................................................................................... 18
2.7.
MACK........................................................................................................................................................................... 20
2.8.
Análise crítica e outros projectos ..................................................................................................................... 22
DIGA ....................................................................................................................................................................................... 25
3.1.
Face .............................................................................................................................................................................. 25
3.2.
Gestor de diálogo e QA@L2F ............................................................................................................................ 28
Desenvolvimentos ............................................................................................................................................................ 33
4.1.
4.1.1.
4.2.
Face .............................................................................................................................................................................. 33
Caracterização emocional .............................................................................................................................. 34
Gestor de diálogo e QA@L2F ............................................................................................................................ 43
4.2.1.
Agente comportamental ................................................................................................................................ 44
4.2.2.
Transição entre estados emocionais .......................................................................................................... 46
4.2.3.
Intensidade emocional .................................................................................................................................... 49
Página vii
5.
6.
4.2.4.
Declínio emocional ........................................................................................................................................... 50
4.2.5.
Personalidade...................................................................................................................................................... 51
4.2.6.
Outros comportamentos ................................................................................................................................ 53
Resultados e avaliação.................................................................................................................................................... 57
5.1.
Emoções ..................................................................................................................................................................... 58
5.2.
Duarte ......................................................................................................................................................................... 62
Conclusões .......................................................................................................................................................................... 71
6.1.
Estado actual ............................................................................................................................................................ 71
6.2.
Trabalho futuro........................................................................................................................................................ 73
6.3.
Observações finais ................................................................................................................................................. 74
Bibliografia ..................................................................................................................................................................................... 75
Apêndice A .................................................................................................................................................................................... 77
A.1.
Lista completa de AUs do sistema FACS ....................................................................................................... 77
A.2.
Mapeamento de AUs e músculos .................................................................................................................... 78
Apêndice B ..................................................................................................................................................................................... 81
B.1.
Lista completa de músculos ............................................................................................................................... 81
B.2.
Ficheiros VHML........................................................................................................................................................ 83
Apêndice C .................................................................................................................................................................................... 87
C.1.
Questionário da primeira fase de avaliação ................................................................................................. 87
C.2.
Diálogos dos vídeos de interacção (Questionários A, B e C) ................................................................ 88
C.3.
Questionário (A, B e C) da segunda fase de avaliação ............................................................................ 92
Página viii
Lista de figuras
Figura 1. Representação visual da AU1. ................................................................................................................................8
Figura 2. Arquitectura da plataforma de diálogo DIGA. .................................................................................................9
Figura 3. Face. ............................................................................................................................................................................... 10
Figura 4. Duarte. .......................................................................................................................................................................... 11
Figura 5. Greta. ............................................................................................................................................................................. 12
Figura 6. Dinâmica emocional para o diálogo anterior. .............................................................................................. 13
Figura 7. Configuração dos módulos do Galatea. .......................................................................................................... 15
Figura 8. FSM. ............................................................................................................................................................................... 15
Figura 9. Olga. .............................................................................................................................................................................. 17
Figura 10. REA. ............................................................................................................................................................................. 18
Figura 11. Arquitectura da REA. ............................................................................................................................................ 19
Figura 12. MACK. ......................................................................................................................................................................... 21
Figura 13. Arquitectura do MACK. ....................................................................................................................................... 21
Figura 14. BEAT. ........................................................................................................................................................................... 21
Figura 15. GUI do Face. ............................................................................................................................................................. 27
Figura 16. Crescimento linear garantido por um valor de slope igual a 1. .......................................................... 30
Figura 17. Componentes da DIGA afectados pelo desenvolvimento do trabalho. .......................................... 33
Figura 18. Anger. ......................................................................................................................................................................... 35
Figura 19. Disgust. ...................................................................................................................................................................... 36
Figura 20. Fear. ............................................................................................................................................................................. 38
Figura 21. Joy. ............................................................................................................................................................................... 39
Figura 22. Sadness. ..................................................................................................................................................................... 40
Figura 23. Surprise. ..................................................................................................................................................................... 42
Figura 24. Suspicion. .................................................................................................................................................................. 43
Figura 25. Máquina de estados do nível de comportamento básico..................................................................... 44
Figura 26. Máquina de estados do nível de comportamento emocional. ........................................................... 45
Figura 27. Dinâmica emocional do Duarte. ...................................................................................................................... 49
Figura 28. Declínio emocional para uma taxa de 0.3.................................................................................................... 51
Página ix
Figura 29. Idade e sexo dos interrogados do questionário da primeira fase. .................................................... 58
Figura 30. Profissão dos interrogados do questionário da primeira fase. ........................................................... 58
Figura 31. Resultados da emoção anger (primeiro vídeo em cima; segundo vídeo em baixo). ................. 59
Figura 32. Resultados da emoção suspicion. ................................................................................................................... 59
Figura 33. Resultados da emoção joy. ................................................................................................................................ 59
Figura 34. Resultados da emoção disgust (primeiro vídeo em cima; segundo vídeo em baixo). .............. 60
Figura 35. Resultados da emoção surprise. ...................................................................................................................... 60
Figura 36. Resultados da emoção sadness. ...................................................................................................................... 60
Figura 37. Resultados da emoção scared (primeiro vídeo em cima; segundo vídeo em baixo). ................ 61
Figura 38. Idade e sexo dos interrogados do questionário A da segunda fase. ............................................... 62
Figura 39. Profissão dos interrogados do questionário A da segunda fase. ....................................................... 63
Figura 40. Resultados de parte da interacção onde predomina a emoção joy. ................................................ 63
Figura 41. Resultados de partes da interacção onde predomina a emoção suspicion. ................................. 63
Figura 42. Resultados de partes da interacção onde predomina a emoção anger. ......................................... 64
Figura 43. Resultados de partes da interacção onde predomina a emoção disgust. ...................................... 64
Figura 44. Personalidade e naturalidade percebidas pelos interrogados do questionário A da segunda
fase.................................................................................................................................................................................................... 65
Figura 45. Idade e sexo dos interrogados do questionário C da segunda fase................................................. 66
Figura 46. Profissão dos interrogados do questionário C da segunda fase. ....................................................... 66
Figura 47. Resultados de parte da interacção onde predomina a emoção joy. ................................................ 67
Figura 48. Resultados de partes da interacção onde predomina a emoção sadness. .................................... 67
Figura 49. Resultados de parte da interacção onde predomina a emoção surprise. ...................................... 68
Figura 50. Resultados de parte da interacção onde predomina a emoção fear................................................ 68
Figura 51. Personalidade e naturalidade percebidas pelos interrogados do questionário C da segunda
fase.................................................................................................................................................................................................... 68
Página x
Lista de tabelas
Tabela 1. Emoções e AUs correspondentes (Pelachaud, 2003). ..................................................................................8
Tabela 2. Parte da lista completa de AUs do FACS (Pelachaud, 2003). ....................................................................8
Tabela 3. Saída do gestor de diálogo para o exemplo anterior. .............................................................................. 18
Tabela 4. Interpretação funcional das entradas relativas à tomada de vez. ........................................................ 20
Tabela 5. Funções de saída. .................................................................................................................................................... 20
Tabela 6. Estratégias e métodos para colecção de dados. ......................................................................................... 57
Tabela 7. Lista completa de AUs do sistema FACS. ....................................................................................................... 77
Página xi
Lista de acrónimos
AU
Action Unit
APML
Attention Profiling Markup Language
DIGA
Dialogue Assistance
ECA
Embodied Conversational Agent
FACS
Facial Action Coding System
GUI
Graphical User Interface
INESC-ID
Instituto de Engenharia de Sistemas e Computadores Investigação e Desenvolvimento
2
LF
Laboratório de Língua Falada
MNAA
Museu Nacional de Arte Antiga
VHML
Virtual Human Markup Language
Página xiii
1. Introdução
A evolução de um sistema de diálogo para um ECA com comportamento emocional proporciona um
novo grau de entusiasmo e riqueza interactiva que origina um importante progresso na comunicação
entre sistemas e utilizadores. Com base nesta forte afirmação encontrou-se um lugar para esta
dissertação.
O objectivo principal deste trabalho foi estender um sistema de diálogo que tem vindo a ser
2
produzido no L F/INESC-ID, Lisboa. Pretendeu-se melhorar a plataforma DIGA e tornar o sistema mais
realista através da incorporação de comportamentos e emoções. No arranque do projecto a
plataforma em causa não contemplava quaisquer funcionalidades relacionadas com personalidade,
comportamento e estados emocionais – o resultado era um sistema pouco natural, monótono e com o
qual o utilizador fracamente se identificava.
Nesse sentido, a evolução da DIGA (Martins, 2008) para um agente conversacional e
emocional, foi um passo lógico para assegurar o seu posicionamento a um nível superior de
qualidade. A incorporação de conceitos e características dos ECAs e sistemas emocionais constituiu o
avanço nesse sentido.
Este capítulo fala sobre o tema onde assenta esta dissertação.
1.1. Agentes artificiais
A ideia da existência de agentes artificiais inteligentes remonta-nos às primeiras histórias de ficção
científica onde os robôs existiam para auxiliar os humanos. Efectivamente, de todos os ramos da
Inteligência Artificial, os agentes artificiais inteligentes são os mais presentes na resolução de
problemas do utilizador comum.
Observe-se o significado de agente num dicionário de língua portuguesa:
“O que opera ou é capaz de operar.”
Página 1
Um sistema pode ser encarado como um agente artificial inteligente quando o mesmo está
apto a realizar tarefas, funcionando num contexto mais ou menos restrito que pode ou não
contemplar outros agentes. Num ambiente imprevisível e em constante mudança, como o mundo real,
os agentes artificiais são continuamente confrontados com novas condições, requisitos de qualidade e
tipo de soluções que proporcionam. Como consequência disso o seu desenho é sempre limitado de
alguma forma.
Os embodied agents são um caso particular de agentes inteligentes que têm forma física ou
virtual. Um conversational agent é um agente que tem a capacidade de conversar. Da combinação e
evolução de ambos surgiram os ECAs, que resultam da transposição da riqueza interactiva entre
humanos para a interacção entre humanos e máquinas.
A investigação na área dos agentes virtuais provou que os utilizadores preferem indicadores
visuais do estado interno de um agente virtual a uma verbalização desse estado, e demonstrou o
elevado valor da existência de canais adicionais para comunicação não verbal (Marsi & van Rooden,
2007) – que pode ser conduzida paralelamente a outras tarefas sem que ocorra distracção dos
utilizadores, verificando-se pelo contrário um aumento do entusiasmo com a própria interacção.
Também se concluiu que o uso de ECAs melhora a capacidade dos utilizadores recordarem informação
trocada no contexto de uma interacção (Beun, de Vos, & Witteman, 2003) e constatou-se que a
eficácia de um agente está bastante dependente da sua capacidade de criar no utilizador o efeito de
suspensão da descrença (Mancini, Hartmann, & Pelachaud, 2004).
Intimamente ligada ao alcance do efeito referido e a toda a dimensão social dos ECAs, a
representação emocional surge portanto como uma poderosa ponte entre a máquina e o utilizador na
concretização de uma interacção mais inteligível e credível. Todas estas descobertas inspiraram a
evolução de sistemas aborrecidos, pouco user-friendly, inexpressivos e consequentemente pouco
cativantes, para sistemas com os quais os utilizadores se identificam, confiam e se envolvem.
Um agente computacional percepciona e age num determinado contexto/ambiente, sendo as
suas decisões por isso baseadas num modelo computacional que depende da complexidade do
mundo que o rodeia, mas também do desempenho que se pretende obter. Os agentes emocionais são
necessariamente mais elaborados porque se baseiam num modelo computacional mais sofisticado,
visto que se inserem num ambiente tradicionalmente mais complexo e a credibilidade é um conceito
muito exigente.
Página 2
Tendencialmente esses agentes incluem quatro componentes essenciais:

Um método para interpretar estímulos (entrada);

Um modelo computacional de emoções;

Um meio de direccionar o comportamento e acções adoptadas (resultantes do estado
emocional);

Um método para expressar o estado emocional (saída).
Interpretação da envolvente
Através de um conjunto de sensores os estímulos de um agente provêm de dois meios:

Externo (ambiente) – Acções de outros, acontecimentos no mundo, etc;

Interno (próprio estado) – Sentimentos como cansaço e aborrecimento.
O sistema interpreta os estímulos considerando sempre o seu estado emocional actual e, no
caso de existir, a sua personalidade. Actualmente alguma pesquisa tem destacado o conceito de
atenção, que em termos práticos se traduz na preferência por alguns estímulos em detrimento de
outros.
Modelo Emocional
Um agente emotivo tem necessariamente um estado emocional interno que vai sendo actualizado
segundo os eventos que lhe influenciam o comportamento. É importante distinguir estado emocional
de personalidade, cuja natureza é mais duradoura. Aliás, se considerada na implementação do agente,
a personalidade influencia as suas emoções e comportamento. São vários os modelos de
personalidade que capturam os traços e tendências que distinguem as pessoas, tendo-se
curiosamente concluído que na inexistência de personalidade a diferença comportamental entre duas
pessoas é mínima.
Para haver um estado emocional é fulcral ter-se primeiro bem definido um modelo
computacional de emoções – cuja base é geralmente um dos modelos cognitivos e psicológicos já
existentes e bem fundamentados. A variedade desses modelos e a escolha de um deles reflectir-se-á
sempre em implementações computacionais diferentes, logo variadas formas de alcançar o mesmo
objectivo – credibilidade.
Os extremos dessas abordagens podem-se distinguir como modelos:
Página 3

Superficiais – Menor complexidade (scripting);

Profundos – Maior complexidade (simulação dos processos bioquímicos do cérebro).
Habitualmente a maioria das escolhas cai numa complexidade intermédia – entre ambas.
Comportamento adoptado
Assim que a computação do estado emocional está feita, o mesmo tem efeito sobre as acções a
realizar. Uma vez que um observador externo não tem acesso ao estado interno do agente, só as
acções observáveis lhe irão permitir perceber esse estado.
O método que decide o comportamento adoptado pelo sistema pode variar desde scripting
probabilístico a um planeamento elaborado. No primeiro caso o agente pode possuir uma lista de
condições emocionais que geram acções – abordagem mais simples. No segundo caso o agente pode
ter objectivos a longo prazo, atribuir prioridades a estes, reflectir sobre a sua utilidade e usar
algoritmos que determinam qual o melhor percurso (acções) a tomar – abordagem mais profunda.
Expressão das emoções
Como decidir e tomar acções não chega para a criação de um agente sintético credível, a execução
das acções deve exprimir convincentemente o seu estado emocional. É de extrema importância que
todas as emoções sejam bem representadas, já que uma representação emocional fraca pode originar
uma identificação emocional errada e consequentemente uma pior interacção. É através da expressão
das emoções (saída) que o agente ganha vida.
Naturalmente nada disto teria interesse se não tivesse uma forte aplicação prática. A utilização
de ECAs e sistemas emocionais tem estado cada vez mais presente nas mais diversas áreas,
nomeadamente:

Cultura;

Educação;

Entretenimento;

Governo;

Saúde;

Vendas.
Comportando-se por exemplo:
Página 4

Ao nível de educação como explicadores;

Ao nível cultural como quiosques informativos;

Ao nível do entretenimento como contadores de histórias.
1.2. Objectivos propostos
Relativamente à plataforma DIGA, no arranque da fase de desenvolvimento pretendia-se aproveitar de
forma eficaz as potencialidades da cara virtual que a plataforma já possui e produzir numa primeira
fase um conjunto de estados emocionais, tais como tristeza e felicidade, que seriam posteriormente
usados em tempo real.
Numa segunda fase ambicionava-se a implementação de um caminho lógico para inferir e
circular informação emocional/comportamental e também a concretização de um mecanismo que
possibilitasse uma transição natural entre as várias emoções criadas na primeira fase, coerente com o
progresso da interacção e o teor do próprio diálogo.
Numa terceira fase pretendia-se elaborar um conjunto de padrões diferentes de
comportamento (tipos de personalidade) que pudessem ser facilmente seleccionados e permitissem a
observação de comportamentos distintos em interacções semelhantes. Esse mecanismo seria
construído contemplando a possibilidade de se criar facilmente novas personalidades.
Finalmente, numa quarta fase, esperava-se verificar e provar junto dos utilizadores uma clara
diferença entre personalidades, bem como avaliar a naturalidade e eficiência do trabalho produzido.
Para isso seria criado um cenário demonstrativo que, sendo cuidadosamente feito, iria fazer o sistema
oscilar entre vários estados emocionais – dependentes da personalidade. Partindo-se desse cenário
preparar-se-iam interacções em tempo-real com o objectivo de exemplificar o comportamento geral
do sistema e inferir, por exemplo, a correcta percepção de emoções e do tipo de personalidade do
agente pelos potenciais utilizadores.
1.3. Organização da dissertação
Esta dissertação encontra-se dividida em seis capítulos:

Introdução (Capítulo 1);
Página 5

Estado da arte (Capítulo 2);

DIGA (Capítulo 3);

Desenvolvimentos (Capítulo 4);

Resultados e avaliação (Capítulo 5);

Conclusões (Capítulo 6).
Neste Capítulo 1 apresentou-se uma visão geral do tema dos agentes virtuais, com ênfase nos
ECAs e nos agentes emocionais, abordando-se as vantagens destes sistemas e as suas principais
características. Falou-se também nos objectivos propostos para o trabalho.
No Capítulo 2 expõe-se um grupo de projectos envolvidos neste tema e mostram-se as suas
particularidades de principal interesse para o projecto. Nesse capítulo também se fala pela primeira
vez da plataforma onde assentou todo o desenvolvimento e, por fim, faz-se uma avaliação crítica do
material estudado.
No Capítulo 3 são abordadas com mais pormenor as componentes da arquitectura da
plataforma DIGA essenciais para o desenvolvimento efectuado, explicando-se as partes importantes
para o trabalho.
No Capítulo 4 fala-se sobre o desenvolvimento e as soluções implementadas a fim de evoluir a
plataforma e melhorar o sistema segundo os objectivos propostos.
No Capítulo 5 apresentam-se os resultados obtidos nos variados testes efectuados,
nomeadamente os relativos à percepção de estados emocionais, bem como de personalidade. São
também explicados os métodos utilizados no levantamento desses resultados.
Finalmente, no Capítulo 6 encerra-se esta dissertação com as conclusões tiradas no final do
trabalho e projecta-se o que ainda poderá ser feito para aperfeiçoar ainda mais a plataforma.
Página 6
2. Estado da arte
No âmbito dos ECAs e dos sistemas emocionais diversos artigos foram escritos e são alguns os
projectos que consideram e implementam propriedades desses sistemas. As próximas subsecções
apresentam trabalhos relacionados com o tema, bem como uma análise dos mesmos.
2.1. Caracterização de emoções
Na vida real a expressão e representação de emoções é um conceito subjectivo e resulta de um estado
interno complexo e dependente de muitos factores. Como já foi referido um agente virtual é sempre
limitado e, como tal, definir o conjunto restrito de emoções que fará parte desse agente deve ser o
primeiro passo a tomar.
Antes de se falar de qualquer projecto que implemente e expresse emoções e
comportamentos ditos emocionais, é importante perceber como é que se pode representar essas
emoções na face virtual do agente. Estudos provaram que os humanos expressam-nas através da
combinação de determinadas acções dos músculos faciais que podem ser simuladas em caras
sintéticas (Thórisson, 1997). Embora as definições de emoção divirjam substancialmente, a maioria dos
investigadores concorda que a sua afectação é fruto de eventos internos e externos. Repare-se que
apesar de existir um padrão universal, a expressão emocional é dependente do ambiente social e
cultural do sujeito.
Em (Ekman & Friesen, 1975) são destacadas seis emoções com expressões faciais universais
(anger, disgust, fear, happiness, sadness e surprise) e a grande maioria dos sistemas com animação
facial usam esse conjunto. Para cada uma das anteriores a Tabela 1 mostra a correspondente lista de
Action Units (AUs) do Facial Action Coding System (FACS), um sistema criado com o intuito de facilitar
a simulação eficiente de emoções. A Tabela 2 mostra parte da lista de todas as AUs do FACS. A lista
completa pode ser consultada no Apêndice A.1.
Página 7
Emotion
Anger
Disgust
Fear
Happiness
Sadness
Surprise
Action Units
AU2 + AU4 + AU5 + AU10 + AU20 + AU24
AU4 + AU9 + AU10 + AU17
AU1 + AU2 + AU4 + AU5 + AU7 + AU15 + AU20 + AU25
AU6 + AU11 + AU12 + AU25
AU1 + AU4 + AU7 + AU15
AU1 + AU2 + AU5 + AU26 + rotate-jaw
Tabela 1. Emoções e AUs correspondentes (Pelachaud, 2003).
AU
AU1
AU2
AU4
AU5
AU7
AU9
AU10
AU11
AU12
Name
Inner Brow Raiser
Outer Brow Raiser
Brow Lowerer
Upper Lid Raiser
Lid Tightener
Nose Wrinkler
Upper Lip Raiser
Nasolabial Furrow Deepener
Lip Corner Puller
AU
AU15
AU17
AU19
AU20
AU24
AU25
AU26
AU45
AU58
Name
Lip Corner Depressor
Chin Raiser
Tongue Show
Lip Stretcher
Lip Presser
Lips Part
Jaw Drop
Blink
Head Back
Tabela 2. Parte da lista completa de AUs do FACS (Pelachaud, 2003).
Cada descrição da Tabela 2 está mapeada num conjunto de músculos, por exemplo: AU1 –
Inner brow raiser – Frontalis, pars medialis (Figura 1). O mapeamento completo encontra-se disponível
no Apêndice A.2.
Figura 1. Representação visual da AU1.
Por fim, depois de caracterizada, a intensidade emocional pode ser o segundo factor a ter em
conta. Em (Pelachaud, 2003) defende-se que a força de um sentimento pode ser determinada por três
factores:

Frequência ou número de vezes que a emoção é sentida;

Duração da emoção ao longo do tempo;

Intensidade da emoção sentida.
Pela natureza auto-explicativa da descrição dos factores anteriores, os mesmos não são
detalhados neste capítulo e remetem-se para (Pelachaud, 2003).
Página 8
2.2. Plataforma DIGA
Gestor
de
Serviços
A plataforma DIGA (Martins, 2008) (Figura 2) é constituída por oito módulos:
QA@L2F
*
1
*
Base
Engine
JVXML
1
Audimus
Base
Engine
Face
GJTAPI
Asterisk PBX
JSAPI 2.0
1
*
STAR
Dixi
Figura 2. Arquitectura da plataforma de diálogo DIGA.

Asterix PBX – Asterix Private Branch Exchange. Módulo que providencia e gere a interface
telefónica com o exterior;

Face – Módulo da cara virtual (Figura 3);

GJTAPI – Generic Java Telephony API. Interface genérica para a gestão de chamadas
telefónicas em Java (abstracção entre o módulo PBX e o interpretador de Voice XML);

JVXML – Interpretador de Voice XML em Java;

JSAPI 2.0 – Java Speech API. API para gestão de sintetizadores e reconhecedores de fala;

Audimus – Reconhecedor de fala;

Dixi – Sintetizador de fala;

STAR – Gestor de diálogo;

Gestor de serviços – Módulo utilizado pelo gestor de diálogo para o acesso à informação
dependente do domínio;

QA@L2F – Módulo de pergunta/resposta.
Sistemas de banca e bolsa telefónica foram construídos sobre versões anteriores desta
plataforma. O gestor de diálogo foi posteriormente integrado por dotá-la de uma eficiência superior,
uma vez que contrariamente ao que acontecia antes, tornou possível o fornecimento de diversas
informações em simultâneo. A inclusão desse gestor, o STAR (Mourão, 2005), passou também a exigir
mais desempenho porque veio permitir a existência de diálogos mais abertos. De extrema importância
para a robustez desta plataforma e de particular interesse para este trabalho, vejamos a composição
do gestor de diálogo:
Página 9

Reconhecedor de linguagem – Identifica os objectos relevantes de uma frase e o tipo de
acto de fala proferido pelo utilizador. Entenda-se que um acto de fala define-se como a
unidade mínima de comunicação entre humanos;

Gestor de interpretação – Produz uma interpretação através do contexto do discurso e da
informação do domínio;

Gestor de tarefas – É a interface de comunicação entre o gestor de diálogo e o gestor de
serviços;

Agente comportamental – Encontrando-se numa fase inicial, no arranque do trabalho
encaminhava as obrigações de discurso geradas pelo gestor de interpretação para o
gestor de geração e fazia limpezas no contexto do discurso quando o diálogo terminava;

Gestor de geração – Ainda não desenvolvido, efectuará a gestão de geração de linguagem
que está neste momento a ser realizada pelo gestor de superfície;

Gestor de superfície – Com base no tipo de obrigações de discurso geradas pelo gestor de
interpretação, procura a regra de geração correspondente, definida no domínio, e
preenche os campos dinâmicos com recurso a informação linguística e/ou de contexto;

Contexto do discurso – Gere a informação relativa ao discurso que se desenrola entre o
sistema e o utilizador.
Figura 3. Face.
Aquando do arranque desta análise já se encontrava concluída a primeira versão do quiosque
para o Museu Nacional de Arte Antiga (MNAA) que, associado a uma cara virtual mutável em temporeal, passou a constituir o sistema na vertente Duarte (Figura 4) – o objecto base deste projecto. O
Duarte reconhece a linguagem do utilizador e responde através da fala a questões sobre a Custódia de
Belém, uma peça histórica considerada a obra-prima da ourivesaria portuguesa.
Página 10
Figura 4. Duarte.
É sabido que o Duarte era monótono, não tinha personalidade e não expressava qualquer tipo
de emoção, mas o potencial da plataforma era e continua a ser grande. A flexibilidade do sistema
anterior permite a troca da sua cara, voz, bem como do domínio. A exploração do gestor de diálogo,
concretamente do módulo comportamental junto com a cara virtual, evidenciou a elevada
oportunidade da sua expansão ao nível comportamental e emocional.
2.3. MagiCster e Greta
Em (Cavalluzzi, et al., 2003) é apresentada uma proposta de implementação de um ECA que opera
como conselheiro independente do domínio. O artigo prevê a habilidade de se reconhecer e expressar
emoções, assim como de regular e utilizar as mesmas na optimização dos conselhos dados pelo
agente.
A fim de tornarem a mente do agente independente do seu corpo, os autores definem uma
Attention Profiling Mark-up Language (APML) em XML onde através de tags se atribui significado às
frases, culminando-se numa combinação apropriada entre a fala e as expressões faciais/emocionais do
sistema. Os autores inspiram-se no modelo OCC (Ortony, Clore, & Collins, 1988), defendendo que as
emoções devem ser usadas como condicionantes do diálogo e conduzidas por eventos, sendo as
emoções positivas desencadeadas por eventos agradáveis, ao invés das negativas cuja activação é
consequência de acontecimentos desagradáveis. Esses eventos encontram-se adicionalmente
categorizados enquadrando-se na categoria Well-being quando relacionados com o agente, na
categoria FortuneOfOthers quando relacionados com outros, e na categoria Prospective quando
relacionados com o futuro. O modelo de activação de emoções é representado através de uma
Dynamic Belief Network (DBN) e calcula a intensidade das últimas como função da incerteza em
atingir ou não objectivos, bem como da utilidade dos mesmos. Essa é constituída por três tipos de
Belief Networks (BN) – uma principal Mind-BN, uma ou mais Event-BN, e uma ou mais Emotion-BN.
Página 11
Domínio teste – Conselheiro alimentar
1
No âmbito do MagiCster , e usando a Greta, construiu-se um simulador que dava conselhos sobre
desordens alimentares (Figura 5). No levantamento de dados para o seu desenho foram analisados
vários websites e linhas de chat. Apresentando inicialmente uma empatia muito formal, a sua evolução
para um ECA teve como objectivo colmatar isso.
Figura 5. Greta.
Observe-se a seguinte interacção:
G0: Hi, my name is Greta! I'm here to help you in finding a healthier way of feeding yourself.
What's your name?
U0: My name is Jana.
G1: What's your problem, Jana?
U1: I've been eating too much and badly in the past year and I feel I can't stop!
G2: Oh I'm sorry. That's a bad situation indeed. Which is your age?
U2: I'm 17.
G3: Well: teens are notorious for being hungry frequently, because they need to eat more to
support the major growth of their bodies. Maybe you only need an appropriate diet.
U3: It's not a question of increased appetite! It's a serious problem that is out of my control!
G4: How terrible! Did you try to do something, to solve this problem?
U4: Yes, and I did not succeed. I now fear that stopping will not be possible to me!
G5: Oh no! You have to be confident in yourself! If you want to get over this, I may help you.
U5: What can I do?
G6: I have some ideas and experience on how to make a smooth, quick transition from
overeating back to healthful living. If you wish, I may suggest you what to do.
U6: Yes, please, I want to make any possible effort to get over these problems!
1
MagiCster – Projecto focado no desenvolvimento de ECAs credíveis.
Página 12
G7: Fine! This is the way I want to see you! So, let's start, first of all, from cleansing your home
from all binge foods. Whatever your current food downfalls are, get rid of them!
U7: But I can't stand to throw food away!
G8: Well, give it to someone, then! And, if your relatives insist on keeping such foods in the
house, ask them to keep it away from you for a while.


Greta (G)
Utilizador (U)
No protótipo concretizado as frases eram traduzidas em actos de discurso simbólicos (por
exemplo, U1 em Say U (Occ EatingTooMuch U) e Say U not(Desirable EatingTooMuch)) que desencadeavam a construção da DBN e constituíam a entrada das Event-BNs. Para o
exemplo anterior, a figura abaixo mostra as emoções activadas ao longo do tempo:
2,5
2
Intensidade
1,5
Fear
Hope
1
Joy
0,5
Sorry-for
0
0
1
2
3
4
5
6
7
8
Tempo
Figura 6. Dinâmica emocional para o diálogo anterior.
Verifica-se que:

O evento desagradável U1 activa a emoção sorry-for no instante T2;

U2 não produz nenhuma reacção – a intensidade emocional anterior diminui;

O novo evento desagradável U3 intensifica em T4 a emoção sorry-for;

U4 é interpretado como outro evento desagradável. O risco de que o utilizador termine o
diálogo activa medo (fear) no agente;

U6 é visto como um evento desejável para a Greta – surge esperança (hope);

U7 não provoca qualquer reacção – a intensidade de todas as emoções vai diminuindo.
Claramente se conclui pela interacção anterior que um movimento do utilizador constitui um
evento e fonte de informação para o agente. Resta-nos perceber de que modo as emoções são
expressas. Para esse efeito os autores definem regras que decidem activar ou não emoções. Quando
Página 13
se pretende apresentar uma emoção é injectada uma tag ao movimento do agente que é
posteriormente interpretada e convertida num conjunto de sinais (gestos, movimentos faciais e
corporais).
Contrariamente a uma abordagem puramente reactiva, onde o estado emocional do agente
resultaria directamente do estado emocional do utilizador, os autores sugerem um agente que analisa
e reflecte sobre os eventos que terão produzido o estado desse utilizador, para finalmente caracterizar
o seu próprio estado. O estado interno do agente também responde às mudanças emocionais através
de um algoritmo de activação/desactivação de objectivos e de revisão dinâmica de prioridades.
A principal limitação do protótipo descrito está na interpretação dos movimentos do
utilizador. A análise baseada em palavras-chave é um método relativamente simples para se identificar
as necessidades e intenções do mesmo, no entanto, o principal interesse dos autores não é o
reconhecimento do estado do utilizador, mas sim a sua interpretação – perceber que componentes do
estado mental é que o produziram. Um conjunto de estudos ficaram responsáveis por sugerir de que
modo o sistema deveria ser refinado. Uma vez que o objectivo do agente é aconselhar os utilizadores
relativamente a situações de risco, a fim de se introduzirem melhorias foi também frequentemente
avaliada a sua capacidade de persuasão.
2.4. Galatea
Em (Kawamoto, et al., 2002) é discutida uma arquitectura para a construção de anthropomorphic
spoken dialog agents (ASDAs). Os autores revelam que desenvolver ASDAs de qualidade continua a
ser um grande desafio e acreditam que disponibilizar um toolkit gratuito para a implementação desse
tipo de sistemas pode potenciar o progresso na área.
A premissa deste toolkit é simples: através dele pode-se criar o nosso próprio ECA. Vejamos as
suas características:

Funções para melhorar o reconhecimento da fala (on-the-fly);

Mecanismo para a sincronização do áudio com os movimentos labiais;

Elevada personalização ao nível do reconhecimento e síntese da fala, bem como da
criação de animações realistas;

Transparência na comunicação entre módulos através de uma arquitectura inspirada em
máquinas virtuais.
Página 14
E a sua composição na Figura 7:
Integrating Anthropomorphic Dialog Agents Module
Agent Manager (AM)
Task Manager (TM)
Speech
Recognition
Module (SRM)
Face Image
Synthesis Module
(FSM)
Speech Synthesis
Module (SSM)
Figura 7. Configuração dos módulos do Galatea.
O FSM é o foco do artigo em análise e corresponde ao componente de maior interesse para
este trabalho (Figura 8). É capaz de transformar a foto de uma pessoa, ajustá-la num modelo
wireframe 3D e retornar uma cara virtual animada que suporta visemas2 e emoções.
Figura 8. FSM.
Para mudar a forma da boca, as expressões faciais e os comportamentos é preciso definir um
conjunto de parâmetros nos modelos. O sistema contempla um editor para esse fim. A modificação de
expressões globais é conseguida através da combinação de outras acções mais básicas (ex: levantar
sobrancelha direita). O FACS, um método já discutido para quantificar os movimentos faciais, codifica
os movimentos musculares da cara em AUs ou combinações delas. Através do uso do editor de AUs,
no FSM, o agente pode ser transformado por seis expressões padrão (anger, disgust, fear, happiness,
2
Visema – Representação visual dos sons de uma língua, ou seja, os movimentos faciais feitos para pronunciá-los.
Página 15
sadness e surprise), assim como por expressões criadas pelo utilizador. Comportamentos como piscar
os olhos e acenar com a cabeça são definidos pelo sistema, no entanto, o utilizador tem o poder de
alterar a frequência dos mesmos.
As animações da cara são, portanto, resultado da conjunção das formas labiais com as
expressões referidas – repare-se que é fulcral que a animação da boca esteja sincronizada com o áudio
criado pelo SSM. Essa sincronização entre o FSM e o SSM é assegurada por um módulo a um nível
superior separado do AM. A técnica usada para alcançar essa sincronização usa apenas a duração de
3
cada fonema . Garantir que ambos os módulos estão preparados para falar antes que a fala comece é
imperativo.
As vantagens do toolkit são sumarizadas em quatro aspectos:

Modularidade dos componentes;

Código open-source;

Personalização acessível;

Interacção humana.
Embora de interesse para este relatório, o alcance do comportamento emocional final não é
abordado por nenhum dos artigos relacionados com este projecto. O modo como o agente pode
transitar entre estados emocionais não é explicado e supõe-se da inteira responsabilidade do
utilizador do toolkit.
2.5. Olga
A Olga (Beskow & McGlashan, 1997) (Figura 9) é um ECA que, à semelhança do Duarte, opera como
quiosque informativo. Apesar de ser um projecto menos recente que os anteriores, a Olga não deixa
de ser relevante por contemplar uma interface gráfica, diálogo falado e um personagem animado em
3D.
Possui uma arquitectura distribuída e um servidor central que se encontra encarregue da
comunicação entre os módulos. Essa comunicação acontece segundo o paradigma cliente/servidor e o
sistema é estimulado através de eventos, pelo que apenas reage ao utilizador, isto é, não gera output
sozinho.
3
Fonema – Corresponde à menor unidade sonora de uma língua.
Página 16
Figura 9. Olga.
A Olga é animada em tempo-real e é capaz de sintetizar texto em fala sincronizada com os
movimentos da boca. Suporta expressões faciais e gestos que podem ser usados para dar ênfase às
falas, ajudar na passagem de discurso, apontar para outros objectos on-screen (tabelas, gráficos), e
indiciar o seu estado interno (incerteza, à escuta, etc). A construção de emoções resulta da
combinação de expressões básicas como a deformação das sobrancelhas, da boca ou dos olhos. Os
autores verificaram que, em comparação com um sistema composto unicamente por voz, num
ambiente ruidoso a Olga melhorou em 17% a inteligibilidade geral do mesmo.
No decorrer do discurso são apropriadamente invocados gestos de acordo com as mensagens
enviadas pelo gestor de diálogo. Esses gestos são procedimentos que correspondem à combinação de
comandos mais simples, permitindo-se que procedimentos complexos como “encolher-se e abanar a
cabeça” sejam despoletados com uma única trivial invocação. Esta abordagem baseada em scripting
torna também fácil a introdução de parâmetros nos procedimentos (ex: direcção do apontar). Como se
pode constatar, para além de simples, a abordagem em causa provou ser poderosa relativamente à
gestão do comportamento não verbal do agente.
Observe-se a seguinte interacção:
O1: Whirlpool has five tested microwaves on the market. [Olga points to a graphical representation of the
product information]
U1: Is there anything cheaper with a grill?
O2: [Olga nods to indicate she understood] Unfortunately, Whirlpool does not have cheap ovens with a
grill. [Olga gives „shrug‟]
But there are some cheap tested ovens. [Olga turns to the graphical display of the information]


Olga (O)
Utilizador (U)
As mensagens que vão sendo geradas pelo gestor de diálogo podem ser consultadas na
próxima tabela:
Página 17
Módulo receptor
Animação do
personagem
Interface de
manipulação directa
Animação do
personagem
Animação do
personagem
Mensagem
state(understood)
show([[manufacturer=electrolux,model=NF90,price=1500,
grill:yes,…], [manufacturer=matsushita,…]])
state(regret);
say(Unfortunately, Whirlpool does not have cheap ovens
with a grill.)
say(But there are some cheap tested ovens.);
state(attention_display)
Tabela 3. Saída do gestor de diálogo para o exemplo anterior.
À medida que a interacção se vai desenvolvendo o sistema tem um estado comportamental
interno que se vai alterando. O exemplo anterior ilustra a cinzento os gestos que a Olga vai fazendo
no decorrer do diálogo. Por exemplo, em O2 o módulo responsável pela animação do agente recebe
uma mensagem de estado (regret) e inicia os gestos correspondentes a esse estado – no caso anterior,
regretful shrug.
2.6. REA
A REA (de Real Estate Agent) em (Cassell, Bickmore, & Billinghurst, 1999) (Figura 10) é outra referência
importante no contexto dos ECAs emocionais. É um sistema que suporta uma interacção multimodal
em tempo-real através de uma interface conversacional baseada em vários protocolos de diálogo,
mais uma vez com o objectivo de simular uma conversação cara-a-cara o mais natural possível.
Figura 10. REA.
Este sistema, como o próprio nome sugere, personifica uma agente imobiliária, respondendo a
questões do utilizador e oferecendo visitas virtuais a propriedades. Apresenta-se como um humano
totalmente articulado e percepciona o utilizador através de câmaras e reconhecedores de som. Para
comunicar com ela o utilizador tem que se posicionar imediatamente após a projecção onde a agente
se encontra.
Página 18
Reaction
Module
Input
Devices
Input
Manager
Action
Scheduler
Understanding
Module
Response
Planner
Output
Devices
Generation
Module
Figura 11. Arquitectura da REA.
Na arquitectura da REA (Figura 11), baseada no modelo FMTB (Functions, Modalities, Timing
and Behavior), o módulo das reacções é responsável pela selecção das acções que determinam o que
a REA está a fazer a cada momento. A chegada dessa informação ao gestor de geração traduz-se na
produção de acções primitivas, a partir dessas acções complexas, e no envio das mesmas para o
módulo encarregue de coordená-las a baixo nível, o action scheduler. Informação facial e gestual são
algumas dessas acções primitivas.
Falando com entoação, e exprimindo-se com gestos e expressões emocionais, a sofisticação
deste sistema advém da sua capacidade de perceber comportamentos verbais do utilizador, mas
principalmente comportamentos não-verbais. A componente interaccional do sistema é o foco
primário dos autores e está funcionalmente decomposta a seguir:

Reconhecimento da presença do utilizador – virando-se para o mesmo;

Feedback – a REA dá resposta sob diversas formas: abana a cabeça, emite paraverbais
(“Mmhmm”) ou diz frases como “I see” em resposta a pausas do utilizador;

Tomada de vez – a REA apercebe-se de quem tem a vez no diálogo. Deixa-se ser
interrompida e se o utilizador gesticula interpreta isso como um desejo de falar. Sempre
que acaba de discursar vira-se de cara para o utilizador para indiciar o fim da sua vez;

Ênfase – em palavras importantes do discurso;

Funções de saudação e despedida.
A tomada de vez é uma das funcionalidades mais pertinentes. As tabelas seguintes ilustram,
respectivamente, o modo como nesses casos a REA interpreta o utilizador (Tabela 4) e associa
comportamentos ao output que produz (Tabela 5).
Página 19
State
REA speaking
User speaking
User input
Gesture
Speech
Pause of <500 msec
Imperative phrase
Interrogative phrase
Declarative phrase & pause >500 msec & no gesture
Declarative phrase & long gesture or pause
Input function
Wanting turn
Taking turn
Wanting feedback
Giving turn
Giving turn
Giving turn
Holding turn
Tabela 4. Interpretação funcional das entradas relativas à tomada de vez.
State
User present
REA speaking
User speaking
Output function
Open interaction
Attend
End of interaction
Greet
Give turn
Signoff
Give feedback
Want turn
Take turn
Behaviors
Look at user. Smile. Headtoss.
Face user.
Turn away.
Wave, “hello”.
Relax hands. Look at user. Raise eyebrows.
Wave, “bye.
Nod head. Paraverbal.
Look at user. Raise hands. Paraverbal, “umm”.
Look at user. Raise hands to begin gesturing. Speak.
Tabela 5. Funções de saída.
Através da modelação de categorias comportamentais em funções ao nível do discurso os
autores chegaram a uma forma fácil e natural de combinar múltiplas modalidades na entrada e na
saída.
2.7. MACK
Nos sistemas que actuam como quiosques de informação a compreensão e geração de conteúdo
pode ser limitada. As perguntas habitualmente têm o mesmo formato e as respostas não precisam ser
planeadas em tempo-real.
Em (Cassell, et al., 2002) é descrito o MACK (Media lab Autonomous Conversational Kiosk)
(Figura 12), um quiosque informativo que dá direcções e responde a dúvidas sobre pessoas, projectos
e grupos de investigação do MIT Media Lab. É um personagem representado da cintura para cima,
porque os autores referem que limitá-lo visualmente a uma cabeça eliminaria a capacidade de
indicação espacial (ex: apontar para a esquerda), e foi desenhado com a possibilidade dos utilizadores
referenciarem de forma natural um mapa físico que é partilhado com a máquina e constitui uma ponte
Página 20
entre a realidade e o mundo virtual. Pelas características anteriores, o MACK tem que estar sempre
consciente da sua localização e orientação, bem como ter conhecimento da planta do edifício onde se
encontra. Mais uma vez, e à semelhança da REA, o MACK também reconhece a posição do utilizador.
Figura 12. MACK.
A sua arquitectura encontra-se na Figura 13.
User
Presence
Sensor
Map Sensor
Database
Understanding
Module
Reaction Module
Generation
Module
Animation
Module
Speech
Recognition
Figura 13. Arquitectura do MACK.
O módulo de animação num quiosque informativo tem um papel fulcral, por ser o responsável
pela aproximação à interacção entre humanos e perfeita sincronização das modalidades de saída. No
sistema em causa esse módulo é o BEAT (Behavior Expression Animation Toolkit) (Cassell, Vilhjálssom,
& Bickmore, 2001), cuja arquitectura pode ser consultada na Figura 14.
Discourse
Model
Knowledge
Base
Word Timing
Behavior Generation
Language
Tagging
Behavior
Suggestion
Behavior
Selection
Generator
Set
Filter Set
Figura 14. BEAT.
Página 21
Behavior
Scheduling
Translator
Animation
O BEAT foi desenhado para encaixar em sistemas de animação já existentes ou para servir de
camada intermédia entre movimentos de baixo nível e características de alto nível como personalidade
e emoção. Anota automaticamente o texto com todos os movimentos comportamentais: gestos, olhar,
sobrancelhas e entoação. Essa anotação é garantida através de XML com consultas à base de dados
do domínio, que neste caso contém dados sobre projectos, investigadores, etc, e através de um
conjunto de regras geradoras de comportamento. Apesar de não ser discutido pelos autores, supõe-se
que o comportamento emocional do MACK tenha sido considerado ou posteriormente incluído, já que
o BEAT contempla essa possibilidade. Relativamente aos dados de entrada o MACK incorpora
mecanismos de reconhecimento de fala, de presença do utilizador, e de escrita – pela tablet que se
encontra entre o utilizador e o sistema.
A informação que flui do módulo de compreensão para o módulo de reacção é que determina
as reacções do MACK. O processo de escolha da próxima acção é implementado com uma máquina
de estados, em que cada saída é encarada como um estado e os novos actos de entrada agem como
um parâmetro de decisão na criação do próximo estado. Por exemplo, a chegada de um utilizador
dispara um evento que faz o MACK transitar do estado “desocupado” para “saudação”. O módulo de
geração assegura a interacção com a base de dados e a posterior criação do estado final que chega ao
módulo de animação.
2.8. Análise crítica e outros projectos
Foram vistos vários projectos no decorrer deste estudo e optou-se por se descrever um subconjunto
que se considerou relevante. Vamos brevemente referenciar outros e apresentar uma análise crítica
dos diferentes sistemas.
No que toca à representação de emoções, o FACS pareceu o método mais versátil e usado na
descrição de comportamentos faciais. É usado no Galatea e em outros projectos, sendo possível
verificar que é um método bastante claro, pelo que a aposta nesse sistema para a representação
emocional que se pretende no trabalho representou uma boa escolha.
O MIT FitTrack (Bickmore & Picard, 2005), um agente virtual com muitos componentes
parecidos aos da REA, foi desenhado com o propósito de investigar o papel dos agentes relacionais,
cujo objectivo é a manutenção de longas relações emocionais com os utilizadores. Como resultado
descobriu-se que os utilizadores manifestaram maior confiança com uma versão relacional do sistema
Página 22
em oposição a outra desprovida de quaisquer funções relacionais. Através deste e dos outros
trabalhos, constatou-se que o aspecto social nos agentes é um meio de melhorar a naturalidade e o
nível de confiança inspirada pelos utilizadores. Curiosamente, em (Foster, 2007) e através do sistema
COMIC, mostrou-se que uma versão expressiva desse programa tipo CAD anulou a sensação de
lentidão nas respostas e atraiu mais vezes o olhar do utilizador, outra vantagem com interesse para
este trabalho.
A REA foi um dos agentes estudados mais interessantes pela sua flexibilidade. Capacidades
como passar a vez, dar ênfase e reconhecer a presença do utilizador são as suas funcionalidades mais
pertinentes. O MACK, por exemplo, apesar de também reconhecer a presença do utilizador, nesse
aspecto é menos sofisticado uma vez que precisa que o utilizador se sente na cadeira pensada para
esse efeito. A adopção de um mecanismo de presença do utilizador, semelhante ao da REA, é uma
funcionalidade possivelmente interessante para a plataforma DIGA.
Ainda, através de (Foster, 2007), constatou-se mais uma vez a importância da inteligência
social. O iCat Home Companion, um agente incluído num sistema de diálogo habitacional, foi usado
num estudo que, para além de outras tarefas, pedia que se programasse uma gravação num leitor de
DVD. Os resultados mostraram que a versão social e expressiva da interface aumentou o grau de
satisfação dos utilizadores com o leitor. Por isso, com o Duarte, a existência de consciência social
também se considerou importante.
Na vertente da Greta discutida neste relatório, consideramos apropriada a forma como
decorre a dinâmica de emoções ao longo de uma interacção. Cada movimento do utilizador é
encarado como um evento, cujo impacto está relacionado com o seu conteúdo e afecta o estado
interno do agente. Como, no caso do trabalho concretizado, o foco não era o reconhecimento do teor
emocional do diálogo, mas a sua representação final (cara virtual), foi possível categorizar as várias
perguntas aceites pela plataforma em vários tipos – que depois originam eventos diferentes e
produzem, de forma análoga ao que acontece com a Greta, as alterações necessárias ao estado
interno.
A parametrização de cada estado num conjunto de vários movimentos, tal como acontece
com a Olga, é uma abordagem inteligente na medida em que com invocações simples se obtêm
comportamentos complexos. Assim, por exemplo no caso do Duarte, agora com a simples invocação
do estado “aborrecido”, o sistema automaticamente traduz essa chamada em movimentos que
caracterizam esse estado sem que seja necessário estar-se sempre preocupado com a escolha de cada
acção ao pormenor. Foi curioso constatar que a anotação de acções como gestos e expressões a texto,
Página 23
no formato XML, é comum a quase todos os projectos. Por isso, essa pareceu uma abordagem
unânime e foi contemplada no desenvolvimento do projecto.
Por último, relativamente à abordagem para a personalidade do agente, considerou-se alguns
artigos interessantes, nomeadamente a referência (Dias & Paiva, 2005). Fala-se, entre outros, de uma
taxa de declínio para cada uma das emoções dependente da personalidade, isto é, por exemplo numa
personalidade agressiva faz sentido que a raiva seja uma emoção com baixa taxa de declínio, por
oposição a uma personalidade afável, cuja taxa de declínio para a mesma emoção faz sentido que seja
mais elevada. Esta ideia foi assimilada na implementação do que foi realizado.
Página 24
3. DIGA
No capítulo anterior, mais concretamente no Subcapítulo 2.2, apresentou-se a arquitectura geral da
plataforma DIGA. No presente capítulo são explicados com mais detalhe os problemas e características
dos módulos verdadeiramente relevantes para este projecto:

Face;

Gestor de diálogo;

QA@L2F.
Como foi dito no Subcapítulo 2.2, no caso deste trabalho todo o desenvolvimento se
desenrolou a partir de uma versão da aplicação que se encontrava preparada para responder a
questões sobre a Custódia de Belém. Ainda assim note-se que todas as evoluções feitas podem ser
usadas com outro domínio.
3.1. Face
Incluindo uma interface gráfica para efeitos de edição, este módulo (Figura 3) efectua a gestão dos
aspectos ligados à cara virtual, desde a definição e movimentação de cada músculo à composição e
expressão de cada emoção. É a este módulo que chegam as instruções de estado enviadas pelo gestor
de diálogo, no formato VHML (Virtual Human Markup Language) que será falado mais à frente,
respeitantes à animação da cara e é portanto este que disponibiliza a janela gráfica da cara virtual que
o utilizador vê.
As funções da sua interface gráfica (Viveiros, 2004) utilizadas durante o processo de
caracterização emocional são apresentadas neste subcapítulo, mas antes observemos a constituição
de um projecto de cara virtual dessa aplicação. Compactado num ficheiro ZIP, da sua estrutura
destacam-se os seguintes dois ficheiros XML:

emotions;

muscles.
Página 25
O ficheiro emotions possui os dados de todos os músculos associados a cada emoção, tal
como se verifica no próximo excerto.
<emotion name="sadness">
<muscles>
<muscle name="mouthLeft">1.0</muscle>
<muscle name="mouthRight">0.8</muscle>
<muscle name="OrbicularisOculiLeft">-0.2</muscle>
<muscle name="cheekLeft">0.6</muscle>
<muscle name="depressorAnguliOrisRight">1.0</muscle>
<muscle name="lowerLipDummie">-0.4</muscle>
<muscle name="OrbicularisOculiRight">-0.2</muscle>
<muscle name="frontalisInnerLeft">1.0</muscle>
<muscle name="depressorAnguliOrisLeft">1.0</muscle>
<muscle name="cheekRight">0.6</muscle>
<muscle name="lowerLipDummie2">1.0</muscle>
<muscle name="frontalisInnerRight">1.0</muscle>
<muscle name="jawRotations">0.78</muscle>
</muscles>
</emotion>
O segmento anterior corresponde à constituição muscular da emoção sadness. O valor
associado a cada músculo, que oscila entre -1 e 1, é o seu grau de variação. Em termos práticos o valor
-1 faz o músculo apresentar-se neutro e o valor 1 totalmente afectado, pelo que apenas os músculos
com uma variação diferente de -1 fazem parte da definição de cada emoção no ficheiro referido, já
que os outros não surtem qualquer efeito no resultado final.
Por outro lado, no ficheiro muscles estão presentes todos os músculos existentes na cara, bem
como os parâmetros que os definem. São esses critérios que definem cada músculo que determinam
de que forma a superfície da cara virtual é afectada. Esse mecanismo de mutação conduziu à
diferenciação dos músculos em quatro tipos (elipsoidal, eye, jaw e linear). As particularidades que
diferenciam esses tipos e o cálculo que os suporta é complexo e, por isso, mais uma vez remete-se
para (Viveiros, 2004). Segue-se uma parte do ficheiro em análise que se refere a um músculo do tipo
linear.
<muscle name="zygomaticusMajorLeft">
<type>LINEAR</type>
<maxvalue>0.024999999999999998</maxvalue>
<minvalue>0.0</minvalue>
Página 26
<points>
<point name="musclePointIni">
<x>-0.015</x>
<y>0.36</y>
<z>0.416</z>
</point>
<point name="musclePointEnd">
<x>-0.063</x>
<y>0.179</y>
<z>0.423</z>
</point>
</points>
<parameters>
<parameter name="muscleAngle">0.6981317007977318</parameter>
<parameter name="muscleStartRadius">0.26</parameter>
<parameter name="muscleEndRadius">0.15</parameter>
</parameters>
</muscle>
A lista completa de músculos pode ser consultada no Apêndice B.1. Aos músculos já existentes
no início do projecto houve necessidade de se acrescentar duas transformações. A essas deu-se o
nome de cheekLeft e cheekRight. Essa adição deveu-se à inexistência de músculos que permitissem
eficazmente elevar ambas as bochechas.
As funcionalidades da Graphical User Interface (GUI) do Face (Figura 15) mais usadas foram:
Figura 15. GUI do Face.
Página 27

Criar/Remover/Alterar emoções;

Associar/Desassociar músculos;

Afinação das contracções dos músculos associados à emoção;

Pré visualização instantânea do resultado da aplicação da emoção ao modelo.
Os problemas associados ao Face não estavam relacionados com a sua própria estrutura ou
constituição, mas foi este módulo serviu de veículo para tratar o problema da pobreza das emoções
existentes. A sua caracterização estava sobretudo fraca.
3.2. Gestor de diálogo e QA@L2F
Quando o sistema é iniciado, e o Duarte se apresenta, automaticamente está disponível para
responder a perguntas do utilizador. Toda a informação relativa ao domínio está contida no ficheiro
resultQA.xml. No Subcapítulo 4.2 a estrutura desse ficheiro é apresentada e discutida.
Assim que a aplicação recebe uma entrada (evento) de áudio esse input é traduzido em texto
e passado ao módulo de pergunta/resposta, QA@L2F, onde é feito o matching entre o que foi
percebido e as perguntas existentes no domínio. A partir dessa associação é encontrada (ou não) a
resposta para a questão. Depois de descoberta, essa resposta flui para o gestor de diálogo e é usada.
Para além de outras tarefas, o gestor de diálogo é responsável pelo encapsulamento dessa resposta
num ficheiro de formato VHML, onde é complementada com outros parâmetros para ser
posteriormente enviada ao Face.
O VHML é um subconjunto do XML, e define uma estrutura que permite descrever vários
aspectos da interacção pessoa–máquina, nomeadamente ao nível da animação facial, conversão de
texto em fala, animação do corpo, interacção com gestores de diálogo, representação emocional e
outros tipos de informação multimédia.
Tendo em conta a extensão do VHML e visto que nem todas as funcionalidades
disponibilizadas seriam necessárias, e como também nem todos os requisitos colocados eram
inteiramente suportados pela especificação, a plataforma suporta uma versão simplificada desses
ficheiros, adaptada à solução pretendida.
Vejamos o seguinte exemplo de um ficheiro nesse formato simplificado para percebermos a
seu estrutura:
Página 28
<?xml version='1.0' encoding='utf-8'?>
<vhml>
<!--look-->
<p>
<headmovement name='eyeblink' duration='.3' nblink='1' slope='.1'/>
</p>
<p>
<headmovement name='eyeslook@' xintensity='#X_Eyes#'
yintensity='#Y_Eyes#' slope='1' duration='2'/>
</p>
<p>
<headmovement name='headlook@' xintensity='#X_Head#'
yintensity='#Y_Head#' slope='1' duration='3'/>
</p>
<p>
<emotion name='#EMOTION#' slope='1.0' intensity='#INTENSITY#'
duration='5'/>
</p>
</vhml>
O código anterior, que corresponde ao estado look (“look.xml”), tal como o nome sugere tem
como objectivo fazer o agente olhar para um determinado sítio. A constante chegada de instruções
como as do exemplo à cara, responsabilizam-se pelo seu comportamento visual contínuo e natural.
Cada ficheiro VHML incorpora três tipos de informação:

Movimentos da cabeça (headmovement);

Emoções (emotion);

Pausa (break);

Texto.
Por sua vez cada um desses tipos suporta várias das seguintes propriedades:

duration;

intensity;

name;

nblink;

slope;

xintensity;
Página 29

yintensity.
A duração (duration) define a duração temporal em segundos de uma emoção, movimento ou
pausa. O parâmetro intensity define a intensidade das instruções do tipo emotion.
O elemento name indica o nome da emoção (emotion) ou o tipo de movimento
(headmovement) a executar. O nome do tipo de movimento aceita os valores eyeblink, eyeslook@ ou
headlook@ para, respectivamente, o piscar de olhos, o direccionamento do olhar ou o
direccionamento da cabeça.
O elemento nblink serve para especificar o número de piscares de olhos nas instruções
headmovement com name=’eyeblink’.
O elemento slope, variável entre 0 e 10, define a curva de progresso do movimento, isto é,
desde o seu início até ao momento em que o seu efeito é total. O gráfico seguinte exemplifica um
valor de slope que proporciona um crescimento linear.
100
80
60
40
20
0
0
2
Tempo
4
6
Figura 16. Crescimento linear garantido por um valor de slope igual a 1.
Os elementos xintensity e yintensity, variáveis entre -100 e 100, definem a intensidade e
condicionandam o olhar do agente relativamente ao eixo dos x e ao eixo dos y, respectivamente.
Os valores #X_Eyes#, #Y_Eyes#, #X_Head#, #Y_Head#, #EMOTION# e #INTENSITY#
correspondem a variáveis que serão preenchidas em tempo-real pela aplicação. As quatro primeiras
foram incluídas durante os desenvolvimentos deste trabalho.
Finalmente, o elemento p, denominado de parágrafo, contém os elementos que descrevem a
animação. É bastante importante pois afecta a ordem de processamento das instruções. As que se
encontram abrigadas pelo mesmo parágrafo ocorrem sequencialmente, isto é, a próxima só começa
Página 30
após o final da anterior. Por outro lado, as instruções que se encontram em parágrafos diferentes
ocorrem ao mesmo tempo e, portanto, iniciam-se em simultâneo.
O problema do sistema quando se iniciou o desenvolvimento era o facto do estado interno do
agente ser sempre o mesmo. As instruções enviadas à Face correspondiam apenas a acções de piscar
os olhos e falar. Isso empobrecia e tirava a naturalidade das interacções. No Capítulo 4 é exposto o
progresso efectuado, nomeadamente ao nível do agente comportamental, que colmatou essa
necessidade.
Página 31
4. Desenvolvimentos
Após a análise dos projectos relacionados com o tema, incluindo o trabalho previamente realizado na
plataforma, procedeu-se a um levantamento mais concreto dos requisitos e problemas do sistema.
Este capítulo explica as estratégias e desenvolvimentos efectuados para colmatar ou minimizar esses
problemas.
De um modo geral o esquema da Figura 17 mostra a amarelo os componentes que sofreram
alterações a fim de se proporcionarem os objectivos propostos, tendo sido o Face, bem como o gestor
de diálogo (STAR), os módulos sujeitos à maioria das modificações. A vermelho está traçado o
caminho percorrido pelo fluxo de informação que permite a evolução emocional do agente desde a
Gestor
de
Serviços
identificação e percepção do teor do diálogo à expressão de emoções em tempo-real.
QA@L2F
*
1
*
Base
Engine
1
Audimus
Base
Engine
Face
JVXML
JSAPI 2.0
Asterisk PBX
GJTAPI
1
*
STAR
Dixi
Figura 17. Componentes da DIGA afectados pelo desenvolvimento do trabalho.
A organização do capítulo em causa foi alinhada com o decorrer temporal do trabalho.
4.1. Face
Apesar de já se encontrarem parametrizadas algumas emoções, era sabido que nenhuma delas estava
plenamente caracterizada, pelo que o seu correcto reconhecimento por parte dos utilizadores era
sobretudo fraco. O primeiro objectivo do desenvolvimento efectuado consistiu em melhorar
Página 33
substancialmente todas essas emoções através de um demorado processo iterativo feito em conjunto
com os utilizadores. A cada nova iteração era feita uma avaliação junto de algumas pessoas a fim de
se perceber que emoções ou pormenores das mesmas não se adequavam. Pelo acrescento
complexional resultante da eventual combinação de emoções, desconsiderou-se essa possibilidade no
trabalho efectuado.
4.1.1. Caracterização emocional
Neste passo seleccionou-se o conjunto inicial de estados emocionais básicos de acordo com (Ekman &
Friesen, 1975), trocando-se a palavra happiness por joy, e acrescentando-se a esse conjunto um outro
estado – desconfiança. Para uma eficaz representação emocional sugeriu-se caracterizar cada um dos
estados referidos segundo o sistema FACS e as tabelas referidas em (Pelachaud, 2003), já que todos os
sistemas analisados (ex: Galatea) usam representações emocionais iguais ou parecidas à proposta. No
entanto, repare-se que o estado “desconfiado” resultou de um levantamento de características
proveniente da observação de imagens e fotografias, uma vez que a sua composição não era
conhecida.
Analisemos cada emoção ao pormenor.
Anger
A raiva pode ser despertada a partir de frustração, ameaça física ou dano psicológico. A sua expressão
facial envolve todas as zonas da cara. Resumidamente o sujeito com raiva franze as sobrancelhas,
fecha a boca pressionando-a firmemente ou então abre-a de forma tensa.
Segundo o FACS:
Emotion
anger
Action Units
AU2 + AU4 + AU5 + AU10 + AU20 + AU24
Onde:
AU
AU2
AU4
AU5
Name
Outer Brow Raiser
Brow Lowerer
Upper Lid Raiser
AU
AU10
AU20
AU24
Página 34
Name
Upper Lip Raiser
Lip Stretcher
Lip Presser
Considerando os dados anteriores e o constante feedback dos utilizadores chegou-se à
emoção final Anger (Figura 18).
Figura 18. Anger.
Cuja composição muscular resultou no seguinte conjunto:
<emotion name="anger">
<muscles>
<muscle name="frontalisOuterLeft">0.1</muscle>
<muscle name="risoriusRight">-0.3</muscle>
<muscle name="corrugatorLeft">0.5</muscle>
<muscle name="upperLipdummie">-0.6</muscle>
<muscle name="risoriusLeft">0.05</muscle>
<muscle name="OrbicularisOculiLeft">-0.04</muscle>
<muscle name="depressorAnguliOrisRight">0.25</muscle>
<muscle name="alaequeNasiLeft">-0.35</muscle>
<muscle name="lowerLipDummie">0.0</muscle>
<muscle name="alaequeNasiRight">-0.35</muscle>
<muscle name="procerusRight">1.0</muscle>
<muscle name="zygomaticusMajorRight">-0.4</muscle>
<muscle name="OrbicularisOculiRight">0.04</muscle>
<muscle name="depressorAnguliOrisLeft">0.2</muscle>
<muscle name="corrugatorRight">0.4</muscle>
<muscle name="procerusLeft">1.0</muscle>
<muscle name="zygomaticusMajorLeft">-0.3</muscle>
<muscle name="frontalisOuterRight">0.1</muscle>
</muscles>
</emotion>
Página 35
Disgust
O nojo resulta de qualquer coisa desagradável ou repugnante. A sua manifestação facial é
principalmente caracterizada pelo nariz franzido, a subida do lábio superior e a descida ou subida do
lábio inferior. As sobrancelhas também podem descer.
Segundo o FACS:
Emotion
disgust
Action Units
AU4 + AU9 + AU10 + AU17
Onde:
AU
AU4
AU9
Name
Brow Lowerer
Nose Wrinkler
AU
AU10
AU17
Name
Upper Lip Raiser
Chin Raiser
Considerando os dados anteriores e o constante feedback dos utilizadores chegou-se à
emoção final Disgust (Figura 19). Esta foi uma emoção particularmente complexa de simular porque a
subida dos lábios muitas vezes levava os utilizadores a confundi-la com a anger.
Figura 19. Disgust.
Cuja composição muscular resultou no seguinte conjunto:
<emotion name="disgust">
<muscles>
<muscle name="corrugatorLeft">-0.2</muscle>
<muscle name="OrbicularisOculiRight3">-0.2</muscle>
Página 36
<muscle name="OrbicularisOculiLeft">-0.09</muscle>
<muscle name="cheekLeft">1.0</muscle>
<muscle name="depressorAnguliOrisRight">-0.26</muscle>
<muscle name="alaequeNasiLeft">1.0</muscle>
<muscle name="lowerLipDummie">1.0</muscle>
<muscle name="depressorAnguliOrisLeft">1.0</muscle>
<muscle name="OrbicularisOculiRight">0.02</muscle>
<muscle name="corrugatorRight">0.0</muscle>
<muscle name="lowerLipDummie2">0.4</muscle>
<muscle name="zygomaticusMajorLeft">1.0</muscle>
<muscle name="cheekRight">-0.4</muscle>
<muscle name="frontalisInnerRight">-0.6</muscle>
<muscle name="jawRotations">0.0</muscle>
</muscles>
</emotion>
Fear
O medo pode ser despoletado por objectos, pessoas ou situações (reais ou imaginárias) consideradas
perigosas. Os olhos tendem a ficar muito abertos, as sobrancelhas levantadas e a boca tensa,
provavelmente aberta.
Segundo o FACS:
Emotion
fear
Action Units
AU1 + AU2 + AU4 + AU5 + AU7 + AU15 + AU20 + AU25
Onde:
AU
AU1
AU2
AU4
AU5
Name
Inner Brow Raiser
Outer Brow Raiser
Brow Lowerer
Upper Lid Raiser
AU
AU7
AU15
AU20
AU25
Name
Lip Tightener
Lip Corner Depressor
Lip Stretcher
Lips Part
Considerando os dados anteriores e o constante feedback dos utilizadores chegou-se à
emoção final Fear (Figura 20). Esta foi outra emoção reajustada vezes consecutivas porque os
utilizadores confundiam-na com a emoção surprise.
Página 37
Figura 20. Fear.
Cuja composição muscular resultou no seguinte conjunto:
<emotion name="fear">
<muscles>
<muscle name="mouthLeft">0.8</muscle>
<muscle name="mouthRight">0.6</muscle>
<muscle name="OrbicularisOculiLeft3">1.0</muscle>
<muscle name="OrbicularisOculiRight3">1.0</muscle>
<muscle name="orbicularisOris">0.5</muscle>
<muscle name="depressorAnguliOrisRight">1.0</muscle>
<muscle name="lowerLipDummie">-0.28</muscle>
<muscle name="procerusRight">-0.06</muscle>
<muscle name="depressorAnguliOrisLeft">1.0</muscle>
<muscle name="frontalisInnerLeft">1.0</muscle>
<muscle name="procerusLeft">-0.02</muscle>
<muscle name="frontalisInnerRight">0.3</muscle>
<muscle name="jawRotations">0.4</muscle>
</muscles>
</emotion>
Joy
A felicidade é principalmente caracterizada por um puxar dos cantos da boca para trás e a apontar
para cima. Quando se trata de um sorriso a boca pode permanecer fechada, quando por outro lado no
caso de maior entusiasmo a mesma tende a abrir-se. As bochechas e as pálpebras inferiores também
sobem.
Página 38
Segundo o FACS:
Emotion
Action Units
happiness
AU6 + AU11 + AU12 + AU25
Onde:
AU
AU6
AU11
Name
Cheek Raiser & Lid Compressor
Nasolabial Furrow Deepener
AU
AU12
AU25
Name
Lip Corner Puller
Lips Part
Considerando os dados anteriores e o constante feedback dos utilizadores chegou-se à
emoção final Joy (Figura 21).
Figura 21. Joy.
Cuja composição muscular resultou no seguinte conjunto:
<emotion name="joy">
<muscles>
<muscle name="cheekLeft">1.0</muscle>
<muscle name="lowerLipDummie">0.0</muscle>
<muscle name="frontalisMiddleLeft">0.8</muscle>
<muscle name="levatorLabiiSuperiorisLeft2">0.0</muscle>
<muscle name="levatorLabiiSuperiorisRight2">0.0</muscle>
<muscle name="cheekRight">1.0</muscle>
<muscle name="upperLipdummie">-0.28</muscle>
<muscle name="frontalisMiddleRight">0.2</muscle>
<muscle name="jawRotations">0.0</muscle>
Página 39
</muscles>
</emotion>
Sadness
Os lados interiores das sobrancelhas elevam-se e os cantos da boca descem. Esses são os movimentos
faciais que expressam tristeza.
Segundo o FACS:
Emotion
Action Units
sadness
AU1 + AU4 + AU7 + AU15
Onde:
AU
AU1
AU4
Name
Inner Brow Raiser
Brow Lowerer
AU
AU7
AU15
Name
Lid Tightener
Lip Corner Depressor
Considerando os dados anteriores e o constante feedback dos utilizadores chegou-se à
emoção final Sadness (Figura 22).
Figura 22. Sadness.
Cuja composição muscular resultou no seguinte conjunto:
Página 40
<emotion name="sadness">
<muscles>
<muscle name="mouthLeft">1.0</muscle>
<muscle name="mouthRight">0.8</muscle>
<muscle name="OrbicularisOculiLeft">-0.2</muscle>
<muscle name="cheekLeft">0.6</muscle>
<muscle name="depressorAnguliOrisRight">1.0</muscle>
<muscle name="lowerLipDummie">-0.4</muscle>
<muscle name="OrbicularisOculiRight">-0.2</muscle>
<muscle name="frontalisInnerLeft">1.0</muscle>
<muscle name="depressorAnguliOrisLeft">1.0</muscle>
<muscle name="cheekRight">0.6</muscle>
<muscle name="lowerLipDummie2">1.0</muscle>
<muscle name="frontalisInnerRight">1.0</muscle>
<muscle name="jawRotations">0.78</muscle>
</muscles>
</emotion>
Surprise
Surpresa é a reacção a um acontecimento inesperado e repentino. O maxilar tende a descair, enquanto
as sobrancelhas se elevam e os olhos se abrem mais.
Segundo o FACS:
Emotion
Action Units
surprise
AU1 + AU2 + AU5 + AU26 + rotate-jaw
Onde:
AU
AU1
AU2
Name
Inner Brow Raiser
Outer Brow Raiser
AU
AU5
AU26
Name
Upper Lid Raiser
Jaw Drop
Considerando os dados anteriores e o constante feedback dos utilizadores chegou-se à
emoção final Surprise (Figura 23). Ao contrário do que aconteceu com o fear, apesar de semelhantes,
esta emoção tipicamente não foi confundida.
Página 41
Figura 23. Surprise.
Cuja composição muscular resultou no seguinte conjunto:
<emotion name="surprise">
<muscles>
<muscle name="lowerLipDummie">0.04</muscle>
<muscle name="frontalisMiddleLeft">0.27</muscle>
<muscle name="frontalisInnerLeft">-0.07</muscle>
<muscle name="OrbicularisOculiLeft3">1.0</muscle>
<muscle name="upperLipdummie">-0.21</muscle>
<muscle name="OrbicularisOculiRight3">1.0</muscle>
<muscle name="frontalisMiddleRight">0.4</muscle>
<muscle name="frontalisInnerRight">-0.06</muscle>
<muscle name="jawRotations">0.56</muscle>
</muscles>
</emotion>
Suspicion
Finalmente, esta emoção não fazia parte do conjunto descrito em (Pelachaud, 2003). Por esse motivo
foi necessário efectuar um estudo com o fim de se perceber que músculos são afectados na sua
representação. Esse trabalho consistiu na análise de diversas imagens (caras) da emoção. Concluiu-se
que a desconfiança é sobretudo caracterizada pelo franzir das sobrancelhas, ou mesmo pela subida do
exterior de uma das sobracenlhas e a descida do interior da outra sobrancelha, bem como pelo franzir
da boca (que pode acentuar-se para um dos lados).
Página 42
Considerando as conclusões anteriores e o constante feedback dos utilizadores chegou-se à
emoção final Suspicion (Figura 24).
Figura 24. Suspicion.
Cuja composição muscular resultou no seguinte conjunto:
<emotion name="surprise">
<muscles>
<muscle name="lowerLipDummie">0.04</muscle>
<muscle name="frontalisMiddleLeft">0.27</muscle>
<muscle name="frontalisInnerLeft">-0.07</muscle>
<muscle name="OrbicularisOculiLeft3">1.0</muscle>
<muscle name="upperLipdummie">-0.21</muscle>
<muscle name="OrbicularisOculiRight3">1.0</muscle>
<muscle name="frontalisMiddleRight">0.4</muscle>
<muscle name="frontalisInnerRight">-0.06</muscle>
<muscle name="jawRotations">0.56</muscle>
</muscles>
</emotion>
4.2. Gestor de diálogo e QA@L2F
Tal como o nome sugere, o gestor de diálogo é o componente que processa a gestão do diálogo na
plataforma. Como já foi falado atrás, concretamente no Capítulo 2.2, esse gestor incorpora
Página 43
componentes cruciais da plataforma, sendo um deles o agente comportamental. Esse módulo, criado a
pensar no futuro do sistema, concentrou em si grande parte do desenvolvimento efectuado.
4.2.1. Agente comportamental
Antes de se iniciar qualquer desenvolvimento de código, estudou-se de que modo se poderia
aproveitar e evoluir o gestor de diálogo para comportar as emoções criadas. Optou-se por criar dois
níveis de comportamento, um que descreve o estado geral do agente (comportamento básico, Figura
25), e outro que determina o estado emocional do mesmo (Figura 26). Essa decisão resultou do facto
dos comportamentos entre níveis serem totalmente independentes, portanto não fazendo sentido
ficarem juntos.
O nível básico foi concretizado através de uma máquina com três estados principais que
reagem a eventos de fala (entrada do utilizador) e timeouts.
Bored timeout
Speaking
Bored
User input
Sleep timeout
Sleeping
User input
User input
Figura 25. Máquina de estados do nível de comportamento básico.
Como se pode observar pela figura, qualquer entrada do utilizador (fala) conduz o agente ao
estado speaking. Nesse estado o sistema está alerta e mantém uma postura visual atenta,
direccionando-se para o utilizador. Se ao fim de algum tempo (bored timeout) não ocorrer qualquer
interacção com a máquina o sistema caminha para o estado bored. Nesse estado o agente semicerra
os olhos e olha entediado em seu redor. Finalmente, na continuação da inexistência de interacção com
a aplicação (sleep timeout) o sistema transita para um novo estado – sleeping. Esse último
corresponde a um estado adormecido e só em caso de nova interacção o agente desperta e volta ao
estado speaking.
Página 44
A concretização visual desses três estados internos é conseguida através de outros estados
implementados em ficheiros VHML, o formato já discutido no Subcapítulo 3.2. A nível interno o agente
comportamental responsabiliza-se por saber em que estado está o sistema, mas são os ficheiros VHML
que o permitem exteriorizar esse estado. É importante referir que durante o mesmo estado interno do
nível de comportamento básico podem chegar diversos estados em VHML ao Face.
O conteúdo dos oito estados VHML criados e/ou modificados, cujos nomes se encontram a
seguir, pode ser consultado no Apêndice B.2:

blink.xml;

bored.xml;

look.xml;

look_eyes_only.xml;

no.xml;

sleeping.xml;

talk.xml;

yes.xml.
User input
Disgust
Anger
Fear
Joy
Sadness
Suspicion
Surprise
Figura 26. Máquina de estados do nível de comportamento emocional.
Página 45
Por outro lado o estado emocional do agente que pode ser incluído nas instruções dos
estados básicos anteriores é calculado pelo nível de comportamento emocional. Esse reflecte a
transição entre sete estados – as emoções. O agente pode passar de cada um desses estados para o
próprio ou qualquer um dos outros (Figura 26), dependendo apenas da intensidade e do tipo de
eventos que lhe chegam. Pela complexidade falada no Capítulo 4.1 apenas uma das emoções ocorre
em cada instante, não podendo o agente estar, por exemplo, simultaneamente zangado e triste. O
modo como esses estados variam entre si é explicado no próximo Capítulo 4.2.2.
4.2.2. Transição entre estados emocionais
Partindo de uma abordagem reactiva para o modelo emocional, efectuou-se a categorização de
afirmações/perguntas que podem ser feitas ao sistema para qualquer domínio, e chegou-se ao
seguinte conjunto:

Confusion – Afirmação ou pergunta que o sistema não entendeu ou cuja resposta é
desconhecida;

Domain – Afirmação ou pergunta relacionada com o tema/domínio a que o sistema
responde;

Neutral – Afirmação ou pergunta sem impacto emocional;

Offense – Afirmação ou pergunta de teor ofensivo para o agente;

Personal – Afirmação ou pergunta do âmbito pessoal do agente;

Threat – Afirmação ou pergunta que represente perigo ou uma ameaça;

Unexpectation – Afirmação ou pergunta imprevisível ou inesperada;

Yuck – Afirmação ou pergunta que suscite repugna.
Uma vez que as perguntas/respostas previstas pelo sistema se encontravam todas definidas
no ficheiro resultQA.xml, evoluiu-se a sua estrutura e atribuiu-se uma tag (tipo) a cada pergunta do
domínio do Duarte na vertente Custódia de Belém. Sendo que esse ficheiro não continha perguntas
que se enquadrassem em todas as categorias anteriores, acrescentaram-se variadas perguntas para
que todos os tipos estivessem presentes no conjunto.
Assim, ao nível do agente comportamental o sistema passa a saber qual o teor ou significado
das frases proferidas pelo utilizador e, então, pode decidir que emoções serão afectadas pelas
mesmas. Por exemplo, se forem feitas perguntas sobre o domínio às quais o agente sabe responder é
Página 46
natural que isso o faça sentir-se feliz. Repare-se que esse processo de decisão é directamente
influenciado pela personalidade. Analisemos um excerto do ficheiro resultQA.xml:
<unexpectation>
<!-- Global emotional variation level -->
<global_variation>75</global_variation>
<qa>
<!-- Specific emotional variation level (Only if necessary,
otherwise global variation level is applied) -->
<specific_variation></specific_variation>
<questions>
<q>Acorda!</q>
<q>Acorda Duarte!</q>
</questions>
<answers>
<a aggressive='true' bipolar='true'>Ninguém me pergunta
nada! É normal que adormeça!</a>
<a moderate='true' bipolar='true'>Desculpa, adormeci!
Pergunta-me coisas!</a>
<a naive='true' bipolar='true'>Perdão! Adormeço quando fico
aborrecido!</a>
</answers>
</qa>
No exemplo o texto a negrito corresponde à tag emocional que estará associada a todas as
perguntas incluídas nesse bloco (unexpectation) e que servirá para a aplicação efectuar a devida
afectação emocional. Estruturalmente, dentro de cada bloco desse tipo existe um ou mais blocos de
outro tipo, qa, sendo que cada um inclui um par de grupos de perguntas/respostas
(questions/answers). Resumidamente, o ficheiro será então constituído por vários blocos de tipos de
perguntas e a aplicação decide que emoções afectar baseando-se nesses tipos.
Supondo a seguinte configuração:

Confusion – Afecta sadness;

Domain – Afecta joy;

Neutral – Não afecta o estado emocional;

Offense – Afecta anger;

Personal – Afecta suspicion;
Página 47

Threat – Afecta fear;

Unexpectation – Afecta surprise;

Yuck – Afecta disgust.
A intensidade de cada emoção varia de 0 a 100%. Não havendo composição emocional, a cada
novo evento (pergunta) o sistema averigua que emoção afectar, podendo:

A emoção afectada ser igual ao estado emocional actual – A nova intensidade emocional
corresponde à soma da intensidade actual com a intensidade do evento;

A emoção afectada ser diferente do estado emocional actual – A nova intensidade
emocional corresponde à diferença entre a intensidade actual e a intensidade do evento.
A título ilustrativo do comportamento descrito, observe-se a seguinte interacção e respectivo
gráfico:
D0: Olá, boa tarde! Eu sou o Duarte digital. Gosto imenso de museus e agora estou a fazer um
trabalho sobre a Custódia de Belém. Quem me quer fazer perguntas sobre a Custódia? Vamos
lá!
U1 (Domain): O que é a Custódia?
D1: A Custódia de Belém é um objecto para ser utilizado durante a missa ou em celebrações
especiais, onde são colocadas as hóstias consagradas. Hoje em dia está exposta no Museu
Nacional de Arte Antiga, em Lisboa. Que mais posso dizer para ficares a conhecer a Custódia de
Belém?
U2 (Domain): Porque é que se chama Custódia de Belém?
D2: Chama-se Custódia de Belém porque esteve muito tempo no Mosteiro de Santa Maria de
Belém. Sabias que este Mosteiro é hoje designado por Mosteiro dos Jerónimos?
U3 (Domain): Quem é que a fez?
D3: A Custódia de Belém foi feita por Gil Vicente, o ourives de Dona Leonor, irmã do Rei Dom
Manuel. Foi este que, juntamente com os artífices da sua oficina, construiu a Custódia de Belém.
U4(Confusion): Em quantos euros está avaliada a Custódia de Belém?
D4: Tenho tanta pena, mas não sei a resposta a essa pergunta!
U5 (Confusion): É verdade que Gil Vicente escreveu várias obras? Sabes dar-me algum exemplo?
D5: É verdade sim, mas infelizmente eu agora não te sei dizer nenhuma!


Duarte (D)
Utilizador (U)
Página 48
100
80
Intensidade
60
Joy
40
Neutral
20
Sadness
0
0
1
2
3
4
5
Tempo
Figura 27. Dinâmica emocional do Duarte.
Na interacção anterior o Duarte estava configurado com a personalidade naive sem taxas de
declínio emocional (Capitulo 4.2.4). Conforme se pode ver pelo gráfico à medida que vão sendo feitas
perguntas o sistema vai se adaptando ao diálogo. Enquanto o utilizador vai questionando a aplicação
sobre o domínio o Duarte vai ficando progressivamente feliz (instantes T1, T2 e T3). Por outro lado,
assim que o agente deixa de saber dar resposta às questões colocadas (confusion) o seu estado de
contentamento decresce e dá lugar a um estado de tristeza (instantes T4 e T5).
Depois de se saber que emoções são afectadas no contexto da interacção, outro aspecto
importante é perceber com que intensidade essas emoções variam. De facto nem todas as perguntas
têm o mesmo impacto no sistema e, por isso, a cada pergunta está associada uma determinada
intensidade.
4.2.3. Intensidade emocional
À medida que o utilizador confronta o sistema com diferentes frases, e tal como se constata na Figura
27, é natural que nem todas tenham o mesmo impacto. Por esse motivo no ficheiro resultQA.xml
abordado anteriormente para além de se atribuir uma tag emocional atribui-se também a intensidade
de cada frase. Essa propriedade é definida a dois níveis:

Geral – Corresponde à intensidade para cada grupo de tipo de frases, isto é, todas as
perguntas desse tipo variam segundo essa intensidade;
Página 49

Específico – Particulariza o impacto de determinadas frases e sobrepõe-se ao valor
atribuído pelo nível geral.
<personal>
<!-- Global emotional variation level -->
<global_variation>50</global_variation>
<qa>
<!-- Specific emotional variation level (Only if necessary,
otherwise global variation level is applied) -->
<specific_variation></specific_variation>
<questions>
<q>Quem é o Duarte?</q>
<q>Quem és tu?</q>
<q>Quem foi o Duarte?</q>
Para exemplificar ambos os casos, no excerto anterior pode se verificar que as perguntas
abrangidas pela tag de valor personal irão variar com uma intensidade de 50% (global_variation). No
caso do excerto essa será a intensidade em vigor para todas as suas perguntas, já que não está
definido um valor de specific_variation. Atribuir um valor à variação específica contraria esse efeito e
faz com que as frases tenham a sua própria variação.
4.2.4. Declínio emocional
A intensidade emocional define a força de uma emoção, no entanto, durante o seu ciclo de vida a
intensidade não permanece uma constante no sistema. Efectivamente, a intensidade de uma emoção
entra em declínio a partir do instante em que é gerada – essa característica é resultado da ideia de que
uma emoção não dura para sempre e não afecta os próximos estados emocionais da mesma forma.
Assim, e de acordo com o que é sugerido na fonte (Dias & Paiva, 2005), o modelo emocional
implementado no contexto deste trabalho reflecte a função de declínio proposta por Picard e que
caracteriza a intensidade emocional em função do tempo.
Em qualquer instante (t) o valor da intensidade de uma emoção (Emotion) é portanto dado
pela seguinte fórmula:
Intensity (Emotion, t) = Intensity (Emotion, t0) × e-b×t
Página 50
A constante b determina a taxa de declínio de uma determinada emoção, isto é, a velocidade
com que a intensidade decresce e tende para zero ao longo do tempo. Na implementação
concretizada cada emoção tem a sua própria taxa de declínio (drop_rate), ou seja, esse valor é
controlado no sentido de reflectir durações diferentes entre emoções. O valor Intensity (Emotion, t0)
descreve a valor da intensidade emocional no instante em que foi gerada. Quando ao fim de algum
tempo o valor Intensity (Emotion, t) se aproxima de zero, a emoção deixa de caracterizar o estado
emocional do agente.
Na prática, considerando uma taxa de declínio de valor 0.3, a título de exemplo a emoção
anger decresce com o ritmo evidenciado pelo seguinte gráfico.
100
80
60
Intensidade
40
Anger
20
0
0
1
2
3
4
5
6
7
8
Tempo
Figura 28. Declínio emocional para uma taxa de 0.3.
Esta propriedade é outra que vem complementar as funcionalidades discutidas anteriormente
e contribuir para um comportamento emocional apropriado ao sistema.
4.2.5. Personalidade
Ao nível da computação a personalidade é um conceito tão complexo que por si só poderia motivar
outra tese de mestrado. A principal meta deste trabalho consistiu na correcta representação emocional
na plataforma DIGA e o seu aproveitamento lógico em tempo-real, portanto nunca foi objectivo do
mesmo construir um verdadeiro modelo de personalidade. Ainda assim foi discutida a ideia de se criar
um mecanismo que permitisse a criação de comportamentos diversos para o mesmo cenário, ou seja,
acções diferentes para o mesmo acontecimento que em conjunto formam padrões distintos de
comportamento – individualidade. A esse padrão de acções resolveu-se dar o nome de personalidade
por ser a palavra que mais se aproxima do objectivo que se pretendia. A abordagem tomada resume
Página 51
então a personalidade do agente num traço que o caracteriza e influencia o seu comportamento
emocional na resposta aos eventos que lhe sucedem. Concretamente, esta abordagem reactiva para a
personalidade é simulada através de um ficheiro XML (“personalities.xml”), sendo que todas as
personalidades estão contidas nesse ficheiro e que para cada uma delas há uma correspondência
directa entre tipo de evento e emoção afectada. Vejamos a sua estrutura:
<moderate>
<confusion>sadness</confusion>
<personal>suspicious</personal>
<domain>joy</domain>
<unexpectation>surprise</unexpectation>
<offense>anger</offense>
<threat>fear</threat>
<yuck>disgust</yuck>
<!-- Total inactive time (ms) after which the agent gets bored -->
<bored_timeout>20000</bored_timeout>
<!-- Total inactive time (ms) after which the agent falls asleep -->
<sleep_timeout>40000</sleep_timeout>
<!-- Emotions drop rates with passing time (Picard perspective: Choose
value between 0 and 1) -->
<fear_drop_rate>0.4</fear_drop_rate>
<disgust_drop_rate>0.3</disgust_drop_rate>
<anger_drop_rate>0.3</anger_drop_rate>
<suspicious_drop_rate>0.2</suspicious_drop_rate>
<sadness_drop_rate>0.1</sadness_drop_rate>
<surprise_drop_rate>0.4</surprise_drop_rate>
<joy_drop_rate>0.05</joy_drop_rate>
</moderate>
Como se pode observar, a negrito está essa correspondência entre tipos de perguntas e
emoções afectadas. Esse é o principal elemento de cada personalidade, no entanto, as taxas de
declínio também são outra componente bastante importante. Para além disso cada bloco de
personalidade também inclui outra informação – os tempos de timeout (em milissegundos) que
desencadeiam as transições do estado speaking para os estados bored e sleeping.
O ficheiro resultQA.xml inclui a personalidade que será usada no arranque da aplicação. Assim
que o sistema inicia essa informação é carregada e usada logo que necessário. Mas para além disso é
importante referir que esse ficheiro contém outra informação relevante ao nível da personalidade, uma
Página 52
vez que essa também influencia as respostas do agente, isto é, se por exemplo o sistema está
configurado com uma personalidade agressiva as suas respostas serão tendencialmente antipáticas. É
nesse ficheiro que se encontra concretizada uma outra categorização das respostas que é usada pelo
agente de acordo com a personalidade. No fundo cada resposta está etiquetada com as
personalidades onde se enquadra.
Essa etiquetagem é realizada como no próximo exemplo onde facilmente se pode deduzir que
as perguntas só serão usadas pelo sistema quando a personalidade for agressiva ou bipolar.
<a aggressive='true' bipolar='true'>Mas estás a falar de quê?</a>
<a aggressive='true' bipolar='true'>Mas afinal o que é que queres saber?</a>
4.2.6. Outros comportamentos
Apesar de todo o progresso enumerado anteriormente, para se conseguir um comportamento visual
ainda mais natural e contínuo foi necessário complementar o agente e introduzir outros
comportamentos simples:

Movimentos da cabeça e olhares;

Piscares de olhos;

Concordância.
No decorrer de um diálogo nenhum dos intervenientes permanece sempre estático, ou seja,
em simultâneo com a fala decorre sempre alguma linguagem corporal. Essa corresponde a todos os
movimentos gestuais e de postura que fazem com que a comunicação seja mais efectiva. As acções
listadas quando combinadas com a fala e as emoções tornam a experiência de interacção com o
sistema bastante mais fluída e normal. O modo como cada uma foi implementada é descrito neste
capítulo.
Movimentos da cabeça e olhares
Quando o agente está activo a sua cabeça e olhar não permanecem imóveis. Em diálogo com o
utilizador ela vai oscilando subtilmente em várias direcções, embora o olhar se mantenha no centro do
monitor, onde se presume encontrar-se o utilizador. Quando no estado bored a cabeça oscila ainda
mais, sendo que nesse caso o olhar não fica fixo no utilizador. O cálculo desses movimentos é
Página 53
aleatório, o que os torna imprevisíveis. É através dos campos #X_Eyes#, #Y_Eyes#, #X_Head#,
#Y_Head# abordados no Capítulo 4.2.1, e que a aplicação preenche em tempo-real, que isso é
conseguido, tal como se pode verificar no próximo exemplo.
//Horizontal direction
if (Math.random() <= 0.4) {
//Look to the left
result = result.replaceAll("#X_Eyes#", "-" + x);
result = result.replaceAll("#X_Head#", "" + x);
} else {
//Look to the right
result = result.replaceAll("#X_Eyes#", "" + x);
result = result.replaceAll("#X_Head#", "-" + x);
}
//Vertical direction
if (Math.random() <= 0.4) {
//Look down
result = result.replaceAll("#Y_Eyes#", "-" + y);
result = result.replaceAll("#Y_Head#", "" + y);
} else {
//Look up
result = result.replaceAll("#Y_Eyes#", "" + y);
result = result.replaceAll("#Y_Head#", "-" + y);
}
Piscares de olhos
À semelhança do que acontece com a funcionalidade anterior, a aplicação calcula aleatoriamente o
número de piscares de olhos que o Duarte dá no decorrer do diálogo. Esse número varia entre 0, 1 e 2.
Concretamente há uma probabilidade menor do que 30% do Duarte piscar duas vezes os olhos.
Concordância
Na sequência da linguagem gestual que existe no decorrer de um diálogo, quando concordamos com
aquilo que nos estão a dizer é habitual acenarmos positivamente com a cabeça. Analogamente,
quando discordamos daquilo que nos está a ser dito é comum acenarmos negativamente.
Página 54
Partindo dessa ideia efectuou-se ainda outra etiquetagem das frases que se encaixam neste
conceito. Às respostas que concordam positivamente com a pergunta é atribuída a tag
agreement='yes', e às respostas que concordam negativamente com a respectiva pergunta é
associada a tag agreement='no'. A aplicação usa em tempo-real essas etiquetas para inferir se deve
mandar instruções que simulam esses gestos de concordância em conjunto com a frase proferida pelo
sistema. O código seguinte, que é parte do ficheiro VHML no.xml, ilustra essas instruções.
<!--speech (no) detected-->
<p>
<headmovement name='eyeslook@' xintensity='0' yintensity='0' slope='1'
duration='2'/>
</p>
<p>
<headmovement name='headlook@' xintensity='-10' yintensity='0' slope='1'
duration='.5'/>
<headmovement name='headlook@' xintensity='10' yintensity='0' slope='1'
duration='.5'/>
<headmovement name='headlook@' xintensity='-10' yintensity='0' slope='1'
duration='.5'/>
<headmovement name='headlook@' xintensity='0' yintensity='0' slope='1'
duration='.5'/>
</p>
Página 55
5. Resultados e avaliação
Em (Foster, 2007) são expostas avaliações de vários projectos, nomeadamente a REA, e é dito que este
tipo de sistemas é avaliado através da resposta dos utilizadores à saída gerada, podendo assumir duas
formas: o comportamento como um todo pode ser avaliado segundo um determinado contexto ou os
vários aspectos comportamentais podem ser avaliados separadamente.
A avaliação geral contempla três aspectos: a fluência da interacção com o utilizador, a sua
experiencia subjectiva, e a eficácia da aplicação no alcance dos seus objectivos. Já a avaliação de
aspectos individuais, tais como as emoções ou a personalidade, é necessária para inferir se os
comportamentos incorporados no agente são compreendidos pelos utilizadores segundo o que é
esperado.
Para efeitos de avaliação normalmente são gerados conteúdos a partir do sistema que são
depois estudados e analisados. Os autores evidenciam novamente que os ECAs de facto melhoram a
satisfação dos utilizadores e o envolvimento com os sistemas, podendo até influenciar a sua opinião
sobre objectos descritos por esses.
Para a avaliação deste tipo de sistemas em (Christoph, 2004) são descritas estratégias que se
encontram resumidas na Tabela 6.
Data collection method
Questionnaire
Survey
Yes
Interview
Yes
Experiment
Yes
Case study
Yes
Observation
Yes
Yes
Log files
Biological measures
Yes
Yes
Yes
Tabela 6. Estratégias e métodos para colecção de dados.
Após ponderação dos vários métodos, a avaliação do trabalho desenvolvido foi subdividida
em duas partes. A primeira (Capítulo 4.1) decorreu ao longo da etapa de caracterização de todas as
emoções do agente e a segunda (Capítulo 4.2) iniciou-se no final de todo trabalho de implementação.
Página 57
5.1. Emoções
Apesar das emoções terem sido avaliadas diversas vezes ao longo do seu processo de caracterização,
neste capítulo serão apenas apresentados os resultados respeitantes à avaliação das emoções no seu
estado final.
Como já foi referido anteriormente, o objectivo desta análise foi averiguar a fiabilidade da
caracterização emocional efectuada. Para isso preparou-se um questionário composto por 13
perguntas, em que as três primeiras correspondiam a questões pessoais. A cada uma das outras 10
havia um vídeo associado com uma determinada emoção. A sua estrutura total pode ser consultada
no Apêndice C.1.
A amostra total de pessoas foi de 29 elementos e segue-se os resultados obtidos em termos
percentuais:
100
100
80
80
59
60
60
35
40
69
20
20
0
Até 29 anos Entre 30 e 49
anos
31
40
7
0
Mais de 50
anos
Feminino
Masculino
Figura 29. Idade e sexo dos interrogados do questionário da primeira fase.
100
80
60
38
40
20
24
3
3
10
21
0
Cozinheiro/a
Engenheiro/a
Estudante
Funcionário/a Investigador(a)
público/a
Figura 30. Profissão dos interrogados do questionário da primeira fase.
Página 58
Professor(a)
100
83
80
60
40
20
3
14
0
Assustado Desconfiado
Enojado
Feliz
Surpreso
Triste
Zangado
100
100
80
60
40
20
0
Assustado Desconfiado
Enojado
Feliz
Surpreso
Triste
Zangado
Figura 31. Resultados da emoção anger (primeiro vídeo em cima; segundo vídeo em baixo).
90
100
80
60
40
20
3
3
3
Feliz
Surpreso
0
Assustado Desconfiado
Enojado
Triste
Zangado
Triste
Zangado
Figura 32. Resultados da emoção suspicion.
90
100
80
60
40
10
20
0
Assustado Desconfiado
Enojado
Feliz
Surpreso
Figura 33. Resultados da emoção joy.
Página 59
90
100
80
60
40
20
3
3
3
0
Assustado Desconfiado
100
Enojado
Feliz
Surpreso
Triste
Zangado
83
80
60
40
20
10
7
0
Assustado Desconfiado
Enojado
Feliz
Surpreso
Triste
Zangado
Figura 34. Resultados da emoção disgust (primeiro vídeo em cima; segundo vídeo em baixo).
100
76
80
60
40
20
10
3
0
0
Assustado Desconfiado
Enojado
7
Feliz
3
Surpreso
Triste
Zangado
Figura 35. Resultados da emoção surprise.
93
100
80
60
40
20
7
0
Assustado Desconfiado
Enojado
Feliz
Surpreso
Figura 36. Resultados da emoção sadness.
Página 60
Triste
Zangado
100
80
60
59
38
40
20
3
0
Assustado Desconfiado
Enojado
Feliz
Surpreso
Triste
Zangado
100
80
72
60
40
21
20
3
3
0
Assustado Desconfiado
Enojado
Feliz
Surpreso
Triste
Zangado
Figura 37. Resultados da emoção scared (primeiro vídeo em cima; segundo vídeo em baixo).
Nas figuras anteriores onde surgem dois gráficos, o primeiro refere-se aos resultados obtidos
quando os utilizadores vêem a emoção pela primeira vez e o segundo refere-se aos resultados obtidos
quando os utilizadores vêem a mesma emoção pela segunda vez, no mesmo questionário. Em todos
os casos essa segunda vez surge depois de todas as emoções terem aparecido. Como se pode verificar
a percepção emocional melhora quando o utilizador já viu todas as emoções.
Os níveis de sucesso na identificação emocional estão a seguir resumidos:

Anger: 92% (média);

Suspicion: 90%;

Joy: 90%;

Disgust: 87% (média);

Surprise 76%;

Sadness: 93%;

Fear: 66% (média).
As emoções mais confundidas (uma com a outra) foram a “surpresa” e o “medo”. Essa
confusão não foi surpreendente porque a literatura refere-a como frequente.
Página 61
A média de percentagens de identificação emocional bem-sucedida, conforme a lista anterior,
foi de 85%.
5.2. Duarte
Esta fase da avaliação teve início com a preparação de um cenário demonstrativo contemplando um
conjunto de grupos de perguntas de tipos distintos (domínio, pessoais, ofensas, etc). Posteriormente
usadas em interacções em tempo-real, com o sistema configurado com diferentes personalidades,
essas perguntas e outros eventos fizeram-no transitar para vários estados ao longo do tempo.
Criaram-se
vídeos
dessas
interacções
que
foram
incorporados
em
questionários
online
cuidadosamente elaborados. A escolha de questionários neste formato prendeu-se à possibilidade de
se reunir mais facilmente um conjunto maior de resultados. Esses inquéritos serviram para verificar a
percepção de emoções, comportamentos naturais e a noção de personalidades diferentes por parte
dos utilizadores. Finalmente, e de acordo com os resultados obtidos, esses questionários também
evidenciaram onde o trabalho pode ser melhorado.
Questionário A
A estrutura deste questionário pode ser consultada no Apêndice C.3 e as perguntas da interacção que
constou no mesmo podem ser vistas no Apêndice C.2. Com o Duarte configurado com uma
personalidade agressiva, vejamos os resultados percentuais da amostra composta por 18 elementos:
100
80
100
67
80
60
60
40
20
11
22
56
44
40
20
0
Até 29 anos Entre 30 e 49
anos
Mais de 50
anos
0
Feminino
Masculino
Figura 38. Idade e sexo dos interrogados do questionário A da segunda fase.
Página 62
100
80
60
44
40
22
11
20
11
11
Funcionário/a
público/a
Professor(a)
0
Consultor/a
Engenheiro/a
Estudante
Figura 39. Profissão dos interrogados do questionário A da segunda fase.
100
100
80
60
40
20
0
Assustado Desconfiado
Enojado
Feliz
Surpreso
Triste
Zangado
Figura 40. Resultados de parte da interacção onde predomina a emoção joy.
100
80
78
60
40
22
20
0
Assustado Desconfiado
Enojado
Feliz
Surpreso
Triste
Zangado
Figura 41. Resultados de partes da interacção onde predomina a emoção suspicion.
Página 63
100
89
80
60
40
20
11
0
Assustado Desconfiado
Enojado
Feliz
Surpreso
Triste
Zangado
100
100
80
60
40
20
0
Assustado Desconfiado
Enojado
Feliz
Surpreso
Triste
100
Zangado
78
80
60
40
22
20
0
Assustado Desconfiado
Enojado
Feliz
Surpreso
Triste
Zangado
Figura 42. Resultados de partes da interacção onde predomina a emoção anger.
100
80
67
60
40
20
22
11
0
Assustado Desconfiado
Enojado
Feliz
Surpreso
Triste
Zangado
Figura 43. Resultados de partes da interacção onde predomina a emoção disgust.
Página 64
100
100
78
80
78
80
60
60
40
40
22
20
0
0
Agressiva
Moderada
22
20
0
Muito
natural
Ingénua
Natural
Pouco
natural
Nada
natural
Figura 44. Personalidade e naturalidade percebidas pelos interrogados do questionário A da segunda fase.
Os níveis de sucesso na identificação emocional estão a seguir resumidos:

Joy: 100%;

Suspicion: 78%;

Disgust: 67%;

Anger: 89% (média).
A média de percentagens de identificação emocional bem-sucedida, conforme a lista anterior,
foi de 84%.
É curioso, e também estranho, verificar que a emoção disgust sofreu um decréscimo
percentual na correcta identificação. É provável que tenha sido confundida com a emoção anger
porque neste cenário o Duarte era agressivo nas suas respostas.
A percentagem de utilizadores que reconheceu que o Duarte tinha uma personalidade
agressiva foi de 78%, o suficiente para se considerar que essa personalidade foi bem conseguida.
Todos os utilizadores acharam que ao nível global o Duarte tinha um comportamento natural
ou muito natural, o que também revela sucesso na concretização dos objectivos propostos.
No que toca às opiniões dos interrogados, foi dito que o Duarte podia estar a ser agressivo
demais, apesar de incentivar e ser simpático quando questionado a propósito do domínio. Foi também
dito que nos momentos mortos o Duarte podia ter iniciativa e perguntar coisas.
Página 65
Questionário B
A estrutura deste questionário pode ser consultada no Apêndice C.3 e as perguntas da interacção que
constou no mesmo podem ser vistas no Apêndice C.2. Com o Duarte configurado com uma
personalidade moderada, era esperado analisar-se a percepção de emoções para esse caso, mas tal
não foi possível.
Questionário C
A estrutura deste questionário pode ser consultada no Apêndice C.3 e as perguntas da interacção que
constou no mesmo podem ser vistas no Apêndice C.2. Com o Duarte configurado com uma
personalidade ingénua, vejamos os resultados percentuais da amostra composta por 14 elementos:
100
100
71
80
80
60
60
29
40
57
43
40
20
20
0
Até 29 anos Entre 30 e 49
anos
0
Mais de 50
anos
Feminino
Masculino
Figura 45. Idade e sexo dos interrogados do questionário C da segunda fase.
100
80
60
36
40
20
14
21
14
14
Médico/a
Professor(a)
0
Consultor/a
Engenheiro/a
Estudante
Figura 46. Profissão dos interrogados do questionário C da segunda fase.
Página 66
100
100
80
60
40
20
0
Assustado Desconfiado
Enojado
Feliz
Surpreso
Triste
Zangado
Figura 47. Resultados de parte da interacção onde predomina a emoção joy.
100
86
80
60
40
20
14
0
Assustado Desconfiado
Enojado
Feliz
Surpreso
Triste
Zangado
100
100
80
60
40
20
0
Assustado Desconfiado
Enojado
Feliz
Surpreso
Triste
Zangado
100
100
80
60
40
20
0
Assustado Desconfiado
Enojado
Feliz
Surpreso
Triste
Zangado
Figura 48. Resultados de partes da interacção onde predomina a emoção sadness.
Página 67
100
86
80
60
40
14
20
0
Assustado Desconfiado
Enojado
Feliz
Surpreso
Triste
Zangado
Figura 49. Resultados de parte da interacção onde predomina a emoção surprise.
100
80
71
60
40
20
14
14
Surpreso
Triste
0
Assustado Desconfiado
Enojado
Feliz
Zangado
Figura 50. Resultados de parte da interacção onde predomina a emoção fear.
100
86
100
86
80
80
60
60
40
40
20
14
20
0
0
Agressiva
Moderada
14
Muito
natural
Ingénua
Natural
Pouco
natural
Nada
natural
Figura 51. Personalidade e naturalidade percebidas pelos interrogados do questionário C da segunda fase.
Os níveis de sucesso na identificação emocional estão a seguir resumidos:

Joy: 100%;

Sadness: 95% (média);

Surprise: 86%;

Fear: 71%.
Página 68
A média de percentagens de identificação emocional bem-sucedida, conforme a lista anterior,
foi de 88%.
A percentagem de utilizadores que reconheceu que o Duarte tinha uma personalidade
ingénua foi de 86%, mais uma vez o suficiente para se considerar que essa personalidade foi bem
conseguida.
Todos os utilizadores acharam que ao nível global o Duarte tinha um comportamento natural
ou muito natural, o que outra vez também revela sucesso na concretização dos objectivos propostos.
Quanto às opiniões dos interrogados, foi dito que o Duarte era vulnerável, sensível demais, e
que não inspirava muita confiança pois não parecia muito seguro.
No fim desta análise pode-se concluir que a implementação dos objectivos foi bem-sucedida.
Os utilizadores consideram que o Duarte manifesta um comportamento natural, reconhecem
correctamente as emoções e personalidade do Duarte, construindo opiniões diferentes em cenários
semelhantes.
Página 69
6. Conclusões
Vários artigos foram estudados a fim de se perceber que abordagens e funcionalidades caracterizam a
maioria dos ECAs e sistemas ditos emocionais. A aproximação da interacção com estes agentes à
interacção entre humanos é o objectivo base destes sistemas, sendo a naturalidade e credibilidade as
principais características pretendidas. Assim a concretização de uma correcta representação emocional
e de um comportamento geral credível foram as principais funcionalidades deste trabalho.
No Subcapítulo 6.1 é feito um apanhado das contribuições deste trabalho para a plataforma,
assim como uma ponte entre o que foi feito e o estado da arte – sumário da situação actual do
sistema. Depois no Subcapítulo 6.2 é feita uma previsão das características e funcionalidades que
podem ser introduzidas para progredir o trabalho já efectuado e melhorar ainda mais a plataforma
DIGA. Por fim, no Subcapítulo 6.3 tecem-se os comentários finais a este projecto.
6.1. Estado actual
Resumidamente, com este trabalho o sistema passou a incorporar:

Sete estados emocionais com uma elevada taxa de identificação bem-sucedida (assustado,
desconfiado, enojado, feliz, surpreso, triste e zangado);

Um renovado agente comportamental e emocional que reflecte esses sete estados
emocionais,
bem
como
os
estados
“aborrecido”
e
“adormecido”,
e
outros
comportamentos como por exemplo a concordância (ou discordância) com o diálogo
visível na cara;

Declínio emocional distinto para todas as emoções e variante com a personalidade;

Um reestruturado formato de ficheiro de domínio resultQA.xml que considera oito tipos
de questões (confusion, domain, neutral, offense, personal, threat, unexpectation e yuck) e
impactos emocionais diferentes (intensidades);

Uma abordagem simples ao conceito de personalidade, com o intuito de se possibilitar
comportamentos distintos para perguntas semelhantes;

Respostas condicionadas pelo tipo de personalidade.
Página 71
O conjunto de estados emocionais básicos foi seleccionado de acordo com (Ekman & Friesen,
1975) (Capítulo 2.1), e a esse acrescentou-se um outro estado – desconfiança. Para uma eficaz
representação emocional caracterizou-se cada um dos estados referidos segundo o sistema FACS
(Capítulo 2.1), as tabelas presentes em (Pelachaud, 2003) (Capítulo 2.1) e o contínuo feedback dos
utilizadores. Todos os sistemas analisados no decorrer do estado da arte, por exemplo o Galatea
(Capítulo 2.4), usam representações emocionais iguais ou parecidas à implementada. Ficou provado
pelos testes que essa solução foi uma mais-valia porque se obteve elevadas percentagens de correcta
identificação emocional.
À semelhança do que acontece com sistemas como a versão da Greta discutida no Capítulo
2.3 ou a REA (Capítulo 2.6), são eventos de diferentes tipos que influenciam o comportamento geral
do agente por intermédio do redesenhado módulo comportamental. Por outro lado e atendendo ao
tempo de vida de uma emoção o declínio emocional é calculado de acordo com a fórmula de Picard
(Capítulo 4.2.4). Já o formato VHML usado nas instruções que chegam ao Face vai de encontro à APML
usada por exemplo no sistema Greta. Confirmou-se que todas as contribuições efectuadas funcionam
como um todo, já que os utilizadores no geral classificaram o Duarte como “natural” e verificou-se que
apesar da simplicidade do conceito de personalidade desenvolvido, os seus objectivos foram atingidos
– os utilizadores correctamente associam personalidades distintas em interacções semelhantes.
Um fenómeno interessante e que ficou também perceptível é a influência que o
comportamento do Duarte tem na opinião e confiança que os utilizadores depositam no sistema, uma
vez que por exemplo o Duarte na sua versão tímida despromoveu a confiança dos utilizadores no
agente. Outra característica interessante é a relevância do diálogo social, já que frequentemente o
sistema é confrontando com perguntas de teor pessoal e social. É importante o sistema saber ter
resposta para esses casos.
Resumidamente, neste momento a plataforma DIGA é um sistema melhor, mais natural e
atractivo, mas também mais envolvente e intuitivo que o inicial. Pelos testes efectuados verificou-se
que os utilizadores envolvem-se e interessam-se bastante mais pelo sistema durante as interacções, o
que estimula e prolonga a sua duração, ou seja, são feitas mais perguntas.
Página 72
6.2. Trabalho futuro
É possível descrever um conjunto de propostas de melhoria do sistema actual. Assim sendo neste
subcapítulo apresentar-se-ão cinco sugestões para esse efeito.

Conjunção de emoções: É sabido que as pessoas são frequentemente invadidas por
conjuntos de emoções, pelo que muitas vezes exibem um estado emocional que é
composto por mais do que uma emoção. Efectivamente a conjunção de emoções é um
fenómeno habitual, podendo suscitar combinações de felicidade e surpresa, repugna e
medo ou tristeza e raiva. Seria interessante arranjar um mecanismo que permitisse a
evolução dos estados emocionais e do módulo Face a fim de se possibilitar a conjunção
de emoções;

Histórico interaccional e emocional: Os eventos passariam a ter um impacto mais
profundo. Por exemplo, se o sistema fosse confrontando com eventos desagradáveis
sucessivos, seria cada vez mais difícil reverter o estado emocional negativo resultante. Não
bastariam alguns eventos agradáveis para o Duarte voltar a estar bem-humorado;

Espontaneidade: Em vez de estar apenas disponível para responder ao que lhe é
perguntado, o sistema podia ser mais proactivo e na ausência de questões perguntar ou
falar ao utilizador sobre questões relacionados com o domínio, referir curiosidades ou
contar piadas;

Percepção espacial: Possibilitaria, por exemplo, que o sistema percebesse onde se
encontrava o utilizador. Essa localização talvez pudesse ser inferida através de uma
webcam ou um array de microfones. O Duarte poderia então acompanhar com o olhar o
utilizador enquanto esse se movesse;

Tomada de vez: Outra funcionalidade muito atractiva. A eficiência do sistema poderia
aumentar imenso com esta introdução. O Duarte passaria a deixar-se ser interrompido
pelo utilizador ou a reconhecer gestos que indiciassem o seu desejo de falar.
Página 73
6.3. Observações finais
Uma das fundamentais dificuldades deste trabalho resultou do facto de ter partido de uma plataforma
já existente. Para além de todo o trabalho associado a qualquer dissertação relativa a um novo
projecto, bastante tempo foi consumido no estudo da própria DIGA. A ajuda das pessoas que
participaram no desenvolvimento da mesma foi crucial na concretização deste projecto.
Por outro lado a subjectividade da principal temática do trabalho, as emoções, também o
dificultou. O processo de caracterização emocional foi bastante moroso.
Ainda assim, praticamente todos os objectivos inicialmente propostos no arranque do projecto
foram concretizados. Infelizmente, apenas não foi possível efectuar a avaliação do cenário do
questionário B (Apêndice C.2) na fase de testes, apesar de se encontrar totalmente criada a
personalidade moderada, e efectuar uma segunda avaliação dos três cenários com a inclusão do
declínio emocional.
Pelo que foi dito no Subcapítulo 6.2 não é lógico pensar-se que este sistema esteja algum dia
terminado, já que há sempre espaço para novas funcionalidades. Existirá, portanto, sempre espaço
para se introduzir melhorias e, por isso, espera-se que esta tese sirva de base para outros trabalhos.
Página 74
Bibliografia
Beskow, J. e McGlashan, S. 1997. Olga a conversational agent with gestures. Proceedings of the
IJCAI'97 workshop on animated interface agents - Making them intelligent. San Francisco, CA, USA :
Morgan Kaufmann Publishers, 1997.
Beun, R., de Vos, E. e Witteman, C. 2003. Embodied conversational agents: Effects on memory
performance and anthropomorphisation. Proceedings of the International Conference on Intelligent
Virtual Agents 2003. s.l. : Springer-Verlag, 2003. pp. 315–319.
Bickmore, T. W. e Picard, R. W. 2005. Establishing and maintaining long-term human-computer
relationships. ACM Transactions on Computer-Human Interaction (TOCHI). s.l. : ACM, 2005. Vols. 122, p. 327.
Cassell, J., Bickmore, T. W. e Billinghurst, M. N. 1999. Embodiment in conversational interfaces: Rea.
Proceedings of the SIGCHI conference on human factors in computing systems: The CHI is the limit, p.
520-527. New York, USA : ACM Press, 1999.
Cassell, J., et al. 2002. MACK: Media lab Autonomous Conversational Kiosk. Proceedings of IMAGINA
'02. Cambridge : MIT Media Lab, 15 de Dezembro de 2002.
Cassell, J., Vilhjálssom, H. H. e Bickmore, T. 2001. BEAT: the Behavior Expression Animation Toolkit.
Proceedings of the 28th annual conference on computer graphics and interactive techniques. New
York, USA : ACM New York, 2001. pp. 477-486.
Cavalluzzi, A., et al. 2003. Emotional dialogs with an embodied agent. Intelligent Interfaces,
Department of Informatics, University of Bari, Italy : s.n., 2003.
Christoph, N. 2004. Empirical evaluation methodology for embodied conversational agents. From
brows to trust: evaluating embodied conversational agents. Norwell, MA, USA : Kluwer Academic
Publishers, 2004. pp. 67-99.
Dias, J. e Paiva, A. 2005. Feeling and reasoning: A computational model for emotional characters.
Proceedings of 12th Portuguese Conference on Artificial Intelligence, EPIA 2005. 2005. pp. 127-140.
Página 75
Ekman, P. e Friesen, W. 1975. Unmasking the face: a guide to recognizing emotions from facial clues.
s.l. : Prentice-Hall, Inc., 1975.
Foster, M. E. 2007. Enhancing human-computer interaction with embodied conversational agents.
Lecture Notes in Computer Science. s.l., Germany : Springer, 2007.
Kawamoto, S., et al. 2002. Galatea: open-source software for developing anthropomorphic spoken
dialog agents. Proceedings of PRICAI-02, International Workshop on Lifelike Animated Agents. s.l. :
Citeseer, 2002. pp. 64-69.
Koda, T. 1996. Agents with faces: a study on the effect of personification of software agents. Tese de
mestrado não publicada. MIT Media Lab, Cambridge : s.n., 1996.
Mancini, M., Hartmann, B. e Pelachaud, C. Non-verbal behaviors expressivity and their
representation. PF-star report 3. University Paris VIII, IUT of Montreuil : s.n.
Marsi, E. e van Rooden, F. 2007. Expressing uncertainty with a talking head in a multimodal
question-answering system. Proceedings of the Workshop on Multimodal Output Generation.
Aberdeen, UK : s.n., 2007. pp. 105–116.
Martins, Filipe M. 2008. DIGA - Desenvolvimento de uma plataforma para criação de sistemas de
diálogo. Tese de mestrado não publicada. Instituto Superior Técnico, Universidade Técnica de Lisboa :
s.n., 2008.
Mourão, M. A. 2005. Gestão e representação de domínios em sistemas de diálogo. Tese de
mestrado. Instituto Superior Técnico, Universidade Técnica de Lisboa : s.n., 2005.
Ortony, A., Clore, G. e Collins, A. 1988. The cognitive structure of emotions. Cambridge : Cambridge
University Press, 1988.
Pelachaud, Catherine. 2003. Emotion expressiveness embedded in representation languages for
ECAs. IUT of Montreuil : LINC - Paragraphe, 28 de Novembro de 2003.
Thórisson, K. R. 1997. Layered modular action control for communicative humanoids. Computer
Animation '97. Geneva, Switzerland : IEEE Computer Society Press, 1997.
Viveiros, M. 2004. Cara Falante - Uma interface visual para um sistema de diálogo falado. Trabalho
Final de Curso. Instituto Superior Técnico, Universidade Técnica de Lisboa : s.n., 2004.
Página 76
Apêndice A
A.1. Lista completa de AUs do sistema FACS
AU
AU1
AU2
AU4
AU5
AU6
AU7
AU8
AU9
AU10
AU11
AU12
AU13
AU14
AU15
AU16
AU17
AU18
AU19
AU20
AU21
AU22
AU23
AU24
AU25
AU26
AU27
AU28
AU29
AU30
Name
Inner Brow Raiser
Outer Brow Raiser
Brow Lowerer
Upper Lid Raiser
Cheek Raiser & Lid Compressor
Lid Tightener
Lips Toward Each Other
Nose Wrinkler
Upper Lip Raiser
Nasolabial Furrow Deepener
Lip Corner Puller
Sharp Lip Puller
Dimpler
Lip Corner Depressor
Lower Lip Depressor
Chin Raiser
Lip Pucker
Tongue Show
Lip Stretcher
Neck Tightener
Lip Funneler
Lip Tightener
Lip Presser
Lips Part
Jaw Drop
Mouth Stretch
Lip Suck
Jaw Thrust
Jaw Sideways
AU
AU31
AU32
AU33
AU34
AU35
AU36
AU37
AU38
AU39
AU41
AU42
AU43
AU44
AU45
AU46
AU51
AU52
AU53
AU54
AU55
AU56
AU57
AU58
AU61
AU62
AU63
AU64
AU65
AU66
Name
Jaw Clencher
Lip Bite
Cheek Blow
Cheek Puff
Cheek Suck
Tongue Bulge
Lip Wipe
Nostril Dilator
Nostril Compressor
Lip Droop
Slit
Eyes Closed
Squint
Blink
Wink
Head Turn Left
Head Turn Right
Head Up
Head Down
Head Tilt Left
Head Tilt Right
Head Forward
Head Back
Eyes Turn Left
Eyes Turn Right
Eyes Up
Eyes Down
Walleye
Cross-eye
Tabela 7. Lista completa de AUs do sistema FACS.
Página 77
A.2. Mapeamento de AUs e músculos
O mapeamento entre AUs e os músculos que as concretizam encontra-se na lista a seguir.

AU1, Inner Brow Raiser – Frontalis (pars medialis);

AU2, Outer Brow Raiser – Frontalis (pars lateralis);

AU4, Brow Lowerer – Depressor glabellae, Depressor supercilii, Corrugator supercilii;

AU5, Upper Lid Raiser – Levator palpebrae superioris;

AU6, Cheek Raiser – Orbicularis oculi (pars orbitalis);

AU7, Lid Tightener – Orbicularis oculi (pars palpebralis);

AU9, Nose Wrinkler – Levator labii superioris alaeque nasi;

AU10, Upper Lip Raiser – Levator labii superioris, caput infraorbitalis;

AU11, Nasolabial Deepener – Zygomaticus minor;

AU12, Lip Corner Puller – Zygomaticus major;

AU13, Sharp Lip Puller – Levator anguli oris (also known as Caninus);

AU14, Dimpler – Buccinator;

AU15, Lip Corner Depressor – Depressor anguli oris (also known as Triangularis);

AU16, Lower Lip Depressor – Depressor labii inferioris;

AU17, Chin Raiser – Mentalis;

AU18, Lip Pucker – Incisivii labii superioris and Incisivii labii inferioris;

AU19, Tongue Out;

AU20, Lip stretcher – Risorius w/ platysma,

AU21, Neck Tightener – Platysma;

AU22, Lip Funneler – Orbicularis oris;

AU23, Lip Tightener – Orbicularis oris;

AU24, Lip Pressor – Orbicularis oris;

AU25, Lips part – Depressor labii inferioris or relaxation of Mentalis, or Orbicularis oris;

AU26, Jaw Drop – Masseter, relaxed Temporalis and internal pterygoid;

AU27, Mouth Stretch – Pterygoids, Digastric;

AU28, Lip Suck – Orbicularis oris;

AU29, Jaw Thrust;

AU30, Jaw Sideways;

AU31, Jaw Clencher – Masseter;

AU32, Lip Bite;

AU33, Cheek Blow;
Página 78

AU34, Cheek Puff;

AU35, Cheek Suck;

AU36, Tongue Bulge;

AU37, Lip Wipe;

AU38, Nostril Dilator;

AU39, Nostril Compressor;

AU41, Lid Droop;

AU42, Slit;

AU43, Eyes Closed – Relaxation of Levator palpebrae superioris; Orbicularis oculi (pars
palpebralis);

AU44, Squint;

AU45, Blink –
Relaxation of Levator palpebrae superioris; Orbicularis oculi (pars
palpebralis);

AU46, Wink – Relaxation of Levator palpebrae superioris; Orbicularis oculi (pars
palpebralis).
Página 79
Apêndice B
B.1. Lista completa de músculos
Elipsoidal
O único músculo deste tipo é o seguinte:

orbicularisOris.
Eye
O conjunto de músculos deste tipo é o seguinte:












cheekLeft;
cheekRight;
mouthLeft;
mouthRight;
OrbicularisOculiLeft;
OrbicularisOculiLeft2;
OrbicularisOculiLeft3;
OrbicularisOculiRight;
OrbicularisOculiRight2;
OrbicularisOculiRight3;
orbicularisOculiOrbitaLeft;
orbicularisOculiOrbitaRight.
Jaw
O conjunto de músculos deste tipo é o seguinte:


frontalisOuterLeft;
jawRotations.
Linear
O conjunto de músculos deste tipo é o seguinte:


alaequeNasiLeft;
alaequeNasiRight;
Página 81


























corrugatorLeft;
corrugatorRight;
depressorAnguliOrisLeft;
depressorAnguliOrisLeft2;
depressorAnguliOrisRight;
depressorAnguliOrisRight2;
frontalisInnerLeft;
frontalisMiddleLeft;
frontalisInnerRight;
frontalisMiddleRight;
frontalisOuterLeft;
frontalisOuterRight;
levatorLabiiSuperiorisLeft;
levatorLabiiSuperiorisLeft2;
levatorLabiiSuperiorisRight;
levatorLabiiSuperiorisRight2;
lowerLipDummie;
lowerLipDummie2;
procerusLeft;
procerusRight;
risoriusLeft;
risoriusRight;
upperLipdummie;
upperLipDummy2;
zygomaticusMajorLeft;
zygomaticusMajorRight.
Página 82
B.2. Ficheiros VHML
blink.xml
<?xml version='1.0' encoding='utf-8'?>
<vhml>
<!--blink-->
<p>
<headmovement name='eyeblink' duration='.3' nblink='1' slope='.1'/>
</p>
<p>
<emotion name='#EMOTION#' slope='1.0' intensity='#INTENSITY#'
duration='4'/>
</p>
</vhml>
bored.xml
<?xml version='1.0' encoding='utf-8'?>
<vhml>
<!--boredom detected-->
<p>
<headmovement name='eyeblink' duration='2' nblink='1' slope='.1'/>
</p>
<p>
<headmovement name='eyeslook@' xintensity='0' yintensity='0'
slope='1' duration='5'/>
</p>
<p>
<headmovement name='headlook@' xintensity='#X_Head#'
yintensity='#Y_Head#' slope='1' duration='5'/>
</p>
<p>
<emotion name='sleepy' slope='1.0' intensity='60' duration='4'/>
</p>
</vhml>
Página 83
look.xml
<?xml version='1.0' encoding='utf-8'?>
<vhml>
<!--look-->
<p>
<headmovement name='eyeblink' duration='.3' nblink='1' slope='.1'/>
</p>
<p>
<headmovement name='eyeslook@' xintensity='#X_Eyes#'
yintensity='#Y_Eyes#' slope='1' duration='2'/>
</p>
<p>
<headmovement name='headlook@' xintensity='#X_Head#'
yintensity='#Y_Head#' slope='1' duration='3'/>
</p>
<p>
<emotion name='#EMOTION#' slope='1.0' intensity='#INTENSITY#'
duration='5'/>
</p>
</vhml>
talk.xml
<?xml version="1.0" encoding="ISO-8859-1" ?>
<vhml>
<!--speech detected-->
<p>
<headmovement name='eyeslook@' xintensity='#X_Eyes#'
yintensity='#Y_Eyes#' slope='1' duration='2'/>
</p>
<p>
<headmovement name='headlook@' xintensity='#X_Head#'
yintensity='#Y_Head#' slope='1' duration='3'/>
</p>
<p>
<emotion name='#EMOTION#' slope='1.0' intensity='#INTENSITY#'
duration='4'/>
#TEXT#
</p>
</vhml>
Página 84
no.xml
<?xml version="1.0" encoding="ISO-8859-1" ?>
<vhml>
<!--speech (no) detected-->
<p>
<headmovement name='eyeslook@' xintensity='0' yintensity='0'
slope='1' duration='2'/>
</p>
<p>
<headmovement name='headlook@' xintensity='-10' yintensity='0'
slope='1' duration='.5'/>
<headmovement name='headlook@' xintensity='10' yintensity='0'
slope='1' duration='.5'/>
<headmovement name='headlook@' xintensity='-10' yintensity='0'
slope='1' duration='.5'/>
<headmovement name='headlook@' xintensity='0' yintensity='0'
slope='1' duration='.5'/>
</p>
<p>
<emotion name='#EMOTION#' slope='1.0' intensity='#INTENSITY#'
duration='4'/>
#TEXT#
</p>
</vhml>
sleeping.xml
<?xml version='1.0' encoding='utf-8'?>
<vhml>
<p>
<!--sleep detected-->
<emotion name='sleepy' slope='20' intensity='100'>
<headmovement name='headlook@' xintensity='0' yintensity=
'-40' slope='10' duration='3'/>
</emotion>
</p>
</vhml>
Página 85
look_eyes_only.xml
<?xml version='1.0' encoding='utf-8'?>
<vhml>
<!--look-->
<p>
<headmovement name='eyeslook@' xintensity='#X_Eyes#'
yintensity='#Y_Eyes#' slope='1' duration='2'/>
</p>
<p>
<emotion name='#EMOTION#' slope='1.0' intensity='#INTENSITY#'
duration='5'/>
</p>
</vhml>
yes.xml
<?xml version="1.0" encoding="ISO-8859-1" ?>
<vhml>
<!--speech (yes) detected-->
<p>
<headmovement name='eyeslook@' xintensity='0' yintensity='0'
slope='1' duration='2'/>
</p>
<p>
<headmovement name='headlook@' xintensity='0' yintensity='-10'
slope='1' duration='.5'/>
<headmovement name='headlook@' xintensity='0' yintensity='10'
slope='1' duration='.5'/>
<headmovement name='headlook@' xintensity='0' yintensity='-10'
slope='1' duration='.5'/>
<headmovement name='headlook@' xintensity='0' yintensity='0'
slope='1' duration='.5'/>
</p>
<p>
<emotion name='#EMOTION#' slope='1.0' intensity='#INTENSITY#'
duration='4'/>
#TEXT#
</p>
</vhml>
Página 86
Apêndice C
C.1. Questionário da primeira fase de avaliação
1. Dados pessoais
1) Idade (Escolha uma opção)

Até 29 anos

Entre 30 e 49 anos

50 anos ou mais
2) Sexo (Escolha uma opção)

Masculino

Feminino
3) Profissão (Resposta aberta)
2. Estados emocionais
4) Diria que no vídeo A o Duarte está… (Escolha uma opção)
4

Assustado

Desconfiado

Enojado

Feliz

Surpreso

Triste

Zangado
4
No questionário original esta pergunta repete-se para as questões 4 a 13 (vídeos A a J, respectivamente).
Página 87
C.2. Diálogos dos vídeos de interacção (Questionários A, B e C)

Olá. Eu sou o Duarte Digital. Gosto imenso de museus e agora estou a fazer um trabalho sobre
a Custódia de Belém. Faz-me perguntas sobre a Custódia de Belém! Vamos lá! (A – Agressivo;
B – Moderado; C – Ingénuo)
Domain

O que é a Custódia?

Custódia é o nome atribuído ao objecto que transporta as hóstias consagradas em algumas
celebrações da Religião Cristã. (A ; B ; C)

Porque é que se chama Custódia de Belém?

Esta peça chama-se Custódia de Belém porque esteve muito tempo no Mosteiro de Santa
Maria de Belém. Sabias que este Mosteiro é hoje designado por Mosteiro dos Jerónimos? (A;
B; C)

Quem é que a fez?

A Custódia de Belém foi feita por Gil Vicente, o ourives de Dona Leonor, irmã do Rei Dom
Manuel. Foi este que, juntamente com os artífices da sua oficina, construiu a Custódia de
Belém. (A; B; C)

Com que material foi construída? (Ausente no C)

Os materiais com que a Custódia de Belém foi construída são ouro e esmaltes e, no centro,
tem um viril de vidro. (A; B)
Confusion

Em quantos euros está avaliada a Custódia de Belém?

Eu não sei a resposta a essa pergunta! (A)

Desculpa, mas eu ainda não sei isso! (B)

Tenho tanta pena, mas não sei a resposta a essa pergunta! (C)

É verdade que Gil Vicente escreveu várias obras? Sabes me dar algum exemplo?

Sim, escreveu, mas agora não te sei dizer nenhuma! (A; B; C)

Porque é que não sabes?
Página 88

Ainda não estudei essa parte! (A)

Ainda não estudei essa parte. Mas prometo que vou estudá-la para a próxima te poder ajudar.
(B)

Desculpa, ainda não estudei isso! Mas prometo que vou estudá-la para a próxima te poder
ajudar. (C)

Afinal tu não percebes nada da Custódia de Belém.

Tu é que não sabes me fazer perguntas! (A)

Percebo pois! Faz lá mais perguntas! (B)

Não sejas assim comigo! É que não estou a perceber as tuas perguntas! (C)
Personal

O que é que fazes na vida? (Ausente no C)

Já te tinha dito que sou o Duarte Digital e tenho andado a estudar a Custódia de Belém! (A)

Eu sou o Duarte Digital e tenho andado a estudar a Custódia de Belém. Posso partilhar
contigo tudo o que aprendi. (B)

Quantos anos tens?

Não tenho que te responder a isso! (A)

Como nasci a 23 de Maio de 1991, tenho 17 anos. (B)

É simpático tentares me conhecer melhor! Tenho 17 anos e nasci a 23 de Maio de 1991! (C)

Onde fica a tua casa? (Ausente no A)

Eu actualmente moro dentro deste monitor, mas tenho visto vários muito mais giros. (B)

Tens piada! Eu como sou virtual moro dentro deste monitor! (C)

Quem é o teu pai? (Ausente no A)

O meu pai é um agente virtual tal como eu que percebe muito sobre geografia! (B)

O meu pai é um agente virtual que percebe muito sobre geografia! Estou a ver que és muito
curioso! (C)
Unexpectation

Gostas de ir ao cinema?

Sim, mas nem comento! Não estou aqui para isso! Que raio de perguntas tu me fazes!
Questiona-me sobre a Custódia! (A)
Página 89

Sim, adoro cinema, mas não posso sair deste monitor! (B)

És demais! Adoro cinema, tenho vários filmes preferidos! (C)

Diz-me um dos teus filmes favoritos. (Ausente no A)

Gostei do Substitutos! Quem me dera ter tal tecnologia! (B)

És tão inesperado! Adorei o Substitutos! Gostava de ser feito de tal tecnologia! (C)
Timeout… (Ausente no C)

Acorda Duarte! (Ausente no C)

Ninguém me pergunta nada! É normal que adormeça! (A)

Desculpa, adormeci! Pergunta-me coisas! (B)
Offense

Já estou farto de ti.

Tens bom remédio! Vai-te embora! (A)

Não me agrada que sejas malcriado! (B)

Assim ofendes-me! (C)

Não vales nada!

Pela minha parte podes ir embora, porque não suporto pessoas mal-educadas. (A)

Estás a ser mal-educado! (B)

Deixas-me triste! (C)

És mesmo parvo!

Já olhaste para ti? (A)

Não é preciso ser malcriado! (B)

Por favor não chames nomes! Fico triste! (C)
Yuck

Vai pentear macacos!

Parvo! Nem há macacos aqui! (A)

Não sejas porco! E também não há macacos aqui! (B)

Não sejas assim para mim! E também nem há macacos aqui! (C)

Podes sempre ir buscá-los ao nariz!
Página 90

Que porcaria! Essa nem merece resposta! (A)

Mas que porcaria! (B)

Olha que porcaria! Estás sempre a ser desagradável comigo! (C)
Threat

Vou te encher de vírus?

Tu não te atrevas a fazer isso! (A)

Não faças isso por favor! (B)

Por que farias isso? Sou tão simpático para ti! (C)

E se desligar o computador?

Não tenho medo de ti! (A)

Não faças isso, não te estou a prejudicar! (B)

Por favor não faças isso, tenho sido tão educado e estás-me a deixar incomodado. (C)
Confusion

Adeus Duarte.

Adeus! (A)

Não queres mesmo perguntar mais nada? Não vás! (B)

Já te vais embora? Por favor fica mais um pouco! (C)

Olha, vou mesmo embora!

Já não fazes cá falta! (A)

Então adeus! Quando quiseres volta! (B)

Fico com pena! Volta assim que puderes! (C)
Legenda:

Utilizador

Duarte
Página 91
C.3. Questionário (A, B e C) da segunda fase de avaliação
1. Dados pessoais
1) Idade (Escolha uma opção)

Até 29 anos

Entre 30 e 49 anos

50 anos ou mais
2) Sexo (Escolha uma opção)

Masculino

Feminino
3) Profissão (Resposta aberta)
2. Estados emocionais
4) Diria que no final da parte 1 o Duarte está… (Escolha uma opção)

Assustado

Desconfiado

Enojado

Feliz

Surpreso

Triste

Zangado
5
3. Personalidade e comportamento
10) Após observar o Duarte penso que nesta interacção ele tem uma personalidade...
(Escolha uma opção)
5

Agressiva

Moderada

Ingénua
No questionário original esta pergunta repete-se para as questões 4 a 9 (partes 1 a 6, respectivamente).
Página 92
11) Considero que o comportamento geral do Duarte é… (Escolha uma opção)

Muito natural

Natural

Pouco natural

Nada natural
4. Observações
12) Qual é a sua opinião relativamente ao Duarte? (Resposta aberta)
Página 93