AIML pattern matching - howto?
-
11-09-2019 - |
Domanda
Sto avendo un problema cercando di capire come funziona non modello AIML corrispondenti.
Qual è la differenza tra _
e *
? E come dovrei usare loro per ottenere il risultato migliore?
questo documento , ma manca alcuni buoni esempi.
Soluzione
A * corrisponderà nulla se non un modello di una parola o più parole sono abbinati
A _ sarà mai soddisfatta anche se un modello di una parola o più parole poteva eguagliare
<pattern>BYE _</pattern>
non ha senso in quanto <pattern>BYE *</pattern>
soddisfa gli stessi schemi, ma <pattern>BYE _</pattern>
sarà ombra <pattern>BYE * SEE YOU</pattern>
mentre BYE * non sarà.
Usa _ con attenzione, ad esempio _ corrisponderà nulla e il bot darà la stessa risposta ogni volte.
<pattern>_ A COUPLE OF WORDS *</pattern>
e <pattern>_ A COUPLE OF WORDS</pattern>
è il modo corretto di utilizzare _ se si desidera catturare ogni volte due parole è all'interno o alla fine di una frase.
Altri suggerimenti
_ e * sono entrambi i caratteri jolly, la differenza è dove dovrebbero essere utilizzati in pattern matching.
_ should be used before the word or phrase you're matching on
* should be used after the word or phrase you're matching on.
Si veda: AIML spec
Per capire meglio, può essere la pena di guardare esempi nelle bot AIML esistenti.
Si veda: Download , questo Saluations.aiml ha esempi