Testare la knowledge base in QnA Maker

Testare la Knowledge Base di QnA Maker è una parte importante di un processo iterativo per migliorare l'accuratezza delle risposte restituite. È possibile testare la Knowledge Base attraverso un'interfaccia di chat avanzata che consente anche di apportare modifiche.

Nota

Il servizio QnA Maker viene ritirato il 31 marzo 2025. Una versione più recente della funzionalità di domande e risposte è ora disponibile come parte del linguaggio di intelligenza artificiale di Azure. Per le funzionalità di risposta alle domande all'interno del servizio di linguaggio, vedere La risposta alle domande. A partire dal 1° ottobre 2022 non sarà possibile creare nuove risorse di QnA Maker. Per informazioni sulla migrazione delle knowledge base di QnA Maker esistenti alla risposta alle domande, vedere la guida alla migrazione.

Test interattivo nel portale di QnA Maker

  1. Accedere alla Knowledge Base selezionandone il nome nella pagina My knowledge bases (Knowledge Base personali).
  2. Per accedere al pannello a scorrimento Test, selezionare Test nel pannello superiore dell'applicazione.
  3. Immettere una query nella casella di testo e premere Invio.
  4. Viene fornita la risposta della Knowledge Base con la migliore corrispondenza.

Cancellare il pannello Test

Per cancellare tutte le query di test inserite e i relativi risultati dalla console di test, selezionare Ricomincia nell'angolo in alto a sinistra del pannello Test.

Chiudere il pannello Test

Per chiudere il pannello Test, selezionare nuovamente il pulsante Test. Quando il pannello Test è aperto, non è possibile modificare i contenuti della Knowledge Base.

Ispezionare il punteggio

È possibile ispezionare i dettagli del risultato del test nel pannello Ispeziona.

  1. Con il pannello a scorrimento Test aperto, selezionare Inspect (Ispeziona) per visualizzare altri dettagli sulla risposta.

    Inspect responses

  2. Verrà visualizzato il pannello Ispeziona. Il pannello include la finalità con il punteggio più alto ed eventuali entità identificate. Il pannello mostra il risultato dell'espressione selezionata.

Correggere la risposta con il punteggio più alto

Se la risposta con il punteggio più alto non è corretta, selezionare la risposta corretta dall'elenco e selezionare Save and Train (Salva ed esegui training).

Correct the top scoring answer

Aggiungere domande alternative

È possibile aggiungere forme alternative di una domanda a una determinata risposta. Digitare le risposte alternative nella casella di testo e selezionare INVIO per aggiungerle. Selezionare Save and Train (Salva ed esegui training) per archiviare gli aggiornamenti.

Add alternate questions

Aggiungere una nuova risposta

È possibile aggiungere una nuova risposta se una delle risposte esistenti individuate non è corretta o se la risposta non esiste nella Knowledge Base (non è stata trovata una buona corrispondenza nella Knowledge Base).

Nella parte inferiore dell'elenco delle risposte usare la casella di testo per immettere una nuova risposta e premere INVIO per aggiungerla.

Selezionare Save and train (Salva ed esegui training) per salvare questa risposta in modo permanente. Una nuova coppia di domanda/risposta è stata così aggiunta alla Knowledge Base.

Nota

Tutte le modifiche alla Knowledge Base vengono salvate solo quando si fa clic sul pulsante Save and train (Salva ed esegui training).

Testare la knowledge base pubblicata

È possibile testare la versione pubblicata della Knowledge Base nel riquadro di test. Dopo aver pubblicato la Knowledge Base, selezionare la casella KB pubblicata e inviare una query per ottenere i risultati dalla Knowledge Base pubblicata.

Test against a published KB

Test batch con strumento

Usare lo strumento di test batch quando si vuole:

  • determinare la risposta e il punteggio principali per un set di domande
  • convalidare la risposta prevista per il set di domande

Prerequisiti

Accedere al portale di QnA Maker

Accedere al portale di QnA Maker.

Creare una nuova knowledge base dal file sample.docx multiturno

  1. Selezionare Create a knowledge base (Crea una knowledge base) sulla barra degli strumenti.

  2. Ignorare il passaggio 1, perché si dovrebbe avere già una risorsa QnA Maker, e procedere con il passaggio 2 per selezionare le informazioni sulla risorsa esistente:

    • Microsoft Entra ID
    • Nome della sottoscrizione di Azure
    • Nome del servizio QnA di Azure
    • Lingua: la lingua inglese
  3. Immettere Multi-turn batch test quickstart come nome della knowledge base.

  4. Nel Passaggio 4 configurare le impostazioni in base alla tabella seguente:

    Impostazione Valore
    Enable multi-turn extraction from URLs, .pdf or .docx files (Abilita estrazione a più turni da URL e file PDF o DOCX) Selezionato
    Default answer text (Testo della risposta predefinita) Batch test - default answer not found.
    + Add File (+ Aggiungi file) Selezionare il file .docx scaricato come da prerequisiti.
    Chiacchiere Selezionare Professional
  5. Nel passaggio 5, selezionare Create your KB (Crea la KB).

    Al termine del processo di creazione, nel portale viene visualizzata la knowledge base modificabile.

