Salidas


Las salidas contienen el texto que se mostrará al usuario cuando se cumpla la entrada incluida en una regla. Una salida puede incluir un simple texto. Por ejemplo:

<rule>
     <input>hola</input>
     <output>¿Cómo estás?</output>
</rule>
La salida de esta regla sencillamente define que se muestre ¿Cómo estás? cuando el usuario escriba cualquier texto que incluya la palabra hola.

Para que las respuestas sean menos predecibles, podemos incluir varias alternativas entre corchetes y separadas por ampersands. Al determinar la respuesta, el bot elegirá al azar una de estas alternativas. Por ejemplo, el ejemplo anterior se puede reescribir como:

<rule>
     <input>hola</input>
     <output>¿{Cómo&Qué tal} estás?</output>
</rule>
De esta manera, el bot responderá al azar ¿Cómo estás? o ¿Qué tal estás?. Por supuesto, se pueden utilizar varias de estas alternativas en una salida.

<rule>
     <input>hola</input>
     <output>¿{Cómo&Qué tal} {estás&vas&andas}?</output>
</rule>
Esta sencilla salida mostrará cualquiera de las seis posibilidades (¿Cómo estás?, ¿Qué tal estás?, ¿Cómo vas?, ¿Qué tal vas?, ¿Cómo andas?, ¿Qué tal andas?), ¡un gran abanico de posibilidades por un poco de esfuerzo adicional!

También podemos incluir en la respuesta conceptos, muy similares a los empleados en los patrones, que funcionan de manera muy similar a los elementos al azar que acabamos de ver, pero con la peculiaridad de que basta con definirlos una vez, en el archivo de conceptos.

    Si hemos introducido en el archivo conceptos la siguiente línea:
~biengeneral bien&muy bien&perfecto

Cuando utilicemos el concepto ~biengeneral, en una salida se sustituirá al azar por bien, muy bien o perfecto.
Al escribir conceptos, el uso de las mayúsculas es importante. ~biengeneral equivaldrá a bien, muy bien o perfecto, pero ~Biengeneral equivaldrá a Bien, Muy bien o Perfecto.

Los conceptos son muy útiles para cambiar rápidamente un gran número de respuestas de bot sin necesidad de editar un montón de reglas, ya que si utilizamos un concepto en varias reglas y, posteriormente, lo ampliamos, dicha mejora se verá reflejada en todos esas reglas. También es útil para definir muletillas (Tío, Colega, Dabuten, etc.) y cambiarlas rápidamente.

Scripts

MoMo permite definir fácilmente comportamientos inteligentes del bot utilizando scripts, que son pequeños programas escritos en una sintaxis especial, que nos permiten recoger datos del usuario y trabajar con ellos. Veamos el siguiente ejemplo:

<rule>
     <input>hoy he <wildcard name="$actividad$"></input>
     <output script="forget();recentMemoryCreate(life);recentMemoryAddAttribute(name,$actividad$)">Lo sé.</output>
</rule>
El miniprograma que contiene el atributo script, sencillamente crea un recuerdo en la memoria del bot y le añade como atributo parte del texto escrito por el usuario. A través de este sencillo método, podemos reutilizar la información que aporte el usuario en el transcurso de la conversación. La regla indicada en el ejemplo anterior, hará que si el usuario le escribe al bot «Hoy he ido al campo.» el bot almacene «ido al campo» en su memoria y pueda reutilizarlo más adelante, por ejemplo, generando la frase «Ayer me dijiste que habías ido al campo».


Solicitamos su permiso para obtener datos estadísticos de su navegación en esta web, en cumplimiento del Real Decreto-ley 13/2012.
Si continúa navegando consideramos que acepta el uso de cookies. Aceptar | Más información