Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Il training è il processo in cui il modello apprende dai dati etichettati. Al termine del training, sarà possibile visualizzare le prestazioni del modello per stabilire se è necessario migliorarlo.
Per eseguire il training di un modello, si avvia un processo di training e solo i processi completati correttamente creano un modello. I processi di training scadono dopo sette giorni e non sarà possibile recuperare i dettagli dei processi dopo questa scadenza. Se il processo di addestramento è stato completato correttamente e un modello è stato creato, il modello rimane inalterato. È possibile eseguire un solo processo di training alla volta e non è possibile avviare altri processi nello stesso progetto.
I tempi di training variano. L'addestramento può durare da pochi minuti, quando si gestiscono pochi documenti, a diverse ore, in base alla dimensione del set di dati e alla complessità dello schema.
Prerequisiti
- Un progetto creato correttamente con un account di archiviazione BLOB di Azure configurato
- Dati di testo caricati nell'account di archiviazione.
- Dati etichettati
Vedere il ciclo di vita di sviluppo del progetto.
Separazione dei dati
Prima di iniziare il processo di training, i documenti etichettati nel progetto vengono suddivisi in un set di training e un set di test. Ognuno svolge una funzione diversa. Il set di training viene usato per il training del modello. È il set da cui il modello apprende le entità etichettate e quali intervalli di testo devono essere estratti come entità. Il set di test è un set cieco che non viene introdotto nel modello durante il training, ma solo durante la valutazione. Al termine del training del modello, il modello viene usato per eseguire stime dai documenti di test e le metriche di valutazione vengono calcolate. È consigliabile assicurarsi che tutte le entità siano adeguatamente rappresentate sia nel set di training che nel set di test.
Il Riconoscimento entità denominata personalizzato supporta due metodi per la divisione dei dati:
- Divisione automatica del set di test dai dati di training: il sistema suddivide i dati etichettati tra i set di training e di test, in base alle percentuali scelte. La divisione percentuale consigliata è l'80% per il training e il 20% per i test.
Note
Se si sceglie l'opzione Suddivide automaticamente il set di test dai dati di training , solo i dati assegnati a un set di training vengono suddivisi in base alle percentuali specificate.
- Usa una divisione manuale dei dati di training e di test: questo metodo consente agli utenti di definire a quale set devono appartenere i documenti etichettati. Questo passaggio è abilitato solo se sono stati aggiunti documenti al set di test durante l'etichettatura dei dati.
Eseguire il training del modello (REST API)
Dopo aver etichettato i dati e configurato le impostazioni di suddivisione dei dati, è possibile avviare il training del modello NER personalizzato usando l'API REST. Il processo di addestramento prevede l'invio di una richiesta di addestramento e il monitoraggio del suo progresso fino al completamento. Questa sezione fornisce le chiamate API necessarie per avviare il training e controllare lo stato del processo di training.
Avviare il processo di training
Inviare una richiesta POST usando l'URL, le intestazioni e il corpo JSON seguenti per inviare un processo di training. Sostituire i valori segnaposto con i propri valori.
{ENDPOINT}/language/authoring/analyze-text/projects/{PROJECT-NAME}/:train?api-version={API-VERSION}
| Segnaposto | valore | Esempio |
|---|---|---|
{ENDPOINT} |
Endpoint per l'autenticazione della richiesta API. | https://<your-custom-subdomain>.cognitiveservices.azure.com |
{PROJECT-NAME} |
Il nome del progetto. Per questo valore viene applicata la distinzione tra maiuscole e minuscole. | myProject |
{API-VERSION} |
La versione dell'API che viene richiamata. Il valore a cui viene fatto riferimento è relativo alla versione più recente rilasciata. Per altre informazioni, vedereCiclo di vita del modello. | 2022-05-01 |
Headers
Usare l'intestazione seguente per autenticare la richiesta.
| Chiave | valore |
|---|---|
Ocp-Apim-Subscription-Key |
La chiave per la risorsa. È usata per l’autenticazione delle richieste API. |
Corpo della richiesta
Usare il JSON seguente nel corpo della richiesta. Il modello viene fornito come {MODEL-NAME} una volta completato l'addestramento. Solo i processi di training con esito positivo producono modelli.
{
"modelLabel": "{MODEL-NAME}",
"trainingConfigVersion": "{CONFIG-VERSION}",
"evaluationOptions": {
"kind": "percentage",
"trainingSplitPercentage": 80,
"testingSplitPercentage": 20
}
}
| Chiave | Segnaposto | valore | Esempio |
|---|---|---|---|
| modelLabel | {MODEL-NAME} |
Nome del modello che verrà assegnato al modello dopo l’esecuzione corretta del training. | myModel |
| trainingConfigVersion | {CONFIG-VERSION} |
Questa è la versione del modello usata per eseguire il training del modello. | 2022-05-01 |
| evaluationOptions | Opzione per dividere i dati tra set di training e set di test. | {} |
|
| kind | percentage |
Metodi di divisione. I possibili valori sono percentage o manual. Per altre informazioni, vedereCome eseguire il training di un modello. |
percentage |
| trainingSplitPercentage | 80 |
Percentuale dei dati con tag da includere nel set di training. Il valore consigliato è 80. |
80 |
| testingSplitPercentage | 20 |
Percentuale dei dati con tag da includere nel set di test. Il valore consigliato è 20. |
20 |
Note
trainingSplitPercentage e testingSplitPercentage sono necessari solo se Kind è impostato su percentage e la somma di entrambe le percentuali deve essere uguale a 100.
Dopo aver inviato la richiesta API, riceverai una 202 risposta che indica che la richiesta è stata inviata correttamente. Nelle intestazioni di risposta, estrarre il valore location formattato come segue:
{ENDPOINT}/language/authoring/analyze-text/projects/{PROJECT-NAME}/train/jobs/{JOB-ID}?api-version={API-VERSION}
{JOB-ID} viene usato per identificare la richiesta, poiché questa operazione è asincrona. È possibile usare questo URL per ottenere lo stato del training.
Ottenere lo stato del processo di training (REST API)
Il training può richiedere del tempo, a seconda delle dimensioni dei dati di training e della complessità dello schema. È possibile usare la richiesta seguente per continuare il polling dello stato del processo di training fino a quando non viene completato correttamente.
Usare la seguente richiesta GET per ottenere lo stato dello stato di avanzamento del training del modello. Sostituire i valori segnaposto con i propri valori.
URL richiesta
{ENDPOINT}/language/authoring/analyze-text/projects/{PROJECT-NAME}/train/jobs/{JOB-ID}?api-version={API-VERSION}
| Segnaposto | valore | Esempio |
|---|---|---|
{ENDPOINT} |
Endpoint per l'autenticazione della richiesta API. | https://<your-custom-subdomain>.cognitiveservices.azure.com |
{PROJECT-NAME} |
Il nome del progetto. Per questo valore viene applicata la distinzione tra maiuscole e minuscole. | myProject |
{JOB-ID} |
L'ID per individuare lo stato del training del modello. Questo valore si trova nel valore dell'intestazione location ricevuto nel passaggio precedente. |
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx |
{API-VERSION} |
La versione dell'API che viene richiamata. Il valore a cui viene fatto riferimento è relativo alla versione più recente rilasciata. Per altre informazioni, vedereCiclo di vita del modello. | 2022-05-01 |
Headers
Usare l'intestazione seguente per autenticare la richiesta.
| Chiave | valore |
|---|---|
Ocp-Apim-Subscription-Key |
La chiave per la risorsa. È usata per l’autenticazione delle richieste API. |
Corpo della risposta
Dopo aver inviato la richiesta, si ottiene la risposta seguente.
{
"result": {
"modelLabel": "{MODEL-NAME}",
"trainingConfigVersion": "{CONFIG-VERSION}",
"estimatedEndDateTime": "2022-04-18T15:47:58.8190649Z",
"trainingStatus": {
"percentComplete": 3,
"startDateTime": "2022-04-18T15:45:06.8190649Z",
"status": "running"
},
"evaluationStatus": {
"percentComplete": 0,
"status": "notStarted"
}
},
"jobId": "{JOB-ID}",
"createdDateTime": "2022-04-18T15:44:44Z",
"lastUpdatedDateTime": "2022-04-18T15:45:48Z",
"expirationDateTime": "2022-04-25T15:44:44Z",
"status": "running"
}
Annullare il compito di training (API REST)
Se è necessario arrestare un processo di training attualmente in corso, è possibile annullarlo usando l'API REST. L'annullamento di un processo di training è utile quando si individua un problema relativo ai dati o alla configurazione e si desidera apportare correzioni prima di riavviare il processo di training.
Creare una richiesta POST usando l'URL, le intestazioni e il corpo JSON seguenti per annullare un processo di training.
URL richiesta
Usare l'URL seguente durante la creazione della richiesta dell’API. Sostituire i valori segnaposto con i propri valori.
{Endpoint}/language/authoring/analyze-text/projects/{PROJECT-NAME}/train/jobs/{JOB-ID}/:cancel?api-version={API-VERSION}
| Segnaposto | valore | Esempio |
|---|---|---|
{ENDPOINT} |
Endpoint per l'autenticazione della richiesta API. | https://<your-custom-subdomain>.cognitiveservices.azure.com |
{PROJECT-NAME} |
Nome del progetto. Per questo valore viene applicata la distinzione tra maiuscole e minuscole. | EmailApp |
{JOB-ID} |
Questo valore è l'ID processo di training. | XXXXX-XXXXX-XXXX-XX |
{API-VERSION} |
La versione dell'API che viene richiamata. Il valore a cui fa riferimento qui è relativo all’ultima versione del modello rilasciata. | 2022-05-01 |
Headers
Usare l'intestazione seguente per autenticare la richiesta.
| Chiave | valore |
|---|---|
Ocp-Apim-Subscription-Key |
La chiave per la risorsa. È usata per l’autenticazione delle richieste API. |
Dopo aver inviato la richiesta API, si riceve una risposta 202 con un'intestazione Operation-Location usata per controllare lo stato del processo.
Passaggi successivi
Al termine del training, sarà possibile visualizzare le prestazioni del modello per poterlo eventualmente migliorare. Se il modello è soddisfacente, è possibile distribuirlo, rendendolo disponibile all’uso per l’estrazione delle entità dal testo.