Chatterbot: uma introdução
Resumo
Hoje em dia a Inteligência Artificial (IA) tem nos ajudado em diversas tarefas, como tomada de decisões e mesmo fazendo tarefas automatizadas, ganhando posteriormente uma inteligência. Sistemas de conversação Inteligente é um dos caminhos da IA, que se baseia em conhecimento, assim possuindo uma base de conhecimento, chamados de Sistemas Baseados em Conhecimentos ou Sistemas Especialistas (SE). SE são sistemas que resolvem determinado problema em uma determinada área. O Chatterbot como um tipo de SE, ele nos proporciona ajuda na tomada de decisão. Os Chatterbot utilizam linguagem natural para poder analisar sentenças as quais seus usuários alvo fazem, através de regras definidas pelo seu desenvolvedor.
Palavra-chave: Inteligência Artificial, Sistema Especialistas, Linguagem Natural, Shell
Semântica da palavra
Chatterbot, vamos começar com o significado da palavra CHAT. CHAT (Conversational Hypertext Access Technology - Hipertexto de Conversação de Acesso à Tecnologia) é um programa de computador que desenvolvido pela Communications Research Centre do Canadá, que nos dá uma interface fácil e direta, por meio eletrônico, acessar informações. CHAT utiliza linguagem-natural, que nos possibilita fazer perguntas em um certo idioma e obtermos a resposta, não há necessidade de saber manusear bem o computador, é um sistema fácil e prático, onde não há necessidade de treinamento. Foi criado para examinar a interação homem-computador, primeiramente utilizado em campanhas de informações sobre AIDS.
O Software não é perfeito, mas geralmente transmite as informações solicitadas, de grande valor para humanidade. Pode ser usado localmente ou por conexão remota. Seu funcionamento é através de templates, a cada nova pergunta ela é comparada com o templates, de perguntas anteriores.
BOT, abstraindo os conceitos, mas a fundo do significado de BOT, é um software que pesquisa em informações, isto é, você lhe dá a direção e ele trará a informação. A palavra BOT é uma abreviação, para a palavra checa robota, que significa trabalho. A primeira idéia de robôs como máquinas humanas foi mostrado por Karel Capek's, em 1921, em uma peça chamada "R.U.R.", a qual falava sobre Rossum's Universal Robots. Robótica de Software é geralmente baseado no modelo de Eliza, uma das primeiras mostra pública da Inteligência Artificial, que consegue conversar com humanos. Eliza faz perguntas, e de acordo com as respostas, formula novas perguntas.
ChatterBot é um programa de computador baseado em Alan Turing, o pioneiro que acredita que Inteligência Artificial existirá se um computador confundir um homem, fazendo o mesmo acreditar que ele está falando com outro homem ao invés de um computador, através de imitação ou cópia da lingüística humana.
Esquema
Consiste em duas partes diferentes, inseparáveis, CHAT Shell e uma base de informações. O Shell é escrita em qualquer linguagem de programação, uma vez feita na necessidade de adaptá-la à base de informação.
A base de informação deve ser escrita para cada assunto da conversação. Contém a resposta ou informação para a pergunta que está dentro do assunto. Fazendo uma analogia, a um interpretador e uma linguagem de programação, o interpretador seria o Shell, que no caso irá validar as informações passadas para ele, e a linguagem de programação seria a base de dados.
Funcionamento
A base de informação deve ser escrita para o Shell, que consiste em respostas que é referenciada a questions templates (modelos de perguntas). O segredo para escrever uma base de informação é saber quais as perguntas que irão ser feitas pelo usuário, e descobrir um padrão para cada grupo comum de perguntas, que tenha as mesmas respostas.
O Shell (ou BOT) interpreta aquela pergunta, percorre a base de dados que contém os modelos de resposta e traz a resposta mais apropriada.
Há regras que devem ser seguidas.
Uma pessoa deve pelo menos passar três meses trabalhando na base de informação (ou sistema de informação), o programa não aprende sozinho.
Não é pretendido para ser perfeito, para que qualquer pergunta feita no escopo do assunto seja respondida (não que seja ruim, e sim trabalhoso). Na prática quando o percentual de respostas corretas chega a 80%, é adequada à paralisação da base de informação.
Não é baseado em nenhuma gramática, nem tanto uma linguagem natural, pode ser em qualquer idioma. Pode ser feita variação de perguntas como: "Onde é a China?" ou "Onde fica a China?", isso é estudado pelo Comportamento Computacional (computational behaviourism).
O papel do Shell é de interpretar as perguntas passadas por ele. Palavras têm várias semânticas, por isso temos de combinar os significados iguais de palavras.
A sentença é criada como o modelo abaixo:
Não se aprofundando no assunto, esse texto tem o intuito de dar noções e conceitos sobre Chatterbot, e não dar uma ficha completa desde os conceitos à implementação. Para um estudo mais detalhado devem ser consultadas as referências.
Referências
1. BROWN, A. J. Colin-Computer linguistics Imitation. Disponível em: <http://www.barc0de.demon.co.uk/>. Acesso em : 22 fev. 2001.
2. PARMENTIER, F. Spécification d'une architecture émergente fondée sur le raisonnement par analogie: application aux références bibliographiques. 1998. Tese (Doctorat spéciali informatique) - l'Université Henri-Poincaré-Nacy. 1998. Disponível em: <http://www.multimania.com/pparmentir>. Acesso em: 25 fev. 2001
3. VENDITTO, G. What´s a Bot? BOTSPOT. Disponível em: <http://bots.internet.com/ >. Acesso em: 20 fev. 2001.
4. WHALEN, T. Conversational hypertext acess technology [mensagem pessoal]. Communications Research Centre em: 28 fev. 2001.
5. WHALEN, T. Computational behaviourism applied to natural language [mensagem pessoal]. Communications Research Centre. Mensagem recebida por <> em: 28 fev. 2001.