Utilización de una gramática para el reconocimiento de voz
Una vez que cree y entrene su modelo de idioma personalizado con la gramática, puede utilizar la gramática en las solicitudes de reconocimiento de voz:
- Utilice el parámetro de consulta
language_customization_id
para especificar el ID de personalización (GUID) del modelo de idioma personalizado para el que se ha definido la gramática. Un modelo personalizado solo se puede utilizar con el modelo base para el que se ha creado. Si el modelo personalizado se basa en un modelo distinto del predeterminado, también debe especificar ese modelo base con el parámetro de consultamodel
. Para obtener más información, consulte Uso del modelo predeterminado. Debe enviar la solicitud con las credenciales para la instancia del servicio propietaria del modelo. - Utilice el parámetro
grammar_name
para especificar el nombre de la gramática. Solo puede especificar una gramática con una solicitud.
Cuando se utiliza una gramática, el servicio solo reconoce las palabras de la gramática especificada. El servicio no utiliza palabras personalizadas añadidas desde el corpus, añadidas o modificadas individualmente o reconocidas por otras gramáticas.
Para obtener más información sobre los idiomas y modelos que soportan gramáticas y su nivel de soporte (generalmente disponible o beta), consulte Soporte de idiomas para la personalización.
Ejemplos de utilización de una gramática con un modelo de lenguaje personalizado
Los ejemplos siguientes muestran el uso de una gramática con un modelo de idioma personalizado para cada interfaz de reconocimiento de voz:
-
Para la interfaz WebSocket, especifique primero el ID de personalización con el parámetro
language_customization_id
del método/v1/recognize
. Este método se utiliza para establecer una conexión WebSocket con el servicio.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);
Luego especifique el nombre de la gramática con el parámetro
grammar_name
en el mensajestart
de JSON correspondiente a la conexión activa. Pasar este valor con el mensajestart
le permite cambiar la gramática de forma dinámica para cada solicitud que envíe a través de la conexión.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); }
-
Para la interfaz HTTP síncrona, pase ambos parámetros con el método
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}"
-
Para la interfaz HTTP asíncrona, pase ambos parámetros con el método
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}"