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
- Abra a consola do Dialogflow CX.
- Escolha o seu projeto da GCP.
- Selecione o seu agente.
- Selecione o separador Gerir.
- Clique em Tipos de entidades.
- Clique em Criar.
- Verifique as entidades Regexp.
- Preencha os campos restantes.
- 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.