Partilhar via


Opções de reconhecimento de intenção e de extração de entidades para as suas cargas de trabalho de aplicações inteligentes

O reconhecimento de intenção e a extração de entidades são componentes-chave da compreensão de linguagem natural.

O reconhecimento de intenção envolve a identificação do objetivo ou propósito do utilizador por detrás da entrada. Por exemplo, se um utilizador disser "Quero reservar um voo", a intenção é reservar um voo. O reconhecimento de intenção ajuda o agente a entender que ação precisa de ser tomada com base no pedido do utilizador.

A extração de entidades envolve a identificação e a extração de informações específicas da entrada do utilizador. As entidades podem ser coisas como datas, nomes, locais ou quaisquer outros dados relevantes. Por exemplo, na frase "Reserve um voo para Nova Iorque em 15 de setembro", "Nova Iorque" e "15 de setembro" são entidades.

Um agente usa a intenção de entender o objetivo do utilizador e as entidades para identificar os detalhes específicos necessários para concluir a tarefa. Portanto, o reconhecimento de intenção e a extração de entidades permitem que o agente forneça respostas precisas e eficientes às consultas dos utilizadores.

Ao conceber a sua carga de trabalho de aplicações inteligentes, precisa de escolher a melhor opção para o reconhecimento de intenção e a extração de entidades para garantir que a sua carga de trabalho de aplicações inteligentes fornece uma experiência de utilizador positiva.

Definições

Termo Definição
NLU A compreensão de linguagem natural é um subconjunto do processamento de linguagem natural em IA que se foca na compreensão da leitura de computador.
CLU A compreensão de linguagem conversacional é uma caraterística da IA do Azure que permite a criação de modelos NLU personalizados.
LLM Um modelo de linguagem grande é um tipo de modelo de IA concebido para entender e gerar linguagem humana.
GPT Transformador generativo pré-preparado refere-se a uma família de modelos de linguagem grandes que usam a arquitetura do transformador para entender e gerar texto semelhante ao humano.
Encadeamento dinâmico O encadeamento dinâmico é um método de automatizar acionador para ações generativas. Em vez de definir manualmente cada frase ou tópico acionador possível, o encadeamento dinâmico permite que a IA determine que tópicos ou ações de plug-in precisam de ser chamados com base no contexto da conversa.

Escolher a opção correta para o reconhecimento de intenção e de extração de entidades na sua carga de trabalho de aplicações inteligentes envolve várias considerações-chave.

  • Entidades pré-criadas vs. personalizadas: avalie se as entidades pré-criadas fornecidas pela Microsoft Copilot Studio satisfazem as suas necessidades. As entidades pré-criadas abrangem tipos de informações comuns, como datas, números e nomes. Se a sua aplicativo necessitar de conhecimento específico do domínio, poderá ser necessário criar entidades personalizadas.

  • Complexidade das entradas dos utilizadores: considere a complexidade e a variabilidade das entradas dos utilizadores. Para cenários simples, podem ser suficientes entidades pré-criadas. Para interações mais complexas, podem ser necessárias entidades personalizadas e configurações avançadas, como expressões regulares (regex).

  • Preenchimento de blocos: determine se a sua aplicação requer o preenchimento proativo de blocos, onde o agente procura ativamente e preenche as informações ausentes das entradas dos utilizadores. O preenchimento de blocos pode melhorar a experiência dos utilizadores, reduzindo a necessidade de perguntas de seguimento.

  • Desempenho e escalabilidade: avalie o desempenho e a escalabilidade do método escolhido. Frequentemente, entidades personalizadas e configurações complexas requerem mais poder de processamento e podem afetar os tempos de resposta.

  • Facilidade de manutenção: considere a facilidade de manter e atualizar as suas entidades. As entidades pré-criadas são mais fáceis de gerir, enquanto as entidades personalizadas requerem ajustes contínuos à medida que a sua aplicação evolui.

Escolha entre o NLU padrão, o CLU do Azure ou o encadeamento dinâmico

No Copilot Studio, o acionamento do tópico ou da ação pode ser obtido usando o modelo NLU padrão, combinando-o ou substituindo-o por um modelo CLU do Azure personalizado ou substituindo totalmente o modelo NLU pelo encadeamento dinâmico, um modelo baseado em modelo GPT baseado em linguagem grande.

