AIML - Introdução
AIML significa Artificial Intelligence Markup Language. O AIML foi desenvolvido pela comunidade de software livre Alicebot e pelo Dr. Richard S. Wallace durante 1995-2000. O AIML é usado para criar ou personalizar o Alicebot, que é um aplicativo de chat baseado no software livre ALICE (Artificial Linguistic Internet Computer Entity).
Tags AIML
A seguir estão as tags importantes que são comumente usadas em documentos AIML.
S.No. | Tag / descrição AIML |
---|---|
1 | <aiml> Define o início e o fim de um documento AIML. |
2 | <category> Define o unit of knowledge na base de conhecimento da Alicebot. |
3 | <pattern> Define o padrão para corresponder ao que um usuário pode inserir em um Alicebot. |
4 | <template> Define a resposta de um Alicebot à entrada do usuário. |
Discutiremos cada uma dessas tags no capítulo de tags AIML Basic .
A seguir estão algumas das outras tags de aiml amplamente utilizadas. Discutiremos cada tag em detalhes nos próximos capítulos.
S.No. | Tag / descrição AIML |
---|---|
1 | <star> Usado para combinar curinga * caractere (s) na tag <padrão>. |
2 | <srai> Tag multiuso, usada para chamar / combinar as outras categorias. |
3 | <random> Usava <random> para obter respostas aleatórias. |
4 | <li> Usado para representar várias respostas. |
5 | <set> Usado para definir o valor em uma variável AIML. |
6 | <get> Usado para obter o valor armazenado em uma variável AIML. |
7 | <that> Usado em AIML para responder com base no contexto. |
8 | <topic> Usado em AIML para armazenar um contexto para que uma conversa posterior possa ser feita com base nesse contexto. |
9 | <think> Usado em AIML para armazenar uma variável sem notificar o usuário. |
10 | <condition> Semelhante às instruções switch em linguagem de programação. Ajuda o ALICE a responder às entradas correspondentes. |
Vocabulário AIML
O vocabulário AIML usa palavras, espaço e dois caracteres especiais * e _como curingas. O intérprete AIML dá preferência ao padrão tendo_ do que padrão tendo *. As tags AIML são compatíveis com XML e os padrões não diferenciam maiúsculas de minúsculas.
Exemplo
<aiml version = "1.0.1" encoding = "UTF-8"?>
<category>
<pattern> HELLO ALICE </pattern>
<template>
Hello User!
</template>
</category>
</aiml>
A seguir estão os pontos importantes a serem considerados -
<aiml> tag significa o início do documento AIML.
<category> tag define a unidade de conhecimento.
<pattern> tag define o padrão que o usuário irá digitar.
<template> tag define a resposta ao usuário se o usuário digitar Hello Alice.
Resultado
User: Hello Alice
Bot: Hello User