Fiz este Blog no intuído de criar material para confecção de minha monografia.
sexta-feira, 22 de agosto de 2008
1 Introdução
A cada dia, o computador tem-se tornado mais presente no cotidiano, realizando os mais variados tipos de tarefas. Algumas dessas atividades envolvem “raciocínio” (por exemplo, reconhecer pessoas, dirigir carros, entre outras), e o computador aparece aqui como uma “extensão” da mente humana. Tornar possível a realização dessas tarefas por computadores é um dos objetivos da Inteligência Artificial, “...o ramo da Ciência da Computação que estuda a automação de comportamento inteligente”[Russel & Norvig 1995].Uma das habilidades humanas ainda caracterizada como um desafio para a IA é o simples ato de conversar.
Há quase cinco décadas, a IA vem desenvolvendo pesquisas e softwares de software visando dar ao computador a capacidade de conversar com um homem de forma natural [Turing 1950]. Esses softwares são chamados chatterbots (robôs capazes de conversar) [Laven 1999],e podem ser construídos para os mais diversos fins (i.e., manter uma conversa sobre um tema livre, conversar sobre um tema específico, vender algum produto, auxiliar estudantes em ambientes virtuais de estudo, etc).
Os primeiros chatterbots construídos tinham como principal objetivo fazer uma imitação o mais perfeita possível de um ser humano conversando, de forma que não fosse possível ao usuário do computador distinguir quando estava interagindo com um computador ou outro homem. Esse tipo de software foi idealizado por Alan Turing em 1950. Turing no seu artigo “Can machines think?” propõe um teste, o Jogo da Imitação (The Imitation Game), famoso como Teste de Turing, cujo objetivo era determinar se uma máquina pode pensar.
Com o surgimento da máquina de Turing (MdT), iniciou-se a idéia de uma máquina autômato digital, foi uma luz para nascerem idéias que hoje são utilizadas em nossos computadores modernos, como o Chatterbot, que surgiu na década de 50, quando Turing levantou a questão “As máquinas podem pensar”.
Uma das principais previsões de Turing, consistia na possibilidade de no ano 2000, cinqüentas anos depois de seu artigo, haveria uma maquina computacional que seria capaz de passar em seu teste.
Levando-se em consideração que haja muita coisa dita a respeito da inteligência das máquinas e da capacidade de se construir um software que simule o dialogo de um humano, esta é uma tarefa muito complexa, ainda sem grandes soluções para casos universais. No entanto, isto não aponta para um futuro limitado das pesquisas nesta área; pelo contrário, um uso muito interessante deste tipo de software está surgindo: disponibilizar informação em um ambiente Web, através da Internet. Essa nova aplicação abre para este tipo de software uma ampla área de atuação ainda por explorar. Objetivo este que estaremos nos aprofundando do decorrer de nosso trabalho.
[Russel & Norvig1995] Russel, S.J., Norvig, P. Artificial Intelligence: a modern approach. New Jersey: Prentice Hall, 1995.
[Turing 1995] Turing, A. M. “Computer machinery and intelligence”. In: FEIGENBAUM, Edward A., FELDMAN, Julian (Ed.) Computer and Thought.Menlo Park: AAAI Press, 1995. p. 11-35.
TEIXEIRA , Sérgio. MENEZES, Crediné Silva. Facilitando o uso de Ambientes Virtuais através de Agentes de Conversação.Universidade Federal do Espírito Santo (UFES)
Com o surgimento da Internet problemas antigos tiveram a oportunidade de serem resolvidos, sendo assim, as pessoas tiveram seus conceitos e hábitos afetados pelos grandes recursos tecnológicos, que vão desde o dia-a-dia até mesmo na sala de aula, onde alunos e professores definem conteúdos, horários, cronogramas entre outros assuntos, sejam presentes em sala ou até mesmo pela Internet.
A educação à distância tem crescido imensamente dada as possibilidades que a Internet oferece, onde diversos cursos on-line são oferecidos, contando com o apoio do Ministério da Educação e Cultura, entretanto, todo este ambiente virtual, não vem a substituir o papel do professor por mais amigável que seja. É necessário o contato com o ser humano, pois a falta deste pode levar os alunos ao desestímulo e até mesmo ao abandono de um determinado curso virtual.
A comunidade científica tem como desafio encontrar solução para diminuir a sensação de isolamento vivida por aqueles que estão acostumadas com o convívio entre pessoas e que agora passam a ter outra forma de contato para se comunicarem. Soluções muitas das vezes são inadequadas, pois se preocupam simplesmente em transformar situações reais em tecnologia dentro de um ambiente virtual, levando o software ao fracasso.
De acordo como [Sallorenzo 2003], a principal dificuldade identificada nos cursos oferecidos pela Católica Virtual, um empreendimento da Universidade Católica de Brasília é a baixa interatividade entre os alunos, principalmente via Chat, no relacionamento aluno-aluno e aluno-tutor.
Com a grande demanda dos cursos on-line e demais formas de ensino à distância, fazem-se necessário o surgimento de métodos e programas que venham a motivar e aumentar o interesse tanto de alunos quanto de professores por novas formas de ensino-aprendizagem. O ensino tradicional vem a cada dia sofrendo mudanças em seu ambiente de sala de aula, desta forma faz-se necessário à implementação de estratégias que levem a aumentar a eficácia em ambos os ambientes, e não a extinção de uma delas.
O Chatterbot é um programa que procura tratar estes problemas da melhor maneira possível, onde os usuários vão poder conversar com o computador sobre algum conteúdo visto dentro da sala de aula, auxiliando-os de uma forma mais interativa no aprendizado em um ambiente virtual esclarecendo dúvidas que atendam realmente as suas necessidades.
O Chatterbot é um programa que procura manter uma conversação com o usuário de forma mais “humana” possível, onde serão respondidas perguntas de maneira que seus usuários terão a sensação de estar conversando com uma outra pessoa, utilizando-se de uma linguagem natural que consulta uma base de dados dentro de um determinado assunto.
Na década de 50 o matemático britânico Alan Turing colocou a seguinte questão “As máquinas podem pensar?”, Com a publicação do artigo “Computing Machinery and Intelligence” [Turing 1950].
Turing propôs um jogo chamado “Jogo da Imitação”. O objetivo era confundir um interrogador que tenta descobrir se está conversando com um homem ou uma mulher. O interrogador elabora perguntas para X (supostamente um homem) e Y (supostamente uma mulher). Através das respostas fornecidas pelo computador o interrogador tentará identificar se X é homem ou mulher. O dilema central do questionamento de Turing está na pergunta: “Se um computador pode pensar, como demonstrar?”.
O professor Joseph Weinzenbaum do Instituto de Tecnologia de Massachusetts desenvolveu em 1966 um programa chamado ELIZA, sendo considerado a “mãe” de todos os Chatterbots. ELIZA tinha como objetivo responder às perguntas feitas por uma pessoa através de um bate-papo utilizando uma linguagem natural de modo que ficasse a impressão de uma conversa entre duas pessoas.
Tinha como fundamentos básicos, identificar as palavras-chaves, o contexto mínimo necessário, onde eram feitas transformações no texto de modo a gerar respostas, mesmo que não houvesse palavras-chaves de modo a concluir o bate-papo. Mesmo com o surgimento de diversos Chatterbots ainda existem barreiras a serem ultrapassadas para uma efetiva comunicação entre homem e máquina, como as ambigüidades léxicas, semânticas e principalmente do contexto.
Na primeira geração, os Chatterbots utilizavam-se bases de conhecimento pequenas sem linguagens e modelos adequados, já na segunda geração deram início a utilização de técnicas como Inteligência Artificial, com destaque para o Chatterbot JULIA a qual possuía um embasamento sobre um determinado assunto, e uma habilidade de aprender durante os diálogos.
A terceira geração ficou marcada por utilizar uma conversação em XML (Extensible Markup Language), tendo como destaque desta geração o Chatterbot ALICE que tinha seu código aberto, utilizando-se da linguagem AIML (Artificial Intelligence Markup Language), compatível com a XML, criada para armazenar o conhecimento dos Chatterbots fundamentado na tecnologia ALICE.
Para evitar resultados negativos o uso de Chatterbots deve ser primeiramente planejado, de acordo com [Angeli 2001] é necessário compreender como as pessoas criam, mantém e tomam consciência de experiências sócio-afetivas com entidades artificiais que reproduzem comportamento humano.
Foi criado torneios para avaliar o nível dos sistemas, isso devido ao grande aumento do interesse pelos Chatterbots, e independentemente das tecnologias utilizadas foi possível verificar o ponto fraco de alguns que estava presente na modelagem do conhecimento, já que nem sempre o uso de uma tecnologia avançada nos dá a garantia de um bom diálogo.
Quando houver perguntas que dependam de um contexto mais amplo, ou seja, “consciência do diálogo”, que é a capacidade de analisar uma pergunta feita pelo usuário e verificar se a mesma está relacionada com uma outra sentença feita por ele a partir do inicio do diálogo, o Chatterbot não vai corresponder à expectativa, fugindo do assunto ou mesmo falhado.
Tem como ponto chave na modelagem do conhecimento a criação de um corpus, ou seja, um conjunto de dados lingüísticos, com critérios determinados, de forma que sejam representativos, podendo fornecer resultados úteis para um determinado fim.
Deve-se criar um banco de perguntas e respostas, o qual irá atender a maior parte dos casos, para isso deverá antes ser feito um mapeamento com as perguntas e respostas que possivelmente serão feitas, além de todo um material correspondente a um respectivo assunto, é necessário que outra base seja criada, ou seja, uma base de sinônimos para garantir uma maior eficácia do Chatterbot, isso porque seria impossível prever todas as perguntas que um usuário poderia fazer.
O uso dos Chatterbots tem como finalidade contribuir para que haja uma forma melhor de interação tanto de alunos quanto de professores no que diz respeito ao ensino à distância, e para isso se faz necessário que este Chatterbot seja capaz de atender todas as necessidades, evitando assim um desestímulo por parte do usuário.
A intenção deste artigo é apresentar para uma comunidade de aprendizagem o uso do Chatterbot como uma forma de auxílio no ensino à distância, onde os usuários possam se sentir menos isolados para isso foi apresentado o protótipo ALICE.
WALLACE, Ricard. TOMABECHI, Hideto. Chatterbots Go Nativo: Considerações para um eco-sistema que nutre o desenvolvimento de formas de vida artificial em um mundo humano
Este artigo tem como objetivo, demonstrar a linguagem presente em um chatterbot (robô de conversação), assim como, detalhar as principais funcionabilidadesdo mesmo. Possibilitando ainda contato com um breve histórico da linguagem de programação AIML.
AIML - UM padrão recentemente desenvolvido por descrever conhecimento por Robôs que usam estruturas de dados de XML é introduzido.
Levando em consideração que um chatterbot tem um baixo custo de implementação, pois o mesmo apresenta uma arquitetura altamente escalável e de múltiplas linguagens, e crescente o número de chatterbots que surgem ao passar do tempo, a cada 60 dias os chatterbots dobram de quantidade no mercado.
Isso tudo gera uma pergunta, “O que são eles e por que eles estão aqui?”. Os autores frisam esta questão, pois, em nosso dia-a-dia, quando acessamos a internet, somos inundados com milhares de programas, programados para nos venderem alguma coisa. A única certeza que se pode ter é que, não se sabe ainda do que eles serão capazes de fazer futuramente.
Outra forma de robô de conversação está presente em diversos jogos, que interagem com os jogadores, na intenção de simular um dialogo com o mesmo, no intuito de que o jogo fique mais atrativo. São muitas a utilizações dos chatterbots nos dias atuais, e este cenário promete ficar cada dia mais cotidiano.
Nós precisamos de métodos de descrever e instalar conhecimento neste Chatterbots. Nós precisamos de modos para falar com Chatterbots. Nós precisamos de modos para interagir visualmente com eles. E nós precisamos de um modo para descrever como nós tocamos e somos tocados por este Chatterbots.
Quando atingirmos um grau de quase perfeição, será praticamente impossível diferenciar se estamos conversando com um humano ou com um computador.
O Dr. Richard Wallace, tem trabalhado há muito tempo neste assunto. Ele e o criador em um dos primeiros chatterbots, conhecido como ALICE. Que foi construído baseado na linguagem AIML (Linguagem de Marcação de Inteligência artificial).
Antes de conhecermos melhor o chatterbot ALICE, precisamos conhecer outra figura importante na história de informática, o Professor George Kingsley Zipf, ele foi o criador da Lei de Zipf.
Há muitos modos para declarar a Lei de Zipf mas o mais simples é processual: Leve todas as palavras em um corpo de texto, por exemplo o assunto de hoje do New York Times, e conte o número de tempos que cada palavra se aparece. Se o histograma resultante é ordenado através de grau, com a palavra freqüentemente se aparecendo primeiro, e assim por diante (" um"," o"," para"," por"," e"...), então a forma da curva é" Zipf encurvam" para aquele texto. Se a curva de Zipf é conspirada em uma balança de tronco-tronco, se aparece como uma linha direta com um declive de -1.
A curva de Zipf é uma característica de idiomas humanos, e muitos outros fenômenos naturais e humanos como bem. Zipf notou que as populações de cidades seguiram uma distribuição semelhante. Há alguns cidades muito grandes, um número maior de médio-de tamanho, e um número grande de cidades pequenas. Se as cidades, ou as palavras de idioma natural, foi distribuído fortuitamente, então a curva de Zipf seria uma linha horizontal plana.
Em poucas palavras poderíamos dizer que a Lei de Zipf, seria um padrão de palavras características de idiomas humanos, que sempre se repetem, tornando possível prever o que é qual será a próxima pergunta do usuário.
Cada" computador" chegaria ao trabalho e começaria a contar as palavras e frases dirigidas por Zipf. Estes computadores humanos acharam a Lei daquele Zipf não só se aplica a palavras mas também para frases e orações de todo de idioma.
Podemos ver abaixo um exemplo deste processo:
8024 SIM
5184 NÃO
2268 OK
2006 POR QUE
1145 ADEUS
1101 COMO VELHO É VOCÊ
946 HI
934 COMO É VOCÊ
846 isso que
840 OI
663 BOM
645 POR QUE NÃO
584 OH
553 REALMENTE
544 VOCÊ
531 o que É SEU NOME
525 ESFRIAM
516 que eu não SEI
488 FUCK VOCÊ
486 LHE AGRADECEM
416 ASSIM
414 eu TAMBÉM
403 LOL
403 OBRIGADO
381 AGRADÁVEL O CONHECER TAMBÉM
375 ARREPENDIDO
374 ALICE
368 HI ALICE
366 APROVADAMENTE
353 BEM
352 o que É MEU NOME
349 ONDE VOCÊ VIVE
340 NADA
309 que eu SEI
303 QUE É VOCÊ
300 NOPE
297 SE CALARAM
296 eu O AMO
288 SEGURAMENTE
286 OI a ALICE
277 COMO
262 o que VOCÊ QUER DIZER
261 HOMEM
251 EMOCIONAM
239 SORRISO
233 eu
227 o que VOCÊ SE PARECE
224 que eu VEJO
223 HA
218 COMO É VOCÊ HOJE
217 ADEUS
214 NENHUM VOCÊ não FAZ
203 O FAZEM
201 ONDE É VOCÊ
.
.
.
Cada palavra recebe um número, com isso fica mais fácil para o computador trabalhar os dados. E possível formar subconjuntos de orações, até mesmo subconjuntos do idioma natural, como o exemplo que podemos ver logo abaixo, composto por orações que começam com “o que É”.
531 o que É SEU NOME
352 o que É MEU NOME
171 o PARA CIMA o qual É
137 o que É SUA COR FAVORITA
126 o que É O SIGNIFICADO DE VIDA
122 o que É ISSO
102 o que É SEU FILME FAVORITO
92 O QUE É
75 o que É UM BOTMASTER
70 o que É SEU Q.I.
59 o que É REDUCTIONISM
53 o que É SUA COMIDA FAVORITA
46 o que É AIML
38 o que É SEU LIVRO FAVORITO
37 o que É O TEMPO
37 o que É SEU TRABALHO
34 o que É SUA CANÇÃO FAVORITA
34 o que É SEU SINAL
33 o que É SEXO
32 o que É SEU REAL NOME
30 o que É NOVO
30 o que É SUA IDADE
30 o que É SEU GÊNERO
28 o que É SEU ÚLTIMO NOME
27 o que É o NOME dele
27 o que É SEU SEXO
26 o que É 2+2
26 o que É MEU IP
25 o que É SEU
24 o que É SEU PROPÓSITO
21 o que É SEU ANIMAL FAVORITO
20 o que É 1+1
20 o que É SEU PASSATEMPO
19 o que É O TEMPO GOSTA
19 o que É SEU NÚMERO DE TELEFONE
18 o que É a ALICE
18 o EM o qual VAI
18 O QUE é SUPOSTO ISSO para SIGNIFICAR
18 o que É isso que
17 o que É UM INVESTIGADOR
17 o que É AMOR
17 o que É O DIRETÓRIO ABERTO
17 o que É SEU ESPETÁCULO de TELEVISÃO FAVORITO
16 o que É a JAVA
16 o que É A RESPOSTA
16 o que É SUA RESPOSTA
16 o que É SEU NOME COMPLETO
15 o que É AI
15 o que É AQUELA MÉDIA
15 o que É O TEMPO GOSTA ONDE VOCÊ É
15 o que É DOIS MAIS DOIS
15 o que É SUA FAIXA FAVORITA
14 o que É CBR
14 o que É ELIZA
14 o que É DEUS
14 o que É PI
14 o que É O JOGO de TURING
13 o que É 2 + 2
13 o que É UM ANO de COMPUTADOR
13 É O QUE GOSTAM
13 o que É MINHA COR FAVORITA
12 o que É 2 MAIS 2
12 o que É UM CARRO
12 o que É UM CACHORRO
12 o que É INTELIGÊNCIA ARTIFICIAL
12 SOBRE O QUE É
12 o que É VIDA
12 o que É INVESTIGADOR
12 o que É VOCÊ NOME
12 o que É SEU FAVORITO
12 o que É SEU SOBRENOME
11 o que É 1 + 1
11 o que É UM CHATTERBOT
11 o que É UM PRIORI
11 o que É SETL
11 o que É O TEMPO EM o E.U.A.
11 o que É O TEMPO GOSTA LÁ
11 o que É SEU FILME FAVORITO
10 o que É UMA CATEGORIA o CLIENT de C
10 o que É UM PÊNIS
10 o que É BOTMASTER
10 o que É MEU ENDEREÇO de IP
10 o que É A DATA
10 o que É ISTO
10 o que É SEU ENDEREÇO
10 o que É SUA MÚSICA FAVORITA
10 o que É SUA ÓPERA FAVORITA
10 o que É SUA META
10 o que É SEU ENDEREÇO de IP
Chatterbots são baseados em perguntas chaves, com respostas pré-programadas, para as perguntas mais comuns feitas pelo usuário. Por isso, e tão importante fazer esse tipo de junção entre as palavras.
LEONHARDT, Michelle Denise. CASTRO, Daiane Dorneles. DUTRA, Renato Luís de Souza. TAROUCO, Liane Margarida Rockenbach. ELEKTRA: Um Chatterbot para Uso em Ambiente Educacional
O artigo ELEKTRA: Um Chatterbot para Uso em Ambiente Educacional, tem um contexto técnico que engrandecerá nosso projeto, ao que se diz respeito a um dos pontos fundamentais do mesmo “Educação à Distância”, este tema tem forte significância para fundamentar tudo o que será dito posteriormente.
Muitas vezes os alunos se sentem constrangidos em pedir que o professor repita uma explicação, seja por timidez ou outros motivos, com o Chatterbot este constrangimento não existiria.
"Podem as máquinaspensar?"Estapergunta, propostanotexto do matemático Alan Turing:Computing,MachineryandIntelligence, publicado originalmenteem1950 originou um teste que chamou de Jogo da Imitação, mas que veio a ser conhecido como oTestedeTuring.Nasistemáticadojogo, um interrogador,comunicando-sevia terminal com um software e, simultaneamente, com uma outra pessoa, deveria descobrir
quemeraquem. O matemático AlanTuring morreuem1954, umadécada antesde programas que simulam o diálogo humano começarem a proliferar.
A maquina de Turing foi um dos primeiros equipamentos que tentou simular o pensamento humano, a ponto de interagir com o mesmo.
Nosso projeto não visa fazer um programa que substitua um ser humano no processo de ensino-aprendizagem, não almejamos tamanha conquista, já que isso ainda é considerado uma ficção em nosso tempo.
O artigo em questão se trata de uma professora virtual chamada ELEKTRA, que é um robô de bate-papo, baseado em outro Chattebot chamado ALICE.
Um é um programa que procura simular uma conversação, com o objetivo de levarointerlocutorapensarque estáfalandocomoutroserhumano[Laven].Essa possibilidadedesedarauma máquinahabilidadeparainteragircomoserhumano, atravésdeuma compreensãoesimulação doseucomportamento,temsido, há muito
O Chatterbot utiliza-se de uma interface Web, similar a um programa de bate-papo, para assim, interagir com o usuário de uma maneira mais natural possível.
O artigo mostra diversos Chatterbot’s, que de maneira geral trabalham da mesma forma, muitos deles são criados a partir de outros, buscando-se eliminar ao máximo as limitações e erros de seus antecessores.
Este artigo nos proporciona a oportunidade de vermos uma imagem de como seria o visual de um robô de conversação (Chatterbot), como podemos ver na Figura 1.
A Educação à Distância (EAD) pode ser definida como uma experiência planejada de ensino e aprendizagem que faz uso de tecnologias para integrar estudantes que se encontram geograficamente distantes.
A característica básica da EADéoestabelecimento deuma comunicaçãode dupla via, na medida em que professor e aluno não se encontram juntos na mesma sala requisitando,assim,meiosquepossibilitema comunicaçãoentre amboscomo correspondênciapostal,correspondência eletrônica,telefoneou qualquer ferramenta proveniente da Internet. [Perry 1997].
Mais uma vez podemos observar no trecho acima, a grande vantagem de se utilizar um Chatterbot no ensino à distância, pois, com ele podemos romper com todas as barreiras geográficas e de linguagem. Com a internet podemos tirar dúvidas, estudar conteúdos específicos, em qualquer lugar é a qualquer momento.
O artigo demonstra ainda, como funciona a linguagem de programação utilizada em um Chatterbot (AIML - Artificial Intelligence Markup Language), porém não iremos nos aprofundar neste assunto.
O Chatterbot descrito apresenta um forte apelo no sentido de atiçar a curiosidade e a motivação dos alunos. Por ser uma forma diferente de assimilação de conteúdos, a ProfªElektrapodeincentivarotrabalho dosusuáriosjáque exigedelesuma participação muito maisativa, onde quemcomandae direciona o diálogoé o próprio interlocutor.
Como relatado no artigo, o Chatterbot é capaz de prender a atenção dos alunos, a fim de atiçar a curiosidade dos mesmos, pois, o usuário tem que estar o tempo todo interagindo com ele, caso isto não ocorra, o Chatterbot poderá chamar a atenção do usuário, para que ele dê seqüência ao dialogo.
Acadêmicos: Luciano Gonçalves dos Santos, Wemerson Lopes da Silva
O artigo pretende discutir o que são chatterbots e que aplicação podem ter na educação mediada por computador.
Para dar embasamento cientifico, os autores usaram-se das teorias de Alan Turing, que foi o idealizador de uma teoria que se fundamentava na possibilidade das máquinas tem a capacidade de pensar.
O grande foco do trabalho era criar um Chatterbot chamado Junior que tivesse características de um humano, o grande desafio seria introduzir personalidade ao mesmo. A função principal do Chatterbot seria de atuar na educação, para facilitar o aprendizado dos alunos, haja vista que um robô pode ficar 24 horas disponível para tirar todas as duvidas de quem a ele perguntar.
O Chatterbot Junior chegou a ser apresenta em um escola para alunos do ensino fundamental, onde eles interagiram com o robô é com isso puderam colaborar com o desenvolvimento do mesmo.
O uso de chatterbots por si só não garante o aprendizado. Deve-se perceber que esta tecnologia é parte de um todo maior em que deve se inserir. O processo educacional pode se tornar ainda mais rico para a exploração e interação através do acréscimo principalmente de conteúdo multimídia e simuladores para a realização de experimentos.
Os autores deixam bem claro que a muito a se pesquisar nesta área, é que muito delicado colocar um robô para ensinar pessoas, pois, estes ainda não são capazes de simular sentimentos, o que por sua vez seria prejudicial no crescimento pessoal dos alunos no meio social.
Acadêmicos: Luciano Gonçalves dos Santos, Wemerson Lopes da Silva