Algunas entidades necesitan coincidir con patrones, y no con términos específicos. Por ejemplo, números de identificación nacionales, números de identificación, matrículas, etcétera. Con las entidades de expresión regular, puedes proporcionar expresiones regulares para generar la coincidencia.
Dónde encontrar estos datos
Cuando compilas un agente, es más común usar la consola de Dialogflow ES (consulta la documentación, abre consola). En las instrucciones que se detallan a continuación, nos enfocaremos en el uso de la consola. Para acceder a los datos de la entidad, sigue estos pasos:
- Ve a la consola de Dialogflow ES.
- Selecciona un agente.
- Selecciona Entidades en el menú de la barra lateral izquierda.
Si quieres compilar el agente con la API en lugar de la consola, consulta la referencia sobre los tipos de entidades. Los nombres de los campos de la API son similares a los de la consola. En las instrucciones que se detallan continuación, se resaltan las diferencias importantes entre la consola y la API.
Expresiones regulares compuestas
Cada entidad de expresión regular corresponde a un patrón único, pero puedes proporcionar varias expresiones regulares si todas representan variaciones de un mismo patrón.
Durante el entrenamiento del agente, todas las expresiones regulares de una misma entidad se combinan con el operador de alternancia (|
) y forman una expresión regular compuesta.
Por ejemplo, supongamos que proporcionas las siguientes expresiones regulares para un número de teléfono:
^[2-9]\d{2}-\d{3}-\d{4}$
^(1?(-?\d{3})-?)?(\d{3})(-?\d{4})$
La expresión regular compuesta que se genera es esta:
^[2-9]\d{2}-\d{3}-\d{4}$|^(1?(-?\d{3})-?)?(\d{3})(-?\d{4})$
El orden de las expresiones regulares es importante. Se sigue un orden para procesar cada una de las expresiones regulares de la expresión regular compuesta. La búsqueda se detiene una vez que se encuentra una coincidencia válida. Por ejemplo, este es el proceso para la expresión del usuario final "Seattle":
Sea|Seattle
coincide con "Sea"Seattle|Sea
coincide con "Seattle"
Manejo especial para el reconocimiento de voz
Si tu agente usa el reconocimiento de voz (también conocido como entrada de audio, voz a texto o STT), las expresiones regulares necesitarán un manejo especial cuando deban coincidir con letras y números. El reconocedor de voz procesa un enunciado hablado del usuario final antes de que se realice la búsqueda de coincidencia con las entidades. Cuando un enunciado contiene una serie de letras o números, es posible que el reconocedor rellene cada carácter con espacios. Además, puede que el reconocedor interprete dígitos en forma de palabras. Por ejemplo, una declaración del usuario final que diga “Mi ID es 123” puede reconocerse como cualquiera de estas opciones:
- “Mi ID es 123”
- "Mi ID es 1 2 3"
- “Mi ID es uno dos tres”
Para incluir números de tres dígitos, puedes usar las siguientes expresiones regulares:
\d{3}
\d \d \d
(zero|one|two|three|four|five|six|seven|eight|nine) (zero|one|two|three|four|five|six|seven|eight|nine) (zero|one|two|three|four|five|six|seven|eight|nine)
Crea una entidad de expresión regular
Para crear una entidad de expresión regular, sigue estos pasos:
- Abre una entidad existente o crea una nueva.
- Marca la casilla entidad de expresión regular (Regexp entity).
- Ingresa una o más expresiones regulares en la tabla de entradas.
- Haz clic en Save (Guardar).
Si usas la API para crear o actualizar entidades, usa KIND_REGEXP
en el campo de tipo de entidad.
Limitaciones
Se aplica la siguiente limitación:
- La coincidencia parcial no se puede habilitar para las entidades de expresión regular. Estas funciones son excluyentes de forma mutua.
- Cada agente puede tener un máximo de 50 entidades de expresión regular.
- La expresión regular compuesta de una entidad tiene una longitud máxima de 2,000 caracteres.