Projetar bots de conhecimento

APLICA-SE A: SDK v4

Você pode projetar um bot de conhecimento que cobre praticamente qualquer tópico. Independentemente do caso de uso para o qual um bot de conhecimento é projetado, seu objetivo básico é sempre o mesmo: encontrar e retornar as informações que o usuário solicitou pesquisando um corpo de dados.

Por exemplo, um bot de conhecimento pode responder a perguntas sobre eventos como "Quais eventos de bot existem nesta conferência?", "Quando é o próximo show de Reggae?" ou "Quem é Tame Impala?" Outro pode responder a perguntas relacionadas à TI, como "Como atualizo meu sistema operacional?" ou "Onde posso redefinir minha senha?". Outro ainda pode responder a perguntas sobre contatos como "Quem é John Doe?" ou "Qual é o endereço de e-mail de Jane Doe?".

Este artigo aborda alguns dos recursos de IA que você pode adicionar a um bot, como permitir que um usuário pesquise informações, faça perguntas ou interaja com informações. Para os quais os serviços de IA do Azure apresentam suporte ao SDK do Bot Framework, consulte Compreensão de linguagem natural.

Gorjeta

Os serviços de IA do Azure incorporam tecnologias em evolução. Este artigo descreve os recursos mais recentes e mais antigos.

Sobre os escores de confiança

Alguns recursos permitem que um bot retorne informações de uma base de dados de conhecimento ou modelo de idioma para corresponder a uma pergunta ou consulta do usuário.

Por exemplo, se o usuário pedir a um bot de conhecimento musical informações sobre "impala" (em vez do nome completo da banda "Tame Impala"), o bot poderá responder com informações que provavelmente serão relevantes para essa entrada. Da mesma forma, os recursos de compreensão de linguagem podem usar um modelo de linguagem para extrair a intenção provável da entrada do usuário. Por exemplo, se o usuário pedir a um bot de agente de viagens para "reservar um quarto por três dias", o bot pode extrair uma intenção de "reservar um quarto" e fazer o acompanhamento coletando detalhes.

Tanto a pesquisa quanto o reconhecimento de intenção retornam uma pontuação de confiança, que indica o nível de confiança que o mecanismo tem de que um determinado resultado está correto. Use pontuações de confiança para ordenar resultados ou responder de forma diferente, com base na confiança geral na sua resposta.

Nota

Quando você usa uma combinação de diferentes tipos de serviço ou recurso juntos, teste as entradas com cada uma das ferramentas para determinar a pontuação limite para cada um dos seus modelos. Os serviços e recursos usam critérios de pontuação diferentes, portanto, as pontuações geradas por essas ferramentas não são diretamente comparáveis. Por exemplo, o serviço QnA Maker usou um intervalo de confiança de 0 a 100, enquanto o recurso de resposta a perguntas usa um intervalo de 0,0 a 1,0.

  • Se a confiança estiver alta, seu bot pode responder com "Aqui está o evento que melhor corresponde à sua pesquisa" ou "Posso ajudá-lo a reservar um quarto" e apresentar a resposta principal ou começar a fazer perguntas de acompanhamento.
  • Se a confiança estiver baixa, seu bot pode responder com "Hmm... você estava procurando por algum desses eventos?" ou "Eu posso ajudá-lo com as seguintes coisas:" e apresentar uma lista de possíveis respostas ou opções.

Para filtrar tópicos

Você pode projetar bots de conhecimento para ajudar um usuário a restringir e refinar uma pesquisa. Dentro de uma conversa, o bot pode fazer perguntas esclarecedoras, apresentar opções e validar resultados, de uma forma que a pesquisa básica não consegue.

Por exemplo, um bot de eventos pode descobrir em que tipo de evento o usuário está interessado fazendo uma série de perguntas. Considere a seguinte troca:

  1. Usuário, "eventos".
  2. Bot, "Em que você está interessado? Música, Comédia, Cinema...".
  3. Usuário, "Música".
  4. Bot, "Em que tipo de música você está interessado? Qualquer, Rock/Pop, Hip-hop/Rap, ...".
  5. Usuário, "Rock/Pop".
  6. Bot, "Que dia você gostaria de ver Rock/Pop? Sexta, sábado, domingo, qualquer".
  7. Usuário, "Sábado".
  8. Bot, "Aqui estão os shows de Rock/Pop para sábado:", com uma lista dos shows encontrados.

Ao processar a entrada do usuário em cada etapa e apresentar opções relevantes, o bot orienta o usuário para as informações que ele está procurando. Uma vez que o bot fornece essas informações, ele também pode fornecer orientação sobre maneiras mais eficientes de encontrar informações semelhantes no futuro.

