
Machine Learning — Entities no api.ai
Depois da introdução à plataforma api.ai no artigo anterior, está na hora de “mergulharmos” em alguns dos seus conceitos principais — vamos começar pelas entities.
Acredito que o conceito de Entities não é novo pois foi introduzido no primeiro artigo da série, onde criamos uma entity para ter sinónimos de doces no nosso agente. Se você não leu esse artigo, aí vai:
Como foi dito no artigo anterior, Entities são objectos que ajudam o agente a interpretar linguagem natural e não apenas frases pré-programadas.
As entities que são utilizadas em cada agente podem variar dependendo dos parametros que se espera retornar na interação com o agente. Isto significa que não é necessário criarmos entities para todas palavras do agente, criamos apenas para dados que iremos precisar.
Existem 3 tipos de entities: System entities (entities pré-criados), Developer Entities (entities definidas por nós, desenvolvedores) e User Entities (uma entity definida para cada utilizador). Neste artigo veremos apenas os primeiros 2 tipos, o User Entity será abordado em um artigo futuro.
Tipos de entities
System Entities
São entities pré-criadas pela plataforma api.ai por serem os mais utilizados/populares. Todas as entities do sistema possuem o prefixo sys.
Alguns exemplos são o sys.date que facilita quando queremos colocar uma data e o sys.phone-number para colocar números de telefone. Infelizmente, estas entities ainda não têm tradução para português. O que significa que se criarmos um agente em português, ele não irá reconhecer “oito dois oito quatro” como um número. Você pode ver a lista de todas as System Entities na documentação.
Developer Entities
Você pode criar as suas próprias entities para os seus agentes através do formulário na consola do api.ai ou fazendo upload deles no formato .csv ou .json. No artigo anterior aprendemos a criar entities na consola, por isso vamos ver como fazer upload e download de entities.
Download e Upload de JSON e CSV entities
Download de entities
Para baixar entities:
- Clique na aba Entities;
- Clique no ícone de uma nuvem que aparece no canto direito da entity que você pretende baixar;
- Selecione o formato que pretende (JSON ou CSV).
Upload de entities
Para enviar entities:
- Clique na aba Entities;
- Clique no ícone “mais” (três pontos verticais) que fica ao lado do botão de criar entity.
- Clique em “Upload entity” e escolha o ficheiro que pretende enviar.
Automated Expansion
Automated Expansion (expansão automática) é uma função do api.ai que permite que o utilizador adicione mais palavras à uma entity já existente. Você já deve ter visto esta função porque ela fica logo ao lado da função “define synonyms” quando criamos uma entity.

Ao activar esta função, os utilizadores poderão adicionar outros doces quando usarem o nosso Intent:

Por exemplo, se o utilizador disser algo como “Queria encomendar um pudim”, a palavra pudim será adicionada à lista de palavras da entity doce.
Atenção: Se a opção Automated Expansion estiver activa em mais de uma entity, poderão surgir conflitos e palavras adicionadas em entities onde não deviam estar.
E por agora é tudo. No próximo artigo vemos como integrar o nosso agente com o Facebook Messenger:
Se você tem alguma dúvida ou sugestão, não hesite em me contactar pelo email rosariofernandes51@gmail.com ou pelo Telegram. Ficarei feliz por conversar com você. :)
