使用文法進行語音辨識
使用語法建立並訓練自訂語言模型後,您就可以在語音辨識要求中使用語法:
- 使用
language_customization_id查詢參數指定定義文法的自訂語言模型的自訂 ID (GUID)。 自訂模型只能與其建立目的的基礎模型搭配使用。 如果您的自訂模型是基於預設以外的模型,您也必須使用model查詢參數指定該基本模型。 如需詳細資訊,請參閱 使用預設模型。 您必須使用擁有該模型之服務實例的認證來發出要求。 - 使用
grammar_name參數來指定文法的名稱。 在一個要求中,只能指定單一文法。
當您使用文法時,該服務只會辨識指定文法中的字組。 該服務不會使用從語料庫中新增、個別新增或修改或是由其他文法所辨識的自訂字組。
有關支援語法的語言和模型及其支援等級 (一般可用或測試版) 的詳細資訊,請參閱 自訂語言支援。
搭配使用文法與自訂語言模型的範例
以下範例顯示每個語音辨識介面使用自訂語言模型的文法:
-
對於 WebSocket 介面,首先請使用
language_customization_id方法的/v1/recognize參數來指定自訂作業 ID。 您可以使用此方法來建立與服務的 WebSocket 連線。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);然後,在針對作用中連線的 JSON
grammar_name訊息中,使用start參數來指定文法的名稱。 使用start訊息傳遞此值,容許您針對透過連線傳送的每個要求動態變更文法。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); } -
對於同步 HTTP 介面,請使用
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}" -
對於非同步 HTTP 介面,使用
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}"