IBM Cloud Docs
音声認識での文法の使用

音声認識での文法の使用

文法を使用してカスタム言語モデルを作成およびトレーニングすると、その文法を音声認識要求で使用できます。

  • language_customization_id 照会パラメーターを使用して、文法が定義されているカスタム言語モデルのカスタマイズ ID (GUID) を指定します。 カスタム言語モデルは、そのモデルを作成する際に使用された基本モデルでのみ使用できます。 カスタム・モデルがデフォルト以外のモデルに基づいている場合は、model照会パラメーターを使用してその基本モデルも指定する必要があります。 詳細は 、「デフォルトモデルの使用 」を参照してください。 要求は、モデルを所有するサービス・インスタンスの資格情報を使用して行う必要があります。
  • grammar_name パラメーターを使用して、文法の名前を指定します。 1 つの要求で指定できるのは、単一の文法のみです。

文法を使用する際は、指定された文法内の単語のみがサービスで認識されます。 サービスでは、コーパスから追加されたカスタム単語、個別に追加または変更されたカスタム単語、および他の文法によって認識されるカスタム単語は使用されません。

文法をサポートする言語とモデル、およびそのサポート・レベル (一般出荷可能またはベータ版) について詳しくは、各言語でのカスタマイズのサポートを参照してください。

文法とカスタム言語モデルの使用例

以下の例は、各音声認識インターフェースのカスタム言語モデルでの文法の使用を示しています。

  • 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}"