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.

Onde encontrar esses dados

Ao criar um agente, o mais comum é usar o Console do Dialogflow. Acesse a documentação, abra o Console (em inglês). As instruções abaixo se concentram no uso do Console. Para acessar dados de entidade, siga estas etapas:

  1. Acesse o Console do Dialogflow (em inglês).
  2. Selecione um agente.
  3. 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:

  1. Abra uma entidade atual ou crie uma nova.
  2. Verifique a entidade regexp.
  3. Insira uma ou mais expressões regulares na tabela de entradas.
  4. Clique em Save.

Captura de tela da entidade regexp

Se você estiver usando a API para criar ou atualizar entidades, use KIND_REGEXP para o campo de tipo de entidade.

Limitações

As seguintes limitações se aplicam:

  • 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 1.024 caracteres.