Partilhar via


Usar entidades e preenchimento de slots em agentes

Uma parte importante das conversas do agente no Copilot Studio é o reconhecimento de linguagem natural, que é a capacidade da IA de entender a intenção do usuário. Por exemplo, um cliente pode dizer: "Tentei usar meu vale-presente, mas não funcionou". O agente saberá encaminhar o cliente ao tópico relacionado a cartões-presente que não funcionam, mesmo que essa frase exata não seja listada como uma frase de gatilho.

Um aspecto fundamental do reconhecimento vocal natural é identificar as entidades em uma caixa de diálogo do usuário. Assista ao vídeo para começar a usar entidades.

Uma entidade pode ser pensada como uma unidade de informação que representa um certo tipo de assunto do mundo real. Por exemplo, um número de telefone, código postal, cidade ou até mesmo o nome de uma pessoa. Com o conhecimento concedido pelas entidades, um agente pode reconhecer de maneira inteligente as informações relevantes de uma entrada do usuário e salvá-las para uso posterior.

Entidades predefinidas

Entidades em agentes permitem armazenar informações em grupos semelhantes.

O Copilot Studio oferece suporte a um conjunto de entidades predefinidas, que representam os tipos de informações comumente mais usadas em diálogos do mundo real, como idade, cores, números e nomes.

Com o conhecimento concedido pelas entidades, um agente pode reconhecer de maneira inteligente as informações relevantes de uma entrada do usuário e salvá-las para uso posterior.

Para ajudar a entender essa noção, a entidade Dinheiro pode ser usada como um exemplo.

  1. Abra o agente no Copilot Studio e selecione Configurações na parte superior da página e escolha Entidades no menu.

    Uma lista de todas as entidades disponíveis é exibida.

    Captura de tela da página Entidades (exibição parcial).

  2. Selecione a entidade Dinheiro. O painel de detalhes da entidade é aberto.

    Captura de tela do painel de detalhes da entidade Dinheiro.

Aqui, você pode ver uma explicação dessa entidade e as maneiras como ela pode ser usada para extrair informações relacionadas a dinheiro ou moeda das entradas de um usuário.

Por exemplo, quando um usuário digita "Custa 1.000 dólares", usando essa entidade monetária, o agente sabe que "1.000 dólares" representa o tipo de informação de dinheiro. Quando o agente extrai essas informações e a salva em uma variável, ele salva "1.000" como um número, mesmo que as informações ao redor sejam texto.

Entidades personalizadas

As entidades predefinidas abordam tipos de informações mais usados. Ocasionalmente, como ao criar um agente que atenda a uma finalidade específica, talvez seja necessário ensinar o conhecimento específico do domínio do modelo de compreensão de linguagem do agente.

Por exemplo, digamos que você queira criar um agente para uma loja de equipamentos para esportes ao ar livre. Nesse caso, você precisará ensinar o agente a reconhecer a categoria "produto para uso ao ar livre" em uma conversa.

Primeiro, crie uma entidade personalizada. Nesse caso, você pode criar uma entidade que forneça ao agente o conhecimento de todas as categorias de produtos de uso ao ar livre.

  1. Abra o agente no Copilot Studio, selecione Configurações na parte superior da página e selecione Entidades.

  2. Selecione Adicionar uma entidade>Nova entidade.

    Selecione Nova entidade.

  3. Selecione o tipo desejado da entidade: uma entidade lista fechada ou uma entidade expressão regular (regex).

    Captura de tela da janela de criação da entidade, com suas opções 'Lista fechada' e 'Expressão regular'.

Entidades de Lista fechada

As entidades de lista fechada permitem definir uma lista de itens. Essas entidades são mais bem usadas em listas pequenas fáceis de gerenciar e que tenham rótulos de item simples.

  1. Em Criar uma entidade, selecione Lista fechada.

  2. No painel que é aberto, insira um nome para sua nova entidade, por exemplo, Atividade de acampamento.

  3. Adicionar uma descrição, se quiser.

  4. Em Lista de itens, insira os valores que você deseja associar a essa entidade. Por exemplo, caminhada e yoga.

    Como alternativa, você pode carregar um arquivo listando todos os valores que deseja adicionar para essa entidade.

    Ao inserir itens, você pode:

    • Selecionar um item e altere seu nome.
    • Selecionar o ícone da lixeira para excluir o item.
    • Selecionar Sinônimos (ou selecionar os sinônimos listados se eles já tiverem sido adicionados) para abrir o painel Editar sinônimos.

    Você pode adicionar sinônimos para expandir a lógica de correspondência para cada valor na lista. Por exemplo, para trilha, você pode adicionar caminhada e montanhismo como sinônimos.

    Captura de tela do painel 'Editar sinônimos'.

  5. Se desejar, ative a Correspondência inteligente para esta entidade.

    A correspondência inteligente faz parte da inteligência com suporte do modelo de compreensão de linguagem do agente. Quando a correspondência inteligente está ativa, o agente interpreta a entrada do usuário usando lógica difusa em relação aos valores listados para a entidade.

    Em particular, o agente pode corrigir automaticamente os erros ortográficos e expandir sua lógica de correspondência semanticamente. Por exemplo, o agente pode combinar automaticamente "softbol" com "beisebol".

  6. Ao terminar de criar ou editar sua entidade, selecione Salvar. Selecione Fechar para descartar suas alterações.

    Captura de tela do painel de detalhes da entidade de exemplo 'Atividade de acampamento'.

Carregar valores para uma entidade de lista fechada

No painel de detalhes de uma entidade de lista fechada, você pode adicionar ou substituir o conjunto de valores e sinônimos associados à entidade.

  1. Prepare um arquivo de texto (máximo de 3 MB) listando todos os valores que você deseja adicionar para sua entidade, incluindo sinônimos, se houver. Use este formato: um valor por linha e use o pipe (|) como delimitador para sinônimos. Por exemplo:

    hiking|trekking
    hiking|mountaineering
    yoga
    cycling|bicycling
    cooking
    
  2. Em Itens da lista, selecione carregar um arquivo.

  3. Em Carregar um arquivo, selecione a opção desejada:

    • Se quiser adicionar novos valores e sinônimos para sua entidade, selecione Acrescentar.
    • Para substituir todos os valores e sinônimos existentes com a lista do arquivo, selecione Substituir.
  4. Solte o arquivo na janela. Como alternativa, selecione clique para procurar, navegue até o arquivo e selecione-o.

  5. Revise os valores e sinônimos exibidos e selecione Adicionar.

Baixar valores para uma entidade de lista fechada

No painel de detalhes de uma entidade de lista fechada, você pode baixar um arquivo de texto listando o conjunto de valores e sinônimos associados à entidade.

  1. Em Itens da lista, selecione baixar um arquivo.

  2. Salve o arquivo de texto resultante ou abra-o em um editor de texto para revisar seu conteúdo. Cada valor de entidade aparece em uma linha separada. Se um valor tiver vários sinônimos, eles aparecerão em linhas separadas, como esta:

    hiking|trekking
    hiking|mountaineering
    

Entidades de Expressão regular (Regex)

As entidades de expressão regular (regex) permitem definir padrões lógicos que podem ser usados para fazer a correspondência de informações e extraí-las de uma entrada. As entidades Regex são ótimas para correspondência de padrões complexos com a entrada do usuário. Eles também são úteis se você precisar permitir variações específicas em como um usuário pode formatar ou inserir sua entrada em uma conversa.

Por exemplo, você pode usar entidades regex para identificar itens como um ID de rastreamento, um número de licença, um número de cartão de crédito ou um endereço IP.

  1. Em Criar uma entidade, selecione Expressão regular (regex).

  2. No painel que é aberto, insira um nome para a nova entidade.

    Captura de tela do painel de detalhes de uma entidade regex.

  3. Adicionar uma descrição, se quiser.

  4. Insira o padrão de expressão regular que deve ser usado para corresponder e extrair itens de entidade da entrada.

    Uma entidade regex do Copilot Studio usa a sintaxe de expressões regulares do .NET.

    Por padrão, a correspondência de padrão diferencia maiúsculas de minúsculas. Para não diferenciar maiúsculas e minúsculas, use a opção da expressão regular (?i) em sua cadeia de caracteres padrão. Alguns exemplos básicos estão incluídos no painel de entidades regex. Para obter mais informações sobre a sintaxe e para obter mais exemplos, consulte Linguagem de Expressão Regular – Referência Rápida.

    Se precisar da expressão regular para acomodar vários padrões, você poderá usar o operador de alternância | para concatenar expressões regulares. Por exemplo, você pode combinar dois padrões de regex para procurar os formatos antigos e novos de um código de ID do produto.

  5. Ao terminar de criar ou editar sua entidade, selecione Salvar. Selecione Fechar para descartar suas alterações.

Usar entidades em uma conversa

