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.
Onde encontrar estes dados
Ao criar um agente, é mais comum usar a consola do Dialogflow ES (visite a documentação, abra a consola). As instruções abaixo focam-se na utilização da consola. Para aceder aos dados de entidades:
- Aceda à consola do Dialogflow ES.
- Selecione um agente.
- Selecione Entidades no menu da barra lateral do lado esquerdo.
Se estiver a criar um agente através da API em vez da consola, consulte a referência EntityTypes. Os nomes dos campos da API são semelhantes aos nomes dos campos da consola. As instruções abaixo realçam as diferenças importantes entre a consola e a API.
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
Para criar uma entidade de expressão regular:
- Abra uma entidade existente ou crie uma nova.
- Selecione Entidade Regexp.
- Introduza uma ou mais expressões regulares na tabela de entradas.
- Clique em Guardar.
Se estiver a usar a API para criar ou atualizar entidades,
use KIND_REGEXP
para o campo do tipo de entidade.
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.