Condividi tramite


Eseguire il training di un modello di riconoscimento vocale personalizzato

In questo articolo si apprenderà a eseguire il training di un modello personalizzato per migliorare l'accuratezza del riconoscimento dal modello di base Microsoft. L'accuratezza e la qualità del riconoscimento vocale del modello di riconoscimento vocale personalizzato rimarranno coerenti, anche quando viene rilasciato un nuovo modello di base.

Nota

Vengono addebitati l'utilizzo del modello di riconoscimento vocale personalizzato e l'hosting degli endpoint. Il training del modello di riconoscimento vocale personalizzato verrà addebitato anche se il modello di base è stato creato il 1° ottobre 2023 e in una data successiva. Non viene addebitato alcun costo per il training se il modello di base è stato creato prima di ottobre 2023. Per altre informazioni, vedere Prezzi di Voce di Azure AI e la sezione Addebito per l’adattamento nella guida alla migrazione della versione 3.2 di Riconoscimento vocale.

Il training di un modello è in genere un processo iterativo. Selezionare prima di tutto un modello di base che rappresenti il punto iniziale di un nuovo modello. Si esegue il training di un modello con set di dati che possono includere testo e audio e quindi si esegue il test. Se la qualità o l'accuratezza del riconoscimento non soddisfano i requisiti, è possibile creare un nuovo modello con dati di training aggiuntivi o modificati e quindi ripetere il test.

È possibile usare un modello personalizzato per un periodo di tempo limitato dopo il training. È necessario ricreare e adattare periodicamente il modello personalizzato dall'ultimo modello di base per sfruttare i miglioramenti dell'accuratezza e della qualità. Per altre informazioni, vedere Modello e ciclo di vita dell'endpoint.

Importante

Se si esegue il training di un modello personalizzato con dati audio, scegliere un'area di risorse Voce con hardware dedicato per il training dei dati audio. Dopo aver eseguito il training di un modello, è possibile copiarlo in una risorsa Voce in un'altra area in base alle esigenze.

Nelle aree con hardware dedicato per il training di riconoscimento vocale personalizzato, il servizio Voce userà fino a 100 ore di dati di training audio ed è in grado di elaborare circa 10 ore di dati al giorno. Per altre informazioni, vedere note a piè di pagina nella tabella delle aree.

Creazione di un modello

Dopo aver caricato i set di dati di training, seguire queste istruzioni per avviare il training del modello:

  1. Accedere a Speech Studio.

  2. Selezionare Riconoscimento vocale personalizzato> Nome del progetto >Esegui il training dei modelli personalizzati.

  3. Selezionare Eseguire il training di un nuovo modello.

  4. Nella pagina Selezionare un modello di base selezionare un modello di base, quindi selezionare Avanti. Se non si è sicuri, selezionare il modello più recente nella parte superiore dell'elenco. Il nome del modello di base corrisponde alla data in cui è stato rilasciato nel formato AAAAMMGG. Le funzionalità di personalizzazione del modello di base sono elencate tra parentesi dopo il nome del modello in Speech Studio.

    Importante

    Prendere nota della data di scadenza per l'adattamento. Questa è l'ultima data in cui è possibile usare il modello di base per il training. Per altre informazioni, vedere Modello e ciclo di vita dell'endpoint.

  5. Nella pagina Scegli dati, selezionare uno o più set di dati da usare per il training. Se non sono disponibili set di dati, annullare la configurazione, quindi passare al menu set di dati Voce per caricare set di dati.

  6. Immettere un nome e una descrizione per il modello personalizzato, quindi selezionare Avanti.

  7. Facoltativamente, selezionare la casella Aggiungere test nel passaggio successivo. Se si ignora questo passaggio, è possibile eseguire gli stessi test in un secondo momento. Per altre informazioni, vedere Testare la qualità del riconoscimento e Testare il modello a livello quantitativo.

  8. Selezionare Salva e chiudi per avviare la compilazione per il modello personalizzato.

  9. Tornare alla pagina Eseguire il training di modelli personalizzati.

    Importante

    Prendere nota della data di scadenza. Questa è l'ultima data in cui è possibile usare il modello personalizzato per il riconoscimento vocale. Per altre informazioni, vedere Modello e ciclo di vita dell'endpoint.

Per creare un modello con set di dati per il training, usare il comando spx csr model create. Creare i parametri della richiesta in base alle istruzioni seguenti:

  • Impostare il parametro project sull'ID di un progetto esistente. Questo parametro è consigliato per consentire anche la visualizzazione e la gestione del modello in Speech Studio. È possibile eseguire il comando spx csr project list per ottenere i progetti disponibili.
  • Impostare il parametro dataset obbligatorio sull'ID di un set di dati da usare per il training. Per specificare più set di dati, impostare il parametro datasets (plurale) e separare gli ID con un punto e virgola.
  • Impostare il parametro language obbligatorio. Le impostazioni locali del set di dati devono corrispondere alle impostazioni locali del progetto. Le impostazioni locali non possono essere modificate in un secondo momento. Il parametro language dell'interfaccia della riga di comando di Voce corrisponde alla proprietà locale nella richiesta e nella risposta JSON.
  • Impostare il parametro name obbligatorio. Questo parametro indica il nome visualizzato in Speech Studio. Il parametro name dell'interfaccia della riga di comando di Voce corrisponde alla proprietà displayName nella richiesta e nella risposta JSON.
  • Facoltativamente, è possibile impostare la proprietà base. Ad esempio: --base 5988d691-0893-472c-851e-8e36a0fe7aaf. Se non si specifica base, viene usato il modello di base predefinito per le impostazioni locali. Il parametro base dell'interfaccia della riga di comando di Voce corrisponde alla proprietà baseModel nella richiesta e nella risposta JSON.

Ecco un esempio di comando dell'interfaccia della riga di comando di Voce che crea un modello con set di dati per il training:

spx csr model create --api-version v3.2 --project YourProjectId --name "My Model" --description "My Model Description" --dataset YourDatasetId --language "en-US"

Nota

In questo esempio, l'oggetto base non è impostato, quindi viene usato il modello di base predefinito per le impostazioni locali. L'URI del modello di base viene restituito nella risposta.

Dovrebbe essere visualizzato un corpo della risposta nel formato seguente:

{
  "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/9e240dc1-3d2d-4ac9-98ec-1be05ba0e9dd",
  "baseModel": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base/5988d691-0893-472c-851e-8e36a0fe7aaf"
  },
  "datasets": [
    {
      "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/datasets/23b6554d-21f9-4df1-89cb-f84510ac8d23"
    }
  ],
  "links": {
    "manifest": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/9e240dc1-3d2d-4ac9-98ec-1be05ba0e9dd/manifest",
    "copy": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/9e240dc1-3d2d-4ac9-98ec-1be05ba0e9dd:copy",
    "files": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/9e240dc1-3d2d-4ac9-98ec-1be05ba0e9dd/files"
  },
  "project": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52"
  },
  "properties": {
    "deprecationDates": {
      "transcriptionDateTime": "2026-07-15T00:00:00Z"
    },
    "customModelWeightPercent": 30,
    "features": {
      "supportsTranscriptions": true,
      "supportsEndpoints": true,
      "supportsTranscriptionsOnSpeechContainers": false,
      "supportedOutputFormats": [
        "Display",
        "Lexical"
      ]
    }
  },
  "lastActionDateTime": "2024-07-14T21:38:40Z",
  "status": "Running",
  "createdDateTime": "2024-07-14T21:38:40Z",
  "locale": "en-US",
  "displayName": "My Model",
  "description": "My Model Description"
}

Importante

Prendere nota della data nella proprietà adaptationDateTime. Questa è l'ultima data in cui è possibile usare il modello di base per il training. Per altre informazioni, vedere Modello e ciclo di vita dell'endpoint.

Prendere nota della data nella proprietà transcriptionDateTime. Questa è l'ultima data in cui è possibile usare il modello personalizzato per il riconoscimento vocale. Per altre informazioni, vedere Modello e ciclo di vita dell'endpoint.

La proprietà di primo livello self nel corpo della risposta è l'URI del modello. Usare questo URI per ottenere informazioni dettagliate sul progetto, sul manifesto e sulle date di deprecazione del modello. È anche possibile usare questo URI per aggiornare o eliminare un modello.

Per visualizzare le informazioni della guida dell'interfaccia della riga di comando di Voce per i modelli, eseguire il comando seguente:

spx help csr model

Per creare un modello con set di dati per il training, usare l'operazione Models_Create dell'API REST Riconoscimento vocale. Creare il corpo della richiesta in base alle istruzioni seguenti:

  • Impostare la proprietà project sull'URI di un progetto esistente. Questa proprietà è consigliata per consentire anche la visualizzazione e la gestione del modello in Speech Studio. È possibile effettuare una richiesta Projects_List per ottenere i progetti disponibili.
  • Impostare la proprietà datasets obbligatoria sull'URI dei set di dati da usare per il training.
  • Impostare la proprietà locale obbligatoria. Le impostazioni locali del modello devono corrispondere alle impostazioni locali del progetto e del modello di base. Le impostazioni locali non possono essere modificate in un secondo momento.
  • Impostare la proprietà displayName obbligatoria. Il nome della proprietà è quello visualizzato in Speech Studio.
  • Facoltativamente, è possibile impostare la proprietà baseModel. Ad esempio: "baseModel": {"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base/5988d691-0893-472c-851e-8e36a0fe7aaf"}. Se non si specifica baseModel, viene usato il modello di base predefinito per le impostazioni locali.

Eseguire una richiesta HTTP POST usando l'URI, come illustrato nell'esempio seguente. Sostituire YourSubscriptionKey con la chiave della risorsa Voce e YourServiceRegion con l'area della risorsa Voce, quindi 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 '{
  "project": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52"
  },
  "displayName": "My Model",
  "description": "My Model Description",
  "baseModel": null,
  "datasets": [
    {
      "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/datasets/23b6554d-21f9-4df1-89cb-f84510ac8d23"
    }
  ],
  "locale": "en-US"
}'  "https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/v3.2/models"

Nota

In questo esempio, l'oggetto baseModel non è impostato, quindi viene usato il modello di base predefinito per le impostazioni locali. L'URI del modello di base viene restituito nella risposta.

Dovrebbe essere visualizzato un corpo della risposta nel formato seguente:

{
  "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/9e240dc1-3d2d-4ac9-98ec-1be05ba0e9dd",
  "baseModel": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base/5988d691-0893-472c-851e-8e36a0fe7aaf"
  },
  "datasets": [
    {
      "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/datasets/23b6554d-21f9-4df1-89cb-f84510ac8d23"
    }
  ],
  "links": {
    "manifest": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/9e240dc1-3d2d-4ac9-98ec-1be05ba0e9dd/manifest",
    "copy": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/9e240dc1-3d2d-4ac9-98ec-1be05ba0e9dd:copy",
    "files": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/9e240dc1-3d2d-4ac9-98ec-1be05ba0e9dd/files"
  },
  "project": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52"
  },
  "properties": {
    "deprecationDates": {
      "transcriptionDateTime": "2026-07-15T00:00:00Z"
    },
    "customModelWeightPercent": 30,
    "features": {
      "supportsTranscriptions": true,
      "supportsEndpoints": true,
      "supportsTranscriptionsOnSpeechContainers": false,
      "supportedOutputFormats": [
        "Display",
        "Lexical"
      ]
    }
  },
  "lastActionDateTime": "2024-07-14T21:38:40Z",
  "status": "Running",
  "createdDateTime": "2024-07-14T21:38:40Z",
  "locale": "en-US",
  "displayName": "My Model",
  "description": "My Model Description"
}

Importante

Prendere nota della data nella proprietà adaptationDateTime. Questa è l'ultima data in cui è possibile usare il modello di base per il training. Per altre informazioni, vedere Modello e ciclo di vita dell'endpoint.

Prendere nota della data nella proprietà transcriptionDateTime. Questa è l'ultima data in cui è possibile usare il modello personalizzato per il riconoscimento vocale. Per altre informazioni, vedere Modello e ciclo di vita dell'endpoint.

La proprietà di primo livello self nel corpo della risposta è l'URI del modello. Usare questo URI per ottenere informazioni dettagliate sul progetto, sul manifesto e sulle date di deprecazione del modello. È anche possibile usare questo URI per aggiornare o eliminare il modello.

Copiare un modello

È possibile copiare un modello in un altro progetto che usa le stesse impostazioni locali. Ad esempio, dopo che un modello è stato sottoposto a training con dati audio in un'area con hardware dedicato per il training, è possibile copiarlo in una risorsa Voce in un'altra area in base alle esigenze.

Seguire queste istruzioni per copiare un modello in un progetto in un'altra area:

  1. Accedere a Speech Studio.
  2. Selezionare Riconoscimento vocale personalizzato> Nome del progetto >Esegui il training dei modelli personalizzati.
  3. Selezionare Copia in.
  4. Nella pagina Copia modello di riconoscimento vocale, selezionare un'area di destinazione in cui si vuole copiare il modello. Screenshot di un elenco di frasi applicato in Speech Studio.
  5. Selezionare una risorsa Voce nell'area di destinazione o creare una nuova risorsa Voce.
  6. Selezionare un progetto in cui si vuole copiare il modello o creare un nuovo progetto.
  7. Seleziona Copia.

Dopo che il modello è stato copiato correttamente, si riceverà una notifica e sarà possibile visualizzarlo nel progetto di destinazione.

La copia di un modello direttamente in un progetto in un'altra area non è supportata tramite l'interfaccia della riga di comando di Voce. È possibile copiare un modello in un progetto in un'altra area tramite Speech Studio o API REST Riconoscimento vocale.

