Pergunta

Estou tendo um problema ao tentar entender como é que funciona a correspondência de padrões AIML. Qual é a diferença entre _ e *? E como devo usá-los para obter o melhor jogo?

este documento somente, mas falta-lhe alguns exemplos bons.

Foi útil?

Solução

A * irá corresponder a qualquer coisa menos que um padrão de uma palavra ou várias palavras são combinadas

A _ irá corresponder a qualquer coisa, mesmo se um padrão de uma palavra ou várias palavras poderiam corresponder

<pattern>BYE _</pattern> não faz sentido uma vez que <pattern>BYE *</pattern> coincide com os mesmos padrões, mas <pattern>BYE _</pattern> vai apagar <pattern>BYE * SEE YOU</pattern> enquanto BYE * não vai.

Use _ cuidadosamente, por exemplo _ iria coincidir com qualquer coisa e seu bot vai dar a mesma resposta a cada vezes.

<pattern>_ A COUPLE OF WORDS *</pattern> e <pattern>_ A COUPLE OF WORDS</pattern> é a maneira correta de usar _ se você quiser pegar todos os tempos um par de palavras é dentro ou no final de uma frase.

Outras dicas

_ e * são ambos wildcards, a diferença é que eles devem ser usados ??na correspondência de padrão.

_ should be used before the word or phrase you're matching on
* should be used after the word or phrase you're matching on.

Veja: AIML especificação

Para entender isso melhor pode valer a pena olhar para exemplos nas bots AIML existentes.

Veja: downloads , este Saluations.aiml tem exemplos

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top