Agora que seu agente sabe sobre equipamentos externos graças à entidade de Atividade de camping e outras entidades personalizadas que você criou, você pode começar a usá-los em seu agente.

  1. Acesse a página Tópicos do seu agente.

  2. Abra o tópico de uma entidade que você deseja coletar.

  3. Selecione o ícone Adicionar nó e selecione Faça uma pergunta.

  4. Em Identificar, selecione a entidade que você criou em Entidades personalizadas.

    Nó da pergunta com seleção da entidade.

  5. Opcionalmente, você também pode selecionar itens para mostrar como botões. Por exemplo, se quiser mostrar algumas categorias como botões para os usuários escolherem convenientemente como entrada, você poderá escolher Selecionar opções para usuário e selecioná-las na lista que contém os itens adicionados quando criou a entidade personalizada.

    Captura de tela que mostra uma seleção de valores de entidade a serem mostrados como botões em runtime.

  6. Nomeie a variável para a saída da resposta do usuário, se necessário.

Preenchimento de slot

O preenchimento de slot é um conceito de reconhecimento de linguagem natural que significa salvar uma entidade extraída para um objeto. No entanto, no Copilot Studio, o preenchimento do slot significa colocar o valor da entidade extraída em uma variável.

Vamos continuar usando o tópico de atividades de acampamento, que é acionado ao digitar "Quero algo para fazer" no chat de teste, como exemplo.

O tópico foi acionado com sucesso e o agente solicita o tipo de atividade, mostrando também as opções de botão especificadas na criação do nó Pergunta. Se você ativar a opção de rastrear entre tópicos, a árvore de diálogo também mostrará que o agente está sendo executado neste nó Pergunta.

Acompanhamento entre tópicos.

Um usuário pode usar as opções predefinidas selecionando um dos botões. Como alternativa, ele também pode digitar algo como "trekking" e ver que isso é mapeado para "caminhada", porque essas palavras foram definidas como sinônimos.

A exibição de rastreamento mostra que a caixa de diálogo foi roteada corretamente para o caminho em que o valor da categoria de produto é "Caminhada". Você pode inspecionar o valor da variável na janela de observação da variável na parte inferior da tela de criação. Na janela de inspeção, vemos que o valor da variável é "Caminhada".

Essencialmente, o preenchimento do slot acontece pela inserção da entidade extraída "Caminhada" na variável VarCampType.

Janela Inspeção de variável.

Você também pode usar o que é conhecido como "preenchimento proativo de slots", onde o usuário pode especificar várias informações que são mapeadas para várias entidades. O agente é capaz de entender quais informações pertencem a qual entidade automaticamente. Nos casos em que não tiver certeza do mapeamento pretendido, ele solicita que o usuário seja mais específico, fornecendo opções.

Nesse exemplo, o usuário escreveu "Estou entediado, mas gosto de montanhismo". Essa mensagem inclui a frase de gatilho que o usuário quer ajuda com atividades ao ar livre e também apresenta uma segunda informação, "montanhismo", que é um sinônimo definido pela entidade para caminhadas. Neste caso, o agente preenche tanto a entidade para escolher uma atividade ao ar livre quanto o tipo de atividade.

Preenchimento de slots múltiplos e proativos.

A exibição de rastreamento mostra que o agente recebe essa entrada do usuário e ignora inteligentemente o nó Pergunta que solicita o tipo de atividade.

O agente está sempre ouvindo ativamente a entrada do usuário, lembrando as informações com antecedência para poder ignorar as etapas desnecessárias conforme apropriado.

Vamos reiniciar o teste e tentar outro caso. Nesta rodada, você pode adicionar mais alguns nós de Pergunta perguntando coisas como quanto tempo você tem para a atividade (usando a entidade Duração) e a faixa de preço (usando a entidade Dinheiro).

Desta vez, quando a pergunta da categoria do produto for apresentada, em vez de informar ao agente apenas a categoria do produto, o usuário poderá dizer "Quero comprar um par de botas de caminhada por menos de $100". Neste exemplo, o agente não só é capaz de rotear para o caminho correto da categoria de produto para caminhadas, como também de preencher ativamente os espaços solicitando o tipo de equipamento de caminhada e as informações da faixa de preço de destino.

Acompanhamento entre tópicos para categorias de produto e preço.

O preenchimento proativo de slots pode ser controlado manualmente no nível do nó. Se quiser solicitar a pergunta em um nó específico, independentemente de o slot já ter sido preenchido com respostas anteriores do usuário, você poderá desabilitar a opção Ignorar pergunta para esse nó da Pergunta. Realize as etapas a seguir para desabilitar a opção Ignorar pergunta.

  1. Selecione o ícone Mais (...) do nó de Pergunta e selecione Propriedades. O painel Propriedades da pergunta será exibido.

    Abra o painel Propriedades da pergunta.

  2. No painel Propriedades da pergunta, selecione Comportamento da pergunta.

  3. No painel Comportamento da pergunta, em Ignorar pergunta, selecione Perguntar sempre e Salvar na parte superior da página.

    Ignore a pergunta.