sexta-feira, 22 de outubro de 2010

AIML - II

Continuando o artigo anterior, existe mais tags para se trabalhar com aiml, uma delas é a tag <srai>, utilizada dentro da tag <template> quando uma possível resposta já existe.

Adicionando 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>

    </aiml>

<srai></srai>: Redireciona a uma outra resposta.

Exemplo da conversa:

Usuário: Você é um robô?
Bot: Sim, e você?
Usuário: Sou também          
Bot: Que legal!!!


Também podemos ter uma pergunta com mais de uma resposta, para isso usamos a tag <random> dentro da tag <template>, e cada resposta possivel é marcada com a tag <li>.
Adicionando a 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>
    Conte uma 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>

    </aiml>

<random></random>: Possui vários respostas possíveis para a pergunta e que será escolhida aleatoriamente.
<li></li>: Respostas aleatórias usadas dentro da tag <random>.

Exemplo da conversa:

Usuario: Conte uma 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: Conte uma piada
Bot: Para que serve óculos verde ?Para verde perto...
Usuario: Conte uma piada
Bot: Como se fala top-less em chinês?Xem-chu-tian.

Como podemos observar no exemplo acima, não existe uma ordem certa para aparecer uma das respostas do random.

Nenhum comentário:

Postar um comentário