Creazione di un modello di lingua personalizzato
Attieniti alla seguente procedura per creare, aggiungere contenuti e preparare un modello di lingua personalizzato per il servizio IBM Watson® Speech to Text:
- Crea un modello di lingua personalizzato. Puoi creare più modelli personalizzati per lo stesso dominio o per domini differenti. Il processo è lo stesso per qualsiasi modello che crei. La personalizzazione del modello di lingua è disponibile per tutti i modelli vocali di grandi dimensioni, per la maggior parte dei modelli di generazione precedente e per tutti i modelli di nuova generazione. Per ulteriori informazioni, vedi Supporto delle lingue per la personalizzazione.
- Aggiungi un corpus al modello di lingua personalizzato. Un corpus è un documento di testo semplice che utilizza la terminologia dal dominio in contesto. Puoi aggiungere più corpora in serie, uno alla volta, a un modello personalizzato. Per i modelli personalizzati basati sui modelli di generazione precedenti, il servizio crea un vocabolario per un modello personalizzato estraendo termini dai corpora che non esistono nel suo vocabolario di base. Per i modelli personalizzati basati sui modelli di nuova generazione, il servizio estrae le sequenze di caratteri invece delle parole dai corpora.
- Aggiungi parole a un modello di lingua personalizzato. Puoi anche aggiungere parole personalizzate a un modello singolarmente. Puoi specificare come devono essere visualizzate le parole da un modello personalizzato in una trascrizione vocale e come vengono pronunciate nell'audio. Per i modelli personalizzati basati su modelli di generazione precedente, puoi modificare le parole personalizzate estratte dai corpora.
- Addestra il modello di lingua personalizzato. Dopo aver aggiunto corpora e parole al modello personalizzato, devi addestrare il modello. L'addestramento prepara il modello personalizzato per l'utilizzo nel riconoscimento vocale. Il modello non utilizza corpora o parole nuove o modificate finché non lo si addestra.
- Utilizza un modello di lingua personalizzato per il riconoscimento vocale. Dopo aver addestrato il modello personalizzato, è possibile utilizzarlo con le richieste di riconoscimento vocale. Se l'audio trasmesso per la trascrizione contiene parole specifiche del dominio definite nei corpora e nelle parole personalizzate del modello personalizzato, i risultati della richiesta riflettono il vocabolario migliorato del modello. Puoi utilizzare solo un modello alla volta con una richiesta di riconoscimento vocale.
La procedura per creare un modello di lingua personalizzato è iterativa. Puoi aggiungere corpora e parole e addestrare o riaddestrare un modello tutte le volte che lo ritieni necessario. È inoltre possibile aggiungere grammatiche alla maggior parte dei modelli linguistici personalizzati. Le grammatiche limitano la risposta del servizio alle sole parole da esse riconosciute.
- Per ulteriori informazioni sull'utilizzo delle grammatiche, vedere Utilizzo delle grammatiche con modelli linguistici personalizzati.
- Per ulteriori informazioni sulle lingue e sui modelli che supportano le grammatiche, vedi Supporto lingua per la personalizzazione.
Crea un modello di lingua personalizzato
Utilizzi il metodo POST /v1/customizations
per creare un nuovo modello di lingua personalizzato. Il metodo accetta un oggetto JSON che definisce gli attributi del nuovo modello personalizzato come corpo della richiesta. Il nuovo
modello personalizzato appartiene all'istanza del servizio di cui vengono utilizzate le credenziali per crearlo. Per ulteriori informazioni, vedi Proprietà di modelli personalizzati.
Puoi creare un massimo di 1024 modelli di lingua personalizzati per credenziali di gestione. Per ulteriori informazioni, vedi Numero massimo di modelli personalizzati.
Un nuovo modello di lingua personalizzato ha i seguenti attributi:
name
(stringaobbligatoria )-
Un nome definito dall'utente per il nuovo modello personalizzato. Utilizzare un nome localizzato che corrisponda alla lingua del modello personalizzato e che descriva il dominio del modello, ad esempio
Medical custom model
oLegal custom model
.- Inserire un massimo di 256 caratteri nel nome.
- Non utilizzare barre retroverse, barre, due punti, segni di uguale, e commerciale o punti interrogativi nel nome.
- Utilizza un nome che sia univoco tra tutti i modelli di lingua personalizzati di tua proprietà.
base_model_name
(stringaobbligatoria )-
Il nome del modello di lingua di base che deve essere personalizzato dal nuovo modello personalizzato. Devi utilizzare il nome di un modello restituito dal metodo
GET /v1/models
. Il nuovo modello personalizzato può essere utilizzato solo con il modello di base che personalizza. dialect
(stringafacoltativa )-
Il dialetto della lingua specificata che deve essere utilizzato con il nuovo modello personalizzato. Per tutte le lingue, è sempre sicuro omettere questo campo. Il servizio utilizza automaticamente l'identificativo della lingua dal nome del modello di base. Ad esempio, il servizio utilizza automaticamente
en-US
per tutti i modelli di inglese (Stati Uniti).Se si specifica
dialect
per un nuovo modello personalizzato, attenersi alle seguenti linee guida:- Per i modelli di generazione precedente non in spagnolo e per i modelli di nuova generazione, è necessario specificare un valore che corrisponda all'identificativo di lingua di cinque caratteri dal nome del modello base.
- Per i modelli di generazione precedenti in spagnolo, è necessario specificare uno dei seguenti valori:
es-ES
per lo spagnolo castigliano (modellies-ES
)es-LA
per lo spagnolo latino americano (modellies-AR
,es-CL
,es-CO
ees-PE
)es-US
per lo spagnolo messicano (nord americano) (modellies-MX
)
Tutti i valori passati per il campo
dialect
non sono sensibili al maiuscolo / minuscolo. description
(stringafacoltativa )-
Una descrizione consigliata del nuovo modello personalizzato.
- Utilizza una descrizione localizzata che corrisponda alla lingua del modello personalizzato.
- Includere un massimo di 128 caratteri nella descrizione.
Il seguente esempio crea un nuovo modello di lingua personalizzato denominato Example model
. Il modello viene creato per il modello di base en-US-BroadbandModel
e ha la descrizione Example custom language model
.
L'intestazione richiesta " Content-Type
" specifica che i dati JSON vengono passati al metodo.
IBM Cloud
curl -X POST -u "apikey:{apikey}" \
--header "Content-Type: application/json" \
--data "{\"name\": \"Example model\", \
\"base_model_name\": \"en-US_BroadbandModel\", \
\"description\": \"Example custom language model\"}" \
"{url}/v1/customizations"
IBM Cloud Pak for Data IBM Software Hub
curl -X POST \
--header "Authorization: Bearer {token}" \
--header "Content-Type: application/json" \
--data "{\"name\": \"Example model\", \
\"base_model_name\": \"en-US_BroadbandModel\", \
\"description\": \"Example custom language model\"}" \
"{url}/v1/customizations"
L'esempio restituisce l'ID di personalizzazione del nuovo modello. Ogni modello personalizzato è identificato da un ID di personalizzazione univoco, che è un GUID (Globally Unique Identifier). Specifichi il GUID di un modello personalizzato
con il parametro customization_id
delle chiamate associate al modello.
{
"customization_id": "74f4807e-b5ff-4866-824e-6bba1a84fe96"
}
Aggiungi un corpus al modello di lingua personalizzato
Una volta creato il modello linguistico personalizzato, il passo successivo consiste nell'aggiungere al modello dati specifici del dominio. Il metodo consigliato per popolare un modello personalizzato è aggiungere uno o più corpora. Un corpus è un file di testo semplice che idealmente contiene periodi di esempio dal tuo dominio.
-
Per i modelli personalizzati basati su modelli vocali di grandi dimensioni, il servizio analizza ed estrae le sequenze di parole da uno o più file corpora. I caratteri aiutano il servizio a imparare e prevedere le sequenza di caratteri dall'audio. Per ulteriori informazioni sull'utilizzo dei corpora con i modelli personalizzati basati su modelli vocali di grandi dimensioni, vedi Gestione dei corpora per i modelli vocali di grandi dimensioni e i modelli di nuova generazione.
-
Per i modelli personalizzati basati sui modelli di generazione precedente, il servizio analizza un file di corpus ed estrae tutte le parole che non sono nel suo vocabolario di base. Tali parole sono indicate come parole OOV (out-of-vocabulary). Per ulteriori informazioni sull'uso dei corpora con i modelli personalizzati basati sui modelli di generazione precedenti, vedi Gestione dei corpora per i modelli di generazione precedenti.
-
Per modelli personalizzati basati su modelli di nuova generazione, il servizio analizza ed estrae le sequenze di caratteri da un file del corpus. I caratteri aiutano il servizio a imparare e prevedere le sequenza di caratteri dall'audio. Per ulteriori informazioni sull'utilizzo dei corpora con i modelli personalizzati basati sui modelli di nuova generazione, vedi Gestione dei corpora per i modelli vocali di grandi dimensioni e i modelli di nuova generazione.
Fornendo frasi che includono parole specifiche del dominio, i corpora consentono al servizio di apprendere le parole e le sequenze di caratteri nel contesto. È anche possibile aumentare e modificare singolarmente le parole di un modello. Addestrare un modello solo su singole parole invece che sulle parole aggiunte dai corpora è più dispendioso in termini di tempo e può produrre risultati meno efficaci.
Utilizzi il metodo POST /v1/customizations/{customization_id}/corpora/{corpus_name}
per aggiungere un corpus a un modello personalizzato:
customization_id
(stringaobbligatoria )- Specificare l'ID di personalizzazione del modello personalizzato a cui aggiungere il corpus.
corpus_name
(stringaobbligatoria )- Specificare un nome per il corpus. Utilizza un nome localizzato che corrisponda alla lingua del modello personalizzato e riflette il contenuto del corpus.
- Includi un massimo di 128 caratteri nel nome.
- Non utilizzare caratteri che devono essere codificati in URL. Ad esempio, non utilizzare spazi, barre, barre rovesciate, due punti, e commerciali, virgolette doppie, segni più, segni di uguale, punti interrogativi e così via nel nome. (Il servizio non impedisce l'utilizzo di questi caratteri. Tuttavia, poiché devono essere codificati in URL ovunque ricorrano, il loro uso è vivamente sconsigliato.)
- Non utilizzare il nome di un corpus o di una grammatica che è già stato aggiunto al modello personalizzato.
- Non utilizzare il nome
user
, che è riservato dal servizio per denotare le parole personalizzate aggiunte o modificate dall'utente. - Non utilizzare il nome
base_lm
odefault_lm
. Entrambi i nomi sono riservati per un uso futuro da parte del servizio.
Trasmettere il file di testo corpus come corpo richiesto della richiesta. Il seguente esempio aggiunge il file di testo di corpus healthcare.txt
al modello personalizzato con l'ID specificato. L'esempio denomina il corpus healthcare
.
IBM Cloud
curl -X POST -u "apikey:{apikey}" \
--data-binary @healthcare.txt \
"{url}/v1/customizations/{customization_id}/corpora/healthcare"
IBM Cloud Pak for Data IBM Software Hub
curl -X POST \
--header "Authorization: Bearer {token}" \
--data-binary @healthcare.txt \
"{url}/v1/customizations/{customization_id}/corpora/healthcare"
Il metodo accetta anche un parametro di query allow_overwrite
facoltativo che sovrascrive un corpus esistente per un modello personalizzato. Utilizza il parametro se devi aggiornare un file di corpus dopo averlo aggiunto a un modello.
Il metodo è asincrono. Il suo completamento può richiedere alcuni minuti. La durata dell'operazione dipende dal numero totale di parole nel corpus e dal carico corrente sul servizio. Per i modelli personalizzati basati sui modelli di generazione precedente, la durata dipende anche dal numero di parole nuove che il servizio trova nel corpus. Per ulteriori informazioni sul controllo dello stato di un corpus, vedi Monitoraggio della richiesta di aggiunta del corpus.
Puoi aggiungere qualsiasi numero di corpora a un modello personalizzato richiamando il metodo una volta per ciascun file di testo di corpus. L'aggiunta di un corpus deve essere del tutto completa prima di poterne aggiungere un altro. Un corpus
ha lo stato being_processed
quando lo aggiungi per la prima volta a un modello. Il suo stato diventa analyzed
quando il servizio finisce di elaborarlo.
Per i modelli personalizzati basati sui modelli di generazione precedente, una volta completata l'aggiunta di un corpus, esamina le nuove parole personalizzate che sono state estratte da esso per controllare la presenza di errori tipografici e di altro tipo. Per ulteriori informazioni, vedi Convalida di una risorsa di parole per i modelli di generazione precedenti.
Monitoraggio della richiesta di aggiunta del corpus
Il servizio restituisce un codice di risposta 201 se il corpus è valido. Successivamente elabora in modo asincrono il contenuto del corpus. Non puoi inoltrare le richieste di aggiunta di dati al modello personalizzato o di addestramento del modello fino al completamento dell'analisi del corpus da parte del servizio per la richiesta corrente.
Per determinare lo stato dell'analisi, utilizza il metodo GET /v1/customizations/{customization_id}/corpora/{corpus_name}
per eseguire il polling dello stato del corpus. Il metodo accetta l'ID del modello e il nome del corpus,
come mostrato nel seguente esempio:
IBM Cloud
curl -X GET -u "apikey:{apikey}" \
"{url}/v1/customizations/{customization_id}/corpora/corpus1"
IBM Cloud Pak for Data IBM Software Hub
curl -X GET \
--header "Authorization: Bearer {token}" \
"{url}/v1/customizations/{customization_id}/corpora/corpus1"
La risposta include lo stato del corpus. Poiché il modello personalizzato si basa su un modello di generazione precedente, la risposta mostra il numero di parole OOV.
{
"name": "corpus1",
"total_words": 5037,
"out_of_vocabulary_words": 401,
"status": "analyzed"
}
Il campo status
ha uno dei seguenti valori:
analyzed
indica che il servizio ha eseguito correttamente l'analisi del corpus.being_processed
indica che il servizio sta ancora analizzando il corpus.undetermined
indica che il servizio ha riscontrato un errore durante l'elaborazione del corpus.
Utilizza un loop per controllare lo stato del corpus ogni 10 secondi fino a quando non diventa analyzed
. Per ulteriori informazioni sul controllo dello stato dei corpora di un modello, vedi Elenco dei corpora per un modello di lingua personalizzato.
Aggiungi parole al modello di lingua personalizzato
Anche se l'aggiunta di corpora è il metodo consigliato per aggiungere parole a un modello di lingua personalizzato, puoi anche aggiungere delle singole parole personalizzate al modello direttamente. Il servizio analizza le parole personalizzate per il modello personalizzato proprio come fa il contenuto delle parole dai corpora.
Se hai solo una o poche parole da aggiungere a un modello, utilizzare i corpora per aggiungere le parole potrebbe non essere pratico o neanche fattibile. L'approccio più semplice consiste nell'aggiungere una parola con solo la sua ortografia. Ma puoi anche indicare come deve essere visualizzata la parola e una o più pronunce per la parola.
- Per ulteriori informazioni sull'aggiunta di termini a un modello personalizzato basato su un modello di generazione precedente, vedi Utilizzo di parole personalizzate per i modelli di generazione precedente.
- Per ulteriori informazioni sull'aggiunta di parole a un modello personalizzato basato su modelli vocali di grandi dimensioni e modelli di nuova generazione, vedi Utilizzo di parole personalizzate per modelli vocali di grandi dimensioni e modelli di nuova generazione.
Dopo aver aggiunto parole a un modello personalizzato, esamini le nuove parole personalizzate per verificare la presenza di errori tipografici e di altro tipo. Questo controllo è particolarmente importante quando si aggiungono più parole contemporaneamente.
- Per i modelli personalizzati basati sui modelli di generazione precedente, vedi Convalida di una risorsa di parole per i modelli di generazione precedente.
- Per i modelli personalizzati basati su modelli vocali di grandi dimensioni e modelli di nuova generazione, vedi Convalida di una risorsa di parole per modelli vocali di grandi dimensioni e modelli di nuova generazione.
Aggiungere parole con il metodo POST
Il metodo " POST /v1/customizations/{customization_id}/words
" aggiunge una o più parole alla volta. Passi le parole da aggiungere come dati JSON tramite il corpo della richiesta o da un file. In entrambi i casi, l'intestazione
richiesta " Content-Type
" specifica che i dati JSON vengono passati al metodo.
Gli esempi seguenti aggiungono due parole personalizzate, " HHonors
" e " IEEE
", al modello personalizzato con l'ID specificato:
-
Il primo esempio passa le informazioni su ogni parola tramite il corpo della richiesta:
IBM Cloud
curl -X POST -u "apikey:{apikey}" \ --header "Content-Type: application/json" \ --data "{\"words\": [ \ {\"word\": \"HHonors\", \"sounds_like\": [\"hilton honors\", \"H. honors\"], \"display_as\": \"HHonors\"}, \ {\"word\": \"IEEE\", \"sounds_like\": [\"I. triple E.\"]}]}" \ "{url}/v1/customizations/{customization_id}/words"
IBM Cloud Pak for Data IBM Software Hub
curl -X POST \ --header "Authorization: Bearer {token}" \ --header "Content-Type: application/json" \ --data "{\"words\": [ \ {\"word\": \"HHonors\", \"sounds_like\": [\"hilton honors\", \"H. honors\"], \"display_as\": \"HHonors\"}, \ {\"word\": \"IEEE\", \"sounds_like\": [\"I. triple E.\"]}]}" \ "{url}/v1/customizations/{customization_id}/words"
-
Il secondo esempio aggiunge le stesse parole da un file denominato
words.json
:{ "words": [ {"word": "HHonors", "sounds_like": ["hilton honors", "H. honors"], "display_as": "HHonors"}, {"word": "IEEE", "sounds_like": ["I. triple E."]} ] }
La seguente richiesta aggiunge le parole dal file:
IBM Cloud
curl -X POST -u "apikey:{apikey}" \ --header "Content-Type: application/json" \ --data-binary @words.json \ "{url}/v1/customizations/{customization_id}/words"
IBM Cloud Pak for Data IBM Software Hub
curl -X POST \ --header "Authorization: Bearer {token}" \ --header "Content-Type: application/json" \ --data-binary @words.json \ "{url}/v1/customizations/{customization_id}/words"
Il metodo dell' POST
e è asincrono. Il suo completamento può richiedere alcuni minuti. Il tempo che ci vuole per completare l'operazione dipende dal numero di parole che aggiungi e dal carico corrente sul servizio. Per ulteriori
informazioni sul controllo dello stato dell'operazione, vedi Monitoraggio della richiesta di aggiunta di parole.
Aggiungere una parola con il metodo PUT
Il metodo PUT /v1/customizations/{customization_id}/words/{word_name}
aggiunge singole parole. Si passa un oggetto JSON che fornisce informazioni sulla parola come corpo della richiesta.
Il seguente esempio aggiunge la parola NCAA
al modello con l'ID specificato. L'intestazione richiesta " Content-Type
" indica nuovamente che i dati JSON vengono passati al metodo.
IBM Cloud
curl -X PUT -u "apikey:{apikey}" \
--header "Content-Type: application/json" \
--data "{\"sounds_like\": [\"N. C. A. A.\", \"N. C. double A.\"]}" \
"{url}/v1/customizations/{customization_id}/words/NCAA"
IBM Cloud Pak for Data IBM Software Hub
curl -X PUT \
--header "Authorization: Bearer {token}" \
--header "Content-Type: application/json" \
--data "{\"sounds_like\": [\"N. C. A. A.\", \"N. C. double A.\"]}" \
"{url}/v1/customizations/{customization_id}/words/NCAA"
Il metodo PUT
è sincrono. Il servizio restituisce un codice di risposta che notifica l'esito positivo o negativo della richiesta immediatamente.
Monitoraggio della richiesta di aggiunta di parole
Quando utilizzi il metodo POST /v1/customizations/{customization_id}/words
, il servizio restituisce un codice di risposta 201 se i dati di input non sono validi. Elabora quindi in modo asincrono le parole per aggiungerle al modello.
Non puoi inoltrare richieste di aggiunta di dati al modello personalizzato o di addestramento del modello fino a quando il servizio non completa la richiesta di aggiunta di nuove parole.
Per determinare lo stato della richiesta, utilizza il metodo GET /v1/customizations/{customization_id}
per eseguire il polling dello stato del modello. Il metodo accetta l'ID di personalizzazione del modello, come nel seguente
esempio:
IBM Cloud
curl -X GET -u "apikey:{apikey}" \
"{url}/v1/customizations/{customization_id}"
IBM Cloud Pak for Data IBM Software Hub
curl -X GET \
--header "Authorization: Bearer {token}" \
"{url}/v1/customizations/{customization_id}"
La richiesta include informazioni sullo stato del modello:
{
"customization_id": "74f4807e-b5ff-4866-824e-6bba1a84fe96",
"created": "2016-06-01T18:42:25.324Z",
"updated": "2016-06-01T18:45:11.737Z",
"language": "en-US",
"dialect": "en-US",
"owner": "297cfd08-330a-22ba-93ce-1a73f454dd98",
"name": "Example model",
"description": "Example custom language model",
"base_model_name": "en-US_BroadbandModel",
"status": "pending",
"progress": 0
}
Il campo status
notifica lo stato corrente del modello. Mentre il servizio sta elaborando le nuove parole, lo stato rimane pending
. Utilizza un loop per controllare lo stato ogni 10 secondi finché non diventa ready
per indicare che l'operazione è stata completata. Per ulteriori informazioni sui possibili valori di status
, vedi Monitoraggio della richiesta di addestramento del modello.
Modifica di parole in un modello personalizzato
Puoi anche utilizzare i metodi POST /v1/customizations/{customization_id}/words
e PUT /v1/customizations/{customization_id}/words/{word_name}
per modificare o aumentare una parola in un modello personalizzato. Potresti
dover utilizzare i metodi per correggere un errore di battitura oppure un altro errore che era stato fatto quando una parola è stata aggiunta al modello. Potresti anche dover aggiungere delle definizioni di suono simile (sounds-like) per
una parola esistente.
Utilizzi i metodi per modificare la definizione di una parola esistente esattamente come fai per aggiungere una parola. I nuovi dati che fornisci per la parola sovrascrivono la definizione esistente della parola. Per i modelli personalizzati basati sui modelli di generazione precedente, puoi modificare le parole che sono state aggiunte dai corpora.
Addestra il modello di lingua personalizzato
Una volta popolato un modello linguistico personalizzato con nuove parole (aggiungendo corpora, aggiungendo direttamente parole o aggiungendo grammatiche), è necessario addestrare il modello sui nuovi dati. L'addestramento prepara il modello personalizzato a utilizzare i dati nel riconoscimento vocale. Il modello non utilizza le parole che aggiungi servendoti di un qualsiasi metodo finché non ne esegui l'addestramento sui dati.
Utilizzi il metodo POST /v1/customizations/{customization_id}/train
per addestrare un modello personalizzato. Passi al metodo l'ID di personalizzazione del modello che vuoi addestrare, come nel seguente esempio:
IBM Cloud
curl -X POST -u "apikey:{apikey}" \
"{url}/v1/customizations/{customization_id}/train"
IBM Cloud Pak for Data IBM Software Hub
curl -X POST \
--header "Authorization: Bearer {token}" \
"{url}/v1/customizations/{customization_id}/train"
Il metodo è asincrono. Il completamento dell'addestramento può richiedere qualche minuto, a seconda del numero di nuove parole su cui si sta eseguendo l'addestramento del modello e del carico corrente sul servizio. Per ulteriori informazioni sul controllo dello stato di un'operazione di addestramento, vedi Monitoraggio della richiesta di addestramento del modello.
Il metodo include i seguenti parametri di query facoltativi:
-
Il parametro
word_type_to_add
specifica le parole su cui deve essere addestrato il modello personalizzato:- Specifica
all
oppure ometti il parametro per addestrare il modello su tutte le sue parole, indipendentemente dalla loro origine. - Specifica
user
per addestrare il modello solo sulle parole che erano state aggiunte o modificate dall'utente, ignorando quelle estratte solo da corpora o grammatiche.
Per i modelli personalizzati basati sui modelli di generazione precedente, questa opzione è utile se aggiungi corpora con dati rumorosi, come parole che contengono errori tipografici. Prima di addestrare il modello su tali dati, puoi utilizzare il parametro di query
word_type
del metodoGET /v1/customizations/{customization_id}/words
per esaminare le parole estratte da corpora e grammatiche. Per ulteriori informazioni, vedere Elencare parole personalizzate da un modello linguistico personalizzato.Per i modelli personalizzati basati su modelli vocali di grandi dimensioni e modelli di prossima generazione, il servizio ignora il parametro
word_type_to_add
. La risorsa di parole contiene solo parole personalizzate che l'utente aggiunge o modifica direttamente, quindi il parametro non è necessario. - Specifica
-
Il parametro
customization_weight
specifica il peso relativo che viene dato alle parole dal modello personalizzato rispetto alle parole dal vocabolario di base quando il modello personalizzato viene utilizzato per il riconoscimento vocale. Puoi anche specificare un peso di personalizzazione con qualsiasi richiesta di riconoscimento che utilizza il modello personalizzato. Per ulteriori informazioni, vedi Utilizzo del peso di personalizzazione. -
Il parametro "
strict
" indica se la formazione deve procedere se il modello personalizzato contiene un mix di risorse valide e non valide (corpora, parole e grammatiche). Per impostazione predefinita, l'addestramento non riesce se il modello contiene una o più risorse non valide. Imposta il parametro sufalse
per consentire all'addestramento di continuare finché il modello contiene almeno una risorsa valida. Il servizio esclude le risorse non valide dall'addestramento. Per ulteriori informazioni, vedi Errori di addestramento per i modelli di lingua personalizzati.
Monitoraggio della richiesta di addestramento del modello
Il servizio restituisce un codice di risposta 200 se inizia il processo di addestramento con esito positivo. Il servizio non può accettare richieste di formazione successive o richieste di aggiunta di nuovi corpora, parole o grammatiche fino a quando la richiesta esistente non sarà completata.
L'aggiunta di parole personalizzate direttamente a un modello personalizzato che si basa su un modello vocale di grandi dimensioni o su un modello di nuova generazione, come descritto in Aggiungi parole al modello di lingua personalizzato,
fa sì che l'addestramento di un modello impiega alcuni minuti in più di quanto non farebbe altrimenti. Se stai addestrando un modello con parole personalizzate che hai aggiunto utilizzando il metodo POST /v1/customizations/{customization_id}/words
o PUT /v1/customizations/{customization_id}/words/{word_name}
, concedi alcuni minuti di tempo di addestramento supplementare per il modello.
Per determinare lo stato di una richiesta di addestramento, utilizza il metodo GET /v1/customizations/{customization_id}
per eseguire il polling dello stato del modello. Il metodo accetta l'ID di personalizzazione del modello:
IBM Cloud
curl -X GET -u "apikey:{apikey}" \
"{url}/v1/customizations/{customization_id}"
IBM Cloud Pak for Data IBM Software Hub
curl -X GET \
--header "Authorization: Bearer {token}" \
"{url}/v1/customizations/{customization_id}"
La risposta include informazioni sullo stato del modello:
{
"customization_id": "74f4807e-b5ff-4866-824e-6bba1a84fe96",
"created": "2016-06-01T18:42:25.324Z",
"updated": "2016-06-01T18:45:11.737Z",
"language": "en-US",
"dialect": "en-US",
"owner": "297cfd08-330a-22ba-93ce-1a73f454dd98",
"name": "Example model",
"description": "Example custom language model",
"base_model_name": "en-US_BroadbandModel",
"status": "training",
"progress": 0
}
La risposta include i campi status
e progress
che notificano lo stato del modello personalizzato. Il significato del campo progress
dipende dallo stato del modello. Il campo status
può avere
uno dei seguenti valori:
-
pending
indica che il modello è stato creato ma è in attesa che vengano aggiunti dati di addestramento validi o che il servizio finisca di analizzare i dati che erano stati aggiunti. Il campoprogress
è0
. -
ready
indica che il modello contiene dati validi ed è pronto per essere addestrato. Il campoprogress
è0
.Se il modello contiene una combinazione di risorse valide e non valide (ad esempio, parole personalizzate sia valide che non valide), l'addestramento del modello non riesce a meno che non imposti il parametro di query
strict
sufalse
. Per ulteriori informazioni, vedi Errori di addestramento per i modelli di lingua personalizzati. -
training
indica che il modello è in fase di addestramento. Il campoprogress
è0
. Il campo cambia da0
a100
quando la formazione è completa. -
available
indica che il modello è addestrato e pronto per l'uso. Il campoprogress
è100
. -
upgrading
indica che il modello è in fase di upgrade. Il campoprogress
è0
. -
failed
indica che l'addestramento del modello non è riuscito. Il campoprogress
è0
. Per ulteriori informazioni, vedi Errori di addestramento per i modelli di lingua personalizzati.
Utilizza un loop per controllare lo stato ogni 10 secondi fino a quando non diventa available
. Per ulteriori informazioni sul controllo dello stato di un modello personalizzato, vedi Elenco dei modelli di lingua personalizzati.
Errori di addestramento per i modelli di lingua personalizzati
L'addestramento non viene avviato se il servizio sta gestendo un'altra richiesta per il modello di lingua personalizzato. Ad esempio, una richiesta di addestramento non viene avviata con un codice di stato 409 se il servizio sta
- Elaborazione di un corpus o di una grammatica per generare un elenco di parole OOV o per estrarre sequenze di caratteri
- Elaborando parole personalizzate per convalidare o generare automaticamente pronunce dal suono simile (sounds-like)
- Gestendo un'altra richiesta di addestramento
Inoltre, l'addestramento non viene avviato, con il codice di stato 400, se il modello personalizzato
- Non contiene nuovi dati di apprendimento validi (corpora, parole o grammatiche) dalla sua creazione o dall'ultimo apprendimento
- Contiene uno o più corpora, parole o grammatiche non validi (ad esempio, una parola personalizzata ha una pronuncia simile a un suono non valido)
Se la richiesta di addestramento non riesce con un codice di stato 400, il servizio imposta lo stato del modello personalizzato su failed
. Esegui una delle seguenti azioni:
-
Utilizza i metodi dell'interfaccia di personalizzazione per esaminare le risorse del modello e correggere gli eventuali errori che rilevi:
- Per un corpus non valido, puoi correggere il file di testo di corpus e utilizzare il parametro
allow_overwrite
del metodoPOST /v1/customizations/{customization_id}/corpora/{corpus_name}
per aggiungere il file corretto al modello. Per ulteriori informazioni, vedi Aggiungi un corpus al modello di lingua personalizzato. - Per una grammatica non valida, puoi correggere il file di grammatica e utilizzare il parametro
allow_overwrite
del metodoPOST /v1/customizations/{customization_id}/grammars/{grammar_name}
per aggiungere il file corretto al modello. Per ulteriori informazioni, vedi Aggiungi una grammatica al modello di lingua personalizzato. - Per una parola personalizzata non valida, puoi utilizzare il metodo
POST /v1/customizations/{customization_id}/words
oPUT /v1/customizations/{customization_id}/words/{word_name}
per modificare la parola direttamente nella risorsa di parole del modello. Per ulteriori informazioni, vedi Modifica di parole in un modello personalizzato.
Per ulteriori informazioni sulla convalida delle parole in un modello linguistico personalizzato, vedere
- Per un corpus non valido, puoi correggere il file di testo di corpus e utilizzare il parametro
-
Imposta il parametro
strict
del metodoPOST /v1/customizations/{customization_id}/train
sufalse
per escludere le risorse non valide dall'addestramento. Il modello deve contenere almeno una risorsa valida (corpus, parola o grammatica) affinché l'addestramento abbia successo. Il parametrostrict
è utile per addestrare un modello personalizzato che contiene una combinazione di risorse valide e non valide.