Testare la qualità del riconoscimento di un modello di riconoscimento vocale personalizzato

È possibile esaminare la qualità del riconoscimento di un modello di riconoscimento vocale personalizzato in Speech Studio. È possibile riprodurre l'audio caricato e determinare se il risultato del riconoscimento fornito è corretto. Dopo aver creato correttamente un test, è possibile vedere come un modello trascritto il set di dati audio o confrontare i risultati da due modelli affiancati.

Il test di modelli side-by-side è utile per convalidare il modello di riconoscimento vocale ottimale per un'applicazione. Per una misura obiettivo dell'accuratezza, che richiede l'input dei set di dati di trascrizione, vedere Testare il modello in modo quantitativo.

Importante

Durante il test, il sistema eseguirà una trascrizione. Questo aspetto è importante da tenere presente, in quanto i prezzi variano in base all'offerta di servizio e al livello di sottoscrizione. Per i dettagli più recenti, vedere sempre i prezzi ufficiali dei servizi di intelligenza artificiale di Azure.

Creazione di un test

Seguire queste istruzioni per creare un test:

  1. Accedere a Speech Studio.

  2. Passare a Riconoscimento vocale personalizzato di Speech Studio>e selezionare il nome del progetto dall'elenco.

  3. Selezionare Modelli di>test Crea nuovo test.

  4. Selezionare Controlla qualità (dati solo audio)>Avanti.

  5. Scegliere un set di dati audio da usare per il test e quindi selezionare Avanti. Se non sono disponibili set di dati, annullare la configurazione e quindi passare al menu Set di dati voce per caricare i set di dati.

    Screenshot della scelta di una finestra di dialogo del set di dati

  6. Scegliere uno o due modelli per valutare e confrontare l'accuratezza.

  7. Immettere il nome e la descrizione del test e quindi selezionare Avanti.

  8. Esaminare le impostazioni e quindi selezionare Salva e chiudi.

Per creare un test, usare il spx csr evaluation create comando . Creare i parametri della richiesta in base alle istruzioni seguenti:

  • Impostare il project parametro sull'ID di un progetto esistente. Questo parametro è consigliato in modo da poter anche visualizzare il test in Speech Studio. È possibile eseguire il spx csr project list comando per ottenere i progetti disponibili.
  • Impostare il parametro obbligatorio model1 sull'ID di un modello da testare.
  • Impostare il parametro obbligatorio model2 sull'ID di un altro modello da testare. Se non si vogliono confrontare due modelli, usare lo stesso modello per e model1model2.
  • Impostare il parametro obbligatorio dataset sull'ID di un set di dati da usare per il test.
  • Impostare il language parametro; in caso contrario, l'interfaccia della riga di comando di Voce imposta "en-US" per impostazione predefinita. Questo parametro deve corrispondere alle impostazioni locali del contenuto del set di dati. Le impostazioni locali non possono essere modificate in un secondo momento. Il parametro dell'interfaccia della locale riga di comando language di Voce corrisponde alla proprietà nella richiesta e nella risposta JSON.
  • Impostare il parametro obbligatorio name . Questo parametro è il nome visualizzato in Speech Studio. Il parametro dell'interfaccia della displayName riga di comando name di Voce corrisponde alla proprietà nella richiesta e nella risposta JSON.

Ecco un esempio di comando dell'interfaccia della riga di comando di Voce che crea un test:

spx csr evaluation create --api-version v3.1 --project 9f8c4cbb-f9a5-4ec1-8bb0-53cfa9221226 --dataset be378d9d-a9d7-4d4a-820a-e0432e8678c7 --model1 ff43e922-e3e6-4bf0-8473-55c08fd68048 --model2 1aae1070-7972-47e9-a977-87e3b05c457d --name "My Inspection" --description "My Inspection Description"

Dovrebbe essere visualizzato un corpo della risposta nel formato seguente:

{
  "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/evaluations/8bfe6b05-f093-4ab4-be7d-180374b751ca",
  "model1": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/ff43e922-e3e6-4bf0-8473-55c08fd68048"
  },
  "model2": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/base/1aae1070-7972-47e9-a977-87e3b05c457d"
  },
  "dataset": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/datasets/be378d9d-a9d7-4d4a-820a-e0432e8678c7"
  },
  "transcription2": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions/6eaf6a15-6076-466a-83d4-a30dba78ca63"
  },
  "transcription1": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions/0c5b1630-fadf-444d-827f-d6da9c0cf0c3"
  },
  "project": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/projects/9f8c4cbb-f9a5-4ec1-8bb0-53cfa9221226"
  },
  "links": {
    "files": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/evaluations/8bfe6b05-f093-4ab4-be7d-180374b751ca/files"
  },
  "properties": {
    "wordErrorRate2": -1.0,
    "wordErrorRate1": -1.0,
    "sentenceErrorRate2": -1.0,
    "sentenceCount2": -1,
    "wordCount2": -1,
    "correctWordCount2": -1,
    "wordSubstitutionCount2": -1,
    "wordDeletionCount2": -1,
    "wordInsertionCount2": -1,
    "sentenceErrorRate1": -1.0,
    "sentenceCount1": -1,
    "wordCount1": -1,
    "correctWordCount1": -1,
    "wordSubstitutionCount1": -1,
    "wordDeletionCount1": -1,
    "wordInsertionCount1": -1
  },
  "lastActionDateTime": "2022-05-20T16:42:43Z",
  "status": "NotStarted",
  "createdDateTime": "2022-05-20T16:42:43Z",
  "locale": "en-US",
  "displayName": "My Inspection",
  "description": "My Inspection Description"
}

La proprietà di primo livello self nel corpo della risposta è l'URI della valutazione. Usare questo URI per ottenere informazioni dettagliate sul progetto e sui risultati dei test. È anche possibile usare questo URI per aggiornare o eliminare la valutazione.

Per informazioni sull'interfaccia della riga di comando di Voce con le valutazioni, eseguire il comando seguente:

spx help csr evaluation

Per creare un test, usare l'operazione Evaluations_Create dell'API REST Riconoscimento vocale. Costruire il corpo della richiesta in base alle istruzioni seguenti:

  • Impostare la project proprietà sull'URI di un progetto esistente. Questa proprietà è consigliata in modo da poter anche visualizzare il test in Speech Studio. È possibile effettuare una richiesta di Projects_List per ottenere i progetti disponibili.
  • Impostare la proprietà obbligatoria model1 sull'URI di un modello da testare.
  • Impostare la proprietà obbligatoria model2 sull'URI di un altro modello da testare. Se non si vogliono confrontare due modelli, usare lo stesso modello per e model1model2.
  • Impostare la proprietà obbligatoria dataset sull'URI di un set di dati da usare per il test.
  • Impostare la proprietà obbligatoria locale . Questa proprietà deve essere le impostazioni locali del contenuto del set di dati. Le impostazioni locali non possono essere modificate in un secondo momento.
  • Impostare la proprietà obbligatoria displayName . Questa proprietà è il nome visualizzato in Speech Studio.

Effettuare una richiesta HTTP POST usando l'URI, come illustrato nell'esempio seguente. Sostituire YourSubscriptionKey con la chiave della risorsa Voce, sostituire YourServiceRegion con l'area della risorsa Voce e impostare le proprietà del corpo della richiesta come descritto in precedenza.

curl -v -X POST -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey" -H "Content-Type: application/json" -d '{
  "model1": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/ff43e922-e3e6-4bf0-8473-55c08fd68048"
  },
  "model2": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/base/1aae1070-7972-47e9-a977-87e3b05c457d"
  },
  "dataset": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/datasets/be378d9d-a9d7-4d4a-820a-e0432e8678c7"
  },
  "project": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/projects/9f8c4cbb-f9a5-4ec1-8bb0-53cfa9221226"
  },
  "displayName": "My Inspection",
  "description": "My Inspection Description",
  "locale": "en-US"
}'  "https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/v3.1/evaluations"

Dovrebbe essere visualizzato un corpo della risposta nel formato seguente:

{
  "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/evaluations/8bfe6b05-f093-4ab4-be7d-180374b751ca",
  "model1": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/ff43e922-e3e6-4bf0-8473-55c08fd68048"
  },
  "model2": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/base/1aae1070-7972-47e9-a977-87e3b05c457d"
  },
  "dataset": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/datasets/be378d9d-a9d7-4d4a-820a-e0432e8678c7"
  },
  "transcription2": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions/6eaf6a15-6076-466a-83d4-a30dba78ca63"
  },
  "transcription1": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions/0c5b1630-fadf-444d-827f-d6da9c0cf0c3"
  },
  "project": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/projects/9f8c4cbb-f9a5-4ec1-8bb0-53cfa9221226"
  },
  "links": {
    "files": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/evaluations/8bfe6b05-f093-4ab4-be7d-180374b751ca/files"
  },
  "properties": {
    "wordErrorRate2": -1.0,
    "wordErrorRate1": -1.0,
    "sentenceErrorRate2": -1.0,
    "sentenceCount2": -1,
    "wordCount2": -1,
    "correctWordCount2": -1,
    "wordSubstitutionCount2": -1,
    "wordDeletionCount2": -1,
    "wordInsertionCount2": -1,
    "sentenceErrorRate1": -1.0,
    "sentenceCount1": -1,
    "wordCount1": -1,
    "correctWordCount1": -1,
    "wordSubstitutionCount1": -1,
    "wordDeletionCount1": -1,
    "wordInsertionCount1": -1
  },
  "lastActionDateTime": "2022-05-20T16:42:43Z",
  "status": "NotStarted",
  "createdDateTime": "2022-05-20T16:42:43Z",
  "locale": "en-US",
  "displayName": "My Inspection",
  "description": "My Inspection Description"
}

La proprietà di primo livello self nel corpo della risposta è l'URI della valutazione. Usare questo URI per ottenere informazioni dettagliate sul progetto e sui risultati del test della valutazione. È anche possibile usare questo URI per aggiornare o eliminare la valutazione.

Ottenere i risultati dei test

È necessario ottenere i risultati del test ed esaminare i set di dati audio rispetto ai risultati della trascrizione per ogni modello.

Per ottenere i risultati dei test, seguire questa procedura:

  1. Accedere a Speech Studio.
  2. Selezionare Riconoscimento vocale> personalizzato Il nome >del progetto Modelli di test.
  3. Selezionare il collegamento in base al nome del test.
  4. Al termine del test, come indicato dallo stato impostato su Succeeded, verranno visualizzati i risultati che includono il numero WER per ogni modello testato.

Questa pagina elenca tutte le espressioni nel set di dati e i risultati del riconoscimento, insieme alla trascrizione dal set di dati inviato. È possibile attivare o disattivare vari tipi di errore, tra cui inserimento, eliminazione e sostituzione. Ascoltando l'audio e confrontando i risultati di riconoscimento in ogni colonna, è possibile decidere quale modello soddisfa le proprie esigenze e determinare dove sono necessari più training e miglioramenti.

Per ottenere i risultati dei test, usare il spx csr evaluation status comando . Creare i parametri della richiesta in base alle istruzioni seguenti:

  • Impostare il parametro obbligatorio evaluation sull'ID della valutazione che si desidera ottenere i risultati del test.

Ecco un esempio di comando dell'interfaccia della riga di comando di Voce che ottiene i risultati del test:

spx csr evaluation status --api-version v3.1 --evaluation 8bfe6b05-f093-4ab4-be7d-180374b751ca

I modelli, il set di dati audio, le trascrizioni e altri dettagli vengono restituiti nel corpo della risposta.

Dovrebbe essere visualizzato un corpo della risposta nel formato seguente:

{
	"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/evaluations/8bfe6b05-f093-4ab4-be7d-180374b751ca",
	"model1": {
		"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/ff43e922-e3e6-4bf0-8473-55c08fd68048"
	},
	"model2": {
		"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/base/1aae1070-7972-47e9-a977-87e3b05c457d"
	},
	"dataset": {
		"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/datasets/be378d9d-a9d7-4d4a-820a-e0432e8678c7"
	},
	"transcription2": {
		"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions/6eaf6a15-6076-466a-83d4-a30dba78ca63"
	},
	"transcription1": {
		"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions/0c5b1630-fadf-444d-827f-d6da9c0cf0c3"
	},
	"project": {
		"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/projects/9f8c4cbb-f9a5-4ec1-8bb0-53cfa9221226"
	},
	"links": {
		"files": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/evaluations/8bfe6b05-f093-4ab4-be7d-180374b751ca/files"
	},
	"properties": {
		"wordErrorRate2": 4.62,
		"wordErrorRate1": 4.6,
		"sentenceErrorRate2": 66.7,
		"sentenceCount2": 3,
		"wordCount2": 173,
		"correctWordCount2": 166,
		"wordSubstitutionCount2": 7,
		"wordDeletionCount2": 0,
		"wordInsertionCount2": 1,
		"sentenceErrorRate1": 66.7,
		"sentenceCount1": 3,
		"wordCount1": 174,
		"correctWordCount1": 166,
		"wordSubstitutionCount1": 7,
		"wordDeletionCount1": 1,
		"wordInsertionCount1": 0
	},
	"lastActionDateTime": "2022-05-20T16:42:56Z",
	"status": "Succeeded",
	"createdDateTime": "2022-05-20T16:42:43Z",
	"locale": "en-US",
	"displayName": "My Inspection",
	"description": "My Inspection Description"
}

Per informazioni sull'interfaccia della riga di comando di Voce con le valutazioni, eseguire il comando seguente:

spx help csr evaluation

Per ottenere i risultati dei test, iniziare usando l'operazione Evaluations_Get dell'API REST Riconoscimento vocale in testo.

Effettuare una richiesta HTTP GET usando l'URI, come illustrato nell'esempio seguente. Sostituire YourEvaluationId con l'ID di valutazione, sostituire YourSubscriptionKey con la chiave della risorsa Voce e sostituire YourServiceRegion con l'area della risorsa Voce.

curl -v -X GET "https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/v3.1/evaluations/YourEvaluationId" -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey"

I modelli, il set di dati audio, le trascrizioni e altri dettagli vengono restituiti nel corpo della risposta.

Dovrebbe essere visualizzato un corpo della risposta nel formato seguente:

{
	"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/evaluations/8bfe6b05-f093-4ab4-be7d-180374b751ca",
	"model1": {
		"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/ff43e922-e3e6-4bf0-8473-55c08fd68048"
	},
	"model2": {
		"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/base/1aae1070-7972-47e9-a977-87e3b05c457d"
	},
	"dataset": {
		"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/datasets/be378d9d-a9d7-4d4a-820a-e0432e8678c7"
	},
	"transcription2": {
		"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions/6eaf6a15-6076-466a-83d4-a30dba78ca63"
	},
	"transcription1": {
		"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions/0c5b1630-fadf-444d-827f-d6da9c0cf0c3"
	},
	"project": {
		"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/projects/9f8c4cbb-f9a5-4ec1-8bb0-53cfa9221226"
	},
	"links": {
		"files": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/evaluations/8bfe6b05-f093-4ab4-be7d-180374b751ca/files"
	},
	"properties": {
		"wordErrorRate2": 4.62,
		"wordErrorRate1": 4.6,
		"sentenceErrorRate2": 66.7,
		"sentenceCount2": 3,
		"wordCount2": 173,
		"correctWordCount2": 166,
		"wordSubstitutionCount2": 7,
		"wordDeletionCount2": 0,
		"wordInsertionCount2": 1,
		"sentenceErrorRate1": 66.7,
		"sentenceCount1": 3,
		"wordCount1": 174,
		"correctWordCount1": 166,
		"wordSubstitutionCount1": 7,
		"wordDeletionCount1": 1,
		"wordInsertionCount1": 0
	},
	"lastActionDateTime": "2022-05-20T16:42:56Z",
	"status": "Succeeded",
	"createdDateTime": "2022-05-20T16:42:43Z",
	"locale": "en-US",
	"displayName": "My Inspection",
	"description": "My Inspection Description"
}

Confrontare la trascrizione con l'audio

È possibile esaminare l'output di trascrizione da ogni modello testato, rispetto al set di dati di input audio. Se sono stati inclusi due modelli nel test, è possibile confrontare la qualità della trascrizione affiancata.

Per esaminare la qualità delle trascrizioni:

  1. Accedere a Speech Studio.
  2. Selezionare Riconoscimento vocale> personalizzato Il nome >del progetto Modelli di test.
  3. Selezionare il collegamento in base al nome del test.
  4. Riprodurre un file audio durante la lettura della trascrizione corrispondente da un modello.

Se il set di dati di test include più file audio, nella tabella vengono visualizzate più righe. Se sono stati inclusi due modelli nel test, le trascrizioni vengono visualizzate in colonne affiancate. Le differenze di trascrizione tra i modelli vengono visualizzate nel tipo di carattere di testo blu.

Screenshot del confronto delle trascrizioni in base a due modelli

I set di dati di test audio, le trascrizioni e i modelli testati vengono restituiti nei risultati del test. Se è stato testato un solo modello, il model1 valore corrisponde a model2e il transcription1 valore corrisponde a transcription2.

Per esaminare la qualità delle trascrizioni:

  1. Scaricare il set di dati di test audio, a meno che non sia già disponibile una copia.
  2. Scaricare le trascrizioni di output.
  3. Riprodurre un file audio durante la lettura della trascrizione corrispondente da un modello.

Se si confronta la qualità tra due modelli, prestare particolare attenzione alle differenze tra le trascrizioni di ogni modello.

I set di dati di test audio, le trascrizioni e i modelli testati vengono restituiti nei risultati del test. Se è stato testato un solo modello, il model1 valore corrisponde a model2e il transcription1 valore corrisponde a transcription2.

Per esaminare la qualità delle trascrizioni:

  1. Scaricare il set di dati di test audio, a meno che non sia già disponibile una copia.
  2. Scaricare le trascrizioni di output.
  3. Riprodurre un file audio durante la lettura della trascrizione corrispondente da un modello.

Se si confronta la qualità tra due modelli, prestare particolare attenzione alle differenze tra le trascrizioni di ogni modello.

Passaggi successivi