Usar entidades e preenchimento de slots em copilotos do Microsoft Copilot Studio

Importante

As capacidades e os recursos do Power Virtual Agents agora fazem parte do Microsoft Copilot Studio após investimentos significativos em IA generativa e integrações aprimoradas no Microsoft Copilot.

Alguns artigos e capturas de tela podem fazer referência ao Power Virtual Agents enquanto atualizamos a documentação e o conteúdo do treinamento.

Uma grande parte das conversas do copiloto no Microsoft Copilot Studio é o reconhecimento de linguagem natural, que é a capacidade da IA de entender a intenção do usuário. Por exemplo, o reconhecimento de linguagem natural está envolvido quando um usuário diz "Tentei usar meu cartão-presente, mas ele não funciona" e o copiloto pode direcionar o usuário para o tópico relacionado a cartões-presente que não estão funcionando, mesmo se essa frase exata não esteja 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 considerada uma unidade de informação que representa um certo tipo de assunto do mundo real, como um número de telefone, CEP, cidade ou mesmo o nome de uma pessoa. Com o conhecimento concedido pelas entidades, um copiloto pode reconhecer de maneira inteligente as informações relevantes de uma entrada do usuário e salvá-las para uso posterior.

Entidades predefinidas

Entidades nos copilotos permitem armazenar informações em grupos semelhantes.

Pronto para uso, o Microsoft Copilot Studio vem com um conjunto de entidades predefinidas, que representam as informações de estereótipo mais usadas em diálogos do mundo real, como idade, cores, números e nomes.

Com o conhecimento concedido pelas entidades, um copiloto 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. No Microsoft Copilot Studio, no menu de navegação, selecione Entidades.

    Acesse a guia Entidades.

    Você verá uma lista de entidades pré-criadas disponíveis.

    Painel Entidades.

  2. Selecione a entidade Dinheiro, que abrirá o painel de detalhes da entidade.

    Descrição da entidade Dinheiro.

Aqui, você pode ver uma explicação dessa entidade e as maneiras como ela pode ser usada para procurar 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 copiloto sabe que "1.000 dólares" representa o tipo de dinheiro da informação. Quando o copiloto extrai essa entidade 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 pré-criadas cobrem os tipos de informações comumente usados mas, em algumas ocasiões, como na criação de um copiloto que atenda a um propósito específico, você precisará ensinar ao modelo de entendimento da linguagem do copiloto algo específico do domínio.

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

Para fazer isso, será necessário criar uma entidade personalizada. Nesse caso, você pode criar uma entidade que forneça ao copiloto o conhecimento de todas as categorias de produtos de uso ao ar livre.

  1. No Microsoft Copilot Studio, no menu de navegação, selecione Entidades.

    Vá para a guia Entidades para criar uma nova entidade.

  2. Selecione Nova entidade no menu principal.

    Selecione Nova entidade.

  3. Isso abre um painel onde você pode escolher o tipo de entidade: umaentidade Lista fechada ou uma entidade Expressão regular (regex).

Entidades de Lista fechada

As entidades de lista fechada permitem definir uma lista de itens. Isso é mais bem usado para pequenas listas fáceis de gerenciar e que possuem rótulos de itens simples.

Captura de tela da janela de criação de entidade, com a opção Lista fechada realçada.

Selecionar esta opção ao criar uma entidade mostrará um painel onde você pode especificar o nome da entidade, uma descrição opcional e inserir os itens que deseja incluir na entidade.

Captura de tela do painel da lista de entidades.

Ao inserir itens, você poderá:

  • Selecionar cada item para alterar seu nome.
  • Selecionar o ícone da lixeira para excluir o item da lista.
  • Selecionar + Sinônimos (ou selecione os sinônimos listados se já tiverem sido adicionados) para abrir o painel Editar sinônimos.

Você pode adicionar sinônimos para expandir manualmente a lógica de correspondência para cada item na lista da entidade. Por exemplo, no item "trilha", você poderá adicionar "caminhada" e "montanhismo" como sinônimos.

Captura de tela do painel Editar sinônimos.

Para cada entidade, você também pode habilitar Correspondência inteligente.

A correspondência inteligente faz parte da inteligência com suporte do modelo de compreensão de linguagem do copiloto. Com esta opção habilitada, o copiloto interpretará a entrada do usuário usando lógica difusa, com base nos itens listados na entidade.

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

Captura de tela da alternância da opção de correspondência inteligente.

