Podemos também no AIML deixar o pattern um pouco mais flexível. Por exemplo, se o usuário escrever “piada”, o bot não saberá responder, porque no nosso pattern está da seguinte forma “conte uma piada”, para deixar mais flexivel, podemos usar o “*”.
Acrescentando ao nosso exemplo:
<?xml version="1.0" encoding="ISO-8859-1"?>
<aiml>
<category>
<pattern>
Você é um robô?
</pattern>
<template>
Sim, e você?
</template>
</category>
<category>
<pattern>
Não
</pattern>
<that>
Sim, e você?
</that>
<template>
O que você é?
</template>
</category>
<category>
<pattern>
Sim
</pattern>
<that>
Sim, e você?
</that>
<template>
Que legal!!!
</template>
</category>
<category>
<pattern>
Sou também
</pattern>
<that>
Sim, e você?
</that>
<template>
<srai>Sim</srai>
</template>
</category>
<category>
<pattern>
piada
</pattern>
<template>
<random>
<li>O que um cromossomo falou pro outro? Cromossomos bonitos</li>
<li>Como se fala top-less em chinês?Xem-chu-tian.</li>
<li>Para que serve óculos verde ?Para verde perto...</li>
</random>
</template>
</category>
<category>
<pattern>
* piada
</pattern>
<template>
<srai>piada</srai>
</template>
</category>
</aiml>
Repare que nesse caso o * pode ser substituído por qualquer palavra ou frase, o importante é que termine com a palavra piada. Vale a pena notar que utilizamos também a tag <srai> para buscar a resposta que já existe caso o usuário digite apenas “piada”
Exemplo da conversa:
Usuario: piada
Bot: Para que serve óculos verde ?Para verde perto...
Usuario: Conte uma piada
Bot: O que um cromossomo falou pro outro? Cromossomos bonitos
Usuario: Sabe uma piada
Bot: Para que serve óculos verde ?Para verde perto...
Usuario: Fale uma piada
Bot: Como se fala top-less em chinês?Xem-chu-tian.
Todas as perguntas do usuário dessa forma levaram para mesma resposta, no caso, como a resposta é aleatória será mostrado sempre uma das possíveis.
Nenhum comentário:
Postar um comentário