Salvare, eseguire il training e pubblicare la knowledge base.

  1. Selezionare Save and Train (Salva ed esegui il training) sulla barra degli strumenti per salvare la knowledge base.

  2. Selezionare Publish (Pubblica) sulla barra degli strumenti e poi di nuovo Publish per pubblicare la knowledge base. La pubblicazione rende disponibile la knowledge base per le query da un endpoint URL pubblico. Al termine della pubblicazione, salvare le informazioni relative all'URL dell'host e alla chiave dell'endpoint visualizzate nella pagina Publish (Pubblica).

    Dati obbligatori Esempio
    Host pubblicato https://YOUR-RESOURCE-NAME.azurewebsites.net
    Chiave pubblicata XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX (stringa di caratteri 32 visualizzata dopo Endpoint)
    ID app xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx (stringa di caratteri 36 visualizzata come parte di POST)

Creare un file di test batch con gli ID domanda

Per usare lo strumento di test batch, creare un file denominato batch-test-data-1.tsv con un editor di testo. Il file deve essere nel formato UTF-8 e deve contenere le colonne seguenti separate da una tabulazione.

Campi del file di input TSV Note Esempio
ID della knowledge Base L'ID della knowledge base disponibile nella pagina di pubblicazione. Testare più knowledge base contemporaneamente nello stesso servizio usando ID knowledge base diversi in un singolo file. xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx (stringa di caratteri 36 visualizzata come parte di POST)
Domanda Il testo della domanda che verrebbe immesso da un utente. Massimo 1.000 caratteri. How do I sign out?
Tag dei metadati facoltative topic:power usa il key:value formato
Parametro Top facoltative 25
ID della risposta prevista facoltative 13

Per questa Knowledge Base, aggiungere al file solo tre righe delle due colonne necessarie. La prima colonna è l'ID della knowledge base e la seconda deve contenere l'elenco di domande seguente:

Colonna 2 - domande
Use Windows Hello to sign in
Charge your Surface Pro 4
Get to know Windows 10

Queste domande rappresentano l'esatta formulazione della knowledge base e devono restituire 100 come punteggio di attendibilità.

Aggiungere quindi alcune domande, simili a queste domande, ma non esattamente le stesse in altre tre righe, usando lo stesso ID della Knowledge Base:

Colonna 2 - domande
What is Windows Hello?
How do I charge the laptop?
What features are in Windows 10?

Attenzione

Verificare che ogni colonna sia delimitata solo da una tabulazione. Gli spazi iniziali o finali vengono aggiunti ai dati della colonna e il programma genera eccezioni se il tipo o le dimensioni non sono corrette.

Il file di test batch, quando viene aperto in Excel, ha un aspetto simile all'immagine seguente. L'ID della knowledge base è stato sostituito con xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx per motivi di sicurezza. Per il test batch, assicurarsi che nella colonna venga visualizzato l'ID della knowledge base.

Input first version of .tsv file from batch test

Testare il file batch

Eseguire il programma di test batch usando il seguente formato CLI dalla riga di comando.

Sostituire YOUR-RESOURCE-NAME e ENDPOINT-KEY con i propri valori di nome servizio e chiave dell'endpoint. Questi valori sono disponibili nella pagina Settings (Impostazioni) nel portale di QnA Maker.

batchtesting.exe batch-test-data-1.tsv https://YOUR-RESOURCE-NAME.azurewebsites.net ENDPOINT-KEY out.tsv

Il test viene completato e genera il file out.tsv:

Output first version of .tsv file from batch test

L'ID della knowledge base è stato sostituito con xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx per motivi di sicurezza. Per il test batch, nella colonna viene visualizzato l'ID della propria knowledge base.

L'output del test del punteggio di attendibilità, nella quarta colonna, mostra le prime tre domande restituite un punteggio pari a 100 come previsto perché ogni domanda è esattamente uguale a quella visualizzata nella Knowledge Base. Le ultime tre domande, con la nuova formulazione della domanda, non restituiscono 100 come punteggio di attendibilità. Per aumentare il punteggio per il test e per gli utenti, è necessario aggiungere più domande alternative alla knowledge base.

Test con i campi facoltativi

Una volta capiti il formato e il processo, è possibile generare un file di test da eseguire sulla knowledge base da un'origine dati come i log delle chat.

Poiché l'origine dati e il processo sono automatizzati, il file di test può essere eseguito molte volte con impostazioni diverse per determinare i valori corretti.

Nel caso ad esempio del log di una chat per cui si vuole determinare quale testo si applica a specifici campi di metadati, creare un file di test e impostare i campi dei metadati per ogni riga. Eseguire il test, quindi esaminare le righe che corrispondono ai metadati. In genere, le corrispondenze dovrebbero essere positive, ma è necessario esaminare i risultati per rilevare eventuali falsi positivi. Un falso positivo è una riga che corrisponde ai metadati ma che, in base al testo, non dovrebbe corrispondere.

