Test in batch con un set di espressioni di esempio

Importante

LUIS verrà ritirato il 1 ottobre 2025 e a partire dal 1 aprile 2023 non è più possibile creare nuove risorse LUIS. Si consiglia di eseguire la migrazione delle applicazioni LUIS a comprensione del linguaggio di conversazione per sfruttare appieno un supporto costante per i prodotti e le funzionalità multilingue.

I test in batch convalidano la versione con training attivo per misurare l'accuratezza delle previsioni. Un test in batch consente di visualizzare l'accuratezza di ogni intento ed entità nella versione attiva. Esaminare i risultati dei test in batch per intraprendere le azioni appropriate per migliorare l'accuratezza, ad esempio aggiungendo altre espressioni di esempio a un intento se l'app spesso non riesce a identificare l'intento corretto o etichettare le entità nell'espressione.

Raggruppare i dati per il test in batch

È importante che le espressioni usate per i test in batch siano nuove per Language Understanding. Se è presente un set di dati di espressioni, dividere le espressioni in tre gruppi: espressioni aggiunte a un intento, espressioni ricevute dall'endpoint pubblicato ed espressioni usate per i test in batch di LUIS dopo il training.

Il file JSON batch in uso deve includere espressioni con entità di Machine Learning di livello superiore etichettate con la posizione iniziale e finale. Le espressioni non devono far parte degli esempi già presenti nell'app. Devono essere espressioni da prevedere positivamente per finalità ed entità.

È possibile separare i test per finalità e/o entità oppure avere tutti i test (fino a 1000 espressioni) nello stesso file.

Errori comuni nell'importazione di un batch

Se vengono riscontrati errori durante il caricamento del file batch in LUIS, verificare l'eventuale occorrenza dei problemi comuni seguenti:

  • Oltre 1.000 espressioni in un file batch
  • Un oggetto JSON di espressione che non ha una proprietà di entità. La proprietà può essere una matrice vuota.
  • Parole etichettata in più entità
  • Etichette dell'entità che iniziano o terminano con uno spazio.

Correzione di errori batch

In presenza di errori nei test in batch, è possibile aggiungere più espressioni a una finalità e/o etichettare più espressioni con l'entità per consentire a Language Understanding di distinguere tra le finalità. Se sono state aggiunte espressioni che sono state etichettate e si continuano a riscontrare errori di previsione nei test in batch, è possibile aggiungere un elenco di frasi con un vocabolario settoriale specifico per consentire a Language Understanding di apprendere più rapidamente.

Usare il portale LUIS per il test in batch

Importare un'app di esempio ed eseguirne il training

Importare un'app che accetta un ordine di pizza, ad esempio 1 pepperoni pizza on thin crust.

  1. Scaricare e salvare il file JSON dell'app.

  2. Accedere al portale LUIS e quindi selezionare la sottoscrizione e la risorsa di creazione per vedere le app assegnate a tale risorsa.

  3. Selezionare la freccia accanto a Nuova app e fare clic su Importa come JSON per importare il JSON in una nuova app. Assegnare un nome all'app Pizza app.

  4. Selezionare Esegui il training sulla barra di spostamento per eseguire il training dell'app.

Ruoli nel test in batch

Attenzione

I ruoli entità non sono supportati nel test in batch.

File di test in batch

Il codice JSON di esempio include un'espressione con un'entità etichettata per illustrare l'aspetto di un file di test. Nei propri test è necessario avere più espressioni con finalità corrette ed entità etichettate di Machine Learning.

  1. Creare pizza-with-machine-learned-entity-test.json in un editor di testo o scaricarlo.

  2. Nel file batch in formato JSON aggiungere un'espressione con la finalità che si vuole prevedere nel test.

    [
        {
            "text": "I want to pick up 1 cheese pizza",
            "intent": "ModifyOrder",
            "entities": [
                {
                    "entity": "Order",
                    "startPos": 18,
                    "endPos": 31
                },
                {
                    "entity": "ToppingList",
                    "startPos": 20,
                    "endPos": 25
                }
            ]
        }
    ]
    

