Progettare una comprensione efficace del linguaggio

La comprensione del linguaggio naturale (NLU) è al centro del modo in cui gli agenti di Copilot Studio comprendono le richieste degli utenti e forniscono risposte rilevanti e contestuali. Un approccio ben definito al riconoscimento dell'intento, all'estrazione delle entità e alla gestione del fallback garantisce che gli agenti offrano conversazioni efficienti e naturali in linea con le esigenze aziendali.

Quando un utente chiede qualcosa a un agente, si chiama enunciazione. L'agente deve suddividere quell'enunciato in intenti ed entità, in modo che la risposta dell'agente risulti naturale ed efficiente.

Che cos'è Language Understanding?

La comprensione del linguaggio (LU) è una branca dell'elaborazione del linguaggio naturale (NLP) che si occupa di consentire alle macchine di comprendere il significato, l'intento e il contesto dietro il linguaggio umano.

Diagramma che illustra l'elaborazione della comprensione del linguaggio.

Diagramma che mostra come il messaggio di un utente viene scomposto in intenti ed entità. Una persona digita: "Voglio prenotare un volo per Parigi la prossima settimana." Il messaggio è etichettato come un enunciato. La frase "Voglio prenotare un volo" viene identificata come l'intento, mentre "Parigi" e "prossima settimana" vengono identificati come entità. Il sistema poi chiede ulteriori dettagli come la città di partenza e la classe di viaggio. Il diagramma illustra come l'agente utilizza intento, entità e contesto per determinare la migliore risposta.

