Grammatik bei der Spracherkennung verwenden
Nachdem Sie ein angepasstes Sprachmodell mit Ihrer Grammatik erstellt und trainiert haben, können Sie die Grammatik in Spracherkennungsanforderungen verwenden:
- Im Abfrageparameter
language_customization_idkönnen Sie die Anpassungs-ID (GUID) des angepassten Sprachmodells angeben, für das die Grammatik definiert wurde. Ein angepasstes Modell kann nur in Verbindung mit dem Basismodell verwendet werden, für das es erstellt wurde. Wenn Ihr angepasstes Modell nicht auf dem Standardmodell basiert, müssen Sie das betreffende Basismodell ebenfalls mit dem Abfrageparametermodelangeben. Weitere Informationen finden Sie unter "Verwendung des Standardmodells ". Sie müssen die Anforderung mit Berechtigungsnachweisen für die Instanz des Service ausgeben, die Eigner des Modells ist. - Geben Sie mit dem Parameter
grammar_nameden Namen der Grammatik an. Bei einer Anforderung können Sie nur eine einzige Grammatik angeben.
Wenn Sie eine Grammatik für die Spracherkennung verwenden, erkennt der Service ausschließlich Wörter aus der angegebenen Grammatik. Angepasste Wörter, die aus Korpora hinzugefügt wurden, die separat hinzugefügt oder geändert wurden oder die durch andere Grammatiken erkannt werden, werden durch den Service nicht verwendet.
Weitere Informationen zu den Sprachen und Modellen, die Grammatiken unterstützen, und zu ihrer Unterstützungsstufe (allgemein verfügbar oder Betaversion) finden Sie unter Sprachunterstützung für die Anpassung.
Beispiele zur Verwendung einer Grammatik mit einem angepassten Sprachmodell
Die folgenden Beispiele veranschaulichen die Verwendung einer Grammatik mit einem angepassten Sprachmodell für die einzelnen Spracherkennungsschnittstellen:
-
Bei Verwendung der WebSocket-Schnittstelle geben Sie zuerst die Anpassungs-ID mit dem Parameter
language_customization_idder Methode/v1/recognizean. Mithilfe dieser Methode stellen Sie eine WebSocket-Verbindung zum Service her.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);Anschließend geben Sie den Namen der Grammatik mit dem Parameter
grammar_namein der JSON-Nachrichtstartfür die aktive Verbindung an. Die Übergabe dieses Wertes mit der Nachrichtstartversetzt Sie in die Lage, die Grammatik für jede Anforderung, die Sie über die Verbindung senden, dynamisch zu ändern.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); } -
Bei der synchronen HTTP-Schnittstelle übergeben Sie beide Parameter mit der Methode
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}" -
Bei der asynchronen HTTP-Schnittstelle übergeben Sie beide Parameter mit der Methode
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}"