Accelerare il ciclo di sviluppo del chatbot Amazon Lex con Test Workbench.
Speed up Amazon Lex chatbot development with Test Workbench.
Amazon Lex è entusiasta di annunciare Test Workbench, una nuova soluzione di testing del bot che fornisce strumenti per semplificare e automatizzare il processo di testing del bot. Durante lo sviluppo del bot, il testing è la fase in cui gli sviluppatori verificano se un bot soddisfa i requisiti specifici, le esigenze e le aspettative identificando errori, difetti o bug nel sistema prima di passare alla fase di scaling. Il testing aiuta a convalidare le prestazioni del bot su diversi fronti come il flusso conversazionale (comprensione delle query dell’utente e risposta accurata), la gestione dell’overlap dell’intento e la coerenza tra le modalità. Tuttavia, il testing è spesso manuale, soggetto a errori e non standardizzato. Test Workbench standardizza la gestione del test automatizzato consentendo ai team di sviluppo di chatbot di generare, mantenere ed eseguire set di test con una metodologia coerente ed evitare scripting personalizzati e integrazioni ad hoc. In questo post, imparerai come Test Workbench semplifica il testing automatizzato delle modalità vocali e testuali di un bot e fornisce misure di accuratezza e prestazioni per parametri come la trascrizione audio, il riconoscimento dell’intento e la risoluzione dello slot sia per gli input a singola affermazione che per le conversazioni a più turni. Ciò ti consente di identificare rapidamente le aree di miglioramento del bot e mantenere una linea di base coerente per misurare l’accuratezza nel tempo e osservare eventuali regressioni di accuratezza dovute agli aggiornamenti del bot.
Amazon Lex è un servizio completamente gestito per la creazione di interfacce conversazionali vocali e testuali. Amazon Lex ti aiuta a creare e distribuire chatbot e assistenti virtuali su siti web, servizi di centro contatti e canali di messaggistica. I bot di Amazon Lex contribuiscono ad aumentare la produttività della risposta interattiva vocale (IVR), automatizzare le attività semplici e migliorare l’efficienza operativa in tutta l’organizzazione. Test Workbench per Amazon Lex standardizza e semplifica il ciclo di vita del testing del bot, che è fondamentale per migliorare il design del bot.
Caratteristiche di Test Workbench
Test Workbench per Amazon Lex include le seguenti funzionalità:
- Genera automaticamente set di dati di test dai log delle conversazioni di un bot
- Carica basi di test costruite manualmente
- Esegue il testing end-to-end di input singoli o conversazioni a più turni
- Testa entrambe le modalità audio e testuali di un bot
- Esamina i metrici aggregati e a drill-down per le dimensioni del bot:
- Trascrizione vocale
- Riconoscimento dell’intento
- Risoluzione dello slot (compresi gli slot multivalore o gli slot compositi)
- Tag di contesto
- Attributi di sessione
- Attributi di richiesta
- Suggerimenti in runtime
- Ritardo temporale in secondi
Prerequisiti
Per testare questa funzione, dovresti avere quanto segue:
- Effettuare il deployment di Falcon-40B con DLC di inferenza di modelli di grandi dimensioni su Amazon SageMaker.
- Come BrainPad favorisce la condivisione interna di conoscenze con Amazon Kendra
- Come Forethought risparmia oltre il 66% dei costi per i modelli di intelligenza artificiale generativi utilizzando Amazon SageMaker.
- Un account AWS con accesso amministratore
- Un bot di vendita al dettaglio di esempio importato tramite la console Amazon Lex (per ulteriori informazioni, fare riferimento all’importazione di un bot)
- Una fonte di set di test, sia da:
- Log delle conversazioni abilitati per il bot per archiviare le interazioni del bot, o
- Un set di test di vendita al dettaglio di esempio che può essere importato seguendo le istruzioni fornite in questo post
Inoltre, dovresti avere conoscenza e comprensione dei seguenti servizi e funzionalità:
- Amazon Lex
- Amazon CloudWatch
- Gestione identità e accesso AWS (IAM)
Crea un set di test
Per creare il tuo set di test, segui i seguenti passaggi:
- Nella console Amazon Lex, sotto Test Workbench nel riquadro di navigazione, scegli Set di test.
Puoi esaminare un elenco di set di test esistenti, inclusi informazioni di base come nome, descrizione, numero di input di test, modalità e stato. Nei seguenti passaggi, puoi scegliere tra la generazione di un set di test dai log delle conversazioni associati al bot o il caricamento di un set di test costruito manualmente in formato CSV.
- Scegli Crea set di test.
- La generazione di set di test dai log delle conversazioni consente di fare quanto segue:
- Includere conversazioni a più turni reali dai log del bot in CloudWatch
- Includere log audio e condurre test che tengano conto di sfumature vocali reali, rumori di fondo e accenti
- Accelerare la creazione di set di test
- Il caricamento di un set di test costruito manualmente ti consente di fare quanto segue:
- Testare nuovi bot per i quali non esistono dati di produzione
- Eseguire test di regressione su bot esistenti per nuovi o modificati intenti, slot e flussi di conversazione
- Testare scenari attentamente elaborati e dettagliati che specificano gli attributi di sessione e gli attributi di richiesta
Per generare un set di test, completa i seguenti passaggi. Se vuoi caricare un set di test creato manualmente, passa al passaggio 7.
- Scegli Genera un set di test di base.
- Scegli le tue opzioni per Nome del Bot, Alias del Bot e Lingua.
- Per Intervallo di tempo, imposta un intervallo di tempo per i log.
- Per Ruolo IAM esistente, scegli un ruolo.
Assicurati che il ruolo IAM sia in grado di concederti l’accesso per recuperare informazioni dai log delle conversazioni. Fai riferimento alla creazione dei ruoli IAM per creare un ruolo IAM con la policy appropriata.
- Se preferisci utilizzare un set di test creato manualmente, seleziona Carica un file in questo set di test.
- Per Carica un file in questo set di test, scegli tra le seguenti opzioni:
- Seleziona Carica da un bucket S3 per caricare un file CSV da un bucket di Amazon Simple Storage Service (Amazon S3).
- Seleziona Carica un file in questo set di test per caricare un file CSV dal tuo computer.
Puoi utilizzare il set di test di esempio fornito in questo post. Per maggiori informazioni sui modelli, scegli il link Modello CSV sulla pagina.
- Per Modalità, seleziona la modalità del tuo set di test, Testo o Audio.
Test Workbench fornisce supporto per i formati di input audio e testo.
- Per Posizione S3, inserisci la posizione del bucket S3 in cui verranno memorizzati i risultati.
- Opzionalmente, scegli una chiave AWS Key Management Service (AWS KMS) per crittografare le trascrizioni di output.
- Scegli Crea.
Il tuo nuovo set di test verrà elencato nella pagina Set di test con uno dei seguenti stati:
- Pronto per l’annotazione – Per i set di test generati dai log delle conversazioni del Bot Amazon Lex, il passaggio di annotazione funge da meccanismo di gating manuale per garantire l’input di test di qualità. Annotando i valori per gli intenti previsti e le slot previste per ogni elemento della linea di test, si indica la “verità fondamentale” per quella linea. I risultati del test dall’esecuzione del bot vengono raccolti e confrontati con la verità fondamentale per segnalare i risultati del test come passaggio o fallimento. Questo confronto a livello di linea consente quindi di creare misure aggregate.
- Pronto per il test – Questo indica che il set di test è pronto per essere eseguito contro un Bot Amazon Lex.
- Errore di convalida – I file di test caricati vengono controllati per errori come superamento della lunghezza massima supportata, caratteri non validi nei nomi degli intenti o collegamenti Amazon S3 non validi contenenti file audio. Se il set di test è nello stato Errore di convalida, scarica il file che mostra i dettagli di convalida per vedere i problemi di input di test o gli errori su base linea per linea. Una volta risolti, è possibile caricare manualmente il set di test CSV corretto nel set di test.
Esecuzione di un set di test
Un set di test è disaccoppiato da un bot. Lo stesso set di test può essere eseguito in futuro su un bot o un alias di bot diverso poiché il tuo caso d’uso aziendale evolve. Per riportare le metriche delle prestazioni di un bot rispetto ai dati di test di base, completa i seguenti passaggi:
- Importa la definizione del bot di esempio e crea il bot (fare riferimento all’importazione di un bot per la guida).
- Nella console Amazon Lex, scegli Set di test nel riquadro di navigazione.
- Scegli il tuo set di test convalidato.
Qui puoi rivedere le informazioni di base sul set di test e sui dati di test importati.
- Scegli Esegui il test .
- Scegli le opzioni appropriate per Nome del bot , Alias del bot e Lingua .
- Per Tipo di test , seleziona Audio o Testo .
- Per la Selezione del punto di arrivo , seleziona Streaming o Non-streaming .
- Scegli Convalida della discrepanza per convalidare il tuo set di dati di test.
Prima di eseguire un set di test, è possibile convalidare la copertura del test, identificando gli intenti e gli slot presenti nel set di test ma non nel bot. Questo avviso precoce serve per impostare le aspettative del tester per i fallimenti del test imprevisti. Se vengono rilevate discrepanze tra il tuo set di dati di test e il tuo bot, la pagina Esegui il test si aggiornerà con il pulsante Visualizza dettagli.
Gli intenti e gli slot trovati nel set di dati di test ma non nell’alias del bot sono elencati come mostrato nelle seguenti schermate.
- Dopo aver convalidato le discrepanze, scegli Esegui per eseguire il test.
Rivedere i risultati
Le misure delle prestazioni generate dopo l’esecuzione di un set di test ti aiutano a identificare le aree di progettazione del bot che necessitano di miglioramenti e sono utili per accelerare lo sviluppo e la distribuzione del bot per supportare i tuoi clienti. Test Workbench fornisce informazioni sulla classificazione degli intenti e sulla risoluzione degli slot nella conversazione end-to-end e nel livello di input a una singola linea. I test completati vengono archiviati con timestamp nel tuo bucket S3 e possono essere utilizzati per future revisioni comparative.
- Nella console Amazon Lex, scegli Risultati del test nel riquadro di navigazione.
- Scegli l’ID del risultato di test per i risultati che desideri rivedere.
Nella pagina successiva, i risultati del test includeranno una suddivisione dei risultati organizzati in quattro schede principali: risultati complessivi, risultati della conversazione, risultati dell’intento e dello slot e risultati dettagliati.
Risultati complessivi
La scheda dei Risultati complessivi contiene tre sezioni principali:
- Suddivisione dell’input del set di test – Un grafico che mostra il numero totale di conversazioni end-to-end e singoli input di enunciati nel set di test.
- Suddivisione degli input singoli – Un grafico che mostra il numero di input singoli superati o falliti.
- Suddivisione della conversazione – Un grafico che mostra il numero di input multi-turn superati o falliti.
Per i set di test eseguiti in modalità audio, sono forniti grafici di trascrizione vocale per mostrare il numero di trascrizioni vocali superate o fallite sia per i singoli input che per i tipi di conversazione. In modalità audio, un singolo input o una conversazione multi-turn potrebbero superare il test di trascrizione vocale, ma fallire il test end-to-end complessivo. Questo potrebbe essere causato, ad esempio, da un problema di risoluzione dello slot o di riconoscimento dell’intento.
Risultati della conversazione
Test Workbench ti aiuta a analizzare le conversazioni fallite che possono essere attribuite a specifici intenti o slot. La scheda dei Risultati della conversazione è organizzata in tre aree principali, coprendo tutti gli intenti e gli slot utilizzati nel set di test:
- Tassi di successo della conversazione – Una tabella utilizzata per visualizzare quali intenti e slot sono responsabili di possibili fallimenti della conversazione.
- Metriche di fallimento dell’intento della conversazione – Un grafico a barre che mostra i cinque intenti peggiori eseguiti nel set di test, se presenti.
- Metriche di fallimento dello slot della conversazione – Un grafico a barre che mostra i cinque slot peggiori eseguiti nel set di test, se presenti.
Risultati dell’intento e dello slot
La scheda dei Risultati dell’intento e dello slot fornisce metriche dettagliate per le dimensioni del bot, come il riconoscimento dell’intento e la risoluzione dello slot.
- Metriche di riconoscimento dell’intento – Una tabella che mostra il tasso di successo del riconoscimento dell’intento.
- Metriche di risoluzione dello slot – Una tabella che mostra il tasso di successo della risoluzione dello slot, per ogni intento.
Risultati dettagliati
Puoi accedere a un rapporto dettagliato dell’esecuzione del test eseguito nella scheda dei Risultati dettagliati. Viene visualizzata una tabella per mostrare la trascrizione effettiva, l’intento di output e i valori dello slot in un set di test. Il rapporto può essere scaricato come CSV per ulteriori analisi.
L’output a livello di linea fornisce informazioni utili per migliorare il design del bot e aumentare l’accuratezza. Ad esempio, gli input vocali errati o mancanti, come le parole di marca, possono essere aggiunti al vocabolario personalizzato di un’intento o come enunciati sotto un intento.
Per migliorare ulteriormente il design della conversazione, puoi fare riferimento a questo post, che illustra le migliori pratiche sull’utilizzo di ML per creare un bot che delizierà i tuoi clienti comprendendoli con precisione.
Conclusione
In questo post, abbiamo presentato Test Workbench per Amazon Lex, una capacità nativa che standardizza il processo di test automatizzato del chatbot e consente ai programmatori e ai progettisti di conversazioni di ottimizzare e iterare rapidamente attraverso il design e lo sviluppo del bot.
Non vediamo l’ora di sentire come utilizzerai questa nuova funzionalità di Amazon Lex e accogliamo i feedback! Per qualsiasi domanda, bug o richiesta di funzionalità, contattaci attraverso AWS re:Post per Amazon Lex o i tuoi contatti di supporto AWS.
Per saperne di più, consulta le FAQ di Amazon Lex e la Guida per lo sviluppatore di Amazon Lex V2.