Quando terminar de criar ou editar sua entidade, selecione Salvar para salvar e retornar à lista de entidades. Selecione Fechar para descartar suas alterações (você terá a opção de voltar a editar a entidade caso tenha selecionado acidentalmente a opção errada).

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 a correspondência de padrões complexos com a entrada de um usuário ou 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 uma entidade de regex para identificar itens como uma ID de rastreamento, um número de licença, um número de cartão de crédito ou um endereço IP de uma cadeia de caracteres que o usuário insere no copiloto.

Captura de tela da janela de criação de entidade, com a opção Regex realçada.

Selecionar esta opção ao criar uma entidade mostrará um painel onde você pode especificar o nome da entidade, uma descrição opcional e inserir o padrão regex que deve ser usado para corresponder e extrair itens de entidade da entrada.

Captura de tela do painel de entidades regex.

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

Por padrão, a correspondência de padrões diferencia maiúsculas de minúsculas, para que ela faça isso, use a opção de expressão regular (?i) na cadeia de caracteres de padrão. Alguns exemplos básicos estão incluídos no painel de entidades regex, e informações adicionais sobre a sintaxe e mais exemplos podem ser encontrados no tópico Linguagem de expressões regulares – referência rápida.

Se precisar fazer com que a expressão regular acomode 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.

Quando terminar de criar ou editar sua entidade, selecione Salvar para salvar e retornar à lista de entidades. Selecione Fechar para descartar suas alterações (você terá a opção de voltar a editar a entidade caso tenha selecionado acidentalmente a opção errada).

Usar entidades em uma conversa

Agora que fez o trabalho de fornecer ao copiloto o conhecimento sobre equipamentos para atividades ao ar livre, criando a entidade da categoria de produto e algumas outras entidades personalizadas, você poderá começar a usá-las ao criar uma conversa de copiloto.

  1. Acesse a página Tópicos do copiloto que você deseja editar.

  2. Abra a tela de criação do tópico à qual você deseja adicionar uma entidade.

  3. Selecione Adicionar nó (+) e Fazer uma pergunta.

    Captura de tela da adição de um nó.

  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 você quiser mostrar algumas categorias como botões para os usuários escolherem convenientemente como entrada, bastará escolher Selecionar opções do usuário e selecioná-las na lista que contém os itens adicionados quando você criou a entidade personalizada.

    Adicione nós de condição.

    Mais nós de condição.

  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 Microsoft Copilot Studio, o preenchimento do slot significa colocar o valor da entidade extraída em uma variável.

Continuaremos a usar o tópico de equipamento externo como exemplo, que é disparado digitando "Desejo comprar algo" no chat de teste.

O tópico foi acionado com sucesso e o copiloto solicita a categoria do produto, mostrando também as opções de botão especificadas na criação do nó Fazer uma pergunta. Na árvore de diálogo, o rastreamento entre tópicos também mostra que o copiloto está sendo executado no nó da pergunta que você acabou de editar.

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.

Acompanhamento adicional entre tópicos.

No rastreamento entre tópicos, vemos que o diálogo é roteado corretamente para o caminho no qual o valor da categoria do produto é "Caminhada". Você pode inspecionar o valor da variável na janela de inspeção de variáveis 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 aconteceu pela inserção da entidade extraída "Hiking" na variável VarProductCategory.

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 copiloto é capaz de entender quais informações pertencem a qual entidade automaticamente. Nos casos em que não tiver certeza do mapeamento pretendido, ele solicitará que o usuário seja mais específico, fornecendo opções.

Neste exemplo, o usuário escreveu "Quero comprar alguns equipamentos de caminhada". Isso inclui tanto a frase de gatilho que o usuário deseja comprar equipamentos quanto também fornece uma segunda informação - o tipo real de equipamento. Nesse caso, o copiloto preenche e entidade de compra de equipamentos e do tipo de equipamento.

Preenchimento de slots múltiplos e proativos.

No rastreamento entre tópicos, você pode ver que o copiloto recebe essa entrada do usuário e ignora de forma inteligente o nó da pergunta que solicita a categoria do produto.

O copiloto 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 perguntas solicitando coisas como o tipo de equipamento de caminhada 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 copiloto apenas a categoria do produto, o usuário poderá dizer "Quero comprar um par de botas de caminhada que custem menos de US$ 100". Neste exemplo, o copiloto 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 ter sido preenchido com respostas anteriores do usuário, você poderá desabilitar a opção Ignorar pergunta para esse nó da pergunta.

Ignore a pergunta.

Assista a um vídeo de aprofundamento