Opzioni di riconoscimento delle finalità ed estrazione delle entità per i carichi di lavoro delle applicazioni intelligenti
Il riconoscimento dell'intento e l'estrazione delle entità sono componenti chiave della comprensione del linguaggio naturale.
Il riconoscimento dell'intento implica l'identificazione dell'obiettivo o dello scopo dell'utente dietro il suo input. Ad esempio, se un utente dice: "Voglio prenotare un volo", l'intento è quello di prenotare un volo. Il riconoscimento dell'intento aiuta l'agente a capire quale azione deve essere intrapresa in base alla richiesta dell'utente.
L'estrazione di entità comporta l'identificazione e l'estrazione di informazioni specifiche dall'input dell'utente. Le entità possono essere elementi come date, nomi, luoghi o qualsiasi altro dato rilevante. Ad esempio, nella frase "Prenota un volo per New York il 15 settembre", "New York" e "15 settembre" sono entità.
Un agente utilizza l'intento per comprendere l'obiettivo dell'utente e le entità per identificare i dettagli specifici necessari per completare l'attività. Il riconoscimento degli intenti e l'estrazione delle entità, quindi, consentono all'agente di fornire risposte accurate ed efficienti alle query degli utenti.
Quando progetti il carico di lavoro dell'applicazione intelligente, è necessario scegliere l'opzione migliore per il riconoscimento dell'intento e l'estrazione delle entità per garantire che il carico di lavoro dell'applicazione intelligente offra un'esperienza utente positiva.
Definizioni
Termine | Definizione |
---|---|
NLU | La comprensione del linguaggio naturale è un sottoinsieme dell'elaborazione del linguaggio naturale nell'intelligenza artificiale che si concentra sulla comprensione della lettura automatica. |
CLU | La comprensione del linguaggio conversazionale è una funzionalità dell'intelligenza artificiale di Azure che consente la creazione di modelli NLU personalizzati. |
LLM | Un modello linguistico di grandi dimensioni è un tipo di modello di intelligenza artificiale progettato per comprendere e generare il linguaggio umano. |
GPT | Il trasformatore generativo preaddestrato si riferisce a una famiglia di modelli linguistici di grandi dimensioni che usano l'architettura del trasformatore per comprendere e generare testo simile a quello umano. |
Concatenamento dinamico | Il concatenamento dinamico è un metodo per automatizzare i trigger per le azioni generative. Invece di definire manualmente ogni possibile argomento o frase trigger, il concatenamento dinamico consente all'IA di determinare quali argomenti o azioni del plug-in devono essere chiamati in base al contesto della conversazione. |
La scelta dell'opzione appropriata per il riconoscimento delle finalità e l'estrazione delle entità nel carico di lavoro dell'applicazione intelligente implica diverse considerazioni chiave:
Entità predefinite e personalizzate: valuta se le entità predefinite fornite da Microsoft Copilot Studio soddisfano le tue esigenze. Le entità predefinite coprono tipi di informazioni comuni come date, numeri e nomi. Se l'applicazione richiede conoscenze specifiche del dominio, potrebbe essere necessario creare entità personalizzate.
Complessità degli input dell'utente: considera la complessità e la variabilità degli input dell'utente. Per scenari semplici, possono essere sufficienti entità predefinite. Per interazioni più complesse, potrebbero essere necessarie entità personalizzate e configurazioni avanzate come le espressioni regolari (regex).
Riempimento degli slot: determina se l'applicazione richiede un riempimento proattivo degli slot, in cui l'agente cerca e compila attivamente le informazioni mancanti dagli input dell'utente. Il riempimento degli slot può migliorare l'esperienza dell'utente riducendo la necessità di domande di follow-up.
Prestazioni e scalabilità: valuta le prestazioni e la scalabilità del metodo scelto. Le entità personalizzate e le configurazioni complesse spesso richiedono una maggiore potenza di elaborazione e potrebbero influire sui tempi di risposta.
Facilità di manutenzione: considera la facilità di manutenzione e aggiornamento delle entità. Le entità predefinite sono più facili da gestire, mentre le entità personalizzate richiedono modifiche continue man mano che l'applicazione si evolve.
Scegli tra NLU standard, Azure CLU o il concatenamento dinamico
In Copilot Studio, l'argomento o l'azione può essere ottenuta utilizzando il modello NLU standard, combinandolo o sovrascrivendolo con un modello CLU Azure personalizzato oppure sostituendo completamente il modello NLU con il concatenamento dinamico, un modello basato su modelli linguistici di grandi dimensioni GPT.
Modello NLU standard | Modello CLU Azure personalizzato | Concatenamento dinamico | |
---|---|---|---|
Pro | Modello predefinito, già sottoposto a training e con molti tipi di entità predefiniti. La configurazione viene eseguita aggiungendo frasi trigger ed entità personalizzate (elenchi chiusi con valori e sinonimi o espressioni regolari). |
Supporta più lingue, con modelli nativi. Supporta la personalizzazione del modello di attivazione degli intenti per un migliore riconoscimento degli intenti o per soddisfare requisiti specifici del settore. Consente l'estrazione di entità complesse (ad esempio, dello stesso tipo). L'estrazione di entità può anche usare lo standard NLU di Copilot Studio. |
Usa un modello linguistico di grandi dimensioni GPT e viene preaddestrato su uno spettro di dati più ampio. È in grado di gestire più intenti e concatenare argomenti e/o plug-in. Genera automaticamente domande per gli input mancanti e risponde a entità e domande complesse dal contesto della conversazione. La configurazione viene eseguita descrivendo argomenti, azioni del plug-in, input e output. |
Svantaggi | Riconoscimento di un singolo intento per query. Non può essere esteso. Non è possibile modificare il comportamento del modello o perfezionarlo. Viene fornito così com'è. Il riempimento di slot di più entità dello stesso tipo richiede la risoluzione dell'ambiguità per ciascuna di esse, ad esempio da e verso le città. |
Riconoscimento di un singolo intento per query. La configurazione viene eseguita in Azure a un costo aggiuntivo. Ha i propri limiti di servizio che devono essere valutati. Gli intenti di Azure CLU e gli argomenti di Copilot Studio devono essere accuratamente sincronizzati. |
Trattandosi di una funzionalità di intelligenza artificiale generativa, la velocità di masterizzazione delle licenze dei messaggi è superiore a quella della normale attivazione degli argomenti. |
Frasi trigger e riempimento degli slot
Quando sviluppi carichi di lavoro per applicazioni intelligenti, usa le funzionalità native per migliorare il riconoscimento delle finalità e semplificare le conversazioni. Inizia identificando le frasi trigger degli argomenti dai database delle FAQ esistenti e dalle trascrizioni delle chat per assicurarti che le frasi previste siano pertinenti e accurate. Considera come utilizzerai le entità; ad esempio, se utilizzerai espressioni regolari per trovare ID ordine, entità predefinite per messaggi e-mail o elenchi chiusi per tipi di operazioni con sinonimi. Pianifica anche il modo in cui testare i trigger degli argomenti con frasi di esempio per convalidare e perfezionare l'accuratezza dei processi di riconoscimento delle finalità e di estrazione delle entità. Altre informazioni in Considerazioni su distribuzione e test.
Frasi trigger
Le frasi trigger eseguono il training del modello dell'agente NLU. Aiutano l'agente a riconoscere e rispondere in modo accurato alle espressioni dell'utente definendo frasi specifiche che attivano determinati argomenti. La corretta configurazione di queste frasi trigger garantisce che l'agente possa identificare correttamente l'intento dell'utente e rispondere in modo appropriato. Quando l'agente è incerto su quale argomento attivare, può suggerire fino a tre potenziali candidati per l'argomento (argomento di sistema per corrispondenze multiple) o tornare a una risposta predefinita se non viene identificato alcun argomento. Questo meccanismo aiuta a mantenere il flusso della conversazione e garantisce che l'agente possa gestire in modo efficace un'ampia gamma di input dell'utente.
Estrazione entità e riempimento slot
L'estrazione delle entità e il riempimento degli slot sono componenti importanti nello sviluppo di agenti efficaci. Questi processi consentono all'agente di acquisire e utilizzare le informazioni in modo efficiente identificando ed estraendo dettagli rilevanti dalle query degli utenti.
L'estrazione di entità comporta l'analisi dell'input dell'utente per identificare informazioni specifiche. Ad esempio, nella query "Vorrei ordinare tre magliette blu grandi", il modello NLU dell'agente deve estrarre le seguenti entità:
- Quantità: 3
- Colore: blu
- Dimensioni: grandi
- Tipo di elemento: t-shirt
Il riempimento degli slot è il processo di utilizzo di queste entità estratte per completare le informazioni necessarie per una determinata attività. In questo esempio, l'agente riconosce l'argomento come un ordine e riempie gli slot richiesti con le entità estratte. L'agente è in grado di comprendere la richiesta dell'utente senza fare altre domande, snellendo l'interazione.
L'estrazione delle entità e il riempimento degli slot consentono agli agenti di gestire query complesse in modo più efficace, fornendo risposte accurate e contestualmente pertinenti e migliorando l'esperienza dell'utente.
Altre informazioni:
- Ottimizzazione delle frasi trigger e della comprensione del linguaggio naturale in Copilot Studio
- Procedure consigliate per le entità e il riempimento degli slot in Copilot Studio
Integrazione di Azure CLU con Microsoft Copilot Studio
L'integrazione di un modello CLU con un agente Copilot Studio può migliorare significativamente le funzionalità dell'agente. Questa integrazione comporta il mapping degli intenti di Azure CLU agli argomenti di Copilot Studio, consentendo all'agente di comprendere e rispondere agli intenti dell'utente in modo più accurato. Inoltre, le entità predefinite di Copilot Studio possono essere usate insieme alle entità Azure CLU, fornendo un framework affidabile per l'estrazione delle entità.
Quando si considera questa integrazione, è importante valutare se il carico di lavoro dell'applicazione intelligente richiede Azure CLU. Ad esempio, Azure CLU supporta più lingue, dizionari specifici del settore ed estrazione di entità complesse, che potrebbero essere essenziali per l'applicazione. Le estrazioni di entità personalizzate con Azure CLU possono anche abilitare il riempimento automatico o "fortunato" degli slot, che consente al agente di gestire scenari come l'identificazione di città di origine e di destinazione in un'unica frase senza porre domande di follow-up.
Un altro aspetto importante è garantire che le quote e i limiti del servizio Azure CLU siano in linea con l'utilizzo del agente. Ad esempio, se prevedi meno di 1.000 chiamate che richiedono il riconoscimento dell'intento al minuto, potresti configurare Azure CLU usando il livello S. Questa configurazione garantisce che il tuo agente possa gestire il carico di lavoro previsto senza superare i limiti del servizio o incorrere in costi imprevisti.
Altre informazioni:
- Panoramica dell'integrazione di Azure CLU
- Lingue supportate da Azure CLU
- Limiti di Azure CLU
- Prezzi Azure CLU
Considerazioni sulle strutture degli argomenti
Strutturare gli argomenti in modo efficace è importante per creare conversazioni naturali e senza interruzioni. Gli argomenti sono percorsi di conversazione discreti che, se combinati, consentono agli utenti di interagire con agente senza problemi. Di seguito sono riportate alcune considerazioni chiave per la progettazione di strutture di argomenti:
Argomenti basati su trigger: questi argomenti vengono attivati in base alle espressioni utente e fungono da punti di ingresso. Definisci frasi trigger chiare per questi argomenti. Se le frasi trigger si sovrappongono su più argomenti, prendi in considerazione l'implementazione di un argomento onnicomprensivo che possa reindirizzare all'argomento appropriato dopo aver posto domande chiarificatrici. Con l'estrazione delle entità e il riempimento degli slot, queste domande chiarificatrici possono essere ignorate se le informazioni necessarie sono già fornite.
Argomenti basati sul reindirizzamento: questi argomenti vengono attivati da azioni, attività o eventi di reindirizzamento e possono essere richiamati da più altri argomenti. Dovrebbero essere progettati per essere riutilizzabili e modulari, con variabili di input e output per facilitare la perfetta integrazione in vari percorsi di conversazione.
Argomenti a doppio trigger: alcuni argomenti possono essere attivati tramite il riconoscimento dell'intento o tramite un reindirizzamento esplicito. Questa flessibilità consente conversazioni più dinamiche e reattive.
Ottimizzazione conversazione e fallback: crea argomenti di fallback per situazioni in cui nessun argomento corrispondente viene attivato dalla query dell'utente. Questi argomenti possono offrire risposte generiche o suggerire argomenti pertinenti per mantenere il flusso della conversazione.
Approccio progettuale:
Argomenti personalizzati per scenari chiave: sviluppa alcuni argomenti personalizzati per scenari chiave con frasi trigger e reindirizzamenti pertinenti. Utilizza una struttura di argomento padre-figlio per gestire interazioni complesse. Per le intenzioni non riconosciute, implementa risposte generative e meccanismi di fallback.
Argomenti di risoluzione delle ambiguità: pianifica l'uso degli argomenti di risoluzione delle ambiguità per le operazioni che richiedono domande di chiarimento. Ad esempio, le operazioni con l'account utente potrebbero richiedere chiarimenti sul tipo di operazione (ad esempio, creare, sbloccare, sospendere) e sul sistema coinvolto (ad esempio, SAP, ServiceNow, Microsoft).
Evitare la duplicazione: per evitare di duplicare il contenuto, crea argomenti riutilizzabili per i percorsi delle finestre di dialogo che devono essere ripetuti. Questi argomenti riutilizzabili possono essere chiamati da un argomento padre e, una volta completati, la conversazione può riprendere la logica dell'argomento padre.
Altre informazioni:
Gestione degli intenti non riconosciuti
La gestione efficace degli intenti non riconosciuti garantisce un'esperienza utente fluida. Gli intenti non riconosciuti si verificano quando l'agente non comprende un'espressione dell'utente e non dispone di attendibilità sufficiente per attivare un argomento esistente. Ecco alcuni suggerimenti per la gestione di questi scenari:
Gestione delle finalità non riconosciute: inizialmente, indirizza le finalità non riconosciute all'argomento di sistema di potenziamento della conversazione, che cerca le risposte nei siti Web pubblici e nelle risorse aziendali come i siti SharePoint. Se non vengono trovate informazioni rilevanti, il sistema può tornare a un'esperienza simile a ChatGPT utilizzando un prompt di sistema personalizzato con il modello GPT-4 di OpenAI di Azure. Questo approccio garantisce che gli utenti ricevano risposte utili anche quando le query non sono pianificate.
Integrazione con sistemi esterni: valuta se eseguire l'integrazione con sistemi esterni come parte della tua strategia di fallback. Ad esempio, l'integrazione con il modello GPT-4 di OpenAI di Azure utilizzando le richieste HTTP per fornire un'esperienza conforme simile a ChatGPT.
Monitoraggio dell'utilizzo del fallback: esamina regolarmente la percentuale di conversazioni che raggiungono il fallback. Utilizza queste informazioni per arricchire gli argomenti esistenti o crearne di nuovi, assicurando che il agente migliori continuamente le sue capacità di comprensione e risposta.
Argomento di fallback e risposte generative: l'argomento di sistema di fallback viene attivato quando non viene identificato alcun argomento corrispondente. Se le risposte generative sono abilitate, l'argomento di potenziamento della conversazione viene attivato prima in caso di eventi di intento sconosciuto, seguito dall'argomento di fallback come richiesto. Questo approccio a più livelli aiuta a gestire in modo efficace le intenzioni non riconosciute.
Usare l'ottimizzazione delle conversazioni e il fallback: usa Risposte generative per cercare in varie origini dati o per eseguire l'integrazione con altri sistemi come Servizio cognitivo di Azure per la lingua. Questo servizio è in grado di gestire grandi volumi di coppie di domande e risposte e include un modello di chiacchiere per domande casuali.
Scenari principali e argomenti personalizzati: assicurati che gli scenari e gli argomenti principali siano ben definiti e gestiti tramite argomenti personalizzati. Definisci chiaramente i risultati di questi argomenti per mantenere un flusso di conversazione strutturato ed efficiente.
Localizzazione e lingue
Quando crei un agente, considera i linguaggi e i mercati che il carico di lavoro dell'applicazione intelligente deve supportare. La localizzazione e il supporto linguistico sono fattori critici per garantire che il carico di lavoro dell'applicazione intelligente soddisfi le esigenze di diverse basi di utenti. Ecco alcuni approcci suggeriti:
Un agente per lingua: questo approccio prevede la creazione di un agente separato per ogni lingua. Garantisce che ogni agente sia completamente ottimizzato per la sua lingua specifica; Tuttavia, la manutenzione di più agenti può richiedere molte risorse.
Un agente per più lingue (traduzioni configurate): con questo approccio, un singolo agente supporta più lingue, con traduzioni fornite come parte della configurazione di agente. Questo approccio richiede l'aggiornamento delle traduzioni ogni volta che l'agente viene aggiornato o viene aggiunto un nuovo contenuto. Offre un equilibrio tra efficienza delle risorse e supporto linguistico, ma richiede un'attenta gestione degli aggiornamenti delle traduzioni.
Un agente per più lingue (traduzioni in tempo reale): questo metodo utilizza un agente di relay per fornire traduzioni in tempo reale in fase di esecuzione. Consente una rapida distribuzione di più lingue e riduce la necessità di frequenti aggiornamenti delle traduzioni. Tuttavia, introduce una dipendenza dall'agente di relay e un livello di traduzione in tempo reale, ad esempio Service Copilot di Azure e Traduttore di Servizi cognitivi di Azure.
Considerazioni chiave:
Lingue e mercati: le lingue e i mercati che il tuo agente deve supportare influenzano la tua strategia di localizzazione.
Agente monolingua vs. agente multilingue: decidi se sviluppare un singolo agente che supporti più lingue o agenti separati per ogni lingua. Questa decisione dipende da fattori quali la disponibilità delle risorse, le capacità di manutenzione e la complessità delle lingue coinvolte.
Tempi di traduzione: valuta se le traduzioni devono essere impostate durante la fase di configurazione o fornite in tempo reale in fase di esecuzione. Le traduzioni configurate offrono stabilità e controllo, mentre le traduzioni in tempo reale offrono flessibilità e rapidità di implementazione.
Altre informazioni: