Respuesta

4

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 podrían coincidir

<pattern>BYE _</pattern> no tiene sentido ya que <pattern>BYE *</pattern> coincide con los mismos patrones, pero se <pattern>BYE _</pattern> sombra <pattern>BYE * SEE YOU</pattern> mientras que BYE * no.

Use _ cuidadosamente, por ejemplo _ coincidiría con cualquier cosa y su bot dará la misma respuesta todas las veces.

<pattern>_ A COUPLE OF WORDS *</pattern> y <pattern>_ A COUPLE OF WORDS</pattern> es la manera correcta de usar _ si desea ver todas las veces que UN PAR DE PALABRAS está dentro o al final de una oración.

0

_ y * son comodines, la diferencia es donde deben usarse 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: AIML spec

Para entender esto mejor, puede ser digno de mirar ejemplos en los robots de AIML existentes.

Ver: Downloads, éste Saluations.aiml tiene ejemplos

+0

¿Entonces eso significaría que 'HELLO _' es una expresión inválida? ¿Derecha? –

+0

Esto es lo que he encontrado en http://www.alicebot.org/aiml/aaa/Salutations.aiml ¿Cuál es la diferencia esencial entre estos dos patrones? * BYE _ BYE Por cierto, gracias por la respuesta :) –

+0

diría, basado en la especificación de que HOLA _ es sí no válidos. Y ese fue un muy mal ejemplo de mi parte. No creo que el * BYE sea evaluado alguna vez. * BYE es inválido en mi opinión, y debe ser BYE *. – Bravax

Cuestiones relacionadas