iAIML:
RECIFE, FEVEREIRO/2005
iAIML:
um Mecanismo para o Tratamento de Inteno em Chatterbots
RECIFE, FEVEREIRO/2005
CDD (22.ed.)
I. Ttulo.
MEI2008-087
AGRADECIMENTOS
minha famlia, por sua compreenso nos momentos em que precisei estar ausente para
elaborao deste trabalho.
minha orientadora, Prof. Dra. Flvia de Almeida Barros, por sua pacincia e dedicao
durante todo o processo de definio e orientao.
Ao Prof. Dr. Geber Ramalho, pelos momentos de aconselhamento que muito contriburam
para o resultado final deste trabalho.
Ao Prof. Dr. Jacques Robin, por suas crticas que tanto contriburam para a formulao
deste documento.
Ao Prof. Dr. Luiz Antnio Marcuschi, pelos encontros que iluminaram os caminhos para a
soluo adotada.
Ao Prof. Dr. Paulo Carneiro da Cunha e a todos que participam do Virtus, laboratrio de
hipermdia da UFPE, pela convivncia que influenciou diretamente a construo dos
princpios epistemolgicos que guiaram todo o trabalho.
Aos estudantes, professores e funcionrios do Departamento de Design da UFPE, que
souberam aguardar com pacincia o retorno s minhas atividades.
RESUMO
NEVES, Andr M. M. iAIML: um mecanismo para o tratamento de inteno em
Chatterbots. 2005. 120 f. Tese (Doutorado em Cincia da Computao) Ps-Graduao
em Cincia da Computao, Centro de Informtica, Universidade Federal de Pernambuco,
Recife, 2008.
ABSTRACT
SUMRIO
1. Introduo...........................................................................................................
1.1 Trabalho realizado...........................................................................................
1.2 Estrutura do documento..................................................................................
16
19
23
2. Chatterbots.........................................................................................................
2.1 Chatterbots e Processamento de Linguagem Natural.....................................
2.1.1 Primeira gerao....................................................................................
2.1.2 Segunda gerao....................................................................................
2.1.3 Terceira gerao.....................................................................................
2.2 Teoria da Anlise da Conversao..................................................................
2.2.1 Organizao global da conversao.......................................................
2.2.2 Organizao local da conversao.........................................................
2.3 Anlise de chatterbots segundo a TAC...........................................................
2.3.1 Procedimento de anlise.........................................................................
2.3.2 Definio do objeto de anlise...............................................................
2.3.3 Resultados da anlise.............................................................................
2.4 Concluses.......................................................................................................
25
26
28
31
35
43
44
45
47
47
48
49
54
3. Intencionalidade..................................................................................................
3.1 Abordagens lingusticas para tratamento de inteno......................................
3.1.1 Pragmtica e semitica............................................................................
3.1.2 Pragmtica conversacional (Mximas de Grice)....................................
3.1.3 Pragmtica ilocucional (Atos de Fala)....................................................
3.1.4 Pragmtica dialgica...............................................................................
3.1.5 Pragmtica e teoria da anlise da conversao.......................................
3.2 Sistemas para reconhecimento de inteno......................................................
3.2.1 Intenes locais.......................................................................................
3.2.2 Intenes emergentes..............................................................................
3.2.3 Intenes paralelas..................................................................................
3.3 Concluses.......................................................................................................
57
58
58
59
60
62
62
63
64
65
66
66
69
74
74
72
75
77
77
79
83
83
85
88
5. Experimentos e aplicaes.................................................................................
5.1 Experimentos...................................................................................................
5.1.1 Experimento aberto................................................................................
5.1.2 Avaliao de desempenho por um especialista......................................
5.2 Aplicaes.......................................................................................................
5.2.1 Liberbot..................................................................................................
5.2.2 Animotrnicos........................................................................................
5.2.3 Virtusbot.................................................................................................
5.3 Concluses......................................................................................................
90
91
91
94
97
97
100
103
103
6. Concluses...........................................................................................................
6.1 Contribuies...................................................................................................
6.2 Crticas.............................................................................................................
6.3 Trabalhos futuros.............................................................................................
6.4 Consideraes finais........................................................................................
105
106
107
107
108
Referncias Bibliogrficas.....................................................................................
110
NDICE DE FIGURAS
Figura 2.1
Figura 2.2
Figura 2.3
Figura 2.4
27
29
32
35
NDICE DE TABELAS
Tabela 2.1
Tabela 2.2
Tabela 2.3
Tabela 2.4
Tabela 2.5
Tabela 2.6
Tabela 2.10
Tabela 4.1
Tabela 4.2
Tabela 5.1a
Tabela 5.1b
Tabela 5.2
29
29
33
33
33
48
55
74
84
93
93
94
NDICE DE EXEMPLOS
Exemplo 1.1
Exemplo 1.2
Exemplo 2.1
Exemplo 2.2
Exemplo 2.3
Exemplo 2.4
Exemplo 2.5
Exemplo 2.6
Exemplo 2.7
Exemplo 2.8
Exemplo 2.9
Exemplo 2.10
Exemplo 2.11
Exemplo 2.12
Exemplo 2.13
Exemplo 2.14
Exemplo 2.15
Exemplo 2.16
Exemplo 2.17
Exemplo 2.18
Exemplo 2.19
Exemplo 2. 20
Exemplo 2.21
Exemplo 2.22
Exemplo 2.23
Exemplo 3.1
Exemplo 3.2
Exemplo 4.1a
Exemplo 4.1b
Exemplo 4.1c
Exemplo 4.1d
Exemplo 4.2a
Exemplo 4.2b
Exemplo 4.2c
Exemplo 4.3
Exemplo 4.3a
Exemplo 4.3b
Exemplo 4.3c
Exemplo 4.3d
Exemplo 4.3e
Exemplo 4.3f
Exemplo 4.4a
Exemplo 4.4b
Exemplo 4.5
17
19
36
37
37
38
38
39
39
40
41
41
42
42
45
49
50
50
51
51
52
53
53
54
54
64
66
72
73
73
74
75
76
76
78
79
80
80
82
82
83
86
87
88
Exemplo 5.1
Exemplo 5.2
Exemplo 5.3
Exemplo 5.4
Exemplo 5.5
Exemplo 5.6
92
95
96
96
99
102
NDICE DE QUADROS
Quadro 4.1
Quadro 4.2a
Quadro 4.2b
Quadro 4.3c
Classes de "inteno"......................................................................
Classes de abertura..........................................................................
Classes de abertura..........................................................................
Classes de fechamento....................................................................
72
81
81
81
GLOSSRIO DE TERMOS
Intrprete. Aquele que traduz a outrem na lngua que este fala a vontade e as
intenes de outrem.
Diticos. Elementos da enunciao que recebem determinado sentido por sua
relao com o que representam no momento que so enunciados, por exemplo, isto, aquilo,
este, etc.
Pragmtica. O estudo das relaes entre as mensagens e os sujeitos, cabendo ento
a pragmtica, o estudo da inteno.
Semitica. Cincia que estuda a interpretao de signos ou mensagens.
1. Introduo
17
18
19
20
21
Iniciamos esses testes com um experimento aberto, onde usurios puderam conversar
livremente com dois chatterbots, sendo um deles com a base AIML padro e o outro com a
base AIML modificada com informaes de intencionalidade. Em seguida, convidamos um
especialista em conversao para avaliar o desempenho dos chatterbots, a partir dos
dilogos entre os usurios e os chatterbots. A eficincia do mecanismo que desenvolvemos,
foi avaliada verificando a forma como o nosso sistema utilizou a informao de inteno
durante os dilogos.
Os resultados dos experimentos demonstraram que o uso de informaes de
intencionalidade pode melhorar qualitativamente os dilogos com chatterbots. Por
exemplo, no nvel global o sistema capaz de controlar com eficincia o andamento do
dilogo, e no nvel local, o sistema forma pares adjacentes consistentes, mesmo em
situaes onde a sentena do usurio no reconhecida.
Como parte desse trabalho, implementamos trs aplicaes que demonstram a
aplicabilidade da soluo adotada: (1) um chatterbot que auxilia usurios a localizar
documentos em um banco de teses e dissertaes; (2) um ambiente com dois chatterbots
que conversam um com o outro sobre temas diversos, agindo como atores autnomos; e,
(3) um sistema para aprendizagem de lnguas estrangeiras baseado em chatterbots. Durante
o desenvolvimento dessas aplicaes, ficou claro que o fato da base estar estruturada de
acordo com a inteno favorece o trabalho de planejamento de novos chatterbots e
simplifica o reuso de categorias em comparao com a base AIML padro.
Nossa soluo apresenta uma srie de contribuies para a rea, dentre as quais
destacamos: (1) a adequao da soluo computacional Teoria da Anlise da
Conversao, modelo conceitual que adotamos para o problema por integrar informaes
de inteno com o contexto, em contraponto Teoria dos Atos de Fala; (2) a estrutura
modular consistente da base AIML modificada, que facilita o seu reuso e favorece sua
manuteno e extensibilidade; e (3) a compatibilidade com AIML 1.01, o estado da arte
em tecnologia para a construo de chatterbots.
Do ponto de vista de PLN, a soluo adotada no cannica, uma vez que
adotamos uma abordagem de processamento do conhecimento por extenso (informao
22
23
24
25
2. Chatterbots
26
Com base na literatura da rea, possvel identificar pelo menos duas formas
principais de se avaliar um sistema que se prope a processar textos em linguagem natural:
(1) analisando a forma como os sistemas so construdos, testando seus sub-sistemas e
verificando como realizam as tarefas para as quais foram implementados; e (2) analisando
o desempenho do sistema atravs de testes de performance [ALLEN 1995]. Buscamos aqui
avaliar os sistemas sob esses dois aspectos, atravs de um estudo aprofundado das tcnicas
e teorias utilizadas, bem como do desempenho de alguns dos principais chatterbots j
construdos.
Dividimos este captulo em quatro sees. Na seo 2.1, discutimos a forma como
os chatterbots so implementados, comparando-os com modelos tradicionais de
processamento de linguagem natural. Na seo 2.2, apresentamos a Teoria da Anlise da
Conversao, que nos serviu de base para a anlise do comportamento dos chatterbots,
apresentada na seo 2.3. Inclumos ainda a seo 2.4, onde associamos os problemas
conversacionais com os limites computacionais dos sistemas avaliados.
2.1 Chatterbots e Processamento de Linguagem Natural
Desde a dcada de 1950, um dos problemas mais recorrentes para a Cincia da
Computao tem sido a interpretao e a gerao de texto em linguagem natural. O
Processamento da Linguagem Natural (PLN) [ALLEN 1995], um ramo especfico da
Inteligncia Artificial (IA), uma tarefa complexa que envolve conhecimento em
diferentes disciplinas: lingstica, semitica, cincia da computao, psicologia cognitiva
dentre outras. Uma primeira abordagem para tratar o problema surgiu na dcada de 1950,
inspirada pela Teoria Behaviorista da Linguagem [SKINNER 1950]. Nos anos seguintes,
essa abordagem foi drasticamente abandonada em funo das novas idias propostas por
Chomsky [CHOMSKY 1957, 1959].
Inspirados na Teoria Gerativo-Transformacional de Chomsky, uma srie de
sistemas demonstrou habilidade para tratar linguagem natural em domnios restritos, como
manuteno de avies [WALTZ 1978] ou anlise das pedras da lua [WOODS
&
27
in f o r m a e s
p r a g m t i c as
in f o r m a e s
d o d isc u r so
N v e l I I I - c o n te x to
u su r io
d iscu r so
N v e l I I - s ig n ific a d o
d o m n i o
in f o r m a e s
se m n t ica s
l x ico
in f o r m a e s
sin t t ic a s
N v e l I - fo rm a
g r a m t ica
in f o r m a e s
m o r f o l g i c a s
in te rp re ta o d e te x to
28
29
gerao de texto
infor m aes
pragm t icas
tabela de
pronomes
infor m aes
do discur so
Nvel II - significado
infor m aes
sem nt icas
t abela
de padres
e r plicas
Nvel I - forma
infor m aes
sint t icas
infor m aes
m orfolgicas
interpretao de texto
Contedo
I AM *
55
SURE?
HOW LONG HAVE YOU BEEN *?
Terceira pessoa
YOU
YOUR
30
Interpretao de sentenas
O trabalho de interpretao comea por uma busca seqencial na base de padres
para encontrar o que melhor representa a sentena do interlocutor, atravs de casamento de
padro. O valor de <C> utilizado pelo sistema quando uma sentena do usurio "casa"
com mais de um grupo de padres. Os valores podem variar de 0 a 100, sendo que quanto
maior o valor, maior o grau de prioridade. Inicialmente, todos os grupos tm grau 100,
podendo o administrador do sistema omitir esses valores se julgar desnecessrio modificlos. Encontrado o grupo de padres que melhor representa a sentena do interlocutor, o
sistema a divide em blocos identificados por rtulos numricos, sendo um deles o bloco
que coincide com o padro da base. Por exemplo, se o usurio digitar a sentena "I am very
unhappy with my work", o sistema ao encontrar o padro "[K] I AM *", divide a sentena
em dois blocos: (1) I AM, e (2) VERY UNHAPPY WITH MY WORK.
Gerao de sentenas
A gerao de rplicas comea pela substituio de pronomes. Dando continuidade
ao exemplo anterior, no bloco (2) "VERY UNHAPPY WITH MY WORK", os pronomes
na primeira pessoa so substitudos por pronomes na terceira pessoa, resultando em (2)
"VERY UNHAPPY WITH YOUR WORK". De posse dessa representao interna da
sentena do interlocutor, o sistema seleciona o molde de rplica que ir utilizar para
construir a sua sentena. A escolha do molde realizada por sorteio, dentre os moldes
associados ao padro identificado na interpretao. Por exemplo, para o padro da tabela
2.1, teramos dois moldes: "SURE?" e "HOW LONG HAVE YOU BEEN *?". O primeiro
molde , na verdade, uma sentena pronta que, se for sorteada, ser apresentada ao
interlocutor sem modificaes. J o segundo molde possui um asterisco para ser
substitudo pelo bloco (2) da sentena do interlocutor. Assim, continuando o exemplo
acima, o asterisco seria substitudo pelo bloco "VERY UNHAPPY WITH YOUR
WORK", e teramos como rplica: "HOW LONG HAVE YOU BEEN VERY UNHAPPY
WITH YOUR WORK?" [WEIZENBAUM 1966].
31
32
Arquitetura
Apesar de no seguirem risca a arquitetura tradicional de PLN, esses sistemas
apresentam uma arquitetura um pouco mais sofisticada do que os sistemas de primeira
gerao (Figura 2.2). Com isso, corrigem alguns problemas como: (1) a cobertura de
variaes morfolgicas e sintticas, melhorada atravs da introduo de um mecanismo de
normalizao de palavras e sentenas, baseado em uma tabela de substituio (Tabela 2.3);
(2) a falta de conhecimento sobre tpicos especficos, solucionada atravs da
implementao de bases com conhecimento sobre tpicos escolhidos (Tabela 2.4); e (3) o
tratamento de informaes referentes aos interlocutores, solucionado atravs de um modelo
simplificado do usurio, baseado em frames (Tabela 2.5) (Figura 2.3).
gerao de texto
fr am e
do usur io
inform aes
pragm t icas
inform aes
do discurso
Nvel II - significado
rede
de at ivao
inform aes
sem nt icas
inform aes
sint t icas
t abela
de subst it uio
Nvel I - forma
inform aes
m orfolgicas
interpretao de texto
33
cadeia de substituio
What is
That is
You
node
a
k
r
+
-
<havepet>
1.0
*pet*
Do you have any pets <name>?
<havepet-1> <havepet-2>
<havepet-6> <havepet-7>
Ryan
United States
San Diego
CA
Interpretao de sentenas
O sistema desenvolvido por Mauldin, ao receber uma sentena do interlocutor,
utiliza a tabela de substituio (Tabela 2.3) para retirar pontuaes da sentena e corrigir
variaes de palavras conhecidas. Por exemplo, para a sentena "What's a pet?", o sistema
retira o sinal de interrogao <?> e substitui "What's" por "What is", gerando uma
representao interna da sentena "what is a pet". Em seguida, o sistema utiliza a rede de
34
ativao (Tabela 2.4) para extrair informaes semnticas da sentena. Ao encontrar uma
palavra-chave que casa com a sentena do interlocutor, o sistema aumenta o nvel de
ativao do n correspondente e dos ns a serem realados, e diminui os nveis de ativao
dos ns a serem inibidos. No exemplo anterior, o sistema encontraria o padro "pet"
associado ao n <havepet>, e aumentaria o nvel de ativao daquele n e dos ns
<havepet-1> e <havepet-2>. Depois, diminuiria o nvel de ativao dos ns <havepet-6>
<havepet-7>.
Gerao de sentenas
Para a gerao de rplicas, JULIA utiliza as informaes descritivas dos usurios
(Tabela 2.5) para compor uma sentena, a partir do molde de rplica pertencente ao n da
rede de ativao com maior nvel de ativao. Seguindo o exemplo acima, o sistema
consulta o frame do usurio e substitui o marcador <name> pelo nome do usurio no
molde de rplica "Do you have any pets <name>?" para compor a sentena "Do you have
any pets Ryan?".
Crticas
As principais crticas aos sistemas dessa gerao so: (1) as redes de ativao, alm
de trazerem representaes muito simplificadas do significado das sentenas, precisam ser
completamente refeitas a cada novo domnio, o que diminui a escalabilidade do modelo; e
(2) as informaes sobre os usurios so apenas descritivas, e no trazem nenhuma
informao relativa inteno dos interlocutores.
Apesar das dificuldades apontadas para a construo dos chatterbots dessa gerao,
outros sistemas semelhantes JULIA foram implementados na dcada de 1990, dentre os
quais destacamos JFRED, um framework para o desenvolvimento de chatterbots
desenvolvido por Robby Garner [GARNER 2000]. Um chatterbot baseado no framework
de Garner chegou a vencer uma edio do Prmio Loebner em 1997. Porm, de uma
maneira geral, os sistemas da primeira gerao continuaram superando os sistemas dessa
gerao nesse concurso [LOEBNER 2004].
35
variveis de
descrio do
usurio
inform aes
pragm t icas
variveis de
cont role de
dit icos
inform aes
do discurso
base de
subst it uio de
pr onom es
base de
descrio do
chat t erbot
inform aes
sem nt icas
base de t picos
Nvel II - significado
base de
cat egorias
base de
subst it uio
inform aes
sint t icas
inform aes
m or folgicas
interpretao de texto
Nvel I - forma
36
37
38
39
40
</bot>
AIML possui ainda uma srie de outros elementos que auxiliam o sistema na
interpretao de sentenas do interlocutor e na gerao de suas rplicas. Uma descrio
detalhada de todo o vocabulrio AIML pode ser encontrado no website da Fundao
AliceBot 1 .
Interpretao de sentenas
Ao receber uma sentena do interlocutor, o sistema consulta a tabela de
substituio para corrigir variaes de palavras da sentena e eliminar pontuaes. Por
exemplo, se um interlocutor digita a sentena "What's your favorite car?", o sistema
elimina <?>, substitui o "What's " por "What is " e depois passa toda a sentena para
maisculas, montando uma representao interna do tipo: "WHAT IS YOUR FAVORITE
CAR".
Em seguida, o sistema utiliza o elemento <srai>, para padronizar possveis
variaes sintticas (Exemplo 2.8). No exemplo, a categoria com o padro de entrada
"WHAT ITS FAVORITE *" reescrita para "WHAT IS YOUR FAVORITE <star/>", e
esta entrada submetida novamente ao processador, como se fosse uma nova entrada do
interlocutor.
Exemplo 2.8. Processo de reescrita em AIML
<category>
<pattern>WHAT IS ITS FAVORITE *</pattern>
<template>
<srai>WHAT IS YOUR FAVORITE <star></srai>
</template>
</category>
Ainda durante o processo de interpretao, AIML prev a possibilidade de se
determinar o tpico corrente no dilogo atravs do uso de uma varivel de controle cujo
http://www.alicebot.org
41
valor determinado pelo elemento <set> (Exemplo 2.9). No exemplo, o tpico seria
definido como sendo a parte da sentena que no casa com o padro de entrada atravs da
instruo "<set name=topic> <star/> </set>". Assim, para a sentena "WHAT IS YOUR
FAVORITE CAR", o tpico corrente seria "CAR".
Exemplo 2.9. Definio de tpico vigente em AIML
<category>
<pattern>WHAT IS ITS FAVORITE *</pattern>
<template>
<set name="topic"><star/></set>
<srai>WHAT IS YOUR FAVORITE <star></srai>
</template>
</category>
No nvel do contexto, durante o processo de interpretao, o sistema tambm utiliza
o elemento <set> para definir variveis de controle de diticos e obter informaes
descritivas do usurio (Exemplo 2.10). No exemplo, o sistema usa o elemento <set> para
definir o valor de "it" como sendo "CAR".
Exemplo 2.10. Definio de tpico vigente em AIML
<category>
<pattern>WHAT IS ITS FAVORITE *</pattern>
<template>
<set name="topic"><star/></set>
<set name="it"><star/></set>
<srai>WHAT IS YOUR FAVORITE <star></srai>
</template>
</category>
Gerao de sentenas
O processo de gerao de rplicas utiliza o elemento <get> para recuperar as
informaes das variveis definidas no processo de interpretao atravs do elemento
<set> (Exemplo 2.11). No exemplo, o elemento <get> utilizado para recuperar o valor de
"it" definido anteriormente, assim a rplica seria "I LIKE CAR".
42
43
diversos idiomas [AIMLESS & UMATANI 2004] e uma rede de desenvolvedores que
inclui grupos de pesquisa de diferentes centros acadmicos [ELST 2004].
No entanto, apesar do sucesso alcanado, os sistemas baseados em AIML ainda
apresentam limitaes: (1) no nvel da forma - apesar de os sistemas padronizarem
variaes sintticas e morfolgicas de palavras e sentenas das entradas do interlocutor,
todo o trabalho de criao e manuteno da base ainda realizado por um administrador
humano; (2) no nvel do significado - os sistemas apenas direcionam as sentenas por
tpico, mas no possuem informaes descritivas do domnio; e (3) no nvel do contexto utilizam informaes descritivas do usurio, porm no fazem uso de informaes que
dem conta da inteno do usurio e nem do andamento global do dilogo.
Com o objetivo de melhorar o desempenho geral dos chatterbots em AIML,
algumas pesquisas vm sendo desenvolvidas para tentar minimizar os problemas acima
[AIMLBOTS 2004]. Destacamos dois desses trabalhos: (1) GrokItBot, um sistema para
aquisio de variaes sintticas para bases AIML [GOUGH 2003]; e (2) OpenCin, um
sistema que integra conhecimento de senso comum a bases AIML [COURSEY 2004]. O
terceiro problema apontado justamente o foco do trabalho que desenvolvemos [NEVES
et al. 2003].
2.2 Teoria da Anlise da Conversao
Podemos identificar duas abordagens clssicas para a anlise da conversao: uma
que se iniciou na dcada de 1960, e preocupa-se sobretudo com os aspectos estruturais da
conversao [SCHEGLOFF 1972]; e outra, originada na dcada de 1980, e focada
principalmente nos aspectos comunicativos (cognitivos, tnicos e culturais) da conversao
[GUMPERZ 1982]. Esta segunda perspectiva desvia o enfoque da atividade
conversacional do nvel organizacional para o nvel interpretativo. Neste trabalho,
investigamos o modelo proposto por Marcuschi para anlise da conversao
[MARCUSCHI 1986], por tratar tanto dos aspectos organizacionais da conversao quanto
dos aspectos comunicativos da conversao como base para definio de critrios de
avaliao de chatterbots.
44
45
46
47
da generalizao, podemos afirmar que, de uma maneira geral, inicia-se uma conversa com
o tpico que motivou o encontro, e este vai se modificando durante o decorrer da
conversao, sendo importante observar que s se mantm uma conversao quando se
tem algo sobre o que falar, ainda que sejam futilidades.
Para Marcuschi, uma conversao deve ser considerada fluente quando passa de um
tpico para outro de forma natural, sem que se perceba uma quebra. Neste ponto,
importante levar em considerao uma diferenciao proposta por Stech (1982) entre
quebra e mudana de tpico, sendo considerada como quebra de tpico uma interrupo, e
mudana quando um determinado tpico se esgota e inicia-se um novo tpico [STECH
1982].
2.3 Anlise de chatterbots segundo a TAC
Tomando como base os princpios da TAC apresentados na seo 2.2, analisamos o
comportamento dos chatterbots das trs geraes, complementando a anlise apresentada
na seo 2.1. Esta anlise nos revelou alguns problemas no desempenho dos chatterbots
que tentamos corrigir neste trabalho. Dentre outros, destacamos a incapacidade dos
sistemas de controlar o andamento global dos dilogos e de montar pares adjacentes
consistentes.
2.3.1 Procedimento de anlise
A partir do modelo proposto por Marcuschi, definimos critrios de ordem global e
local para analisar os chatterbots (Tabela 2.6). Os critrios de ordem global so: (1)
abertura, onde observamos a forma como o chatterbot se comporta no incio dos dilogos,
considerando seu desempenho nos cumprimentos iniciais e nas apresentaes ao usurio;
(2) desenvolvimento, onde observamos a capacidade do sistema em dar andamento ao
dilogo de maneira fluente, sem quebras abruptas de tpicos; e (3) fechamento, onde
observamos o desempenho do chatterbot nos momentos finais de cada dilogo, verificando
a forma como o sistema se comporta quando o usurio inicia suas despedidas e encerra
definitivamente o dilogo.
48
Os critrios de ordem local so: (1) tomada de turno, onde observamos o tipo de
atitude adotada (reativa ou pr-ativa) pelo chatterbot para tomar o turno; (2) formao de
pares adjacentes, onde observamos a adequabilidade conversacional das rplicas do
chatterbot aos turnos dos interlocutores; (3) definio de preferncias, onde observamos a
consistncia das decises tomadas pelos chatterbots ao escolherem suas rplicas e a
capacidade dos sistemas de ajustarem suas decises durante o andamento do dilogo; e (4)
negociao de tpicos, onde observamos o domnio do chatterbot sobre tpicos especficos
e sua capacidade de mudar de tpico sem quebrar a fluncia dos dilogos.
Tabela 2.6. Critrios de avaliao
Global
Local
Critrio
Abertura
Desenvolvimento
Fechamento
Tomada de turno
Formao de pares
Definio de preferncias
Negociao de tpicos
http://www.eliza.org
http://www.ultrahal.com
4
http://www.alicebot.org
5
http://www.virtus.ufpe.br
6
http://www.laven.com
3
49
Durante esse perodo, os chatterbots foram utilizados por cerca de 150 usurios,
que deixaram registrados 176 dilogos, sendo que desses, 39 foram realizados com ELIZA,
58 com ULTRAHAL e 77 com A.L.I.C.E..
2.3.3 Resultados da anlise
De uma maneira geral, a conversao com os chatterbots, no nvel global, muito
semelhante conversao entre seres humanos em ligaes telefnicas [SCHEGLOFF
1972]. As fases de abertura, desenvolvimento e fechamento se mantm e apresentam
apenas algumas peculiaridades. J no nvel local, percebemos uma srie de problemas nos
dilogos com os chatterbots que normalmente no ocorrem em dilogos entre humanos. A
seguir, apresentamos uma descrio da anlise que realizamos para cada critrio da tabela
2.6.
Aberturas
No caso das aberturas, comum que as conversas se iniciem por uma apresentao
do chatterbot, seguida de um pedido de identificao do usurio, assim como acontece nas
ligaes telefnicas descritas por Schegloff, onde aquele que recebe o telefonema costuma
perguntar quem est falando antes de iniciar a conversa. No exemplo 2.14, temos um
trecho de uma abertura tpica de dilogo com ELIZA. Essa estrutura se repete no dilogos
com ULTRAHAL e A.L.I.C.E..
Exemplo 2.14. Abertura tpica com chatterbots.
INTERLOCUTOR: hi, my name is eliza, what is your name?
BOT: my name is username, how are you?
INTERLOCUTOR: I am fine
No entanto, apesar das semelhanas nas aberturas nos trs sistemas analisados,
importante ressaltar o fato de que ELIZA no possui registros de seus usurios, ou seja, a
solicitao que ela faz para que o usurio se identifique apenas para simular uma
conversao real entre seres humanos.
50
Desenvolvimento
O desenvolvimento to semelhante s conversaes entre seres humanos quanto a
abertura. Aqui, o processo repete os mesmos mecanismos de troca de tpicos. No entanto,
um ponto deve ser levado em considerao: os chatterbots solicitam com freqncia que o
seu interlocutor fale mais sobre os tpicos do dilogo, assumindo a posio de um
"ouvinte" que estimula o outro interlocutor a adotar o papel do "falante principal"
(Exemplo 2.15).
Exemplo 2.15. Trecho de um desenvolvimento com ELIZA [WEIZENBAUM 1966].
INTERLOCUTOR: men are all alike.
BOT: in what way?
INTERLOCUTOR: they're always bugging us about something or other.
BOT: can you think of a specific example?
INTERLOCUTOR: well, my boyfriend made me come here.
Assim como acontece nas aberturas, no desenvolvimento podemos perceber uma
similaridade com as conversas atravs do telefone. normal que o outro interlocutor,
aquele que chama o chatterbot, inicie um determinado tpico de seu interesse. Um fato
importante na etapa de desenvolvimento com A.L.I.C.E. e ULTRAHAL nos chama a
ateno. Estes sistemas procuram adquirir informaes sobre o usurio durante o dilogo
para manter um perfil dos seus interlocutores. O exemplo 2.16 mostra como o sistema
descobre a idade do usurio durante a conversa.
Exemplo 2.16. Aquisio de informao no desenvolvimento.
BOT: how old are you?
INTERLOCUTOR: I am 17
BOT: great
Fechamento
O fechamento mantm a mesma estrutura das conversas telefnicas descritas por
Schegloff. Normalmente, o interlocutor se despede do chatterbot e este ento se despede
(Exemplo 2.17).
51
52
53
Negociao de tpicos
Como foi descrito na seo 2.1, os chatterbots, de uma maneira geral, no possuem
bases consistentes de conhecimento sobre tpicos especficos. Durante a anlise dos
dilogos, percebeu-se que os sistemas evitam emitir opinies a respeito de qualquer
domnio. A atitude mais comum nos sistemas se esquivar, solicitando que o interlocutor
exponha suas prprias opinies. No exemplo 2.20, quando o interlocutor diz que gostou de
um determinado filme, o chatterbot pede que ele fale mais sobre o seu filme favorito. Essa
atitude se repete, independente de ser um filme, um livro ou uma partida de futebol.
Exemplo 2.20. Problema de negociao de tpicos.
INTERLOCUTOR: my favorite movie is star wars.
BOT: tell me more about your favorite movie.
No entanto, nos dilogos com A.L.I.C.E., percebemos que o sistema costuma
utilizar informaes sobre suas preferncias em relao a determinados tpicos. No
exemplo 2.21, quando o usurio diz ter preferncia pela cor "azul", A.L.I.C.E. diz em
seguida que sua cor preferia o amarelo, dando continuidade ao tpico levantado pelo
usurio.
Exemplo 2.21. Negociao de tpicos em A.L.I.C.E..
INTERLOCUTOR: my favorite color is blue.
BOT: oh, I love yellow. Do you like yellow too?
Assim como ocorreu na anlise dos critrios de ordem global, na anlise dos
critrios locais, um fato recorrente nos chamou a ateno. Todos os sistemas tentam evitar
que o usurio seja repetitivo em seus turnos, criticando-o quando ele repete a mesma
sentena seguidamente. No exemplo 2.22, quando o usurio digita "hi", o chatterbot
responde saudao com uma nova saudao, "hello there". Porm, quando o usurio
repete a saudao "hi" no turno seguinte, o sistema pede para que ele no seja repetitivo.
54
55
Problema
Pouca cobertura
para variaes
sintticas e
morfolgicas
Limite
Falta de um
mecanismo para
aquisio
automtica de
variaes sintticas
e morfolgicas
Pesquisa
GrokItBot 7 ,
sistema voltado
para aquisio de
variaes sintticas
e morfolgicas para
bases AIML
Significado
Os chatterbots no
conseguem
aprofundar o
dilogo em torno de
tpicos especficos
durante o
desenvolvimento
Formao de pares
adjacentes
inconsistentes
Os sistemas no
possuem
informaes
descritivas de fatos
e objetos do
domnio
OpenCIN 8 ,
sistema que integra
conhecimento do
senso comum
AIML
Os sistemas no
tratam de
informaes de
intencionalidade
dos interlocutores
Nosso trabalho
busca preencher
esta lacuna, e
pretende solucionar
os problemas
apresentados no
nvel do contexto
Contexto
Os chatterbots no
percebem a
semelhana de
inteno nas
sentenas dos
interlocutores
Os chatterbots no
controlam o
andamento global
do dilogo
7
8
http://www.suttree.com/code/GrokItBot/
http://www.opencyc.org
56
57
3. Intencionalidade
computacionais
tratamento de inteno.
para
58
59
usurio do signo. O processo de interpretao de uma mensagem envolve pelo menos trs
elementos:
(1) o significante, aquilo que atua como um signo;
(2) o objeto, aquilo a que o signo se refere; e
(3) o intrprete, o sujeito que interpreta o signo.
, no entanto, Charles Morris [MORRIS 1946] que prope um componente
pragmtico na teoria dos signos. Morris prope a tripartio da Semitica em sintaxe,
semntica e pragmtica, cabendo pragmtica investigar o modo como o signo expressa
seu interpretador (seus objetivos e intenes), enquanto a semntica investiga a maneira
como o signo se refere ao seu objeto e a sintaxe trata da estrutura formal do signo. Essa
estrutura d pragmtica a ao final de atribuio de significado, uma vez que o
interpretador quem atribui significado ao objeto. Segundo Peirce (1867), o objeto por si s
no tem inteno, cabe ao sujeito atribuir-lhe finalidade.
3.1.2 Pragmtica Conversacional (Mximas de Grice)
A pragmtica conversacional uma vertente da lingstica que considera o
interlocutor no processo de interpretao de mensagens. Dentro dessa vertente, poderamos
destacar as colocaes de Grice [GRICE 1975].
Para Grice, o significado de um enunciado tratado como uma consequncia da
inteno do enunciador e do reconhecimento desta inteno pelo ouvinte. Grice considera a
existncia de princpios gerais que regulam o modo pelo qual, numa conversao, o
ouvinte pode reconhecer a inteno do falante. Para ele, a conversao regida pelo
princpio da cooperao, que envolve quatro mximas [GRICE 1975]:
1. qualidade - no diga o que acredita ser falso. No diga aquilo para o que
voc no pode fornecer evidncia adequada;
2. quantidade - faa com que sua contribuio seja to informativa quanto
requerido. No faa sua contribuio mais informativa do que necessrio;
60
61
62
63
64
65
Porm, s tratava da inteno local em cada sentena isolada, no sendo capaz de dar conta
da inteno global que emerge do dilogo, alm de trabalhar em domnios muito restritos
[ALLEN 1983].
3.2.2 Intenes emergentes
Sidner e Israel (1981) foram os primeiros a estender o trabalho de Allen para tratar
de reconhecimento de intenes que emergem do dilogo. Eles levavam em conta o
contexto do discurso para interpretar a inteno em cada nova sentena. Assim, a cada
sentena do interlocutor, o sistema atualizava suas crenas sobre as intenes do usurio
(desejos, metas e planos), at obter a meta global do usurio no dilogo. Este trabalho
baseava-se na pragmtica conversacional de Grice [GRICE 1957; GRICE 1969] e no
prprio sistema de Allen, descrito acima [ALLEN 1983].
Mais tarde, Carberry (1990) tambm estendeu o trabalho de Allen para tratar
reconhecimento de intenes em dilogos. Ela usou uma hierarquia de decomposio
baseada no modelo de Kautz [KAUTZ & ALLEN 1986] para construir uma rvore onde os
ns representam as diferentes metas locais em cada sentena de um dilogo. O sistema de
Carberry faz o reconhecimento de intenes em duas fases: a primeira fase tenta identificar
a meta imediata do usurio em sua sentena, enquanto uma segunda fase compara essa
meta local com a meta global relativa ao contexto do dilogo. Carberry percebeu em seus
testes que os interlocutores tendem a navegar por caminhos semelhantes nas rvores de
decomposio, o que permitia ao seu sistema prever padres de navegao, sendo capaz de
identificar, a partir de um certo nmero de sentenas, o objetivo final dos interlocutores.
No entanto, o modelo adotado por Carberry no dava conta de intenes paralelas
que surgem naturalmente em dilogos. Por exemplo, em dilogos entre tutores e
aprendizes, apesar da inteno global ser a compreenso de um determinado tpico, os
aprendizes costumam pedir esclarecimentos sobre pontos especficos no decorrer do
dilogo, fugindo do objetivo geral do dilogo. No exemplo 3.2, temos um trecho de um
dilogo em que um tutor est ensinando um aprendiz como projetar um website, e o
aprendiz interrompe a explicao do tutor para solicitar um esclarecimento sobre o tipo de
representao que ele pretende adotar na definio da arquitetura da informao.
66
67
68
69
70
71
72
agradecer ao bot
saber como o bot est se sentindo
perguntar se o bot humano
contestar o bot
perguntar sobre algo
afirmar que compreende o bot
afirmar que est encantado com o bot
pedir para entrar em contato com o administrador do bot
perguntar sobre algum
perguntar onde o bot mora, trabalha ou nasceu
perguntar quem o programador do bot
perguntar como encerrar o dilogo com o bot
despedir-se do bot
xingar o bot
elogiar o bot
73
Nas categorias da forma esto uma srie de padres com variaes de sentenas
que representam a mesma inteno e um molde de rplica que direciona o processador
AIML para as categorias de contedo atravs do elemento <srai> (Exemplo 4.1b).
Exemplo 4.1b. Exemplo de categorias da forma em AIMLplus
<category>
<type>variations</type>
<pattern>fale sobre .*</pattern>
<pattern>fale-me de .*</pattern>
<pattern>eu quero saber sobre .*</pattern>
<pattern>eu quero saber de .*</pattern>
<template><srai>defina <star/></srai></template>
</category>
Nas categorias do contedo esto informaes descritivas de fatos e objetos
relacionados classe de intenes (Exemplo 4.1c).
Exemplo 4.1c. Exemplo de categorias do contedo em AIMLplus
<category>
<type>content</type>
<pattern>defina Paulo Freire</pattern>
<template>
Paulo Freire foi um grande cientista da Educao no Brasil.
</template>
</category>
<category>
<type>content</type>
<pattern>defina Pablo Picasso</pattern>
<template>
Pablo Picasso foi um dos pioneiros do movimento cubista.
</template>
</category>
Na categoria para sentenas desconhecidas esto moldes de rplicas genricas para
sentenas que pertencem classe de intenes, mas no existem informaes de contedo
relacionados sentena do interlocutor da base (Exemplo 4.1d).
74
ocorrncia
9,24%
4,89%
5,98%
9,78%
11,41%
4,35%
75
76
77
78
79
sistema monta um turno consistente (10), tomando como base a sua prpria pergunta do
turno (8). Nesse ponto, o sistema utiliza o princpio da formao de pares adjacentes de
Schegloff (1972) e trata o turno desconhecido (9) como sendo uma resposta sua pergunta
(8). Em seguida, o interlocutor testa o sistema fazendo um novo cumprimento (11), e o
sistema critica o fato de aquele turno estar sendo realizado em um momento inadequado do
dilogo (12).
O fechamento simples. O interlocutor de despede (13) e o chatterbot agradece a
conversa e se despede com um convite para um novo encontro (14).
De uma maneira geral, o sistema conseguiu se sair bem no dilogo, mostrando ser
capaz de utilizar informaes de intencionalidade para tratar os trs "erros" cometidos pelo
usurio: no turno (3), quando o interlocutor repete a saudao com uma mudana de forma,
o sistema percebeu a similaridade de intenes e usou essa informao para formar sua
rplica; no turno (10) o sistema monta uma rplica para o turno (9), mesmo sem t-lo
reconhecido, supondo que se tratava de um complemento ao seu turno anterior (8); e no
turno (11), quando o interlocutor propositadamente usa um turno de abertura durante o
desenvolvimento, o sistema percebe o erro e critica esse comportamento em sua rplica no
turno (12).
4.2.2 Aspectos de implementao do sistema
O mecanismo que desenvolvemos foi todo implementado com elementos
compatveis com AIML 1.01. As informaes de intencionalidade so tratadas a partir do
elemento <set>, que utiliza trs variveis: session, user_intention e bot_intention (Exemplo
4.3a).
Exemplo 4.3a. Variveis de inteno
<set name="session" value="abertura"/>
<set name="user_intention" value="saudar"/>
<set name="bot_intention" value="perguntar como est se sentindo"/>
O valor de session indica a fase atual do dilogo, com base na proposta apresentada
por Marcuschi (1986). Essa varivel pode ser preenchida com trs valores fixos,
80
81
Nos quadros 4.2a, 4.2b e 4.2c temos as classes de inteno que foram identificadas
a partir dos experimentos realizados nas fases 1, 2 e 3 (seo 4.1) de nossa pesquisa. Esta
lista apenas uma sugesto, pois novas classes podem ser adicionadas ao documento de
especificao pelo administrador do chatterbot.
Quadro 4.2a. Classes de abertura
saudar, cumprimentar, apresentar-se, perguntar o nome do bot, perguntar como est se
sentindo, perguntar se o reconhece, dizer como est se sentindo
82
83
http://www.alicebot.org
84
Categorias
1339
3380
559
3074
35
1210
138
4723
843
25
99
2
1452
8994
67
3
5
718
5215
790
9115
141
25
252
6
1354
5
408
43977
Os arquivos da base AAA so classificados ora por seu contedo semntico, ora
pela estrutura formal de suas categorias. Por exemplo, o arquivo "Science.aiml" contm
categorias relacionadas a conhecimento sobre cincia, enquanto o arquivo "That.aiml"
formado por categorias que utilizam o elemento <that>. De imediato, importante
85
perceber que essa classificao inconsistente, pois possvel termos uma categoria
dentro do arquivo "That.aiml" com informaes semnticas sobre cincia, assim como o
arquivo "Science.aiml" pode conter categorias que usam o elemento <that>.
4.3.2 A base AIML redefinida
Redistribumos as categorias da base AAA em 54 arquivos, classificados de acordo
com a sua inteno, sendo 7 arquivos com categorias com inteno tipicamente de
abertura, 43 arquivos com categorias com inteno que normalmente ocorrem no
desenvolvimento, e 4 arquivos com categorias com intenes naturais do fechamento.
Cada arquivo corresponde a uma das classes de inteno listadas nos quadros 4.2a, 4.2b e
4.2c.
Apesar de termos um nmero maior de arquivos do que na base AAA, essa nova
estrutura obedece um nico critrio de classificao das categorias, diferentemente do que
ocorre com a base original. Assim, trata-se de uma classificao consistente, e baseada na
caracterstica mais importante para o bom andamento de um dilogo a inteno. Observe
que, em dilogos face a face entre seres humanos, um gesto pode substituir um turno
"falado", e o dilogo prossegue naturalmente apenas pela identificao correta da inteno
desse gesto. Esta nova distribuio tambm facilita a atualizao e o reuso da base.
Em seguida, adicionamos as variveis de definio de inteno e regras de controle
apresentadas na seo 4.2 aos novos arquivos. As categorias do arquivo "saudar.aiml"
esto redefinidas, sendo divididas em dois grupos: (1) categoria principal, onde encontra-se
a categoria com as regras e os moldes de rplicas que podem ser utilizados para gerar o
turno do bot (Exemplo 4.4a); e (2) categorias com variaes formais (sintticomorfolgicas) de padres que correspondem a turnos de saudao (Exemplo 4.4b).
86
Na
categoria
principal,
temos
um
padro
de
entrada
normalizado,
87
88
89
90
5 Experimentos e aplicaes
Neste
captulo,
apresentamos
os
proposta
as
aplicaes
que
91
10
Isabelle Diniz, mestre em psicologia cognitiva pela UFPE, onde defendeu dissertao sobre as relaes de
significado em dilogos entre humanos e chatterbots [DINIZ 2004].
92
deveria: (1) conversar com o chatterbot em AIML padro; (2) responder a um questionrio
(Exemplo 5.1); (3) conversar com o chatterbot em AIML com inteno; e (4) responder o
questionrio novamente, agora avaliando o desempenho do segundo chatterbot.
O questionrio consistia em trs perguntas para identificao do usurio e quatro
perguntas do tipo mltipla escolha, para que os usurios pudessem expressar seu grau de
satisfao em relao aos dois chatterbots.
Exemplo 5.1. Formulrio para avaliao do experimento aberto
Identificao dos usurios
seu nome:
sua idade:
sua profisso:
Desempenho dos chatterbots
1. De uma maneira geral, voc considerou o dilogo:
(a) ruim
(b) regular
(c) bom
2. O andamento geral da conversa pode ser considerado:
(a) ruim
(b) regular
(c) bom
3. O conhecimento do bot sobre os temas conversados foi:
(a) ruim
(b) regular
(c) bom
4. A coerncia entre o que voc dizia e o que o bot respondia pode ser considerada:
(a) ruim
(b) regular
(c) boa
A pergunta (1) foi montada para verificar o grau de satisfao geral do usurio. A
questo (2), para verificar se a estrutura global do dilogo atendia s expectativas dos
usurios. A questo (3) avalia o grau de satisfao dos usurios com o conhcecimento dos
chatterbots sobre os tpicos presentes no dilogo, e a questo (4) foi elaborada para
verificar se os usurios ficaram satisfeitos com as rplicas utilizadas pelos bots durante os
dilogos.
93
AIML
com inteno
1,77
2,12
1,51
2,42
Desvio 1
0,100
0,051
0,051
0,180
Mdia 2
Desvio 2
1,77
2,12
1,51
2,42
0,059
0,080
0,140
0,305
T1
T2
0,186
0,162
-0,211
0,497
0,254
0,218
-0,129
0,703
Assim, a partir dos dados do experimento, fica claro que avanamos em relao ao
estado da arte. Vale a pena ressaltar o melhor desempenho do chatterbot baseado em
AIML com inteno na questo (4), pois demonstra que o nosso chatterbot foi capaz de
formar pares adjacentes mais consistentes que o sistema baseado em AIML padro. A
inconsistncia na formao de pares adjacentes, decorrentes do no reconhecimento de
94
sentenas foi o problema mais recorrente nas anlises com chatterbots das trs geraes,
descritas no captulo 2. Porm, o resultado da questo (3) nos indica que ainda preciso
melhorar tambm outros aspectos dos sistemas, no apenas no nvel do contexto, mas
tambm nos nveis da forma e do significado.
5.1.2 Avaliao de desempenho por um especialista
Nessa segunda fase do experimento, solicitamos a uma especialista em conversao
com chatterbots, que avaliasse os registros dos dilogos realizados entre os usurios e os
dois chatterbots. Para a anlise, foi retirada uma amostra formada por quinze dilogos de
cada chatterbot. Os dilogos foram selecionados em funo do nmero total de pares
adjacentes ocorridos. Utilizamos os cinco dilogos mais curtos e os cinco mais longos de
cada chatterbot, alm de outros cinco, escolhidos aleatoriamente no arquivo de registro.
Nos dilogos com o chatterbot com informaes de intencionalidade foram registrados
1218 pares conversacionais, enquanto com o chatterbot baseado em AIML padro tivemos
1044 pares.
O procedimento de anlise consistiu em contabilizar o nmero de ocorrncias dos
trs problemas apresentados no captulo 2 (seo 2.4) e verificar quantas vezes os
chatterbots conseguiram superar esses problemas. A tabela 5.2 traz, para cada problema,
duas colunas para cada chatterbot. Na primeira coluna est o nmero de ocorrncias do
problema, e na segunda, o nmero de vezes em que o sistema no conseguiu tratar o
problema corretamente.
Tabela 5.2. Dados do registro de ocorrncias e erros
sentenas repetidas
andamento do dilogo
sentenas desconhecidas
AIML
padro
ocorrncias
erros
16
15,0%
11
10,0%
7
6,0%
7
6,0%
226
21,0%
209
20,0%
AIML
com inteno
ocorrncias
erros
9
7,0%
2
0,1%
11
9,0%
0
0,0%
248
20,0%
21
1,7%
De uma maneira geral, nos dilogos com o sistema baseado em inteno, esses trs
problemas foram tratados com mais eficincia do que nos dilogos com o chatterbot
baseado em AIML padro.
95
96
97
11
http://www.liber.ufpe.br
http://www.adobe.com
13
http://www.mysql.com
12
98
implementar
chatterbot,
foram
necessrias
quatro
etapas
de
desenvolvimento:
(1) planejamento de um dilogo ideal, quando definimos um dilogo modelo
(Exemplo 5.5) que serviu de ponto de partida para a construo da base AIML;
(2) seleo das intenes, quando definimos as classes de inteno necessrias para
que o chatterbot pudesse realizar dilogos similares ao dilogo modelo;
(3) produo da base AIML inicial, quando construmos uma base AIML com as
classes de inteno definidas na etapa anterior; e
(4) ampliao da base AIML, quando acompanhamos os dilogos do chatterbot
com usurios para acrescentar novas categorias AIML base de classes e/ou para
acrescentar novas classes que surgiram durante os dilogos.
99
100
101
14
15
http://www.brahma.com.br
http://www.virtus.ufpe.br/animotronicos
102
onde o tema central a guerra. A escolha desses tpicos aleatria, assim como a escolha
de cada turno tambm pode variar.
Exemplo 5.6. Dilogos entre os animotrnicos
# dilogo 1 sobre o tempo
bot_red: Oi
bot_blue: Oi, tudo bem?
bot_red: Ol, como voc se chama?
bot_blue: Eu sou o Blue, Qual o seu nome?
bot_red: Eu me chamo Red, muito prazer.
bot_blue: Prazer, Red, tudo bom?
bot_red: Eu estou muito bem, como voc est?
bot_blue: Caminhando, como todo mundo.
bot_red: Voc poderia ser mais claro?
bot_blue: Eu vivo minha vida como todas as outras pessoas.
bot_red: Ento a vida das pessoas apenas o fluxo do tempo?
bot_blue: No, no apenas isso, a vida humana mais que o passar do tempo, mas o
tempo fator muito importante.
bot_red: O tempo determina muito da sua vida?
bot_blue: Certamente, o tempo dita fases em nossa vida.
bot_red: Ento o tempo algo ruim?
# dilogo 2 sobre a guerra
bot_red: Oi
bot_blue: E a, como vai?
bot_red: Oi, eu sou o Red, e voc?
bot_blue: Eu sou o Blue, e voc?
bot_red: Eu me chamo Red, muito prazer.
bot_blue: Fico muito feliz de conhec-lo, Red, tudo bem com voc?
bot_red: Comigo vai tudo bem, e com voc?
bot_blue: Vou bem, levando a vida.
bot_red: Como assim?
bot_blue: Assim como as outras pessoas eu sigo meus dias.
bot_red: Se todas as pessoas seguem seus dias porque existem tantas guerras entre as
pessoas?
bot_blue: Porque seguir seus dias quer dizer levar adiante seu plano para a sua vida.
bot_red: Como isso pode gerar tantas guerras?
Nesta primeira verso, as expresses dos personagens ainda so muito
simplificadas, mas temos como plano para trabalhos futuros desenvolver mecanismos que
integrem as expresses e aes de cada personagem com os seus turnos a partir da
informao de inteno associada a cada turno.
103
5.2.3 Virtusbot
Ainda dentro deste trabalho, desenvolvemos um ambiente onde estudantes de
lnguas estrangeiras podem conversar com chatterbots em diferentes idiomas. O sistema foi
desenvolvido a partir de bases AIML disponveis na Internet que foram modificadas para
incorporar informaes de intencionalidade. Uma verso inicial do sistema est disponvel
no website do Virtus 16 e tem sido utilizada por cerca de 1.400 usurios por ms.
Na tela de abertura do website, o usurio escolhe o idioma de sua preferncia e
inicia o dilogo com o chatterbot. A idia central do sistema prover ao estudante a
possibilidade de praticar o uso do idioma que est estudando a qualquer hora e de qualquer
lugar, sem a necessidade de contar com um interlocutor humano. Essa aplicao foi
inscrita em um concurso nacional de software para Educao, promovido pelo portal
Universia 17 do Banco Santander, onde obteve a 5 colocao, de um total de 226 sistemas
concorrentes.
A verso atual do sistema conta com chatterbots em quatro idiomas (portugus,
ingls, francs e alemo) e um quinto chatterbot est sendo implementado (espanhol).
Como prosseguimento a essa aplicao, pretendemos integrar as bases a partir das
informaes de intencionalidade para montar um sistema capaz de atuar como intrprete
em dilogos entre usurios que falam idiomas diferentes. Essa uma proposta ainda
incipiente, no entanto, realizamos alguns pequenos ensaios que demonstram que o sistema
vivel.
5.3 Concluses
Como prova de conceito de nossa soluo, adicionamos o mecanismo de tratamento
de inteno a uma base AIML padro e testamos o desempenho do chatterbot com a nova
base, comparando-o com um chatterbot com a mesma base AIML, sem as informaes de
intencionalidade.
16
17
http://www.virtus.ufpe.br/virtusbot
http://www.universiabrasil.net.br
104
Apesar da base AIML com inteno ainda apresentar limitaes, os resultados dos
experimentos demonstraram que o uso de informaes de intencionalidade pode melhorar
qualitativamente os dilogos com chatterbots. Comparando o desempenho dos sistemas,
fica claro que o sistema com inteno apresenta um avano em relao aos demais sistemas
analisados. Por exemplo, no nvel global o sistema capaz de controlar o andamento do
dilogo, ao invs de atribuir essa responsabilidade exclusivamente ao usurio, como
acontecia com os sistemas analisados. J no nvel local, o sistema consegue formar pares
adjacentes mais consistentes, principalmente em situaes onde a sentena do usurio no
reconhecida, situao que ocorre com bastante freqncia nos dilogos. Porm, preciso
melhorar outros aspectos dos sistemas para que possamos obter resultados estatisticamente
mais expressivos que os obtidos com os chatterbots baseados em AIML padro.
Um outro aspecto a ser considerado no nvel local a possibilidade de se manter
uma maior consistncia na definio de preferncias, uma vez que as rplicas do chatterbot
so montadas em funo das informaes de intencionalidade. Apesar dessa possibilidade
no ter sido explorada no mbito deste trabalho, a soluo adotada serviu de base para um
outro trabalho mais focado em personalidade de chatterbots, realizado por Galvo como
tema de sua dissertao de mestrado em Cincia da Computao [GALVO et. al 2004].
Alm dos testes realizados, desenvolvemos tambm aplicaes baseadas em
chatterbots que utilizam informaes de intencionalidade. Durante o desenvolvimento das
aplicaes, ficou claro que o fato de a base estar estruturada de acordo com a inteno
facilita o trabalho de planejamento de novos chatterbots, pois simplifica o reuso.
105
6. Concluses
106
107
108
109
110
Referncias Bibliogrficas
111
[AIMLESS & UMATANI 2004] Aimless, D & Umatani, S. A Tutorial for adding
knowledge to your robot.
Disponvel em: http://www.pandorabots.com/botmaster/en/tutorial?ch=1
Acesso em 31 de dezembro de 2004.
[ALLEN 2001 et. al] Allen, J. F.; Ferguson, G. & Stent, A. An Architecture for More
Realistic Conversational Systems, In Proceedings of Intelligent User Interfaces 2001 (IUI01), pp. 1 - 8, Santa Fe, NM, Jan/2001.
[ARDISSONO et al. 1996] Ardissono, L. Boella, G. & Lesmo, L. Recognition of ProblemSolving Plans in Dialogue Interpretation, In Proceedings of the Fifth International
Conference on User Modeling, pp. 195-197, Kailua-Kona, Hawaii, Jan/1996.
[AUSTIN 1962] Austin, J. L. How to Do Things with Words. Harvard University Press,
Cambridge, Massachusetts, 1962.
112
[CARBERRY 1990] Carberry, S. Plan Recognition in Natural Language Dialogue. ACLMIT Press Series on Natural Language Processing. MIT Press, 1990.
[COHEN 1978] Cohen, P. R. On Knowing What to Say: Planning Speech Acts. Technical
Report 118, Department of Computer Science, University of Toronto, Ontario, January
1978, PhD thesis.
113
[COURSEY 2004] Coursey, K. Living in cyn: mating AIML and CYC together with
program N.
Disponvel em: http:\\www.daxtron.com
Acesso em: 31 de dezembro de 2004
114
[GALVO et al. 2003] Galvo, A., Barros, F.A. & Neves, A.M.M. Persona-AIML: Uma
Arquitetura para Desenvolver Chatterbots com Personalidade, IV Encontro Nacional de
Inteligncia Artificial (ENIA), Congresso da SBC 2003.
[GRICE 1975] Grice, H. P. Logic and Conversation, In P. Cole and J. L. Morgan, editors,
Speech Acts, volume 3 of Syntax and Semantics, pp. 41-58. Academic Press, New York,
1975.
115
[KAUTZ & ALLEN 1986] Kautz, H. & Allen, J. F. Generalized Plan Recognition, In
Proceedings of the Fifth National Conference on Artificial Intelligence, pp. 32 - 37,
Philadelphia, 1986.
[LEVINSON 2003] Levinson, S. C. Language and mind: Lets get the issues straight! In
D. Gentner & S. Goldin-Meadow (eds.), Language in mind: Advances in the study of
language and cognition, pp. 25-46. Cambridge, MA: MIT Press
Disponvel em: http://www.mpi.nl/world/pub/lang&mind.pdf
Acesso em 1 de janeiro de 2005.
[LITMAN & ALLEN 1990] Litman, D. J. & Allen, J. F. Discourse Processing and
Commonsense Plans, In P. R. Cohen, J. Morgan, and M. Pollack, editors, Intentions in
Communication, pp. 365 - 388. MIT Press, Cambridge, MA, 1990.
116
[LITMAN & ALLEN 1987] Litman, D. J. & Allen, J. F. A Plan Recognition Model for
Subdialogues in Conversations, In Cognitive Science, 11(2):163 - 200, 1987.
[MAULDIN 1994] Mauldin, M. L. Chatterbots, TinyMUDs, and the Turing Test: Entering
the Loebner Prize Competition, Proceedings of Twelfth National Conference on Artificial
Intelligence (AAAI-94), Seattle, Washington, August 1994.
Disponvel em: http://lazytoad.com/lti/pub/aaai94.html
Acesso em 1 de janeiro de 2005.
[MOORE & MCCABE 2002] Moore D. S., McCabe G.P. , Introduo prtica da
estatstica, 3a. edioo, Editora LTC, 2002.
[MORRIS 1946] Morris, C. W. Signs, Language and Behavior. New York: Prentice-Hall,
1946.
117
[NEVES et. al 2001] Neves, A.M.M, Paraguau, F., Barros, F., Cavalcante, P.S. & Barros,
S.G. Projeto FIACI: Concepo de Ferramentas Inteligentes para Aprendizagem
Cooperativa na Internet. In Anais do XII Simpsio Brasileiro de Informtica na Educao.
Vitria (ES) Brasil. Nov/2001.
[NEVES et. al 2002] Neves, A. M. M., Diniz, I., Barros, F. A. Natural Language
Communication via AIML Plus Chatterbots In: V Symposium on Human Factors in
Computer Systems (IHC 2002), 2002, Fortaleza - CE. Proc. of the IHC 2002 - V
Symposium on Human Factors in Computer Systems 2002. , 2002. p.387
118
[RHEINGOLD 1991] Rheingold, H. Virtual Reality. Summit Books, New York, 1991.
[SACKS & SCHEGLOFF 1974] Sacks, H., Schegloff, E. A. & Jefferson, G. A Simplest
Systematics for the organization of Turn-Taking for Conversation, In Language, 50:696735, 1974.
Disponvel em: http://www.sscnet.ucla.edu/soc/faculty/schegloff/
Acesso em 1 de janeiro de 2005.
[SCHEGLOFF 2000] Schegloff, E. A. Overlapping Talk and the Organization of TurnTaking for Conversation. In Language in Society, 29:1, 1-63, 2000.
Disponvel em: http://www.sscnet.ucla.edu/soc/faculty/schegloff/
Acesso em 1 de janeiro de 2005
119
[SEARLE 1976] Searle J. R. Expression and Meaning. Cambridge University Press. 1976.
[SIDNER & ISRAEL 1981] Sidner C. L. & Israel, D. J. Recognizing intended meaning
and speakers' plans. In Proceedings of IJCAI-81, pp. 203 - 208, Vancouver, British
Columbia, Canada, 1981.
[THALMANN et. al 1999] Thalmann, D., Musse, S. R. & Kallmann, M. Virtual Humans
Behaviour: Individuals, Groups, and Crowds. In DIGITAL. Media Features. 1999.
Disponvel em: http://robotics.usc.edu/~kallmann/page_publications.html
Acesso em 1 de janeiro de 2005.
[VIEIRA et. al 2004] Vieira, A. C., Teixeira, L., Timoteo, A., Tedesco, P. A., Barros, F. A.
Analyzing On-Line Collaborative Dialogues: The OXEnTCHChat In: 7th International
Conference on Intelligent Tutoring Systems - ITS 2004, 2004, Macei, Alagoas.
Proceedings of the 7th International Conference on Intelligent Tutoring Systems - ITS
2004. Springer-Verlag, 2004. p.1 10
120
[WALTZ 1978] Waltz, D.L. An English Language Question Answering System for a
Large Relational Database, CACM, 21(526-539), 1978.
[WOODS & KAPLAN 1977] Woods, W. & Kaplan, R. Lunar rocks in natural English:
Explorations in natural language question answering. Linguistic Structures Processing. In
Fundamental Studies in Computer Science, 5:521-569, 1977.