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