La comprensione del linguaggio include:

  • Riconoscimento dell'intento: Identificare ciò che l'utente vuole ottenere (ad esempio, "Prenota un volo per Parigi la prossima settimana" corrisponde all'intento di prenotare un volo).
  • Estrazione delle entità: individuazione di dettagli chiave come date, luoghi o nomi (ad esempio, "Parigi" come destinazione, "la prossima settimana" come data di viaggio).
  • Consapevolezza del contesto: Mantenere la coerenza e risolvere le ambiguità nella conversazione (ad esempio comprendere i pronomi o i riferimenti).
  • Gestione delle ambiguità: Utilizzare il contesto per risolvere ambiguità di parole con più significati (ad esempio, "banca" come istituto finanziario o riva di fiume).

Comprensione del linguaggio in Copilot Studio

Copilot Studio ha un modello flessibile per la comprensione del linguaggio, con molteplici opzioni di configurazione.

Orchestrazione generativa

L'orchestrazione generativa utilizza modelli linguistici per collegare in modo intelligente argomenti, azioni e conoscenze. Questa capacità consente il riconoscimento multi-intent, l’estrazione avanzata di entità e la generazione dinamica di piani per query complesse.

Questo metodo è il predefinito per Copilot Studio. Questo approccio riconosce molteplici intenti o argomenti in un unico enunciato, concatena automaticamente azioni e fonti delle informazioni e genera risposte unificate. È particolarmente utile per gestire conversazioni complesse che si estendono su più aree di business. L'orchestrazione generativa ha dei limiti, come cinque messaggi per argomento o catena di azioni, e 128 argomenti o azioni per orchestrazione, ma offre un modo potente per ampliare l'ampiezza delle conversazioni.

Per saperne di più, vedi Applica le funzionalità di orchestrazione generativa.

Orchestrazione classica

L'orchestrazione classica utilizza frasi trigger e il routing degli argomenti deterministici. Se l'utente pronuncia una frase trigger, il relativo argomento viene eseguito. Se non c'è corrispondenza, i meccanismi di fallback cercano nelle fonti delle informazioni oppure richiedono chiarimenti all'utente.

NLU predefinito

Questo approccio era il predefinito, ma ora è quello di fallback. Copilot Studio offre un modello NLU pronto all'uso che supporta frasi trigger, entità predefinite e entità personalizzate. Questo modello consente agli agenti di identificare l'intento dell'utente ed estrarre dettagli chiave come date, destinazioni o quantità direttamente da una query.

NLU+

Per un'alta precisione, usa l'opzione NLU+. L'opzione NLU+ è ideale per le applicazioni di livello enterprise. Questi tipi di applicazioni comprendono solitamente un gran numero di argomenti ed entità e utilizzano molti campioni di training. Inoltre, se disponi di un agente abilitato alla voce, i tuoi dati di training NLU+ vengono utilizzati anche per ottimizzare le tue capacità di riconoscimento vocale.

Integrazione con Azure CLU

Per scenari più avanzati in cui non è possibile utilizzare l'orchestrazione generativa predefinita, è possibile integrare Azure Conversational Language Understanding (CLU). CLU offre una maggiore personalizzazione, supporto multilingue e un'estrazione complessa di entità (ad esempio più entità "da"). Devi mappare le intenzioni CLU agli argomenti di Copilot Studio per mantenerle sincronizzate. Questa opzione è particolarmente preziosa per vocabolari specifici del settore, lingue non inglesi o scenari che richiedono maggiore precisione.

Funzionalità e limitazioni chiave

Questa tabella confronta i tre approcci di comprensione del linguaggio in Copilot Studio. Mette in evidenza le loro caratteristiche chiave e i limiti per aiutarti a scegliere il modello giusto per le esigenze di complessità, scala e accuratezza del tuo agente.

Funzionalità e limitazioni Orchestrazione generativa Modello NLU predefinito Modello CLU Azure personalizzato
Funzionalità principali
  • Usa un modello linguistico di grandi dimensioni
  • Gestisce enunciazioni complesse con molteplici intenzioni, argomenti/azioni e conoscenze
  • Genera automaticamente domande per input mancanti
  • Permette correzioni durante l'esecuzione
  • Produce una risposta unificata basata sugli output di argomenti, azioni e conoscenze
  • Modello preaddestrato con tipi di entità predefiniti
  • Configurato utilizzando frasi trigger ed entità personalizzate (liste chiuse o regex)
  • Supporta più lingue con modelli nativi
  • Modello personalizzabile di attivazione dell’intento per l’accuratezza o esigenze specifiche del settore
  • Estrazione avanzata di entità (ad esempio, stesso tipo, estrazione silenziosa)
  • L'estrazione delle entità può utilizzare il modello NLU standard di Copilot Studio
Limiti
  • Cinque messaggi per argomento/sequenza di azioni
  • Limite di 128 argomenti e azioni per il trigger
  • Riconoscimento di un singolo intento per query
  • Non può essere esteso
  • Riempire slot con più entità dello stesso tipo richiede disambiguazione
  • Riconoscimento di un singolo intento per query
  • Configurazione basata su Azure e costi aggiuntivi
  • Limiti del servizio Azure
  • Le finalità CLU di Azure e gli argomenti di Copilot Studio devono essere mantenuti accuratamente sincronizzati.

Altre informazioni in Panoramica della comprensione del linguaggio naturale (NLU).

Struttura degli argomenti e fallback

Gli argomenti sono passati da un percorso rigido basato sull'intento a un approccio più flessibile, centrato sull'orchestrazione. Invece di affidarsi esclusivamente a trigger e percorsi predefiniti, gli argomenti ora fungono da istruzioni modulari che l'agente può richiamare quando orchestra una conversazione. L'orchestrazione generativa gestisce la maggior parte del routing interpretando dinamicamente l'input degli utenti e gli argomenti forniscono un rimpiego strutturato quando occorre precisione.

Il design strutturato più tradizionale degli argomenti rende le conversazioni naturali ed efficienti. Gli argomenti possono essere punti di ingresso attivati da enunciazioni dell'utente o sottoargomenti riutilizzabili chiamati da reindirizzamenti o eventi di sistema. Gli argomenti di disambiguazione aiutano a evitare confusione quando potrebbero essere attivati più argomenti, mentre gli argomenti di fallback e di ottimizzazione della conversazione offrono una rete di sicurezza quando l'agente non riesce a identificare con certezza un intento. Puoi anche integrare risposte generative che attingono a fonti delle informazioni esterne, assicurando che gli utenti ricevano quasi sempre una risposta.

Altre informazioni in Seguire le procedure consigliate per la creazione degli argomenti.

Localizzazione e lingue

La lingua utilizzata da un agente di Copilot Studio è determinata dal valore della variabile di sistema: System.User.Language.

Questa variabile funge da punto di controllo centrale per tutti i comportamenti relativi alla lingua dell'agente. Puoi impostarne il valore manualmente, programmaticamente o rilevarlo automaticamente.

Come funziona?

  • ricerca nella Knowledge Base nella lingua dell'utente: Copilot Studio utilizza il valore di System.User.Language per cercare nelle fonti delle informazioni nella lingua specificata. Questo approccio significa che, anche se un utente fa una domanda in una lingua, l'agente traduce automaticamente la query di ricerca nella lingua impostata in System.User.Language (traduzione automatica della query di ricerca).

  • Risposta nella lingua dell'utente: L'agente genera risposte nella lingua specificata da System.User.Language, indipendentemente dalla lingua utilizzata nella domanda o nei documenti originali (traduzione automatica per la generazione delle risposte).

  • Override manuale: puoi impostare manualmente il valore di System.User.Language per forzare l'agente a operare in una determinata lingua. Questa funzionalità è utile per i test o per scenari in cui è necessario controllare esplicitamente la lingua. Altre informazioni sono disponibili in Configurare e creare agenti multilingue.

Rilevamento automatico della lingua parlata

Puoi configurare Copilot Studio per rilevare automaticamente la lingua parlata o scritta dall'utente e impostare di conseguenza la variabile System.User.Language. Questa funzionalità consente esperienze multilingue fluide senza richiedere agli utenti di specificare la loro preferenza linguistica.

Funzionamento del rilevamento automatico

  • Rilevamento basato su trigger: Quando il bot riceve un messaggio, un trigger avvia un flusso di rilevamento della lingua.
  • Imposta variabile di sistema: Il bot assegna la lingua rilevata a System.User.Language.
  • Risposta dinamica: L'agente continua la conversazione nella lingua rilevata, sia ricercando informazioni sia generando risposte di conseguenza.

Benefit

  • Esperienza personalizzata: gli utenti interagiscono nella propria lingua preferita senza configurazione manuale.
  • Esperienza coerente: tutte le risposte e i recuperi della conoscenza sono allineati con la lingua rilevata o impostata.
  • Soluzione scalabile: Supporta implementazioni globali con configurazione minima.

Suggerimento

Consulta la soluzione di esempio che mostra come abilitare gli agenti di Copilot Studio a rilevare automaticamente la lingua parlata dall'utente e a passare a una delle lingue approvate dal creatore per l'agente in Rilevamento automatico della lingua per risposte generative.

Procedure consigliate per la localizzazione

  • Configura le lingue supportate: Definisci le lingue primarie e secondarie per il tuo agente. Utilizza file di localizzazione (JSON o ResX) per fornire traduzioni di prompt, messaggi e argomenti.
  • Testa scenari multilingue: Simula le interazioni degli utenti in diverse lingue per garantire transizioni fluide e risposte accurate.
  • Usa la traduzione automatica: Utilizza la traduzione integrata di Copilot Studio per la ricerca nella Knowledge Base e la generazione di risposte, ma fornisci traduzioni personalizzate per contenuti critici o complessi.
  • Monitora e perfeziona: Usa l’analisi per tracciare l’uso delle lingue e migliorare la copertura della localizzazione nel tempo.

Approcci degli agenti di Copilot Studio alle lingue

  • Agenti separati per lingua.
  • Agenti multilingue singoli con traduzioni create in precedenza.
  • Agenti multilingue in tempo reale che utilizzano servizi di traduzione tra utente e agente.

La scelta dell'approccio dipende dall'uso, dalle esigenze di separazione, dalla scala, dalla frequenza degli aggiornamenti e dalle risorse disponibili.

Sfide tecniche individuate

Le sfide tipiche includono garantire che gli argomenti di Azure CLU e di Copilot Studio rimangano sincronizzati, gestire enunciati ambigui e scalare le implementazioni multilingue. L'identificazione precoce di questi ostacoli consente di pianificare strategie di mitigazione, come configurazioni di fallback, test massivi delle frasi trigger o servizi di traduzione basati su relay.

L'obiettivo della comprensione linguistica è garantire che ogni agente possa interpretare accuratamente le richieste degli utenti, adattarsi a lingue e scenari diversi e gestire in modo efficace le situazioni impreviste. Questo obiettivo crea una solida base per sviluppare conversazioni affidabili, coinvolgenti ed efficienti in Copilot Studio.