Uso dei campi facoltativi nel file di test batch di input

Usare il grafico seguente per informazioni su come trovare i valori dei campi per i dati facoltativi.

Column number Colonna facoltativa Posizione dei dati
3 metadata Esportare la Knowledge Base esistente per le coppie esistenti key:value .
4 migliori È consigliabile usare il valore predefinito 25.
5 ID del set di domane e risposte Esporta la knowledge base esistente per i valori di ID. Si noti inoltre che gli ID sono stati restituiti nel file di output.

Aggiungere metadati alla knowledge base

  1. Nella pagina Edit (Modifica) del portale di domande e risposte aggiungere i metadati topic:power alle domande seguenti:

    Domande
    Ricaricare il Surface Pro 4
    Controllare il livello della batteria

    Per due coppie di domande e risposte sono impostati metadati.

    Suggerimento

    Per visualizzare i metadati e gli ID di domanda e risposta di ogni set, esportare la knowledge base. Selezionare la pagina Settings (Impostazioni), quindi selezionare Export (Esporta) come file .xls. Trovare il file scaricato e aprirlo con in Excel per esaminare i metadati e l'ID.

  2. Selezionare Save and train (Salva ed esegui il training), quindi la pagina Publish (Pubblica) e infine il pulsante Publish. Queste azioni rendono disponibile la modifica per il test batch. Scaricare la knowledge base dalla pagina Settings (Impostazioni).

    Il file scaricato ha il formato corretto per i metadati e l'ID del set di domande e risposte corretto. Usare questi campi nella sezione successiva

    Exported knowledge base with metadata

Creare un secondo test batch

Esistono due scenari principali per i test batch:

  • Elaborare i file di log della chat: determinare la risposta principale per una domanda in precedenza non vista; la situazione più comune è il caso in cui sia necessario elaborare un file di log di query, ad esempio le domande dell'utente di un chatbot. Creare un test di file batch solo con le colonne necessarie. Il test restituisce la risposta principale per ogni domanda. Questo non significa che tale risposta sia quella corretta. Una volta completato questo test, passare al test di convalida.
  • Test di convalida: convalidare la risposta prevista. Per questo test è necessario che siano state convalidate tutte le domande e le risposte previste corrispondenti nel test batch. Questa operazione potrebbe richiedere un processo manuale.

La procedura seguente presuppone che lo scenario consista nell'elaborare i log della chat

  1. Creare un nuovo file di test batch per includere i dati facoltativi batch-test-data-2.tsv. Aggiungere le sei righe del file di input del test batch originale, quindi aggiungere i metadati, l'ID della coppia QnA e superiore per ogni riga.

    Per simulare il processo automatizzato di verifica della presenza di nuovo testo nei log della chat rispetto alla knowledge base, impostare i metadati per ogni colonna sullo stesso valore: topic:power.

    Input second version of .tsv file from batch test

  2. Eseguire di nuovo il test, cambiando i nomi dei file di input e output per indicare che si tratta del secondo test.

    Output second version of .tsv file from batch test

Risultati dei test e sistema di test automatizzato

Questo file di output del test può essere analizzato nell'ambito di una pipeline di test continua automatizzata.

L'output specifico di questo test viene interpretato in questo modo: è stata filtrata ogni riga con metadati e per ogni riga che non corrisponde ai metadati della knowledge base viene restituita la risposta predefinita (nessuna corrispondenza trovata nella KB). Di queste righe corrispondenti, viene restituito l'ID QnA e il punteggio.

Tutte le righe restituiscono l'etichetta di valore non corretto perché nessuna riga corrisponde all'ID risposta previsto.

Questi risultati indicano che è possibile usare il testo del log di una chat come query di ogni riga. Senza sapere niente sui dati, i risultati includono molte informazioni che è possibile usare in futuro:

  • Metadati
  • ID di domande e risposte
  • score

L'applicazione di filtri con i metadati si è rivelata una scelta valida per il test? Sì e no. Il sistema di test dovrebbe creare file di test per ogni coppia di metadati, oltre a un test senza coppie di metadati.

Pulire le risorse

Se non si intende continuare a testare la knowledge base, eliminare lo strumento di file batch e i file di test.

Se non si intende continuare a usare questa knowledge base, eliminarla seguendo questa procedura:

  1. Nel portale di QnA Maker scegliere My Knowledge bases (Knowledge base personali) dal menu in alto.
  2. Nell'elenco di knowledge base selezionare l'icona Elimina nella riga che corrisponde alla knowledge base usata in questo argomento di avvio rapido.

La documentazione di riferimento sullo strumento include:

  • esempio della riga di comando dello strumento
  • formato per i file di input e outfile TSV

Passaggi successivi