Eseguire il batch

  1. Selezionare Test nella barra di spostamento in alto.

  2. Selezionare Batch testing panel (Pannello test in batch) nel pannello di destra.

    Collegamento Batch Testing (Test in batch)

  3. Selezionare Importa. Nella finestra di dialogo che viene visualizzata, selezionare Scegli file e cercare il file JSON con il formato JSON corretto che non contiene più di 1.000 espressioni da testare.

    Gli errori di importazione vengono segnalati in una barra di notifica rossa nella parte superiore del browser. Quando un'importazione presenta degli errori, non viene creato alcun set di dati. Per ulteriori informazioni, vedereErrori comuni.

  4. Scegliere il percorso del file pizza-with-machine-learned-entity-test.json.

  5. Assegnare un nome al set di dati pizza test e selezionare Done (Fatto).

  6. Selezionare il pulsante Run (Esegui).

  7. Una volta completato il test in batch, è possibile vedere le colonne seguenti:

    Colonna Descrizione
    Stato Stato del test. Vedi risultati è visibile solo una volta completato il test.
    Nome Il nome assegnato al test.
    Dimensione Numero di test in questo file di test in batch.
    Ultima esecuzione Data dell'ultima esecuzione di questo file di test in batch.
    Ultimo risultato Numero di previsioni riuscite nel test.
  8. Per visualizzare i risultati dettagliati del test, selezionare Vedi risultati.

    Suggerimento

    • Selezionando Download verrà scaricato lo stesso file caricato.
    • Se il test in batch non va a buon fine, almeno un intento di un'espressione non corrispondeva alla previsione.

Esaminare i risultati del batch per le finalità

Per esaminare i risultati del test in batch, selezionare See results (Visualizza risultati). I risultati del test mostrano graficamente il modo in cui le espressioni di test sono state previste rispetto alla versione attiva.

Il grafico relativo al batch visualizza quattro quadranti d risultati. Nella parte destra del grafico è presente un filtro. Il filtro contiene finalità ed entità. Quando si seleziona una sezione del grafico oppure un punto nel grafico, le espressioni associate vengono visualizzate sotto il grafico.

Quando si passa il mouse sul grafico, la rotellina del mouse consente di ingrandire o ridurre la visualizzazione del grafico. Ciò è utile quando sono presenti molti punti nel grafico strettamente raggruppati.

Il grafico è diviso in quattro quadranti, con due sezioni visualizzate in rosso.

  1. Selezionare la finalità ModifyOrder nell'elenco dei filtri. L'espressione è stimata come Vero positivo, il che significa che corrisponde correttamente alla previsione positiva elencata nel file batch.

    Espressione correttamente corrispondente alla previsione positiva

    I segni di spunta verdi nell'elenco dei filtri indicano anche l'esito positivo del test per ogni finalità. Tutte le altre finalità sono elencate con un punteggio positivo 1/1 perché l'espressione è stata testata rispetto a ogni finalità, come test negativo per le finalità non elencate nel test batch.

  2. Selezionare la finalità Confirmation. Questa finalità non è elencata nel test batch, pertanto si tratta di un test negativo dell'espressione presente nel test.

    Espressione prevista correttamente come negativa per la finalità non elencata nel file batch

    Il test negativo ha avuto esito positivo, come indicato dal testo verde nel filtro e nella griglia.

Esaminare i risultati del test batch per le entità

L'entità ModifyOrder, come entità computer con sottoentità, mostra se l'entità di livello superiore corrisponde e come vengono previste le sottoentità.

  1. Selezionare l'entità ModifyOrder nell'elenco dei filtri e quindi selezionare il cerchio nella griglia.

  2. Sotto il grafico viene visualizzata la previsione dell'entità. La visualizzazione include linee continue per le previsioni che corrispondono alle aspettative e linee punteggiate per quelle che non corrispondono.

    Elemento padre dell'entità previsto correttamente nel file batch

Filtrare i risultati del grafico

Per filtrare il grafico in base a una finalità o entità specifica, selezionare la finalità o l'entità nel pannello filtro sulla destra. I punti dati e la relativa distribuzione vengono aggiornati nel grafico in base alla selezione.

Risultato del test in batch visualizzato

Esempi di risultati del grafico

Nel grafico del portale LUIS è possibile eseguire le azioni seguenti:

Visualizzare i dati dell'espressione single-point

Nel grafico passare il mouse su un punto dati per visualizzare il punteggio di certezza della relativa stima. Selezionare un punto dati per recuperare l'espressione corrispondente nell'elenco nella parte inferiore della pagina.

Espressione selezionata

Visualizzare i dati sezione

Nel grafico a quattro sezioni selezionare il nome della sezione, ad esempio False Positive (Falso positivo) in alto a destra del grafico. Sotto il grafico, tutte le espressioni in quella sezione vengono visualizzate sotto il grafico in un elenco.

Espressioni selezionate per sezione

In questa immagine precedente l'espressione switch on viene etichettata con la finalità TurnAllOn, ma ha ricevuto la stima della finalità None (Nessuna). Indica che la finalità TurnAllOn necessita di più espressioni di esempio per elaborare la stima prevista.

Le due sezioni del grafico in rosso indicano le espressioni che non corrispondevano alla stima prevista. Indicano le espressioni per le quali LUIS necessita di ulteriore training.

Le due sezioni del grafico in verde corrispondevano alla stima prevista.

Passaggi successivi

Se il test indica che l'app LUIS non riconosce le finalità e le entità corrette, è possibile migliorare le prestazioni dell'app LUIS etichettando più espressioni o aggiungendo funzionalità.