Modelo NLU padrão Modelo CLU personalizado do Azure Encadeamento dinâmico
Pro Modelo de origem predefinido que vem pré-preparado, com muitos tipos de entidade predefinidos.

A configuração é feita ao adicionar frases de acionador e entidades personalizadas (listas fechadas com valores e sinónimos ou expressões regulares).
Suporta mais idiomas, com modelos nativos.

Suporta a personalização do modelo de acionamento de intenção para um melhor reconhecimento de intenção ou para satisfazer requisitos específicos do setor.

Permite a extração de entidades complexas (por exemplo, do mesmo tipo).

A extração de entidades também pode usar o NLU padrão do Copilot Studio.
Usa um modelo GPT de linguagem grande e vem pré-preparado num espetro mais amplo de dados.

Pode lidar com várias intenções e tópicos em cadeia e/ou plug-ins.

Gera automaticamente perguntas para entradas em falta e responde a entidades complexas e a perguntas a partir do contexto da conversa.

A configuração é feita ao descrever tópicos, ações de plug-in, entradas e saídas.
Con Reconhecimento de intenção única por consulta.

Não pode ser expandido. Não pode modificar o comportamento do modelo nem ajustá-lo. É fornecido como está.

O preenchimento de blocos de várias entidades do mesmo tipo na mesma consulta requer desambiguação para cada uma (por exemplo, de e para cidades).
Reconhecimento de intenção única por consulta.

A configuração é feita no Azure a um custo adicional.

Tem seus próprios limites de serviço que precisam de ser avaliados.

As intenções de CLU do Azure e os tópicos do Copilot Studio têm de ser cuidadosamente mantidos sincronizados.
Como é uma caraterística de IA generativa, a taxa de gravação de licenciamento de mensagens é maior do que para o acionamento normal de tópicos.

Frases de acionador e preenchimento de blocos

Ao desenvolver cargas de trabalho de aplicações inteligentes, use capacidades nativas para melhorar o reconhecimento de intenção e simplificar as conversas. Comece por identificar frases de acionador de tópicos de bases de dados de FAQ existentes e transcrições de chat para garantir que as frases antecipadas são relevantes e precisas. Considere como usará as entidades; por exemplo, se usará expressões regulares para localizar IDs de encomendas, entidades pré-criadas para e-mails ou listas fechadas para tipos de operação com sinónimos. Planeie também como testará acionadores de tópicos com frases de amostra para validar e refinar a precisão dos seus processos de reconhecimento de intenção e extração de entidades. Obtenha mais informações em Considerações sobre a implementação e o teste.

Expressões de acionamento

As frases de acionador preparam o modelo NLU do seu agente. Ajudam o agente a reconhecer e a responder com precisão às expressões dos utilizadores, definindo frases específicas que acionam tópicos específicos. A configuração adequada destas frases de acionador garante que o agente pode identificar corretamente a intenção do utilizador e responder adequadamente. Quando o agente não tem a certeza sobre que tópico acionar, pode sugerir até três potenciais candidatos a tópico (tópico do sistema Vários Tópicos Correspondidos) ou regressar a uma resposta predefinida se não for identificado qualquer tópico. Este mecanismo ajuda a manter o fluxo da conversa e garante que o agente pode lidar com uma ampla gama de entradas do utilizador de forma eficaz.

Extração de entidades e preenchimento de blocos

A extração de entidades e o preenchimento de blocos são componentes importantes do desenvolvimento de agentes eficazes. Estes processos permitem que o agente adquira e use informações de forma eficiente ao identificar e extrair detalhes relevantes das consultas dos utilizadores.

A extração de entidades envolve a análise da entrada do utilizador para identificar pedaços de informações específicos. Por exemplo, na consulta "Gostaria de encomendar três t-shirts azuis grandes", o modelo NLU do agente deve extrair as seguintes entidades:

  • Quantidade: 3
  • Cor: Azul
  • Tamanho: Grande
  • Tipo de Item: T-Shirt

O preenchimento de blocos é o processo de usar estas entidades extraídas para preencher as informações necessárias para uma determinada tarefa. Neste exemplo, o agente reconhece o tópico como uma encomenda e preenche os blocos necessários com as entidades extraídas. O agente é capaz de compreender o pedido do utilizador sem fazer mais perguntas, o que agiliza a interação.

A extração de entidades e o preenchimento de lacunas permite que os agentes lidem com consultas complexas de forma mais eficaz, fornecendo respostas precisas e contextualmente relevantes e melhorando a experiência do utilizador.

