Utilisation d'une grammaire pour la reconnaissance vocale
Une fois que vous avez créé et formé votre modèle de langue personnalisé avec votre grammaire, vous pouvez utiliser la grammaire dans les demandes de reconnaissance vocale :
- Utilisez le paramètre de requête
language_customization_idpour spécifier l'ID de personnalisation (GUID) du modèle de langue personnalisé pour lequel la grammaire est définie. Un modèle personnalisé ne peut être utilisé qu'avec le modèle de base pour lequel il est créé. Si votre modèle personnalisé est basé sur un modèle autre que celui par défaut, vous devez également spécifier le modèle de base avec le paramètre de requêtemodel. Pour plus d'informations, voir Utilisation du modèle par défaut. Vous devez émettre la demande avec les données d'identification de l'instance du service propriétaire du modèle. - Utilisez le paramètre
grammar_namepour spécifier le nom de la grammaire. Vous ne pouvez spécifier qu'une seule grammaire avec une demande.
Lorsque vous utilisez une grammaire, le service reconnaît uniquement les mots de la grammaire spécifiée. Il n'utilise pas les mots personnalisés ajoutés à partir de corpus, ajoutés ou modifiés individuellement ou reconnus par d'autres grammaires.
Pour plus d'informations sur les langues et les modèles qui prennent en charge les grammaires et leur niveau de prise en charge (généralement disponible ou bêta), voir Prise en charge de langue pour la personnalisation.
Exemples d'utilisation d'une grammaire avec un modèle de langue personnalisé
Les exemples suivants illustrent l'utilisation d'une grammaire avec un modèle de langue personnalisé pour chaque interface de reconnaissance vocale :
-
Pour l'interface WebSocket, vous spécifiez d'abord l'ID de personnalisation avec le paramètre
language_customization_idde la méthode/v1/recognize. Vous utilisez cette méthode pour établir une connexion WebSocket avec le service.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);Vous indiquez ensuite le nom de la grammaire avec le paramètre
grammar_namedans le message JSONstartpour la connexion active. La transmission de cette valeur avec le messagestart, vous permet de modifier la grammaire de manière dynamique pour chaque demande que vous envoyez via la connexion.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); } -
Pour l'interface HTTP synchrone, transmettez les deux paramètres avec la méthode
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}" -
Pour l'interface HTTP asynchrone, transmettez les deux paramètres avec la méthode
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}"