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
- Abra o console do Dialogflow CX.
- Escolha seu projeto do GCP.
- Selecione seu agente.
- Selecione a guia Gerenciar.
- Clique em Tipos de entidade.
- Clique em Criar.
- Verifique as entidades regexp.
- Preencha os campos restantes.
- 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 EntityType | Interface 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 tamanho máximo de 2.000 caracteres.