A propósito, você também pode digitar "Rock friday" ou procurar por um evento pelo nome.

Para obter informações sobre serviços relacionados do Azure, consulte Pesquisar no artigo Conceito de compreensão de linguagem natural.

Para responder a perguntas

Você pode projetar bots de conhecimento para responder a perguntas frequentes. Os serviços que suportam recursos de perguntas e respostas geralmente permitem que você ou seu bot:

  • Gerencie e treine uma base de conhecimento.
  • Importe informações para uma base de dados de conhecimento, como de um arquivo de dados ou página da Web.
  • Adivinhe qual resposta melhor mapeia para a pergunta do usuário.
  • Faça perguntas de acompanhamento ao usuário para ajudar a encontrar a resposta que ele está procurando.

Para obter informações sobre serviços relacionados do Azure, consulte Perguntas e respostas no artigo Conceito de compreensão de linguagem natural.

Para interpretar a intenção

Alguns bots de conhecimento exigem recursos de processamento de linguagem natural (NLP) para que possam analisar as mensagens de um usuário para determinar a intenção do usuário e outras informações importantes.

Em um bot de reprodução de música, por exemplo, um usuário pode enviar uma mensagem para "Play Reggae", "Play Bob Marley" ou "Play One Love". Você pode treinar um modelo de linguagem para mapear cada uma dessas mensagens para a intenção "playMusic", sem ser treinado com cada artista, gênero e nome de música.

Seu modelo de linguagem pode não entender se a coisa a tocar, a entidade, é um gênero, artista ou música. No entanto, seu bot pode procurar por essa entidade usando essas informações e prosseguir a partir daí.

Para obter informações sobre serviços relacionados do Azure, consulte Compreensão de linguagem no artigo Conceito de compreensão de linguagem natural.

Para integrar vários recursos

Cada recurso de PNL é uma ferramenta poderosa por si só. No entanto, seu bot pode combinar esses recursos e outros para fornecer aos seus usuários uma experiência mais fluida e natural. Use as pontuações de confiança para determinar qual recurso melhor mapeia para a mensagem do usuário e faça perguntas de acompanhamento se a melhor correspondência for ambígua.

Por exemplo, esse bot pode permitir que o usuário:

  • Encontre um programa que eles estejam interessados em assistir.
  • Obtenha informações sobre o artista, local e evento.
  • Compre um bilhete ou inscreva-se para receber avisos de eventos futuros.

Para obter informações sobre serviços relacionados do Azure, consulte Usar vários recursos juntos no artigo Conceito de compreensão de linguagem natural.

Explore amostras

O repositório Bot Framework Samples tem alguns bots de exemplo que demonstram recursos de compreensão de linguagem:

Exemplo Nome da amostra Descrição
11 QnA Maker (simples) Responda a perguntas como uma série de conversas de turno único usando o QnA Maker.
13 Bot principal Interprete a intenção do usuário usando LUIS.
14 PNL com despacho Envie mensagens de usuário para o LUIS ou QnA Maker usando o Orchestrator.
49 QnA Maker (avançado) Responda a perguntas usando recursos de aprendizagem ativa e de vários turnos no QnA Maker.

Nota

O Azure AI QnA Maker será desativado em 31 de março de 2025. A partir de 1º de outubro de 2022, você não poderá criar novos recursos ou bases de conhecimento do QnA Maker. Uma versão mais recente do recurso de perguntas e respostas agora está disponível como parte da Linguagem de IA do Azure.

A resposta a perguntas personalizadas, um recurso do Azure AI Language, é a versão atualizada do serviço QnA Maker. Para obter mais informações sobre o suporte a perguntas e respostas no SDK do Bot Framework, consulte Compreensão de linguagem natural.

Nota

O Language Understanding (LUIS) será aposentado em 1 de outubro de 2025. A partir de 1 de abril de 2023, não será possível criar novos recursos LUIS. Uma versão mais recente do entendimento de idiomas agora está disponível como parte do Azure AI Language.

O entendimento de linguagem conversacional (CLU), um recurso do Azure AI Language, é a versão atualizada do LUIS. Para obter mais informações sobre o suporte à compreensão de linguagem no SDK do Bot Framework, consulte Compreensão de linguagem natural.

Os repositórios SDK do Azure para .NET e SDK do Azure para Python também têm alguns exemplos:

Caraterística Exemplos LEIA-ME
Perguntas e respostas C#, Python
Compreensão da linguagem conversacional, fluxo de trabalho de orquestração C#, Python