out
Tutorial de AIML – Parte 1
Olá, pessoal. Este é meu primeiro artigo no Café-TI, e para estrear, decidi falar sobre um assunto que considero muito legal, útil, e que é pouco falado mesmo na internet. É tão importante que até parei de assistir Adult Swim pra escreve-lo.
Bom, vamos lá.
Quem aqui nunca brincou com aquele robô da Petrobrás, o Ed? Se você nunca experimentou, dá uma olhada em http://www.inbot.com.br/ed/popup.htm .
Bem feito, não?
Pena que o código dele é fechado. Ele foi escrito em linguagem BDL (Bot Description Language), uma linguagem criada pela Insite, para desenvolver personagens com inteligencia artificial, segundo o próprio robô Ed.
Aliás, pergunte sobre Open Source pra ele e ele vai mudar de assunto. hehe.
Mas nosso tutorial é sobre AIML (Artificial Intelligence Markup Language), uma linguagem para a criação de personagens inteligentes, assim como a BDL, só que… de graça.
Como o pretendido é termos uma série de artigos sobre AIML e AI, vou explicando a história da AI e do AIML, um pouco por cada artigo, para não ficar muito teórico e chato.
Agora vamos começar de verdade.
Parte I. Entendendo o conceito
AIML, assim como o HTML e XML, é formada por tags.
As quatro tags-chave do AIML são:
a.
b.
c.
d. – contém a resposta para o usuário.
Parte 2. Meu primeiro bot
Existem diversas ferramentas de código aberto para você integrar com seu bot. A que eu escolhi para fazer este primeiro tutorial, é o Program E, feito em PHP e usa um pequeno banco de dados MySQL. Ele pode ser baixado por aqui:
http://sourceforge.net/project/showfiles.php?group_id=43190
Para instala-lo, basta seguir estes passos:
a. descompactar seus arquivos em alguma pasta do seu servidor Apache. Eu criei uma pasta chamada “proge”, de Program E.
b. editar o arquivo proge/src/admin/dbprefs.php (as linhas que devem ser editadas estão no fim do arquivo)
c. criar uma base de dados no MySQL
d. dar permissões de escrita na pasta proge/src/admin
E por enquanto é só.
Agora vamos criar nosso primeiro bot.
Entre no diretório raiz do seu Program E, e entre na pasta AIML.
Crie um arquivo qualquer com extensão .aiml, por exemplo “primeiro.aiml”.
Abra ele com o editor de sua preferencia. Eu usei o Kwrite.
Para nosso tutorial ficar mais didático, por favor, delete todos os arquivos da pasta proge/aiml. Lembre-se de que você precisa editar o arquivo dbprefs.php para definir o diretório dos arquivos aiml e as configurações do banco de dados. Não se esqueça também que as linhas que devem ser editadas estão no fim do arquivo.
Agora vamos programar um pouco.
Todo arquivo AIML inicia com a tag:
– definie a versão do XML e o conjunto de caracteres que será usado, neste caso, UTF-8.
Agora um pouquinho mais de código:
Oi! – o robô responde “oi!”.
Vamos um pouco mais longe agora:
– abre o template
– finaliza o template
Para finalizar, feche o arquivo com:
Pronto.
O código completo e formatado para você dar copy paste (não recomendo dar copy/paste, pois digitar o código ajuda a memorizar):
olá Oi! * Fale alguma coisa… Se você quer conversar sobre nada, você está no lugar certo! Espero que esteja gostando do tutorial. Estou transbordando de amor por Julia Roboberts hoje. |
Parte 3. Executando o bot
Agora, abra o seu navegador, inicie seu servidor Apache e o MySQL, caso estejam desligados, e digite na barra de endereços do navegador:
http://localhost/proge/src/admin/botloader.php
Se seu PHP estiver no Safe-Mode, abra o link
http://localhost/proge/src/admin/botloaderinc.php
Como só tem um arquivo, com duas categorias, a página irá carregar muito rápido e exibirá a seguinte tela:
Agora clique em “Click here to talk to the bot”, e você pode testar o bot.
Digite qualquer coisa, e ele vai responder uma das frases random que você definiu.
Se você digitar “olá”, ele vai te responder “Oi!”.
Agora, com o pouquinho que você aprendeu aqui, já dá pra você “rechear” seu bot com um pouco mais de conhecimento.
No próximo episódio:
Vamos aprender a mecher com as tags
Até a próxima!