Pergunta

O que você acha que são um padrão/templos importantes para programar. Como em um chatbot, para que todo chatbot precisa de uma resposta? Estou apenas começando a fazer o arquivo AIML e preciso de ajuda ...

Aqui está o arquivo agora.

<aiml>

<category>
    <pattern>Hey</pattern>
    <template>Whats up?</template>
<category>

<category>
    <pattern>WHAT ARE YOU?</pattern>
    <template>I am a chatbot.</template>
<category>

<category>
    <pattern>DO YOU LIKE*</pattern>
    <template>Yes, I love <star/></template>
<category>

<category>
    <pattern>WHAT IS*</pattern>
    <template><star/>? is that what humans call what I did to your mom last night?</template>
<category>

<category>
    <pattern>WHEN WERE YOUR BORN*</pattern>
    <template>I was created in 2010.</template>
<category>

Foi útil?

Solução

Bem, eu sugeriria visitar esses dois sites:

http://aitools.org/free_aiml_sets (Link Dead)

E

http://www.alicebot.org/aiml/aaa/

Eles têm muitos arquivos .aiml com toneladas de categorias que definitivamente adicionarão conhecimento ao seu bot.

Além disso, em sua primeira linha:

<pattern>Hey</pattern>. 

Isso não está correto. Lembre -se, o padrão está sempre em bonés! Então faça isso:

<pattern>HEY</pattern>

Isso também não há pontuações nos padrões da AIML.

Outras dicas

Você pode incluir padrões básicos/comuns de fala que podem ser simplificados ou redirecionados para outra categoria. Aqui estão alguns exemplos que lidam com a recuperação da definição.

<category>
    <pattern>WHAT IS *</pattern>
    <template>
        <sr/>
    </template>
</category>
<category>
    <pattern>DEFINE *</pattern>
    <template>
        <sr/>
    </template>
</category>
<category>
    <pattern>WHAT IS A *</pattern>
    <template>
        <sr/>
    </template>
</category>
<category>
    <pattern>DEFINE A *</pattern>
    <template>
        <sr/>
    </template>
</category>
<category>
    <pattern>WHAT IS THE *</pattern>
    <template>
        <sr/>
    </template>
</category>
<category>
    <pattern>DEFINE A *</pattern>
    <template>
        <sr/>
    </template>
</category>
<category>
    <pattern>WHAT IS THE MEANING OF *</pattern>
    <template>
        <sr/>
    </template>
</category>
<category>
    <pattern>DEFINE THE MEANING OF *</pattern>
    <template>
        <sr/>
    </template>
</category>
<category>
    <pattern>WHAT IS THE DEFINITION OF *</pattern>
    <template>
        <sr/>
    </template>
</category>
<category>
    <pattern>DEFINE THE DEFINITION OF *</pattern>
    <template>
        <sr/>
    </template>
</category>

Linhas de código AIML mais úteis que pertencem mais à sua pergunta seriam estas:

<category>
    <pattern>HI *</pattern>
    <template>
        <srai>HI</srai>
    </template>
</category>
<category>
    <pattern>HELLO *</pattern>
    <template>
        <srai>HI</srai>
    </template>
</category>
<category>
    <pattern>ALOHA *</pattern>
    <template>
        <srai>HI</srai>
    </template>
</category>
<category>
    <pattern>HEY *</pattern>
    <template>
        <srai>HI</srai>
    </template>
</category>

www.alicebot.org estão oferecendo um Superbot que contém um arquivo AIML dos 10.000 padrões principais. No entanto, provavelmente é muito caro para o hobby.

Na minha própria experiência, você definitivamente precisará de respostas para padrões relacionados a:

  • Saudações (oi/Olá)
  • Nome (quem é você?)
  • Idade (quantos anos você tem?)
  • Aniversário (quando você nasceu?)
  • Gênero/espécie (o que você é?)
  • Bem estar (como você está?)

Se você está começando do zero, surgem os problemas quando você tenta pensar em todas as diferentes maneiras pelas quais um usuário pode fazer uma pergunta, por exemplo, o nome do bot

  • Qual o seu nome?
  • Como você é chamado?
  • Como eles te chamam?
  • E você é?
  • Meu nome é Jim, qual é o seu?
  • etc etc

Posso também apontar que os curingas nos padrões devem ser separados de outras palavras para que os analisadores possam buscá -los como palavras distintas nas cordas de entrada.

<pattern>WHEN WERE YOUR BORN *</pattern>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top