AIML coincidencia de patrones - howto?
-
11-09-2019 - |
Pregunta
Estoy teniendo un problema al tratar de entender cómo funciona el patrón no AIML juego.
¿Cuál es la diferencia entre _
y *
? Y cómo debería utilizarlos para obtener el mejor partido?
este documento sólo , pero carece de algunos buenos ejemplos.
Solución
A * coincidirá con nada menos que un patrón de una palabra o varias palabras se hacen coincidir
A _ coincidirá con cualquier cosa, incluso si un patrón de una palabra o varias palabras podía igualar
<pattern>BYE _</pattern>
no tiene sentido ya que <pattern>BYE *</pattern>
coincide con los mismos patrones, pero <pattern>BYE _</pattern>
sombreará <pattern>BYE * SEE YOU</pattern>
mientras que BYE * voluntad no.
Uso _ cuidadosamente, por ejemplo _ coincidiría con cualquier cosa y su robot dará la misma respuesta cada momento.
<pattern>_ A COUPLE OF WORDS *</pattern>
y <pattern>_ A COUPLE OF WORDS</pattern>
es la forma correcta de usar _ Si se desea capturar cada momento un par de palabras está dentro o al final de una frase.
Otros consejos
_ y * son ambos comodines, la diferencia es en el que se deben utilizar en la coincidencia de patrones.
_ should be used before the word or phrase you're matching on
* should be used after the word or phrase you're matching on.
Ver: especificación AIML
Para entender esto mejor, puede ser digno de mirar ejemplos en los robots de AIML existentes.
Ver: Descargas , éste Saluations.aiml tiene ejemplos