Entidades de regexp

Algumas entidades têm de corresponder a padrões em vez de termos específicos. Por exemplo, números de identificação nacional, IDs, matrículas, etc. Com as entidades regexp, pode fornecer expressões regulares para correspondência.

Expressões regulares compostas

Cada entidade de expressão regular corresponde a um único padrão, mas pode fornecer várias expressões regulares se todas representarem variações de um único padrão. Durante a preparação do agente, todas as expressões regulares de uma única entidade são combinadas com o operador de alternância (|) para formar uma expressão regular composta.

Por exemplo, se fornecer as seguintes expressões regulares para um número de telefone:

  • ^[2-9]\d{2}-\d{3}-\d{4}$
  • ^(1?(-?\d{3})-?)?(\d{3})(-?\d{4})$

A expressão regular composta torna-se:

  • ^[2-9]\d{2}-\d{3}-\d{4}$|^(1?(-?\d{3})-?)?(\d{3})(-?\d{4})$

A ordem das expressões regulares é importante. Cada uma das expressões regulares na expressão regular composta é processada por ordem. A pesquisa para assim que for encontrada uma correspondência válida. Por exemplo, para uma expressão do utilizador final de "Seattle":

  • Sea|Seattle corresponde a "Mar"
  • Seattle|Sea corresponde a "Seattle"

Processamento especial para reconhecimento de voz

Se o seu agente usar o reconhecimento de voz (também conhecido como entrada de áudio, voz para texto ou STT), as suas expressões regulares vão precisar de um processamento especial quando corresponderem a letras e números. Uma expressão falada do utilizador final é processada primeiro pelo reconhecedor de voz antes de as entidades serem correspondidas. Quando uma expressão contém uma série de letras ou números, o reconhecedor pode preencher cada caráter com espaços. Além disso, o reconhecedor pode interpretar dígitos sob a forma de palavras. Por exemplo, uma expressão do utilizador final "O meu ID é 123" pode ser reconhecida como qualquer uma das seguintes opções:

  • "O meu ID é 123"
  • "O meu ID é 1 2 3"
  • "O meu ID é um dois três"

Para incluir números de três dígitos, pode usar as seguintes expressões 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)

Crie uma entidade regexp

Consola

  1. Abra a consola do Dialogflow CX.
  2. Escolha o seu projeto da GCP.
  3. Selecione o seu agente.
  4. Selecione o separador Gerir.
  5. Clique em Tipos de entidades.
  6. Clique em Criar.
  7. Verifique as entidades Regexp.
  8. Preencha os campos restantes.
  9. Clique em Guardar.

API

Defina o campo EntityType.kind como KIND_REGEXP.

Selecione um protocolo e uma versão para a referência EntityType:

Protocolo V3 V3beta1
REST Recurso EntityType Recurso EntityType
RPC Interface EntityType Interface EntityType
C++ EntityTypesClient Não disponível
C# EntityTypesClient Não disponível
Ir EntityTypesClient Não disponível
Java EntityTypesClient EntityTypesClient
Node.js EntityTypesClient EntityTypesClient
PHP Não disponível Não disponível
Python EntityTypesClient EntityTypesClient
Ruby Não disponível Não disponível

Limitações

Aplicam-se as seguintes limitações:

  • Não é possível ativar a correspondência aproximada para entidades de regex. Estas funcionalidades são mutuamente exclusivas.
  • Cada agente pode ter um máximo de 50 entidades de expressões regulares.
  • A expressão regular composta para uma entidade tem um comprimento máximo de 2000 carateres.