Variables
Definición
Una variable mammut (o simplemente "variable") es una herramienta de Mammut markdown que construye una unidad susceptible a tomar distintos valores. Estas tienen la posibilidad de transformarse en texto, imágenes, videos u otros tipos de contenido. Las variables representan un dato que el bot sabe o que el bot quiere saber, por lo tanto, toman su valor directamente desde una property del knowledge.
Una variable permite hacer referencias a un path del knowledge que el bot deberá seguir. La variable ayuda al bot para reconocer algún dato, o para arrojarlo según se trate de una solicitud o respuesta hacia el usuario. Una variable también puede representar a un valor que el bot quiere saber y que será atrapado en la conversación (véase sink).
Nota: las variables permiten al bot resolver una mayor cantidad de peticiones, ya que estas toman su valor directamente al momento de una conversación.
Una variable es el medio para sumar datos al conversation scope. Las transformaciones de variables realizadas en una conversación, son guardadas en una memoria para así dar respuestas más correctas al usuario.
Conceptos relacionados: corpus M, knowledge, path, conversation scope.
Formato general
La variable es una secuencia escrita entre corchetes que consta de dos partes divididas por una barra vertical (|): en primer lugar se encuentra el tipo de transformación y en segundo lugar una función.
Estructura: [Tipo_de_transformación|función]
Nota: la transformación especifica el tipo de contenido que la variable tomará luego de la transformación.
El identificador que se usa para cada tipo de transformación depende de la naturaleza del contenido referido en la función:
- [variable] = transformación de texto (admiten properties del tipo String, GeoLocation, Boolean, Integer, Long, Double, LocalDate, LocalTime, ZonedDateTime o StringToLower),
- [variable_image] = transformación de imagen (admiten properties del tipo GAttachment o Attachment),
- [variable_video] = transformación de video (admiten properties del tipo GAttachment o Attachment),
- [variable_sound] = transformación de audio (admiten properties del tipo GAttachment o Attachment).
Nota: el tipo de transformación [variable_image] tiene una variación que nos permite incorporar imagenes directamente desde el corpus, sin necesidad de hacer referencia a una función. Esto se logra sustituyendo la función directamente por el id de la imagen que se quiera incorporar.
La función es la parte de la variable que especifica un path donde se debe buscar la información.
Ejemplos
-
Ejemplo de una variable con una transformación de texto:
[variable|tienda.sell_several.varita.name]
-
Ejemplo de una variable con una transformación en imágen:
[variable_image|tienda.sell_several.varita.image]
-
Ejemplo de una variable con una transformación en imagen, usando un atajo directo desde Google Drive:
[image|1FbcfdFsPCQO-bEwvhLGxMLLo_klpeAVV]
A continuación se observa un ejemplo de un corpusM con variables Mammut:
id | sub_id | scenario_type | event_message | hidden | field | lambda_condition | ui_event | action | source | regional_settings | complexity |
---|---|---|---|---|---|---|---|---|---|---|---|
1 | 1 | Conversation | Hola! | Carla | es | ||||||
1 | 2 | Conversation | Hola! Bienvenido a la tienda de varitas y calderos del señor Jollivanders. ¿En qué puedo ayudarte? | Mammut | es | ||||||
2 | 1 | Conversation | ¿Cuál es el precio de la [variable\|tienda.sell_several.varita.name] en [variable\|tienda.name] ? |
Carla | es | ||||||
2 | 2 | Conversation | La [variable\|tienda.sell_several.varita.name] cuesta [variable\|tienda.sell_several.varita.price] . |
Mammut | es | ||||||
2 | 3 | Conversation | Quiero la [variable\|tienda.sell_several.varita.name] |
Carla | es | ||||||
2 | 4 | Conversation | De inmediato. Dame tu correo electrónico para concluir tu petición. | Mammut | es | ||||||
3 | 1 | Conversation | ¿Puedes enviarme una imagen de [variable\|tienda.sell_several.varita.name] |
Carla | es | ||||||
3 | 2 | Conversation | [variable_image\|tienda.sell_several.varita.image] |
Mammut | es |