Saber mais:

Integrar o Microsoft Copilot Studio com o CLU do Azure

A integração de um modelo CLU com um agente do Copilot Studio pode melhorar significativamente as capacidades do agente. Esta integração envolve o mapeamento das intenções do CLU do Azure para tópicos do Copilot Studio, o que permitindo que o agente compreenda e responda às intenções do utilizador com mais precisão. Além disso, as entidades pré-criadas do Copilot Studio podem ser usadas juntamente com as entidades CLU do Azure, o que fornece uma estrutura robusta para extração de entidades.

Ao considerar esta integração, é importante avaliar se a carga de trabalho de aplicações inteligentes requer o CLU do Azure. Por exemplo, o CLU do Azure suporta mais idiomas, dicionários específicos do setor e extração de entidades complexas, que podem ser essenciais para a sua aplicação. As extrações de entidades personalizadas com o CLU do Azure também podem permitir o preenchimento de blocos silencioso ou "sortudo", o que permite que o agente lide com cenários como identificar cidades de origem e destino numa única frase sem fazer perguntas de seguimento.

Outro aspeto importante é garantir que as cotas e limites de serviço do CLU do Azure estejam alinhados com a utilização do agente. Por exemplo, se prevê menos de 1.000 chamadas que requeiram reconhecimento de intenção por minuto, pode configurar o CLU do Azure para usar o escalão S. Esta configuração garante que o seu agente pode processar a carga de trabalho esperada sem exceder os limites de serviço nem incorrer em custos inesperados.

Saber mais:

Considerações para estruturas de tópicos

Estruturar tópicos de forma eficaz é importante para criar conversas naturais e perfeitas. Os tópicos são caminhos de conversa discretos que, quando combinados, permitem que os utilizadores interajam com o agente sem problemas. Eis algumas considerações importantes para projetar estruturas de tópicos:

  • Tópicos baseados em acionadores: estes tópicos são ativados com base nas expressões dos utilizadores e servem como pontos de entrada. Defina frases de acionador claras para estes tópicos. Se as frases de acionador se sobrepuserem em vários tópicos, considere implementar um tópico abrangente que possa redirecionar para o tópico apropriado depois de fazer perguntas esclarecedoras. Com a extração de entidades e o preenchimento de blocos, estas perguntas esclarecedoras podem ser ignoradas se as informações necessárias já forem fornecidas.

  • Tópicos baseados em redirecionamento: estes tópicos são acionados por ações, atividades ou eventos de redirecionamento e podem ser chamados por vários outros tópicos. Devem ser projetados para serem reutilizáveis e modulares, com variáveis de entrada e saída para facilitar a integração perfeita em vários caminhos de conversa.

  • Tópicos de acionador duplo: alguns tópicos podem ser acionados através do reconhecimento de intenção ou por um redirecionamento explícito. Esta flexibilidade permite conversas mais dinâmicas e reativas.

  • Impulsionamento de conversa e contingência: crie tópicos de contingência para situações em que nenhum tópico correspondente é acionado pela consulta do utilizador. Estes tópicos podem oferecer respostas genéricas ou sugerir tópicos relevantes para manter o fluxo da conversa.

Abordagem de design:

  • Tópicos personalizados para cenários-chave: desenvolva alguns tópicos personalizados para cenários-chave com frases de acionador e redirecionamentos relevantes. Use uma estrutura de tópicos principal-subordinado para gerir interações complexas. Para intenções não reconhecidas, implemente respostas generativas e mecanismos de contingência.

  • Tópicos de desambiguação: planeie usar tópicos de desambiguação para operações que requeiram perguntas esclarecedoras. Por exemplo, as operações de conta de utilizador podem precisar de esclarecimentos sobre o tipo de operação (por exemplo, criar, desbloquear, suspender) e o sistema envolvido (por exemplo, SAP, ServiceNow, Microsoft).

  • Evitar duplicação: para evitar a duplicação de conteúdo, crie tópicos reutilizáveis para caminhos de diálogo que precisam de ser repetidos. Estes tópicos reutilizáveis podem ser chamados por um tópico principal e, uma vez concluído, a conversa pode retomar a lógica do tópico principal.

Saber mais:

Processar intenções não reconhecidas

