Opções de reconhecimento de intenção e extração de entidade para suas cargas de trabalho de aplicativos inteligentes
O reconhecimento de intenção e a extração de entidades são componentes-chave do reconhecimento de linguagem natural.
O reconhecimento de intenção envolve a identificação do objetivo ou propósito do usuário por trás de sua entrada. Por exemplo, se um usuário disser "Quero reservar um voo", a intenção é reservar um voo. O reconhecimento de intenção ajuda o agente a entender qual ação deve ser tomada com base na solicitação do usuário.
A extração de entidade envolve a identificação e a extração de informações específicas da entrada do usuário. As entidades podem ser datas, nomes, locais ou quaisquer outros dados relevantes. Por exemplo, na frase "Reserve um voo para Nova York em 15 de setembro", "Nova York" e "15 de setembro" são entidades.
Um agente usa a intenção para entender a meta do usuário e as entidades para identificar os detalhes específicos necessários para concluir a tarefa. O reconhecimento de intenção e a extração de entidade, portanto, permitem que o agente forneça respostas precisas e eficientes às consultas do usuário.
Ao projetar sua carga de trabalho de aplicativo inteligente, você precisa escolher a melhor opção para reconhecimento de intenção e extração de entidade para garantir que sua carga de trabalho de aplicativo inteligente forneça uma experiência de usuário positiva.
Definições
Termo | Definição |
---|---|
NLU | O reconhecimento de linguagem natural é um subconjunto do processamento de linguagem natural em IA que se concentra na compreensão de leitura do computador. |
CLU | A compreensão da linguagem de conversa é um recurso da IA do Azure que permite a criação de modelos PNC personalizados. |
LLM | Um modelo de linguagem grande é um tipo de modelo de IA projetado para entender e gerar a linguagem humana. |
GPT | Transformador predefinido generativo refere-se a uma família de modelos de linguagem grande 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 automação de gatilhos para ações generativas. Em vez de definir manualmente cada tópico ou frase de gatilho possível, o encadeamento dinâmico permite que a IA determine quais tópicos ou ações de plug-in precisam ser chamados com base no contexto da conversa. |
A escolha da opção certa para reconhecimento de intenção e extração de entidade em sua carga de trabalho de aplicativo inteligente envolve várias considerações importantes:
Entidades pré-criadas versus entidades personalizadas: avalie se as entidades predefinidas fornecidas pelo Microsoft Copilot Studio atendem às suas necessidades. As entidades predefinidas abrangem tipos de informações comuns, como datas, números e nomes. Se seu aplicativo exigir conhecimento específico do domínio, talvez seja necessário criar entidades personalizadas.
Complexidade das entradas do usuário: considere a complexidade e a variabilidade das entradas do usuário. Para cenários simples, entidades pré-criadas podem ser suficientes. Para interações mais complexas, entidades personalizadas e configurações avançadas, como expressões regulares (regex), podem ser necessárias.
Preenchimento de slots: determine se seu aplicativo requer preenchimento proativo de slots, em que o agente procura ativamente e preenche as informações ausentes das entradas do usuário. O preenchimento de slots pode melhorar a experiência do usuário, reduzindo a necessidade de perguntas de acompanhamento.
Desempenho e escalabilidade: avalie o desempenho e a escalabilidade do método escolhido. Entidades personalizadas e configurações complexas geralmente exigem mais poder de processamento e podem afetar os tempos de resposta.
Facilidade de manutenção: considere a facilidade de manter e atualizar suas entidades. As entidades predefinidas são mais fáceis de gerenciar, enquanto as entidades personalizadas exigem ajustes contínuos à medida que seu aplicativo evolui.
Escolha entre o NLU padrão, CLU do Azure ou encadeamento dinâmico
No Copilot Studio, o disparo de tópico ou ação pode ser obtido usando o modelo NLU padrão, combinando-o ou substituindo-o por um modelo personalizado de CLU do Azure ou substituindo totalmente o modelo NLU pelo encadeamento dinâmico, um modelo baseado em modelo de linguagem grande GPT.
Modelo padrão NLU | Modelo personalizado CLU do Azure | Encadeamento dinâmico | |
---|---|---|---|
Pro | Modelo padrão, pronto para uso, que vem predefinido, com muitos tipos de entidade predefinidos. A configuração é feita adicionando frases de gatilho e entidades personalizadas (listas fechadas com valores e sinônimos ou expressões regulares). |
Oferece suporte a mais idiomas, com modelos nativos. Oferece suporte à personalização do modelo de disparo de intenção para melhor reconhecimento de intenção ou para atender a requisitos específicos do setor. Permite a extração de entidades complexas (por exemplo, do mesmo tipo). A extração de entidade também pode usar o NLU padrão do Copilot Studio. |
Usa um modelo de linguagem grande GPT e vem predefinido em um espectro mais amplo de dados. Pode lidar com várias intenções e encadear tópicos e/ou plug-ins. Gera automaticamente perguntas para entradas ausentes e responde a entidades complexas e perguntas a partir do contexto da conversa. A configuração é feita descrevendo tópicos, ações de plug-in, entradas e saídas. |
Con | Reconhecimento de intenção única por consulta. Não pode ser estendido. Não é possível modificar como o modelo se comporta ou refinar o modelo. É fornecido como está. O preenchimento de slot 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 com custo adicional. Possui limites de serviço que precisam ser avaliados. As intenções do CLU do Azure e os tópicos do Copilot Studio devem ser cuidadosamente mantidos em sincronia. |
Como é um recurso de IA generativa, a taxa de consumo de licenças de mensagens é maior do que para o disparo de tópico regular. |
Frases de gatilho e preenchimento de slot
Ao desenvolver cargas de trabalho de aplicativos inteligentes, use recursos nativos para aprimorar o reconhecimento de intenção e simplificar as conversas. Comece identificando frases de gatilho de tópicos de bancos de dados de perguntas frequentes existentes e transcrições de chat para garantir que as frases antecipadas sejam relevantes e precisas. Pense em como você usará as entidades; por exemplo, se você usará expressões regulares para localizar IDs de pedido, entidades predefinidas para emails ou listas fechadas para tipos de operação com sinônimos. Planeje também como você testará gatilhos de tópico com frases de exemplo para validar e refinar a precisão de seus processos de reconhecimento de intenção e extração de entidade. Saiba mais em Considerações sobre implantação e teste.
Frases de gatilho
As frases de gatilho treinam o modelo NLU do agente. Elas ajudam o agente reconhecer e responder com precisão aos enunciados do usuário, definindo frases específicas que acionam tópicos específicos. A configuração adequada dessas frases de gatilho garante que o agente possa identificar corretamente a intenção do usuário e responder adequadamente. Quando o agente não tem certeza sobre qual tópico acionar, ele pode sugerir até três candidatos a tópicos em potencial (tópico do sistema Vários Tópicos Correspondentes) ou retornar a uma resposta padrão se nenhum tópico for identificado. Esse mecanismo ajuda a manter o fluxo da conversa e garante que o agente possa lidar com uma ampla faixa de entradas do usuário de forma eficaz.
Extração de entidade e preenchimento de slot
A extração de entidades e o preenchimento de lacunas são componentes importantes no desenvolvimento de agentes eficazes. Esses processos permitem que o agente adquira e use informações de forma eficiente, identificando e extraindo detalhes relevantes das consultas do usuário.
A extração de entidade envolve a análise da entrada do usuário para identificar partes específicas de informações. Por exemplo, na consulta "Gostaria de encomendar três camisetas azuis grandes", o modelo NLU do agente deve extrair as seguintes entidades:
- Quantidade: 3
- Cor: Azul
- Tamanho: Grande
- Tipo de Item: Camiseta
O Preenchimento de slot é o processo de usar essas entidades extraídas para completar as informações necessárias para uma determinada tarefa. Neste exemplo, o agente reconhece o tópico como uma ordem e preenche os slots necessários com as entidades extraídas. O agente consegue entender a solicitação do usuário sem fazer mais perguntas, agilizando a interação.
A extração de entidade e o preenchimento de slot permitem que os agentes lidem com consultas complexas com mais eficiência, fornecendo respostas precisas e contextualmente relevantes e aprimorando a experiência do usuário.
Saiba mais:
- Otimizando frases de gatilho e compreensão de linguagem natural no Copilot Studio
- Melhores práticas de entidades e preenchimento de slot no Copilot Studio
Integração do Microsoft Copilot Studio com o CLU do Azure
A integração de um modelo de CLU com o agente do Copilot Studio pode melhorar significativamente os recursos do agente. Essa integração envolve o mapeamento das intenções do CLU do Azure para tópicos do Copilot Studio, permitindo que o agente compreenda e responda às intenções do usuário com mais precisão. Além disso, as entidades predefinidas do Copilot Studio podem ser usadas ao lado de entidades do CLU do Azure, fornecendo uma estrutura robusta para extração de entidades.
Ao considerar essa integração, é importante avaliar se a carga de trabalho do aplicativo inteligente requer CLU do Azure. Por exemplo, a CLU do Azure oferece suporte a mais idiomas, dicionários específicos do setor e extração de entidade complexa, o que pode ser fundamental para seu aplicativo. As extrações de entidades personalizadas com a CLU do Azure também podem habilitar o preenchimento silencioso ou de slot "sortudo", o que permite que o agente lide com cenários como identificar cidades de origem e de destino em uma única frase sem fazer perguntas de acompanhamento.
Outro aspecto importante é garantir que as cotas e limites de serviço da CLU do Azure estejam alinhados com o uso do agente. Por exemplo, se você antecipar menos de 1.000 chamadas que exigem reconhecimento de intenção por minuto, poderá configurar a CLU do Azure usando a camada S. Essa configuração garante que seu agente possa lidar com a carga de trabalho esperada sem exceder os limites de serviço ou incorrer em custos inesperados.
Saiba mais:
- Visão geral da integração do CLU do Azure
- Idiomas com suporte do CLU do Azure
- Limites do CLU do Azure
- Preços do CLU do Azure
Considerações para estruturas de tópico
Estruturar os tópicos de forma eficaz é importante para criar conversas naturais e perfeitas. Os tópicos são caminhos de conversa discretos que, quando combinados, possibilitam que os usuários interajam com o agente sem problemas. Aqui estão algumas considerações importantes para projetar estruturas de tópico:
Tópicos baseados em gatilho: esses tópicos são ativados com base nas declarações do usuário e servem como pontos de entrada. Defina frases de gatilho claras para esses tópicos. Se as frases de gatilho se sobreporem a 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 entidade e o preenchimento de slots, essas perguntas esclarecedoras podem ser ignoradas se as informações necessárias já forem fornecidas.
Tópicos baseados em redirecionamento: esses tópicos são disparados por ações, atividades ou eventos de redirecionamento e podem ser chamados por vários outros tópicos. Eles 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 gatilho duplo: alguns tópicos podem ser acionados por meio de reconhecimento de intenção ou por um redirecionamento explícito. Essa flexibilidade permite conversas mais dinâmicas e responsivas.
Impulsionamento e fallback de conversa: crie tópicos de fallback para situações em que nenhum tópico correspondente é acionado pela consulta do usuário. Esses tópicos podem oferecer respostas genéricas ou sugerir tópicos relevantes para manter o fluxo da conversa.
Abordagem de projeto:
Tópicos personalizados para cenários-chave: desenvolva alguns tópicos personalizados para cenários-chave com frases de gatilho e redirecionamentos relevantes. Use uma estrutura de tópico pai-filho para gerenciar interações complexas. Para intenções não reconhecidas, implemente respostas generativas e mecanismos de fallback.
Tópicos de desambiguação: planeje usar tópicos de desambiguação para operações que exijam perguntas esclarecedoras. Por exemplo, as operações de conta de usuário podem precisar de esclarecimentos sobre o tipo de operação (por exemplo, criar, desbloquear, suspender) e o sistema envolvido (por exemplo, SAP, ServiceNow, Microsoft).
Evitando duplicação: para evitar a duplicação de conteúdo, crie tópicos reutilizáveis para caminhos de diálogo que precisam ser repetidos. Esses tópicos reutilizáveis podem ser chamados por um tópico pai e, uma vez concluídos, a conversa pode retomar a lógica do tópico pai.
Saiba mais:
Manipulando intenções não reconhecidas
O gerenciamento eficaz de intenções não reconhecidas garante uma experiência de usuário tranquila. As intenções não reconhecidas ocorrem quando o agente não entende o enunciado de um usuário e não tem confiança suficiente para acionar um tópico existente. Aqui estão algumas sugestões para lidar com esses cenários:
Gerenciando intenções não reconhecidas: inicialmente, direcione intenções não reconhecidas para o tópico Sistema de impulsionamento conversacional, que pesquisa respostas em sites públicos e recursos corporativos, como sites do SharePoint. Se nenhuma informação relevante for encontrada, o sistema poderá retornar a uma experiência semelhante ao ChatGPT usando um prompt de sistema personalizado com o modelo GPT-4 do OpenAI do Azure. Essa abordagem garante que os usuários recebam respostas úteis mesmo quando as consultas não são planejadas.
Integração com sistemas externos: considere se você está integrando com sistemas externos como parte de sua estratégia de fallback. Por exemplo, a integração com o modelo GPT-4 OpenAI do Azure usando solicitações HTTP para fornecer uma experiência compatível semelhante ao ChatGPT.
Monitorando o uso do fallback: revise regularmente a porcentagem de conversas que atingem fallback. Use esses insights para enriquecer tópicos existentes ou criar novos, garantindo que o agente melhore continuamente seus recursos de compreensão e resposta.
Tópico de fallback e respostas generativas: O tópico do sistema fallback é acionado quando nenhum tópico correspondente é identificado. Se as Respostas Generativas estiverem habilitadas, o tópico de impulsionamento de conversa será acionado primeiro em eventos de intenção desconhecida, seguido pelo tópico de fallback, conforme necessário. Essa abordagem em camadas ajuda a gerenciar intenções não reconhecidas de forma eficaz.
Usar o impulsionamento de conversa e o fallback: use as Respostas Gerativas para pesquisar várias fontes de dados ou integrar-se a outros sistemas, como o Azure Cognitive Service for Language. Esse serviço pode lidar com grandes volumes de pares de perguntas e respostas e inclui um modelo de bate-papo para perguntas aleatórias.
Cenários principais e tópicos personalizados: certifique-se de que os cenários e tópicos principais sejam bem definidos e tratados por meio de tópicos personalizados. Defina claramente os resultados desses tópicos para manter um fluxo de conversa estruturado e eficiente.
Localização e idiomas
Ao criar um agente, considere os idiomas e os mercados aos quais sua carga de trabalho de aplicativo inteligente deve oferecer suporte. A localização e o suporte a idiomas são fatores críticos para garantir que sua carga de trabalho inteligente de aplicativos atenda às necessidades de diversas bases de usuários. Aqui estão algumas abordagens sugeridas:
Um agente por idioma: essa abordagem envolve a criação de um agente separado para cada idioma. Ele garante que cada agente seja totalmente otimizado para sua linguagem específica; no entanto, pode consumir muitos recursos para manter vários agentes.
Um agente para vários idiomas (traduções configuradas): com essa abordagem, um único agente oferece suporte a vários idiomas, com traduções fornecidas como parte da configuração do agente. Essa abordagem requer a atualização das traduções sempre que o agente é atualizado ou um novo conteúdo é adicionado. Ele oferece um equilíbrio entre eficiência de recursos e suporte a idiomas, mas requer um gerenciamento cuidadoso das atualizações de tradução.
Um agente para vários idiomas (traduções em tempo real): esse método usa um agente de retransmissão para fornecer traduções em tempo real no runtime. Ele permite a implantação rápida de mais idiomas e reduz a necessidade de atualizações frequentes de tradução. No entanto, ele introduz uma dependência do agente de retransmissão e uma camada de tradução em tempo real, como Azure Service Copilot e Azure Cognitive Services Translator.
Principais considerações:
Idiomas e mercados: os idiomas e mercados que seu agente deve suportar influenciam sua estratégia de localização.
Agente único vs. multilíngue: decida se deseja desenvolver um único agente que ofereça suporte a vários idiomas ou agentes separados para cada idioma. Essa decisão depende de fatores como disponibilidade de recursos, recursos de manutenção e 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 no runtime. As traduções configuradas oferecem estabilidade e controle, enquanto as traduções em tempo real oferecem flexibilidade e implantação rápida.
Saiba mais: