Usar os Serviços de IA do Azure com NLP (processamento de linguagem natural) para enriquecer as conversas de chat bot
Observação
O serviço de QnA Maker está sendo desativado no dia 31 de março de 2025. Uma versão mais recente da funcionalidade de perguntas e respostas agora está disponível como parte da Linguagem de IA do Azure. Para saber mais sobre o recurso de respostas às perguntas no Serviço de Linguagem, confira respostas às perguntas. A partir de 1º de outubro de 2022, você não poderá criar novos recursos de QnA Maker. Para obter informações sobre como migrar bases de dados de conhecimento do QnA Maker existentes para responder à pergunta, consulte o Guia de migração.
Os serviços de IA do Azure fornecem dois serviços de processamento de linguagem natural, o Reconhecimento vocal e o QnA Maker, cada um com uma finalidade diferente. Saiba quando usar cada serviço e como eles se complementam.
O NLP (processamento de idioma natural) permite que seu aplicativo cliente, como um chat bot, trabalhe com seus usuários, usando linguagem natural. Um usuário insere uma sentença ou frase. O texto do usuário pode ter gramática, ortografia e pontuação inadequadas. O Serviço de IA do Azure é capaz de processar a frase do usuário de qualquer maneira, retornando informações que o chat bot precisa para ajudar o usuário.
Serviços de IA do Azure com NLP
Reconhecimento vocal (LUIS) e QnA Maker fornecem NLP. O aplicativo cliente envia um texto de idioma natural. O serviço usa o texto, processa-o e retorna um resultado.
Quando usar cada serviço
Reconhecimento vocal (LUIS) e QnA Maker resolvem problemas diferentes. LUIS determina a intenção do texto de um usuário (conhecido como enunciado), enquanto o QnA Maker determina a resposta ao texto de um usuário (conhecido como consulta).
Para escolher o serviço correto, você precisa entender o texto proveniente do aplicativo cliente e quais informações o aplicativo cliente precisa para obter do Serviço de IA do Azure.
Se o seu chat bot receber o texto How do I get to the Human Resources building on the Seattle North campus?
, use o gráfico abaixo para entender como cada serviço funciona com o texto.
Serviço | O aplicativo cliente determina |
---|---|
LUIS | Determina a intenção de texto do usuário - o serviço não retorna a resposta à pergunta. Por exemplo, esse texto é classificado como correspondente à intenção FindLocation . |
QnA Maker | Retorna a resposta à pergunta de uma base de conhecimento customizada. Por exemplo, este texto é determinado como uma pergunta com a resposta de texto estático de Get on the #9 bus and get off at Franklin street . |
Quando você deve usar LUIS?
Use o LUIS quando precisar saber a intenção do enunciado como parte de um processo no chatbot. Continuando com o texto de exemplo, How do I get to the Human Resources building on the Seattle North campus?
, quando você sabe que a intenção do usuário é encontrar um local, você pode passar detalhes sobre a expressão (extraído com entidades) para outro serviço, como um servidor de transporte, para obter a resposta.
Você não precisa combinar LUIS e QnA Maker para determinar a intenção.
Você pode combinar os dois serviços para este enunciado, se o chat bot precisar processar o texto com base em intenções e entidades (usando LUIS), bem como encontrar a resposta de texto estático específico (usando QnA Maker).
Quando você usa o QnA Maker?
Use o QnA Maker quando você tiver uma base de dados de conhecimento estática de respostas. Essa base de dados de conhecimento é personalizada para suas necessidades e você a criou com documentos como PDFs e URLs.
Continuando com o enunciado de exemplo, How do I get to the Human Resources building on the Seattle North campus?
, envie o texto, como uma consulta, para o serviço QnA Maker publicado e receba a melhor resposta.
Você não precisa combinar LUIS e QnA Maker para determinar a resposta à pergunta.
Você pode combinar os dois serviços para este enunciado, se o chat bot precisar processar o texto com base em intenções e entidades (usando LUIS), bem como encontrar a resposta (usando QnA Maker).
Use os dois serviços quando sua base de conhecimento estiver incompleta
Se você está construindo sua base de conhecimento do QnA Maker, mas sabe que o domínio do assunto está mudando (como informações oportunas), você pode combinar os serviços LUIS e QnA Maker. Isso permite que você use as informações em sua base de conhecimento, mas também use o LUIS para determinar a intenção de um usuário. Uma vez que o aplicativo cliente tenha a intenção, ele pode solicitar informações relevantes de outra fonte.
Seu aplicativo cliente precisaria monitorar as respostas do LUIS e do QnA Maker para pontuações. Se a pontuação do QnA Maker estiver abaixo de algum limite arbitrário, use as informações de intenção e entidade retornadas do LUIS para passar as informações para um serviço de terceiros.
Continuando com o texto de exemplo, How do I get to the Human Resources building on the Seattle North campus?
, suponha que o QnA Maker retorne uma pontuação de confiança baixa. Use a intenção retornada do LUIS, FindLocation
e quaisquer entidades extraídas, como Human Resources building
e Seattle North campus
, para enviar essas informações a um serviço de mapeamento ou pesquisa para obter outra resposta.
Você pode apresentar esta resposta de terceiros ao usuário para validação. Depois de ter a aprovação do usuário, você pode voltar ao QnA Maker para adicionar as informações para aumentar seu conhecimento.
Use os dois serviços quando seu chat bot precisar de mais informações
Se o seu chat bot precisa de mais informações do que qualquer um dos serviços fornece, para continuar por meio de uma árvore de decisão, use os dois serviços e processe as duas respostas no aplicativo cliente.
Use a ferramenta Dispatch CLI da estrutura Bot para ajudar a construir um processo para trabalhar com ambos os serviços. Esta ferramenta constrói um aplicativo LUIS superior de tentativas que despacha entre LUIS e QnA Maker como aplicativos filhos. Saiba mais sobre a integração com LUIS, QnA Maker e estrutura Bot.
Use o exemplo do Bot Builder, NLP com expedição, em C# ou Node.js, para implementar este tipo de chat bot.
Práticas recomendadas
Implemente as melhores práticas para cada serviço:
Confira também
- Reconhecimento Vocal (LUIS)
- O QnA Maker
- CLI do Dispatch
- Exemplos do Bot Framework
- Serviço de Bot da IA do Azure
- Emulador de bot do Azure
- Webchat do Bot Framework