A gestão eficaz de intenções não reconhecidas garante uma experiência de utilizador sem problemas. Intenções não reconhecidas ocorrem quando o agente não entende uma expressão do utilizador e não tem confiança suficiente para acionar um tópico existente. Eis algumas sugestões para lidar com estes cenários:

  • Gerir intenções não reconhecidas: inicialmente, direcione intenções não reconhecidas para o tópico do sistema de Impulsionamento de conversas, que pesquisa por respostas em sites públicos e recursos corporativos, como sites do SharePoint. Se nenhuma informação relevante for encontrada, o sistema pode regressar a uma experiência semelhante ao ChatGPT usando um pedido de sistema personalizado com o modelo OpenAI GPT-4 do Azure. Esta abordagem garante que os utilizadores recebem respostas úteis mesmo quando as consultas não são planeadas.

  • Integração com sistemas externos: considere se está a integrar com sistemas externos como parte da sua estratégia de contingência. Por exemplo, integrar com o modelo OpenAI GPT-4 do Azure através de pedidos HTTP para fornecer uma experiência conforme, semelhante ao ChatGPT.

  • Monitorização da utilização da contingência: reveja regularmente a percentagem de conversas que atingem a contingência. Utilize estas informações para melhorar tópicos existentes ou criar novos, garantindo que o agente melhora continuamente a compreensão e a capacidade de resposta.

  • Tópico de contingência e respostas generativas: o tópico do sistema Contingência é acionado quando nenhum tópico correspondente é identificado. Se as Respostas Generativas estiverem ativadas, o tópico Impulsionamento de conversas será acionado primeiro em eventos de intenção desconhecida, seguido pelo tópico Contingência, conforme necessário. Esta abordagem em camadas ajuda a gerir intenções não reconhecidas de forma eficaz.

  • Utilizar o impulsionamento de conversas e a contingência: use Respostas Generativas para pesquisar várias origens de dados ou integrar com outros sistemas, como os Serviços Cognitivos do Azure para Linguagem. Este serviço pode processar grandes volumes de pares de perguntas e respostas e inclui um modelo de conversa para perguntas aleatórias.

  • Cenários principais e tópicos personalizados: certifique-se de que os cenários e tópicos principais estão bem definidos e que são processados através de tópicos personalizados. Defina claramente os resultados destes tópicos para manter um fluxo de conversa estruturado e eficiente.

Localização e idiomas

Ao criar um agente, considere os idiomas e mercados que a sua carga de trabalho de aplicações inteligentes tem de suportar. A localização e o suporte a idiomas são fatores críticos para garantir que a sua carga de trabalho de aplicações inteligentes satisfaz as necessidades de diversas bases de utilizadores. Eis algumas abordagens sugeridas:

  • Um agente por idioma: esta abordagem envolve a criação de um agente separado para cada idioma. Garante que cada agente está totalmente otimizado para o seu idioma específico; no entanto, pode requerer muitos recursos manter vários agentes.

  • Um agente para vários idiomas (traduções configuradas): com esta abordagem, um único agente suporta vários idiomas, com traduções fornecidas como parte da configuração do agente. Esta abordagem requer a atualização de traduções sempre que o agente for atualizado ou conteúdo novo for adicionado. Oferece um equilíbrio entre a eficiência dos recursos e o suporte a idiomas, mas exige gestão cuidadosa das atualizações da tradução.

  • Um agente para vários idiomas (traduções em tempo real): este método usa um agente de reencaminhamento para fornecer traduções em tempo real em runtime. Permite a implementação rápida de mais idiomas e reduz a necessidade de atualizações frequentes da tradução. No entanto, introduz uma dependência no agente de reencaminhamento e uma camada de tradução em tempo real, como o Azure Service Copilot e o Tradutor do Azure Cognitive Services.

Considerações-chave:

  • Idiomas e mercados: os idiomas e mercados que o seu agente tem de suportar influenciam a sua estratégia de localização.

  • Agente único vs. multilingue: decida se pretende desenvolver um agente único que suporta vários idiomas ou agentes separados para cada idioma. Esta decisão depende de fatores como a disponibilidade de recursos, as capacidades de manutenção e a complexidade dos idiomas envolvidos.

  • Tempo de tradução: considere se as traduções devem ser definidas durante a fase de configuração ou fornecidas em tempo real em runtime. As traduções configuradas oferecem estabilidade e controlo, enquanto as traduções em tempo real oferecem flexibilidade e implementação rápida.

Saber mais: