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!
O amigo deu uma pausa no Adult Swim para escrever esse artigo, isso é que é inspiração… eheheh
Muito bom… gostei e achei muito interessante
Continue amigo…
Um abraço
João Clayton
março 22nd, 2008 at 7:31 pmParabens amigo show de bola esse artigo , espere que continue
Muito interessante essa linguagem e de facil aprendizado
Gostei muito MEUS PARABENS!!!
abril 16th, 2008 at 2:27 pmOlha…
sem palavras
Muinto interessante seu artigo.
fico ansioso para ver os próximos.
Vou recomendá-lo….
maio 28th, 2008 at 11:00 pmOlá,
Fiz como vc orientou, mas na hora de carregar rola isso:
Loading startup.xml
Loading bot: 0
Loading data aiml file: redbot.aiml
DONE LOADING
Inserted 0 categories into database
WARNING! You should password protect the admin directory or remove the botloader.php script or people may be able to abuse your server.
Click here to talk to the bot
execution time: 0.032109
Templates per second=0
Templates per minute=0
Nao carrega nenhum bot, nao está faltando nada não?
junho 24th, 2008 at 2:17 pmoq ?
outubro 13th, 2008 at 8:46 pmSuper legal cara!!! vc explica muito bem
sabe se há algum programa bem sucedido em bom português e que eu só conheço o A.L.I.C.E mesmo… e eh em inglês
FLW abraço
fevereiro 3rd, 2009 at 10:12 pmQuando eu clico sobre o link, Click here to talk to the bot, aparece a mensagem abaixo:
agosto 28th, 2009 at 12:35 pmParse error: parse error in C:\wamp\www\proge\src\talk.php on line 124
Instalei ela carrega mas não reponde
maio 3rd, 2010 at 12:28 amTutorial muito incompleto.
janeiro 28th, 2013 at 11:48 amACHO QUE UM TUTORIAL TEM QUE TER
COMEÇO MEIO E FIM
EU SÓ VI DO MEU PRA FRENTE.
TOSKO
Você já conhece a Guile3D? Eles tem até um editor proprio de AIML. E vários assistentes bem legais!
O site é www guile3d com
maio 2nd, 2013 at 4:17 pmBem, gostaria de saber se em 1 category, posso tem mais de um template e pattern?
julho 16th, 2013 at 8:10 pm