Entender entidades no Dialogflow

1. Antes de começar

Entidades são um mecanismo do Dialogflow para identificar e extrair dados úteis de entradas de linguagem natural. As intents permitem que o agente processe a motivação subentendida em uma entrada específica do usuário. No entanto, as entidades são usadas para captar informações específicas mencionadas pelos usuários, incluindo endereços, nomes de produtos, quantidades com unidades e outros dados. Todos os dados importantes que você quiser extrair da solicitação de um usuário precisam ter uma entidade correspondente.

A lista a seguir explica os três tipos de entidades:

  • As entidades do sistema, que vêm com o Dialogflow, permitem que os agentes extraiam informações sobre uma ampla variedade de conceitos sem configuração adicional. Por exemplo, há entidades do sistema para extrair datas, horários e locais das entradas de linguagem natural.
  • As entidades de desenvolvedor, que você define, extraem informações sobre conceitos além daqueles cobertos pelas entidades de sistema. Por exemplo, uma marca pode criar uma entidade de desenvolvedor para reconhecer um conjunto exclusivo de nomes de produtos.
  • As entidades de sessão, que você também define, se aplicam apenas a uma conversa específica. Por exemplo, é possível criar uma entidade de sessão para representar as opções temporárias disponíveis para um determinado usuário que quer fazer uma reserva.

Pré-requisitos

Antes de continuar, conclua os seguintes codelabs:

  1. Criar um agendamento de horários com o Dialogflow
  2. Integrar um bot de chat do Dialogflow com o Actions on Google

Você também precisa entender os conceitos e construções básicos do Dialogflow, que podem ser aprendidos nos seguintes vídeos do programa Criar um chatbot com o Dialogflow:

O que você vai aprender

  • Como criar e usar entidades de sistema no Dialogflow
  • Como criar e usar entidades de desenvolvedor no Dialogflow
  • Como testar o agente

O que você vai criar

  • Uma versão aprimorada de um agente do Dialogflow já criado
  • Entidades de desenvolvedor no Dialogflow
  • Entidades do sistema no Dialogflow

O que é necessário

  • Um navegador da Web e um endereço de e-mail para fazer login no console do Dialogflow

2. Como ativar e usar entidades de sistema no Dialogflow

  1. Acesse o console do Dialogflow.
  2. Selecione o agente AppointmentScheduler que você criou anteriormente.

ecedc445a9578e3b.png

  1. Clique em Intents.

37ee739b69fa1ae7.png

  1. Clique em Agendar horários para abrir as configurações de intent.

Você vai notar frases de treinamento como "Marque um horário para amanhã às 16h", em que Data e Hora são extraídas automaticamente como @sys.date e @sys.time. Adicione mais frases de treinamento para ver como o Dialogflow extrai automaticamente as entidades do sistema.

7dcdad1372191f90.png

Como você viu, as entidades do sistema permitem que os agentes extraiam informações sobre uma ampla variedade de conceitos sem configuração adicional. Dados como endereço, e-mails, moeda e números de telefone são alguns exemplos comuns de entidades do sistema. Para saber mais, consulte Entidades do sistema.

3. Como ativar e usar entidades de desenvolvedor no Dialogflow

Criar entidades de desenvolvedor

Até agora, você se dirigiu ao agendador de consultas de maneira genérica. Agora, suponha que seu programador seja para um departamento de veículos automotores de um estado, que oferece principalmente serviços de carteira de motorista e registro. Crie essas entidades.

  1. Clique em Entidades.

4d8924f1d4edc0d1.png

  1. Clique em Create Entity.

b77e94e5e47adbc7.png

  1. Insira "AppointmentType" como o Nome da entidade e adicione "Registro do veículo" e "Carteira de motorista" como os dois valores de referência com alguns sinônimos, conforme mostrado na imagem a seguir. Clique em Salvar.

51562b4327dbaf1.png

É possível adicionar mais linhas com mais serviços como tipos de entidade.

  1. Clique em Salvar.

Edite a intenção para acomodar a entidade de desenvolvedor recém-criada

  1. Clique em Intenção.
  2. Insira "Marcar um horário para a carteira de habilitação às 15h de amanhã" na intenção de agendar um horário.

Você vai notar o reconhecimento automático de carteira de motorista, às 15h e amanhã como entidades do desenvolvedor e do sistema.

5fb91b31806f06f.png

  1. Digite as seguintes frases de treinamento:
  2. Horário para renovação da licença na segunda-feira
  3. Marque um horário para segunda-feira às 14h para a licença
  4. Agendamento de registro de veículo para segunda-feira

5addff06908c61f8.png

  1. Você precisa tornar AppointmentType um campo obrigatório, semelhante a hora e data. Para isso, acesse Ações e parâmetros e marque a caixa de seleção na linha AppointmentType.

c43e72c5c1a43f5c.png

  1. Adicione uma solicitação, como "Quais serviços você quer contratar? O DMV oferece serviços de carteira de habilitação e registro de veículos". Se o usuário não fornecer um tipo de consulta, o comando será usado.
  2. Clique em Salvar.

4. Teste o chatbot

Você pode testar o chatbot no simulador de ações ou usar a integração com a Web ou o Google Home que aprendeu antes.

Caso de teste 1

Nesse caso, o usuário pede apenas para marcar um horário sem as três informações. Por isso, o Dialogflow pergunta a data, a hora e o tipo de consulta usando os comandos de preenchimento de slot que você definiu.

  1. Usuário: "Marque um horário."
  2. Chatbot: "Qual data?"
  3. Usuário: "23 de maio"
  4. Chatbot: "A que horas você quer vir?"
  5. Usuário: "10 da manhã"
  6. Chatbot: "Quais serviços você quer contratar? O DMV oferece serviços de carteira de habilitação e registro de veículos".
  7. Usuário: "Licença".
  8. Chatbot: "Seu horário para o registro do veículo está marcado para 23/05/2019 às 10:00:00. Até lá!"

Caso de teste 2

Nesse caso, o usuário pede para marcar um horário com informações parciais. Por isso, o Dialogflow pergunta a data, o horário e o tipo de consulta usando os comandos de preenchimento de slot que você definiu.

  1. Usuário: "Preciso de um horário para amanhã às 16h."
  2. Chatbot: "Quais serviços você quer contratar? O DMV oferece serviços de carteira de habilitação e registro de veículos".
  3. Usuário: "Licença".
  4. Chatbot: "Seu horário para a carteira de motorista está marcado para 24/04/2019 às 16:00:00. Até lá!"

Caso de teste 3

Nesse caso, o usuário fornece todas as informações. O Dialogflow processa as informações e fornece uma resposta com a confirmação do horário.

  1. Usuário: "Marque um horário para o registro do veículo às 14h de amanhã."
  2. Chatbot: "Seu horário para o registro do veículo está agendado para 24/04/2019 às 14:00:00. Até lá!"

5. Limpar

Se você planeja concluir outros codelabs do Dialogflow, pule esta seção por enquanto e volte a ela mais tarde.

Excluir o agente do Dialogflow

  • Clique em fe9c61cc27fb9f2e.png ao lado do agente.

520c1c6bb9f46ea6.png

  • Na guia Geral, role até a parte de baixo e clique em Excluir este agente.
  • Digite Excluir na caixa de diálogo e clique em Excluir.

6. Parabéns

Você criou um chatbot que processa entradas personalizadas com entidades de desenvolvedor. Você já sabe como desenvolver um chatbot.

Saiba mais

Confira os seguintes recursos para saber mais: