Entidades regexp

Algumas entidades precisam corresponder aos padrões em vez de termos específicos. Por exemplo, números de identificação nacional, IDs, placas de carros e assim por diante. Com entidades regexp, é possível fornecer expressões regulares para correspondência.

Expressões regulares compostas

Cada entidade regexp corresponde a um único padrão, mas é possível fornecer várias expressões regulares se elas representarem variações de um único padrão. Durante o treinamento 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 você fornecer as seguintes expressões regulares de 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 se torna:

  • ^[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 em ordem. A pesquisa é interrompida quando uma correspondência válida é encontrada. Por exemplo, para uma expressão de usuário final de "Seattle":

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

Manuseio especial para reconhecimento de fala

Se seu agente usa o reconhecimento de fala, também conhecido como entrada de áudio, conversão de voz em texto ou STT, suas expressões regulares precisarão de tratamento especial ao corresponder letras e números. Um enunciado falado do usuário final é processado primeiro pelo reconhecedor de fala antes que as entidades sejam correspondidas. Quando um enunciado contém uma série de letras ou números, o reconhecedor pode preencher cada caractere com espaços. Além disso, o reconhecedor pode interpretar dígitos em forma de palavra. Por exemplo, um enunciado de "Meu ID é 123" pode ser reconhecido como:

  • "Meu ID é 123";
  • "Meu ID é 1 2 3";
  • "Meu ID é um dois três".

Para acomodar números de três dígitos, use 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)

Criar uma entidade regexp

Console

  1. Abra o console do Dialogflow CX.
  2. Escolha seu projeto do GCP.
  3. Selecione seu agente.
  4. Selecione a guia Gerenciar.
  5. Clique em Tipos de entidade.
  6. Clique em Criar.
  7. Verifique as entidades regexp.
  8. Preencha os campos restantes.
  9. Clique em Save.

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 de EntityType Interface de EntityType
C++ EntityTypesClient Indisponível
C# EntityTypesClient Indisponível
Go EntityTypesClient Indisponível
Java EntityTypesClient EntityTypesClient
Node.js EntityTypesClient EntityTypesClient
PHP Indisponível Indisponível
Python EntityTypesClient EntityTypesClient
Ruby Indisponível Indisponível

Limitações

Considere as seguintes limitações:

  • A correspondência parcial não pode ser ativada para entidades regexp. Esses recursos são mutuamente exclusivos.
  • Cada agente pode ter no máximo 50 entidades regexp.
  • A expressão regular composta de uma entidade tem um comprimento máximo de 2.000 caracteres.