Entradas


Para definir las entradas se emplean palabras, comodines y conceptos:

Palabras

Cuando se especifica una palabra, esta deberá aparecer en el texto introducido del usuario para que se cumpla la entrada. Si se quieren ofrecer varias posibilidades para una palabra, se pueden indicar separándolas con el carácter de ampersand (&). Las palabras no distinguen ni entre mayúsculas y minúsculas ni entre letras con tilde y sin ella.

    La siguiente entrada se cumple cuando el usuario introduce cualquier frase que contiene el texto te gusta:
<input>te gusta</input>

La entrada de la siguiente regla se cumple cuando el usuario introduce cualquier frase que contiene los textos te gusta o te apetece:
<input>te gusta&apetece</input>
Si queremos utilizar el texto que el usuario escribe en una serie de palabras, basta con añadir al final un ampersand seguido del nombre que queremos asignar a este comodín. Por ejemplo, gusta&apetece&$verb$ almacena en el comodín $verb$ la palabra concreta que haya utilizado el usuario (gusta o apetece). El nombre debe ir entre signos de dólar.

    El uso del ampersand modifica el modo en que se extraen los comodines del texto introducido por el usuario.

Comodines

Los comodines son espacios en blanco de las entradas en las que el usuario puede escribir una palabra, varias o ninguna. Sirven tanto para ofrecer mayor libertad en una entrada como para extraer determinados datos del texto del usuario y utilizarlos en la salida y en cálculos internos. Por ejemplo, veamos la siguiente entrada:

<input>me gusta <wildcard name="$gusto$" /></input>

Esta entrada no solo nos permite responder cuando el usuario dice Me gusta el chocolate, Me gusta nadar en la psicina o cualquier otro texto donde aparezcan las palabras me gusta, sino que también almacena el texto que sigue a estas palabras, para que podamos utilizarlo en la respuesta inmediata o guardarlo.

En ocasiones, nos interesará imponer determinadas condiciones a las palabras que ocupan el puesto del comodín. Por ejemplo, tal vez nos interese que el comodín pueda quedarse vacío o quizás queramos que incluya como mínimo una palabra. Para conseguirlo, tenemos a nuestra disposición varios atributos que nos permiten controlar la información que recogen los comodines. Estos atributos son los siguientes:

AtributoUso
lengthmin Indica el número mínimo de caracteres que deben contener las palabras que ocupan el lugar del comodín. Si no se indica ningún número, se supone que es cero. Por ejemplo, <wildcard lengthmin="2" /> requiere que en el lugar del comodín haya como mínimo una palabra.
length Indica que el número exacto de palabras que deben ocupar el lugar del comodín. Si no se indica ningún número, se supone que no hay ninguna restricción. Por ejemplo, <wildcard length="1" /> requiere que en el lugar del comodín haya como exactamente una palabra. Si no hay ninguna o hay más de una, no se cumplirá la regla.
name Indica el nombre que se le dará al texto extraído por el comodín. Si no se indica ningún número, se dará a cada comodín un nombre formado por el asterisco y un número consecutivo comenzando por el uno. Es decir, al primer comodín se le dará el nombre *1, al segundo *2, etc. Si queremos convertir el texto en una variable, deberemos indicar un nombre que comience y acabe con un signo de dólar, como por ejemplo, $lugar$, $importe$, $color$, etc. Por ejemplo, <wildcard name="$color$" /> colocará las palabras que ocupen el lugar de este comodín en la variable temporal $color$. No olvides que esta variable solo permanecerá disponible durante este turno de conversación. Si deseas utilizarla en otro punto de la conversación, deberás utilizar un script para asignar su valor a otra variable.
item Si se indica el valor stem se extraerá el lema de la palabra. En otro caso, se extraerá la palabra literal. Por ejemplo, <wildcard item="stem" /> y en el lugar del comodín aparece la palabra cantaría, se extraerá como comodín su lema, es decir, cantar.
conversion Si se indica el valor first-second se transformarán las palabras en primera persona a segunda persona y viceversa. Por ejemplo, la regla porque <wildcard conversion="first-second" /> hará que yo te lo digo se convierta en tú me lo dices. Si se indica el valor lowercase se convertirán todas las palabras a minúsculas. Si no se indica ningún valor, no se realizará ninguna transformación.

    La entrada de la siguiente regla se cumple cuando el usuario introduce los textos me gusta el chocolate o eso me gusta:
<input>me gusta <wildcard /></input>
La entrada de la siguiente regla se cumple cuando el usuario introduzca el texto me gusta el chocolate PERO NO cuando escribe eso me gusta:
<input>me gusta <wildcard lengthmin='1' /></input>
Cuando el usuario escribe el texto me gusta ver películas, la entrada de la siguiente regla extrae como sustituible *1 ver y como sustituible *2 el texto películas:
<input>me gusta <wildcard length='1' /> <wildcard /></input>

Conceptos

Los conceptos permiten detectar rápidamente palabras pertenecientes a un conjunto agrupado según algún criterio. Estos conceptos se indican mediante el símbolo de tilde (~) y han de definirse también en el archivo conceptos.txt.
    Si hemos introducido en el archivo conceptos la siguiente línea:
~color azul&rojo&verde
La entrada de la siguiente regla se cumplirá cuando el usuario introduzca los textos me gusta el azul, me gusta el rojo o me gusta el verde:
<input>me gusta el ~color</input>

    El uso de conceptos también modifica el modo en que se extraen los sustituibles del texto introducido por el usuario.


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