Academy – Plataforma Centribal
Te damos la bienvenida al espacio de aprendizaje de nuestra plataforma
Se conoce como entidad al concepto o palabra clave al que se le asigna un valor, de manera que se puede identificar la solicitud de un usuario para emparejarla con un intent.
Las entidades suelen coincidir con categorías como ubicación, nombre, fecha, cantidad, etc.
Actualmente tenemos disponibles las siguientes entidades de sistema.
Estas entidades nos permitirán capturar datos que escriba el usuario y Centribot podrá interpretar cada dato según la entidad que le hayamos asignado.
Esta información también podremos imprimirla en la conversación, si es necesario, usando las variables.
@sys.any: Parámetro que captura cualquier tipo de texto o número.
@sys.date: Parámetro que captura fechas.
@sys.e-mail: Parámetro que captura correos electrónicos.
@sys.geo-capital: Parámetro que captura nombres de capital de un país.
@sys.geo-city: Parámetro que captura nombres de ciudades.
@sys.geo-country: Parámetro que captura el nombre de un país.
@sys.geo-state: Parámetro que captura el nombre de un estado o provincia.
@sys.location: Parámetro que captura una dirección física completa.
@sys.given-name: Parámetro que captura nombres propios.
@sys.person: Parámetro que captura nombre y/o apellido (Preferiblemente usar esta entidad a la anterior)
@sys.number: Parámetro que captura números.
@sys.pone-number: Parámetro que captura un número de teléfono.
@sys.location: Parámetro que captura una localización (ciudad, país, etc.)
@sys.time: Parámetro que captura el tiempo en horas, minutos y segundos.
En el módulo NLP contamos con una pestaña donde podremos crear entidades personalizadas que se ajusten a los datos concretos que atenderá nuestro chatbot, por ejemplo, tamaño de un producto, ingredientes de una pizza, colores, etc.
Tenemos disponibles dos tipos de lista personalizadas:
@size: Parámetro que captura la talla de una prenda de ropa o calzado.
@tipoPizza: Parámetro que captura las distintas pizzas que tenga disponible un restaurante.
@color: Parámetro que captura colores.
@date: Parámetro que verificara validez del formato de fecha DD/MM/AAAA – regEx: ((|0)[1-9]|[1-2][0-9]|3[0-1])\/((|0)[1-9]|1[0-2])\/[0-9]{4}
Las entidades de lista proporcionan una lista de entradas de entidad de valor único. No tienen valores de referencia ni sinónimos.
El chatbot capturara el valor exacto que se haya declarado en la entidad.
Ejemplo: Si en el chatbot indicamos España, el chatbot responderá con la respuesta correspondiente.
Si indicamos un país que no está en la lista, responderá con un prompt, si es requerido, o con un default fallback.
Las entidades de asignación proporcionan una asignación entre los valores de referencia y sus sinónimos. Cada entrada de entidad de asignación contiene un valor de referencia único y una lista de sinónimos.
En el ejemplo, la entidad Asignación_Tallas, cada una de las entradas tiene su correspondiente sinónimo.
Si un usuario escribe Grande, el output o valor impreso en la respuesta será L.
Las expresiones regulares son una notación para describir conjuntos de cadenas de caracteres. Cuando una cadena en particular está en el conjunto descrito por una expresión regular, a menudo decimos que la expresión regular coincide con la cadena.
Las entidades de tipo RegEx nos ayudarán con validaciones de números de identificación nacionales, cadenas de números o códigos, matrículas, fechas, etcétera.
Un parámetro es un valor cambiante dentro de un modelo fijo; por ejemplo, un correo electrónico (no se pueden entrenar TODOS los correos, pero sí sus características fijas). El valor del parámetro es, generalmente, un dato que se le pide al usuario: DNI, correo, etc.
Se pedirá este dato mediante una variable predefinida dentro del parámetro.
En el módulo de parámetros, será donde vamos a configurar cada variable. Tendremos los siguientes campos:
Nombre y variable:
1. Definimos el nombre y se autocompletará la variable con el símbolo $.
Tipo de entidad:
2. Definimos la categoría de la variable para el que el chatbot pueda interpretar correctamente la variable (número, texto, fecha, localización o personalizada).
Requerida o no requerida:
3. Definiremos si es obligatoria que esta variable sea respondida por el usuario para que se valide y dé la respuesta correcta.
Texto del prompts:
4. Si marcamos como requerida la variable, será necesario indicar un texto que pida el dato requerido.
Para poder utilizar las llamadas a API es necesario conocer un poco el léxico que usaremos.
Como primer concepto necesitamos conocer cómo generar las variables que el usuario completará al momento de responder al chatbot.
En el módulo de Entrada, para generar variables usaremos el siguiente formato:
Así formateamos la variable:
$variable$texto significativo$/variable$
Utilizamos como llave de apertura $ $ y como llave de cierre $/ $
El texto en azul será lo que cambie para darle nombre a la variable que estamos usando, puede ser, name, dni, email, referencia, es decir, cualquier palabra identificativa.
En el texto significativo podemos colocar cualquier texto, que no afectará en nada al entrenamiento ni al resultado puesto que se trata solo de un placeholder.
Principalmente, se deben entrenar variaciones de cómo el usuario nos puede indicar el dato que le solicitamos como en el ejemplo que tenemos a la derecha.
En el módulo de salida podremos mostrar las variables en la respuesta al usuario, para ello, tendremos varias maneras de llamar a estas variables.
Según de donde venga la variable podremos llamarla de las siguientes formas:
Si la variable está declarada en el mismo intent de la respuesta, usaremos:
$variable
Si la variable está declarada en otro intent pero queremos dar la respuesta de esa variable fuera de él, será necesario usar los contextos declarados en esos intents para traer la respuesta. En ese caso usaremos:
#contexto.variable
En la creación de parámetros, tendremos dos entidades que nos permitirán mantener el valor que haya dado el usuario en la sesión del navegador, mediante cookies.
Estas cookies se mantendrán activas durante 24 horas. Si el usuario vuelve a entrar luego de esas 24 horas, la información se tendrá que recoger de nuevo mediante parámetros para poder usarlas posteriormente.
Las dos entidades que tendrán esta funcionalidad son:
Para poder usar esta información será necesario activar “Guardar en sesión” al momento de configurar el parámetro.
Luego en cualquier intent podremos usar las variables
$.pc_user_email o $.pc_user_name para mostrar el valor que previamente se ha grabado.