Entidades de expresión regular

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

  1. Abre la consola de Dialogflow CX.
  2. Elige tu proyecto de GCP.
  3. Selecciona el agente.
  4. Selecciona la pestaña Administrar.
  5. Haz clic en Tipos de entidades.
  6. Haga clic en Crear.
  7. Marca Entidades de expresión regular.
  8. Completa los campos restantes.
  9. 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.