Per copiare un modello in un'altra risorsa Voce, usare l'operazione Models_CopyTo dell'API REST di Riconoscimento vocale. Creare il corpo della richiesta in base alle istruzioni seguenti:

  • Impostare la proprietà obbligatoria targetSubscriptionKey sulla chiave della risorsa Voce di destinazione.

Eseguire una richiesta HTTP POST usando l'URI, come illustrato nell'esempio seguente. Usare l'area e l'URI del modello da cui si vuole eseguire la copia. Sostituire YourModelId con l'ID del modello, 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 '{
  "targetSubscriptionKey": "ModelDestinationSpeechResourceKey"
} '  "https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/v3.2/models/YourModelId:copy"

Nota

Solo la proprietà targetSubscriptionKey nel corpo della richiesta contiene informazioni sulla risorsa Voce di destinazione.

Dovrebbe essere visualizzato un corpo della risposta nel formato seguente:

{
  "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/9df35ddb-edf9-4e91-8d1a-576d09aabdae",
  "baseModel": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base/eb5450a7-3ca2-461a-b2d7-ddbb3ad96540"
  },
  "links": {
    "manifest": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/9df35ddb-edf9-4e91-8d1a-576d09aabdae/manifest",
    "copy": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/9df35ddb-edf9-4e91-8d1a-576d09aabdae:copy"
  },
  "properties": {
    "deprecationDates": {
      "adaptationDateTime": "2023-01-15T00:00:00Z",
      "transcriptionDateTime": "2024-07-15T00:00:00Z"
    }
  },
  "lastActionDateTime": "2022-05-22T23:15:27Z",
  "status": "NotStarted",
  "createdDateTime": "2022-05-22T23:15:27Z",
  "locale": "en-US",
  "displayName": "My Model",
  "description": "My Model Description",
  "customProperties": {
    "PortalAPIVersion": "3",
    "Purpose": "",
    "VadKind": "None",
    "ModelClass": "None",
    "UsesHalide": "False",
    "IsDynamicGrammarSupported": "False"
  }
}

Connettere un modello

È possibile che i modelli siano stati copiati da un progetto usando l'interfaccia della riga di comando di Voce o l'API REST, senza che siano connessi a un altro progetto. La connessione di un modello consiste nell'aggiornare il modello con un riferimento al progetto.

Se Speech Studio lo richiede, è possibile connettere i modelli selezionando il pulsante Connetti.

Screenshot della pagina di training di connessione che mostra i modelli che possono essere connessi al progetto corrente.

Per connettere un modello a un progetto, usare il comando spx csr model update. Creare i parametri della richiesta in base alle istruzioni seguenti:

  • Impostare il parametro project sull'URI di un progetto esistente. Questo parametro è consigliato per consentire anche la visualizzazione e la gestione del modello in Speech Studio. È possibile eseguire il comando spx csr project list per ottenere i progetti disponibili.
  • Impostare il parametro modelId obbligatorio sull'ID del modello che si vuole connettere al progetto.

Ecco un esempio di comando dell'interfaccia della riga di comando di Voce che collega un modello a un progetto:

spx csr model update --api-version v3.2 --model YourModelId --project YourProjectId

Dovrebbe essere visualizzato un corpo della risposta nel formato seguente:

{
  "project": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52"
  },
}

Per visualizzare le informazioni della guida dell'interfaccia della riga di comando di Voce per i modelli, eseguire il comando seguente:

spx help csr model

Per connettere un nuovo modello a un progetto della risorsa Voce in cui è stato copiato il modello, usare l'operazione Models_Update dell'API REST Riconoscimento vocale. Creare il corpo della richiesta in base alle istruzioni seguenti:

  • Impostare la proprietà project obbligatoria sull'URI di un progetto esistente. Questa proprietà è consigliata per consentire anche la visualizzazione e la gestione del modello in Speech Studio. È possibile effettuare una richiesta Projects_List per ottenere i progetti disponibili.

Effettuare una richiesta HTTP PATCH usando l'URI, come illustrato nell'esempio seguente. Usare l'URI del nuovo modello. È possibile ottenere il nuovo ID modello dalla proprietàself del corpo della risposta a Models_Copy. Sostituire YourSubscriptionKey con la chiave della risorsa Voce e YourServiceRegion con l'area della risorsa Voce, quindi impostare le proprietà del corpo della richiesta come descritto in precedenza.

curl -v -X PATCH -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey" -H "Content-Type: application/json" -d '{
  "project": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52"
  },
}'  "https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/v3.2/models"

Dovrebbe essere visualizzato un corpo della risposta nel formato seguente:

{
  "project": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52"
  },
}

Passaggi successivi