Utilizzo di una grammatica per il riconoscimento vocale
Una volta creato e addestrato il modello linguistico personalizzato con la grammatica, è possibile utilizzare la grammatica nelle richieste di riconoscimento vocale:
- Utilizzare il parametro di query
language_customization_idper specificare l'ID di personalizzazione (GUID) del modello di lingua personalizzato per il quale è definita la grammatica. Un modello personalizzato può essere utilizzato solo con il modello di base per il quale viene creato. Se il modello personalizzato è basato su un modello diverso da quello predefinito, è necessario specificare anche tale modello di base con il parametro di querymodel. Per ulteriori informazioni, vedere Utilizzo del modello predefinito. Devi immettere la richiesta con le credenziali per l'istanza del servizio a cui appartiene il modello. - Utilizza il parametro
grammar_nameper specificare il nome della grammatica. Puoi specificare solo una singola grammatica con una richiesta.
Quando utilizzi una grammatica, il servizio riconosce solo le parole dalla grammatica specificata. Il servizio non utilizza le parole personalizzate che sono state aggiunte dai corpora, che sono state aggiunte o modificate singolarmente o che sono riconosciute da altre grammatiche.
Per ulteriori informazioni sulle lingue e i modelli che supportano le grammatiche e il loro livello di supporto (generalmente disponibile o beta), vedere Supporto linguistico per la personalizzazione.
Esempi di utilizzo di una grammatica con un modello di lingua personalizzato
Gli esempi seguenti mostrano l'uso di una grammatica con un modello linguistico personalizzato per ogni interfaccia di riconoscimento vocale:
-
Per l'interfaccia WebSocket, devi prima specificare l'ID di personalizzazione con il parametro
language_customization_iddel metodo/v1/recognize. Questo metodo ti consente di stabilire una connessione WebSocket con il servizio.var access_token = {access_token}; var wsURI = '{ws_url}/v1/recognize' + '?access_token=' + access_token + '&language_customization_id={customization_id}'; var websocket = new WebSocket(wsURI);Quindi, specifica il nome della grammatica con il parametro
grammar_namenel messaggiostartJSON per la connessione attiva. Il passaggio di questo valore con il messaggiostartti consente di modificare la grammatica in modo dinamico per ogni richiesta che invii tramite la connessione.function onOpen(evt) { var message = { action: 'start', content-type: 'audio/l16;rate=22050', grammar_name: '{grammar_name}' }; websocket.send(JSON.stringify(message)); websocket.send(blob); } -
Per l'interfaccia HTTP sincrona, passa entrambi i parametri con il metodo
POST /v1/recognize.IBM Cloud
curl -X POST -u "apikey:{apikey}" \ --header "Content-Type: audio/flac" \ --data-binary @audio-file.flac \ "{url}/v1/recognize?language_customization_id={customization_id}&grammar_name={grammar_name}"IBM Cloud Pak for Data IBM Software Hub
curl -X POST \ --header "Authorization: Bearer {token}" \ --header "Content-Type: audio/flac" \ --data-binary @audio-file.flac \ "{url}/v1/recognize?language_customization_id={customization_id}&grammar_name={grammar_name}" -
Per l'interfaccia HTTP asincrona, passa entrambi i parametri con il metodo
POST /v1/recognitions.IBM Cloud
curl -X POST -u "apikey:{apikey}" \ --header "Content-Type: audio/flac" \ --data-binary @audio-file.flac \ "{url}/v1/recognitions?language_customization_id={customization_id}&grammar_name={grammar_name}"IBM Cloud Pak for Data IBM Software Hub
curl -X POST \ --header "Authorization: Bearer {token}" \ --header "Content-Type: audio/flac" \ --data-binary @audio-file.flac \ "{url}/v1/recognitions?language_customization_id={customization_id}&grammar_name={grammar_name}"