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.
Onde encontrar esses dados
Ao criar um agente, o mais comum é usar o console do Dialogflow ES. Acesse a documentação e abra o console (em inglês). As instruções abaixo referem-se ao uso do Console. Para acessar dados de entidade, siga estas etapas:
- Acesse o console do Dialogflow ES.
- Selecione um agente.
- Selecione Entities no menu da barra lateral à esquerda.
Se você estiver usando a API em vez do Console para criar um agente, consulte a referência de EntityTypes. Os nomes de campo da API são semelhantes aos nomes de campo do Console. As instruções abaixo destacam as diferenças importantes entre o Console e a API.
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
Para criar uma entidade regexp:
- Abra uma entidade atual ou crie uma nova.
- Verifique a entidade regexp.
- Insira uma ou mais expressões regulares na tabela de entradas.
- Clique em Save.
Se você estiver usando a API para criar ou atualizar entidades, use KIND_REGEXP
para o campo de tipo de entidade.
Limitações
Considere as seguintes limitações:
- A correspondência difusa (em inglês) 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.