Página i
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
Gostaria de agradecer a todos do grupo L2F, 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 iii
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 cara-
a-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
desenvolvida no Laboratório de Língua Falada (L2F) 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 v
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
(L2F) 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 vii
Índice
1. Introdução .............................................................................................................................................................................. 1
1.1. Agentes artificiais ...................................................................................................................................................... 1
1.2. Objectivos propostos ............................................................................................................................................... 5
1.3. Organização da dissertação .................................................................................................................................. 5
2. 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
3. DIGA ....................................................................................................................................................................................... 25
3.1. Face .............................................................................................................................................................................. 25
3.2. Gestor de diálogo e QA@L2F ............................................................................................................................ 28
4. Desenvolvimentos ............................................................................................................................................................ 33
4.1. Face .............................................................................................................................................................................. 33
4.1.1. Caracterização emocional .............................................................................................................................. 34
4.2. 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 viii
4.2.4. Declínio emocional ........................................................................................................................................... 50
4.2.5. Personalidade...................................................................................................................................................... 51
4.2.6. Outros comportamentos ................................................................................................................................ 53
5. Resultados e avaliação.................................................................................................................................................... 57
5.1. Emoções ..................................................................................................................................................................... 58
5.2. Duarte ......................................................................................................................................................................... 62
6. 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 ix
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 x
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 xi
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 xiii
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
L2F Laboratório de Língua Falada
MNAA Museu Nacional de Arte Antiga
VHML Virtual Human Markup Language
Página 1
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
produzido no L2F/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 2
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 3
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 4
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 5
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 6
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 7
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 8
Emotion Action Units
Anger AU2 + AU4 + AU5 + AU10 + AU20 + AU24
Disgust AU4 + AU9 + AU10 + AU17
Fear AU1 + AU2 + AU4 + AU5 + AU7 + AU15 + AU20 + AU25
Happiness AU6 + AU11 + AU12 + AU25
Sadness AU1 + AU4 + AU7 + AU15
Surprise AU1 + AU2 + AU5 + AU26 + rotate-jaw
Tabela 1. Emoções e AUs correspondentes (Pelachaud, 2003).
AU Name AU Name
AU1 Inner Brow Raiser AU15 Lip Corner Depressor
AU2 Outer Brow Raiser AU17 Chin Raiser
AU4 Brow Lowerer AU19 Tongue Show
AU5 Upper Lid Raiser AU20 Lip Stretcher
AU7 Lid Tightener AU24 Lip Presser
AU9 Nose Wrinkler AU25 Lips Part
AU10 Upper Lip Raiser AU26 Jaw Drop
AU11 Nasolabial Furrow Deepener AU45 Blink
AU12 Lip Corner Puller AU58 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 9
2.2. Plataforma DIGA
A plataforma DIGA (Martins, 2008) (Figura 2) é constituída por oito módulos:
Asterisk PBX
Face
STAR
JVXML
QA@L2F
Audimus
Dixi
JSA
PI 2.0
GJT
AP
I
Base
En
gin
e
1 *
1 *G
est
or
de
Serv
iço
s
1 *
Base
En
gin
e
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 10
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 tempo-
real, 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 11
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 12
Domínio teste – Conselheiro alimentar
No âmbito do MagiCster1, 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 13
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 Eating-
TooMuch)) 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:
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
0
0,5
1
1,5
2
2,5
0 1 2 3 4 5 6 7 8
Intensidade
Tempo
Fear
Hope
Joy
Sorry-for
Página 14
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 15
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 16
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
cada fonema3. 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 17
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 18
Módulo receptor Mensagem
Animação do
personagem state(understood)
Interface de
manipulação directa
show([[manufacturer=electrolux,model=NF90,price=1500,
grill:yes,…], [manufacturer=matsushita,…]])
Animação do
personagem
state(regret);
say(Unfortunately, Whirlpool does not have cheap ovens
with a grill.)
Animação do
personagem
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 19
Input Manager
Input Devices
Understanding Module
Response Planner
Generation Module
Reaction Module
Action Scheduler
Output Devices
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 20
State User input Input function
REA speaking Gesture Wanting turn
Speech Taking turn
User speaking
Pause of <500 msec Wanting feedback
Imperative phrase Giving turn
Interrogative phrase Giving turn
Declarative phrase & pause >500 msec & no gesture Giving turn
Declarative phrase & long gesture or pause Holding turn
Tabela 4. Interpretação funcional das entradas relativas à tomada de vez.
State Output function Behaviors
User present
Open interaction Look at user. Smile. Headtoss.
Attend Face user.
End of interaction Turn away.
Greet Wave, “hello”.
REA speaking Give turn Relax hands. Look at user. Raise eyebrows.
Signoff Wave, “bye.
User speaking
Give feedback Nod head. Paraverbal.
Want turn Look at user. Raise hands. Paraverbal, “umm”.
Take turn 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 21
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
Speech Recognition
Understanding Module
Reaction ModuleGeneration
Module
Database
Animation Module
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.
Behavior Generation
Discourse Model
Language Tagging
Knowledge Base
Behavior Suggestion
Behavior Selection
Generator Set
Filter Set
Behavior Scheduling
Word Timing
Translator
Animation
Figura 14. BEAT.
Página 22
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 23
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 24
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 25
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 26
O ficheiro emotions possui os dados de todos os músculos associados a cada emoção, tal
como se verifica no próximo excerto.
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.
<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>
<muscle name="zygomaticusMajorLeft">
<type>LINEAR</type>
<maxvalue>0.024999999999999998</maxvalue>
<minvalue>0.0</minvalue>
Página 27
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.
<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>
Página 28
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 29
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;
<?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>
Página 30
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.
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
0
20
40
60
80
100
0 2 4 6Tempo
Página 31
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 33
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
identificação e percepção do teor do diálogo à expressão de emoções em tempo-real.
Asterisk PBX
Face
STAR
JVXML
QA@L2F
Audimus
DixiJSA
PI 2.0
GJT
AP
I Base
En
gin
eB
ase
En
gin
e
1 *
1 *
Gest
or
de
Serv
iço
s
1 *
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 34
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 Action Units
anger AU2 + AU4 + AU5 + AU10 + AU20 + AU24
Onde:
AU Name AU Name
AU2 Outer Brow Raiser AU10 Upper Lip Raiser
AU4 Brow Lowerer AU20 Lip Stretcher
AU5 Upper Lid Raiser AU24 Lip Presser
Página 35
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 36
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 Action Units
disgust AU4 + AU9 + AU10 + AU17
Onde:
AU Name AU Name
AU4 Brow Lowerer AU10 Upper Lip Raiser
AU9 Nose Wrinkler AU17 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 37
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 Action Units
fear AU1 + AU2 + AU4 + AU5 + AU7 + AU15 + AU20 + AU25
Onde:
AU Name AU Name
AU1 Inner Brow Raiser AU7 Lip Tightener
AU2 Outer Brow Raiser AU15 Lip Corner Depressor
AU4 Brow Lowerer AU20 Lip Stretcher
AU5 Upper Lid Raiser AU25 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.
<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>
Página 38
Figura 20. Fear.
Cuja composição muscular resultou no seguinte conjunto:
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.
<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>
Página 39
Segundo o FACS:
Emotion Action Units
happiness AU6 + AU11 + AU12 + AU25
Onde:
AU Name AU Name
AU6 Cheek Raiser & Lid Compressor AU12 Lip Corner Puller
AU11 Nasolabial Furrow Deepener AU25 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 40
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 Name AU Name
AU1 Inner Brow Raiser AU7 Lid Tightener
AU4 Brow Lowerer AU15 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:
</muscles>
</emotion>
Página 41
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 Name AU Name
AU1 Inner Brow Raiser AU5 Upper Lid Raiser
AU2 Outer Brow Raiser AU26 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.
<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>
Página 42
Figura 23. Surprise.
Cuja composição muscular resultou no seguinte conjunto:
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).
<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>
Página 43
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:
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
<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>
Página 44
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.
Speaking
Bored
Sleeping
Bored timeout Sleep timeout
User input
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 45
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.
Anger
Disgust
Joy
Fear
Sadness
Surprise
Suspicion
User input
Figura 26. Máquina de estados do nível de comportamento emocional.
Página 46
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 47
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:
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;
<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>
Página 48
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 49
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;
0
20
40
60
80
100
0 1 2 3 4 5
Intensidade
Tempo
Joy
Neutral
Sadness
Página 50
Específico – Particulariza o impacto de determinadas frases e sobrepõe-se ao valor
atribuído pelo nível geral.
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
<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>
Página 51
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.
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
0
20
40
60
80
100
0 1 2 3 4 5 6 7 8
Intensidade
Tempo
Anger
Página 52
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:
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
<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>
Página 53
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.
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 é
<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>
Página 54
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.
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.
//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);
}
Página 55
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 57
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 Survey Experiment Case study
Questionnaire Yes Yes
Interview Yes Yes
Observation Yes Yes
Log files Yes
Biological measures 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 58
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:
Figura 29. Idade e sexo dos interrogados do questionário da primeira fase.
Figura 30. Profissão dos interrogados do questionário da primeira fase.
59
35
7
0
20
40
60
80
100
Até 29 anos Entre 30 e 49
anos
Mais de 50
anos
31
69
0
20
40
60
80
100
Feminino Masculino
3
24
38
3 10
21
0
20
40
60
80
100
Cozinheiro/a Engenheiro/a Estudante Funcionário/a
público/a
Investigador(a) Professor(a)
Página 59
Figura 31. Resultados da emoção anger (primeiro vídeo em cima; segundo vídeo em baixo).
Figura 32. Resultados da emoção suspicion.
Figura 33. Resultados da emoção joy.
3 14
83
0
20
40
60
80
100
Assustado Desconfiado Enojado Feliz Surpreso Triste Zangado
100
0
20
40
60
80
100
Assustado Desconfiado Enojado Feliz Surpreso Triste Zangado
3
90
3 3
0
20
40
60
80
100
Assustado Desconfiado Enojado Feliz Surpreso Triste Zangado
90
10
0
20
40
60
80
100
Assustado Desconfiado Enojado Feliz Surpreso Triste Zangado
Página 60
Figura 34. Resultados da emoção disgust (primeiro vídeo em cima; segundo vídeo em baixo).
Figura 35. Resultados da emoção surprise.
Figura 36. Resultados da emoção sadness.
3 3
90
3
0
20
40
60
80
100
Assustado Desconfiado Enojado Feliz Surpreso Triste Zangado
7
83
10
0
20
40
60
80
100
Assustado Desconfiado Enojado Feliz Surpreso Triste Zangado
10 3 0
7
76
3
0
20
40
60
80
100
Assustado Desconfiado Enojado Feliz Surpreso Triste Zangado
7
93
0
20
40
60
80
100
Assustado Desconfiado Enojado Feliz Surpreso Triste Zangado
Página 61
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.
59
3
38
0
20
40
60
80
100
Assustado Desconfiado Enojado Feliz Surpreso Triste Zangado
72
3
21
3
0
20
40
60
80
100
Assustado Desconfiado Enojado Feliz Surpreso Triste Zangado
Página 62
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:
Figura 38. Idade e sexo dos interrogados do questionário A da segunda fase.
67
11 22
0
20
40
60
80
100
Até 29 anos Entre 30 e 49
anos
Mais de 50
anos
44
56
0
20
40
60
80
100
Feminino Masculino
Página 63
Figura 39. Profissão dos interrogados do questionário A da segunda fase.
Figura 40. Resultados de parte da interacção onde predomina a emoção joy.
Figura 41. Resultados de partes da interacção onde predomina a emoção suspicion.
11 22
44
11 11
0
20
40
60
80
100
Consultor/a Engenheiro/a Estudante Funcionário/a
público/a
Professor(a)
100
0
20
40
60
80
100
Assustado Desconfiado Enojado Feliz Surpreso Triste Zangado
78
22
0
20
40
60
80
100
Assustado Desconfiado Enojado Feliz Surpreso Triste Zangado
Página 64
Figura 42. Resultados de partes da interacção onde predomina a emoção anger.
Figura 43. Resultados de partes da interacção onde predomina a emoção disgust.
11
89
0
20
40
60
80
100
Assustado Desconfiado Enojado Feliz Surpreso Triste Zangado
100
0
20
40
60
80
100
Assustado Desconfiado Enojado Feliz Surpreso Triste Zangado
22
78
0
20
40
60
80
100
Assustado Desconfiado Enojado Feliz Surpreso Triste Zangado
11
67
22
0
20
40
60
80
100
Assustado Desconfiado Enojado Feliz Surpreso Triste Zangado
Página 65
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.
78
22
0 0
20
40
60
80
100
Agressiva Moderada Ingénua
22
78
0
20
40
60
80
100
Muito
natural
Natural Pouco
natural
Nada
natural
Página 66
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:
Figura 45. Idade e sexo dos interrogados do questionário C da segunda fase.
Figura 46. Profissão dos interrogados do questionário C da segunda fase.
71
29
0
20
40
60
80
100
Até 29 anos Entre 30 e 49
anos
Mais de 50
anos
57
43
0
20
40
60
80
100
Feminino Masculino
14 21
36
14 14
0
20
40
60
80
100
Consultor/a Engenheiro/a Estudante Médico/a Professor(a)
Página 67
Figura 47. Resultados de parte da interacção onde predomina a emoção joy.
Figura 48. Resultados de partes da interacção onde predomina a emoção sadness.
100
0
20
40
60
80
100
Assustado Desconfiado Enojado Feliz Surpreso Triste Zangado
14
86
0
20
40
60
80
100
Assustado Desconfiado Enojado Feliz Surpreso Triste Zangado
100
0
20
40
60
80
100
Assustado Desconfiado Enojado Feliz Surpreso Triste Zangado
100
0
20
40
60
80
100
Assustado Desconfiado Enojado Feliz Surpreso Triste Zangado
Página 68
Figura 49. Resultados de parte da interacção onde predomina a emoção surprise.
Figura 50. Resultados de parte da interacção onde predomina a emoção fear.
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%.
14
86
0
20
40
60
80
100
Assustado Desconfiado Enojado Feliz Surpreso Triste Zangado
71
14 14
0
20
40
60
80
100
Assustado Desconfiado Enojado Feliz Surpreso Triste Zangado
14
86
0
20
40
60
80
100
Agressiva Moderada Ingénua
14
86
0
20
40
60
80
100
Muito
natural
Natural Pouco
natural
Nada
natural
Página 69
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 71
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 72
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 73
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 74
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 75
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. 12-
2, 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 76
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 77
Apêndice A
A.1. Lista completa de AUs do sistema FACS
AU Name AU Name
AU1 Inner Brow Raiser AU31 Jaw Clencher
AU2 Outer Brow Raiser AU32 Lip Bite
AU4 Brow Lowerer AU33 Cheek Blow
AU5 Upper Lid Raiser AU34 Cheek Puff
AU6 Cheek Raiser & Lid Compressor AU35 Cheek Suck
AU7 Lid Tightener AU36 Tongue Bulge
AU8 Lips Toward Each Other AU37 Lip Wipe
AU9 Nose Wrinkler AU38 Nostril Dilator
AU10 Upper Lip Raiser AU39 Nostril Compressor
AU11 Nasolabial Furrow Deepener AU41 Lip Droop
AU12 Lip Corner Puller AU42 Slit
AU13 Sharp Lip Puller AU43 Eyes Closed
AU14 Dimpler AU44 Squint
AU15 Lip Corner Depressor AU45 Blink
AU16 Lower Lip Depressor AU46 Wink
AU17 Chin Raiser AU51 Head Turn Left
AU18 Lip Pucker AU52 Head Turn Right
AU19 Tongue Show AU53 Head Up
AU20 Lip Stretcher AU54 Head Down
AU21 Neck Tightener AU55 Head Tilt Left
AU22 Lip Funneler AU56 Head Tilt Right
AU23 Lip Tightener AU57 Head Forward
AU24 Lip Presser AU58 Head Back
AU25 Lips Part AU61 Eyes Turn Left
AU26 Jaw Drop AU62 Eyes Turn Right
AU27 Mouth Stretch AU63 Eyes Up
AU28 Lip Suck AU64 Eyes Down
AU29 Jaw Thrust AU65 Walleye
AU30 Jaw Sideways AU66 Cross-eye
Tabela 7. Lista completa de AUs do sistema FACS.
Página 78
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 79
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 81
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 82
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 83
B.2. Ficheiros VHML
blink.xml
bored.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>
<?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 84
look.xml
talk.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>
<?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 85
no.xml
sleeping.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>
<?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 86
look_eyes_only.xml
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>
<?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>
Página 87
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 88
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 89
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 90
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 91
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 92
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)5
Assustado
Desconfiado
Enojado
Feliz
Surpreso
Triste
Zangado
3. Personalidade e comportamento
10) Após observar o Duarte penso que nesta interacção ele tem uma personalidade...
(Escolha uma opção)
Agressiva
Moderada
Ingénua
5 No questionário original esta pergunta repete-se para as questões 4 a 9 (partes 1 a 6, respectivamente).
Página 93
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)