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.
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
Console
- Abre la consola de Dialogflow CX.
- Elige tu proyecto de GCP.
- Selecciona el agente.
- Selecciona la pestaña Administrar.
- Haz clic en Tipos de entidades.
- Haga clic en Crear.
- Marca Entidades de expresión regular.
- Completa los campos restantes.
- Haga clic en Save.
API
Configura el campo EntityType.kind
como KIND_REGEXP
.
Selecciona un protocolo y una versión para la referencia de EntityType:
Protocolo | V3 | V3beta1 |
---|---|---|
REST | Recurso EntityType | Recurso EntityType |
RPC | Interfaz EntityType | Interfaz de EntityType |
C++ | EntityTypesClient | No disponible |
C# | EntityTypesClient | No disponible |
Go | EntityTypesClient | No disponible |
Java | EntityTypesClient | EntityTypesClient |
Node.js | EntityTypesClient | EntityTypesClient |
PHP | No disponible | No disponible |
Python | EntityTypesClient | EntityTypesClient |
Ruby | No disponible | No disponible |
Limitaciones
Se aplica la siguiente limitación:
- La coincidencia parcial no se puede habilitar para las entidades de expresión regular. Estas funciones son mutuamente excluyentes.
- 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.