サービスの機能
IBM Watson® Speech to Text サービスは、音声書き起こしを最大限に活用するのに役立つために、多くの拡張機能が用意されています。 このサービスでは、複数の音声認識インターフェースを利用することができます。それらのインターフェースでは、音声をサービスに渡す方法や、サービスから返される結果を管理するために使用できる多くの機能がサポートされています。 また、サービスの語彙を拡張したり、音声の音響特性に合わせてサービスをカスタマイズしたりすることもできます。 また、すべての Watson サービスと同様に、多数のプログラミング言語でのアプリケーション開発を簡素化するための SDK が用意されています。
言語およびモデルの使用
このサービスは、言語サポートにリストされている多くの言語の音声認識をサポートします。 このサービスは、サポートする言語に対してさまざまなモデルを提供します。 ほとんどの言語モデルは、実動で使用するために一般出荷可能 (GA) です。一部はベータ版であり、変更される可能性があります。
- 一部の言語では、サービスは大規模な音声モデルを提供します。 詳しくは、 サポートされる大規模音声言語およびモデル を参照してください。
- このサービスは、前世代モデルの音声認識機能を向上させる次世代の マルチメディア ・モデルおよび テレフォニー ・モデルも提供します。 すべての次世代モデルは GA です。 次世代モデルは、前世代モデルよりも高いスループットと正確度で結果を返します。 詳しくは、次世代の言語とモデルを参照してください。
ほとんどの言語に対して、以下の 2 つのサンプリング・レートのいずれかで音声を書き起こすことができます。
- 最小サンプリング・レート (16 kHz) でサンプリングされる音声には、広帯域モデルまたはマルチメディア・モデルを使用します。
- 最小サンプリング・レート (8 kHz) でサンプリングされる音声には、狭帯域モデルまたはテレフォニー・モデルを使用します。
- 大容量音声モデルは、サンプリング・レート 8 kHz または 16 kHzのいずれかでサンプリングされた両方の音声をサポートします。
2023 年 8 月 1 日以降、すべての前世代モデルがサービスから 廃止 されました。 新しいお客様は、大規模な音声モデルまたは次世代モデルのみを使用する必要があります。 すべての既存のお客様は、同等の大規模音声モデルまたは次世代モデルに移行する必要があります。 詳しくは、 大規模音声モデルへのマイグレーション を参照してください。
音声フォーマットの使用
このサービスは、音声サポートにリストされている多くの音声フォーマットの音声認識をサポートします。 フォーマットによって、サポートされているサンプリング・レートなどの特性が異なります。 圧縮をサポートしているフォーマットを使用することで、単一の要求で送信できる音声データの量を最大化できます。
- 音声の概念について詳しくは、音声の用語と特性を参照してください。
- サービスで使用できる音声フォーマットについて詳しくは、サポートされる音声フォーマットを参照してください。
サービスでの音声認識
Speech to Text サービスには、WebSocket インターフェースと、同期および非同期の HTTP Representational State Transfer (REST) インターフェースが用意されています。
- WebSocket インターフェースは、全二重接続を使用した効率的で低遅延の高スループット実装を提供します。
- 同期 HTTP インターフェースは、ブロッキング要求を使用して音声を書き起こすための基本的なインターフェースを提供します。
- 非同期 HTTP インターフェースで提供される非ブロッキング・インターフェースを使用して、通知を受信するためのコールバック URL を登録したり、サービスにポーリングしてジョブのステータスと結果を確認するためのコールバック URL を登録したりできます。
すべてのインターフェースは同じ基本音声認識機能を提供しますが、使用するインターフェースに応じて、JSON オブジェクトのパラメーター、クエリー・パラメーター、または要求ヘッダーと同じパラメーターを指定する場合があります。 サービスは、要求で使用するインターフェースおよびパラメーターに応じて、異なる結果を返すこともできます。
- サービスの各インターフェースを使用して音声認識要求を行う方法については、音声認識要求の実行を参照してください。
- 音声認識要求の結果については、音声認識の結果についてを参照してください。
データ制限
インターフェースは、1 回の要求につき最大で以下の量の音声データを受け付けます。
- WebSocket インターフェースは最大 100 MB の音声を受け付けます。
- 同期 HTTP インターフェースは最大 100 MB の音声を受け付けます。
- 非同期 HTTP インターフェースは最大 1 GB の音声を受け付けます。
圧縮を使用してサービスに送信できるデータ量を最大化する方法について詳しくは、データ制限と圧縮を参照してください。
WebSocket インターフェースの利点
WebSocket インターフェースには、HTTP インターフェースと比較して、多くの利点があります。 WebSocket インターフェース
- 単一ソケットの全二重通信チャネルを提供します。 このインターフェースにより、クライアントは複数の要求をサービスに送信し、単一の接続を介して非同期の方法で結果を受信することができます。
- はるかにシンプルで強力なプログラミング・エクスペリエンスが得られます。 このサービスはイベント・ドリブンの応答をクライアントのメッセージに送信するため、クライアントがサーバーにポーリングする必要がなくなります。
- 単一の認証済み接続を確立して永続的に使用できます。 HTTP インターフェースでは、サービスに対する個別の呼び出しを認証する必要があります。
- 待ち時間が削減されます。 サービスが認識結果をクライアントに直接送信するため、認識結果の到着が早くなります。 HTTP インターフェースでは、同じ結果を得るために 4 つの異なる要求と接続が必要です。
- ネットワークの使用率が削減されます。 WebSocket プロトコルは軽量です。 ライブ音声認識を実行するために必要な接続は 1 つのみです。
- ブラウザー (HTML5 WebSocket クライアント) からサービスに直接、音声をストリーミングできます。
- 大規模スピーチモデル、次世代モデルを使用する場合、または中間結果を要求する場合、結果が利用可能になり次第、結果を返します。
音声認識パラメーターの使用
サービスの音声認識インターフェースは、音声をテキストに書き起こすためのほぼ共通パラメーターを共有しています。 これらのパラメーターを使用して、データをストリーミングするか、それとも一度にすべて送信するかといった要求の側面や、サービスで応答に含められる情報を調整することができます。
以下のセクションでは、音声認識パラメーターとその機能について紹介します。 一部のパラメーターは、一部の音声認識インターフェースまたは一部の言語とモデルでのみ使用可能です。 すべてのパラメーターとそのインターフェースおよび言語サポートについては、パラメーターの要約を参照してください。
発話または単語の検出
音声ストリームでモーメント・スピーチが検出されたときに通知イベントを受信するには、新しいパラメーター speech _begin_event を使用します。 この機能を使用すると、会話を開始するときにアプリケーションをリアルタイムで学習することができます。 この機能の一般的なユース・ケースは、自動化エージェント・システムでバージインを実装することです。 バージインは、発信者が発言を開始したときに音声再生を中断することで構成されます。 Speech to Text サービスが speech _begin_event 応答を返信するようにするには、値を true に設定します。これには、音声ストリーム内で音声アクティビティーが最初に検出された時刻が含まれます。 このパラメーターは、標準モードと低遅延モードの両方で使用できます。
- パラメーター名: speech_begin_event
- 要求パラメーター: speech_begin_event = true/false (boolean)
- 応答オブジェクト: "speech_begin_event.begin"。例: {"speech_begin_event": { "begin": }}
音声の送信とタイムアウト
- 音声伝送では、データ・チャンクの連続ストリームとして音声を渡す方法、または一度にすべてのデータを渡す 1 回限りの配信として音声を渡す方法について説明します。 WebSocket インターフェースの場合、音声データは常に、接続を介してサービスにストリーミングされます。 HTTP インターフェースでは、音声をストリーミングすることも、一度にすべて送信することもできます。
- タイムアウトは、音声ストリーミング中にデータのアクティブなフローを確保するためにサービスによって使用されます。 ストリーミング・セッションを開始すると、サービスは非アクティブとセッション・タイムアウトを強制します。アプリケーションはこのタイムアウトから正常にリカバリーする必要があります。 ストリーミング・セッション中にタイムアウトが経過した場合、サービスによって接続がクローズされます。
中間結果および低遅延
- 中間結果は、書き起こしの進行中にサービスが返す中間仮説です。 これらは、WebSocket インターフェースでのみ使用可能です。 書き起こしが完了すると、サービスは最終結果を返します。 HTTP インターフェースの場合、サービスでは常に、結果の送信前に音声ストリーム全体が書き起こされます。
中間結果は、大規模な音声モデルでは使用できません。
- 低遅延は、特定の次世代モデルで使用される場合、モデルが通常行うよりもさらに迅速に最終結果を生成するようにサービスに指示します。 低遅延は、WebSocket インターフェースと HTTP インターフェースで使用可能です。 低遅延は、モデルのすでに改善された応答時間をさらに強化しますが、書き起こしの正確度が低下する可能性があります。 WebSocket インターフェースで次世代モデルを使用する場合は、中間結果を取得するために低遅延が必要です。
低遅延は、大規模な音声モデルでは使用できません。
発話区間検出
音声解析
- 句の終わりの無音時間では、サービスが無音に応じて書き起こしを複数の最終結果に分割することになる休止間隔の時間を指定します。 音声ストリームの終わりに到達する前に休止や長い無音をサービスが検出した場合は、応答に複数の最終結果が含まれる可能性があります。 休止間隔を増減して、受け取る結果に影響を与えることができます。
- 句の終わりでの書き起こしの分割では、文などの意味素性に応じて書き起こしを複数の最終結果に分割するようにサービスに指示します。 サービスの意味素性の理解性能は、要求で使用する基本言語モデルがベースになります。 カスタム言語モデルおよび文法も、書き起こしを分割する方法と場所に影響を与えることがあります。
句の終わりでの書き起こしの分割は、大規模な音声モデルでは使用できません。
- 文字挿入バイアス は、大規模な音声モデルや次世代モデルが、音声認識中に仮説を立てる際に、短い文字列を優先するか、長い文字列を優先するかを指定する。 サービスは、書き起こしの仮説を立てる際に、異なる長さの競合するストリング間のバランスを取るために音声を解析する方法を最適化します。 サービスが分析をより短いストリングまたはより長いストリングに偏らせることを示すことができます。
文字挿入バイアスは、大規模な音声モデルでは使用できません。
話者ラベル
- 話者ラベルは、複数参加者交換の音声から異なる話者を識別します。 書き起こしでは、複数参加者による会話への各話者の貢献の単語と時間にラベルが付けられます。 話者ラベルはベータ機能です。
キーワード検出と単語候補
- キーワード検出では、ユーザー定義の信頼度レベルに基づいて、指定されたキーワード・ストリングに一致する発話句が識別されます。 キーワード検出が特に役に立つのは、書き起こし内容全体よりも音声に含まれる個別の句の方が重要な場合です。 例えば、お客様サポート・システムでは、識別されたキーワードに基づいてユーザーの要望の転送先を決定できます。
- 単語候補では、書き起こし結果に含まれる単語に音響的に類似している単語候補が提示されます。 識別される単語は、ユーザーによって指定された最小信頼性しきい値を満たしている必要があります。 このサービスでは、音声が類似している単語を識別し、その開始時刻と終了時刻、および可能性のある単語候補のその信頼性を示します。
これらの機能は、以前の生成モデルでのみサポートされています。 大規模な音声モデルや次世代モデルではサポートされません。
応答のフォーマット設定とフィルタリング
- スマート・フォーマット設定バージョン 2 は、日付、時刻、数値、英数字のシーケンス、通貨値、数値データ、E メール、URL、IP アドレス、クレジット・カード番号、および指示された句読点を、より読みやすい従来型の形式に変換する新しい機能です。 これは、米国英語、ブラジル・ポルトガル語、フランス語、ドイツ語、カスティリャ・スペイン語、スペイン語ラテンアメリカ、およびフランス・カナダ語の大規模な音声モデルおよび次世代モデルでのみサポートされます。 また、en-WW_Medical_Telephony モデルでは、米国英語音声を認識する場合にも使用できます。
- スマート・フォーマット設定では、日付、時刻、数値、金額、電話番号、およびインターネット・アドレスが、読みやすい標準的形式に変換されて、最終書き起こし結果に出力されます。 米国英語の場合は、最終書き起こし結果で特定の句読点記号を追加するキーワード句を指定することもできます。 スマート・フォーマット設定はベータ機能です。
- 数値編集では、最終書き起こし結果で数値データを編集 (伏せ字) します。 編集は、クレジット・カード番号などの機密性の高い個人情報を最終書き起こしから削除することを目的としています。 数値編集はベータ機能です。
- 禁止用語フィルター は、書き起こしおよびメタデータから用語禁止を検閲します。
応答のメタデータ
- 最大候補数では、可能性のある書き起こし候補が返されます。 サービスでは、信頼度が最も高い最終結果が提示されます。
- 単語の信頼度では、書き起こし結果に含まれる各単語の信頼度レベルが返されます。
- 単語のタイム・スタンプでは、書き起こし結果に含まれる各単語の開始と終了のタイム・スタンプが返されます
これらの機能は、以前のモデルと次世代のモデルでのみサポートされます。 大規模な音声モデルではサポートされていません。
処理メトリックと音声メトリック
- 処理メトリックは、このサービスによる入力音声分析に関する詳細なタイミング情報を提供します。 サービスは、指定された間隔で、中間結果や最終結果などの書き起こしイベントと一緒にメトリックを返します。 メトリックを使用して、音声の書き起こしにおけるサービスの進行状況を測定できます。 処理メトリックは、WebSocket インターフェースおよび非同期 HTTP インターフェースを使用して要求できます。
- 音声メトリックは、入力音声の信号特性に関する詳細情報を提供します。 音声処理終了時に入力音声全体の集約メトリックが結果で示されます。 メトリックを使用して、音声の特性と品質を判別できます。 音声メトリックは、サービスの任意のインターフェースを使用して要求できます。
サービスのカスタマイズ
カスタマイズ・インターフェースを使用すると、カスタム・モデルを作成してサービスの音声認識機能を向上させることができます。
- カスタム言語モデルを使用することにより、基本モデル用の分野固有の単語を定義できます。 カスタム言語モデルは、医療や法律などの分野固有の用語を追加してサービスの基本語彙を拡張することができます。 言語モデルのカスタマイズは、大規模音声モデル、前世代モデル、次世代モデルで利用可能ですが、3つのタイプで動作が異なります。
- カスタム音響モデルを使用することにより、対象の環境と話者の音響特性に基本モデルを適合させることができます。 カスタム音響モデルは、固有の音響特性によってサービスの音声認識機能を向上させます。 音響モデル・カスタマイズは、前世代モデルでのみ使用可能です。
- 文法を使用することにより、文法のルールで定義された句のみをサービスで認識可能になるように制限できます。 有効なストリングの検索スペースを制限することで、サービスは通常より高速かつ正確に結果を返すことができます。 文法はカスタム言語モデル用に作成され、使用されます。 サービスは通常、言語モデル・カスタマイズをサポートする言語およびモデルの文法をサポートします。 文法は、以前のモデルと次世代のモデルでのみ使用できます。
カスタム言語モデル (文法の有無にかかわらず)、カスタム音響モデル、またはその両方を使用して、サービスのいずれかのインターフェースで音声認識を行うことができます。
- カスタマイズとその機能の概要について詳しくは、カスタマイズについてを参照してください。
- カスタマイズをサポートする言語について詳しくは、各言語でのカスタマイズのサポートを参照してください。
IBM Cloud言語モデルまたは音響モデルのカスタマイズを使用するには、Plus、Standard、または Premium のいずれかの料金プランが必要です。 ライト・プランのユーザーはカスタマイズ・インターフェースを使用できませんが、プラス・プランにアップグレードしてカスタマイズにアクセスできます。 詳しくは、料金設定に関する FAQ を参照してください。
Software Development Kit の使用
音声アプリケーションの開発を簡素化するための Speech to Text サービス用の SDK が提供されています。 SDK は、多くの一般的なプログラミング言語とプラットフォームをサポートしています。
- 全 SDK のリストと、GitHub 上のこれらの SDK へのリンクについては、Watson SDKを参照してください。
- Speech to TextサービスのSDKのすべてのメソッドの詳細については、API & SDKリフレンスをァ参照してください。
アプリケーション開発に関する詳細
Watson サービスおよび IBM Cloudの操作について詳しくは、以下を参照してください。
- 概要については、Watson および IBM Cloud の概要を参照してください。
- IBM Cloud の ID およびアクセス管理の使用について詳しくは、Watson サービスに対する認証を参照してください。
次のステップ
このトピックで紹介する機能を検討して、サービスの機能をより深く理解してください。 各機能には、それを詳細に説明するトピックへのリンクが含まれています。
- 言語およびモデルの使用および音声フォーマットの使用は、サービスの機能の基本的な基礎を説明しています。 音声に適した言語とモデルを選択する必要があります。また、その選択を行い、音声をサービスに渡すには、音声の特性を理解する必要があります。
- サービスで音声の認識には、音声認識の要求と応答の単純な例へのリンクが提供されています。 また、サービスの各インターフェースの詳細なプレゼンテーションへのリンクもあります。 ご使用のアプリケーションのニーズに最も適したものを判別するために、インターフェースの詳細を学習し、インターフェースを試してみます。
- 音声認識パラメーターの使用では、ニーズに合わせて音声認識要求と書き起こし応答を調整するために使用できる多くのパラメーターが導入されます。 サービスの WebSocket インターフェースと HTTP インターフェースは、一連の印象的な機能をサポートします。これらの機能のほとんどは、サポートされるすべてのインターフェースに共通しています。 適切なパラメーターを見つけるには、リンクを使用してください。
- サービスのカスタマイズでは、言語モデル・カスタマイズと音響モデル・カスタマイズのより高度なトピックについて説明します。これは、サービスの機能を最大限に活用するのに役立つことができます。 このセクションでは、文法についても説明します。文法は、言語モデルで使用して、正確なストリングや句に対する可能な応答を制限することができます。
- Software Development Kit の使用には、多くのプログラミング言語でアプリケーション開発を簡素化するために使用できる SDK へのリンクが用意されています。
- アプリケーション開発について詳しく学ぶ には、Watsonサービスを使い始め、認証を理解するのに役立つリンクがあります。