AIML - <set>, <get> Tags
<set> e <get>tags são usadas para trabalhar com variáveis em AIML. As variáveis podem ser variáveis predefinidas ou variáveis criadas pelo programador.
Sintaxe
A tag <set> é usada para definir o valor em uma variável.
<set name = "variable-name"> variable-value </set>
A tag <get> é usada para obter o valor de uma variável.
<get name = "variable-name"></get>
Por exemplo, considere a seguinte conversa.
Human: I am Mahesh
Robot: Hello Mahesh!
Human: Good Night
Robot: Good Night Mahesh! Thanks for the conversation!
Exemplo
Crie setget.aiml dentro C > ab > bots > test > aiml e setget.aiml.csv dentro C > ab > bots > test > aimlif diretórios.
setget.aiml
<?xml version = "1.0" encoding = "UTF-8"?>
<aiml version = "1.0.1" encoding = "UTF-8"?>
<category>
<pattern>I am *</pattern>
<template>
Hello <set name = "username"> <star/>! </set>
</template>
</category>
<category>
<pattern>Good Night</pattern>
<template>
Hi <get name = "username"/> Thanks for the conversation!
</template>
</category>
</aiml>
setget.aiml.csv
0,I am *,*,*, Hello <set name = "username"> <star/>! </set>,setget.aiml
0,Good Night,*,*, Hi <get name = "username"/> Thanks for the conversation!,setget.aiml
Execute o programa
Abra o prompt de comando. Vamos paraC > ab > e digite o seguinte comando -
java -cp lib/Ab.jar Main bot = test action = chat trace = false
Verifique o resultado
Você verá a seguinte saída -
Human: I am Mahesh
Robot: Hello Mahesh!
Human: Good Night
Robot: Good Night Mahesh! Thanks for the conversation!