翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ストリーミングと部分的な結果
ストリーミングはリアルタイムで機能するため、トランスクリプトは部分的な結果 で生成されます。 は、スピーカーの変更や音声の一時停止などの自然な音声セグメントに基づいて受信音声ストリームを Amazon Transcribe 分割します。文字起こしは文字起こしイベントのストリームとしてアプリケーションに返されます。セグメント全体の文字起こしが行われるまで、各レスポンスにはさらに多くの文字起こしされた音声が含まれます。
これの近似値は、次のコードブロックに示されています。AWS Management Console
この例では、各行は音声セグメントの部分的な結果です。
The
The Amazon.
The Amazon is
The Amazon is the law.
The Amazon is the largest
The Amazon is the largest ray
The Amazon is the largest rain for
The Amazon is the largest rainforest.
The Amazon is the largest rainforest on the
The Amazon is the largest rainforest on the planet.
これらの部分的な結果は、Results
オブジェクト内の文字起こし出力に含まれています。このオブジェクトブロックには IsPartialフィールドもあります。このフィールドが true の場合、文字起こしセグメントはまだ完成していません。不完全なセグメントと完全なセグメントの違いは以下で確認できます。
"IsPartial": true (incomplete segment)
"Transcript": "The Amazon is the largest rainforest." "EndTime": 4.545, "IsPartial": true, "ResultId": "12345a67-8bc9-0de1-2f34-a5b678c90d12", "StartTime": 0.025"IsPartial": false (complete segment)
"Transcript": "The Amazon is the largest rainforest on the planet." "EndTime": 6.025, "IsPartial": false, "ResultId": "34567e89-0fa1-2bc3-4d56-78e90123456f", "StartTime": 0.025
完全なセグメント内に含まれる各単語には、0
と 1
の間の値である信頼スコアが関連付けられています。値が大きいほど、その単語が正しく文字起こしされる可能性が高くなります。
ヒント
音声セグメントの StartTime
と EndTime
は、文字起こし出力とビデオダイアログを同期させることができます。
低レイテンシーを必要とするアプリケーションを実行している場合は、部分的な結果の安定化を使用するとよいでしょう。
部分的な結果の安定化
Amazon Transcribe は、音声のストリーミングを開始するとすぐに文字起こし結果を返します。これらの部分的な結果は、自然な音声セグメントのレベルで最終的な結果が生成されるまで、段階的に返されます。自然な音声セグメントは、一時停止やスピーカーの変更を含む連続音声です。
Amazon Transcribe は、音声セグメントの最終文字起こし結果を生成するまで、部分的な結果を出力し続けます。音声認識では、コンテキストが増えるにつれて単語が修正されることがあるため、新しい部分的な結果が出力されるたびに、ストリーミング文字起こしはわずかに変化する可能性があります。
このプロセスでは、各音声セグメントに対して 2 つのオプションがあります。
-
セグメントが完成するまで待つ
-
セグメントの部分的な結果を使用する
部分結果の安定化により、 が完全なセグメントごとに最終的な文字起こし結果 Amazon Transcribe を生成する方法が変わります。有効にすると、部分的な結果から最後の数単語だけを変更することができます。このため、文字起こしの精度に影響が出る可能性があります。ただし、文字起こしは部分的な結果の安定化を行わない場合よりも早く返されます。このレイテンシーの短縮は、動画の字幕やライブストリームのキャプションの生成に役立ちます。
以下の例は、部分的な結果の安定化が有効になっていない場合と有効になっている場合に、同じ音声ストリームがどのように処理されるかを示しています。安定性レベルは、低、中、高に設定できることに注意してください。安定性が低いと、最高の精度を実現します。安定性が高いと文字起こしは速くなりますが、精度はやや低下します。
「文字起こし」: |
"EndTime": |
"IsPartial": |
---|---|---|
部分的な結果の安定化は有効化されていません |
||
|
|
|
部分的な結果の安定化が有効です (安定性が高い) |
||
|
|
|
部分結果の安定化を有効にすると、 は Stable
フィールド Amazon Transcribe を使用して項目が安定しているかどうかを示します。ここで、「item」は文字起こしされた単語または句読点を指します。Stable
の値は true
または false
です。false
(安定していない) とフラグが立てられたアイテムは、セグメントが文字起こしされるにつれて変化する可能性が高くなります。逆に、true
(安定している) とフラグが付けられたアイテムは変わりません。
字幕が音声と一致するように、安定しない単語をレンダリングすることを選択できます。コンテキストが追加されるにつれて字幕が少し変わっても、音声と一致するかどうか分からないテキスを定期的に表示するよりか、こちらのほうがユーザーエクスペリエンスは向上します。
また、安定しない単語を斜体などの別の形式で表示して、これらの単語が変わる可能性があることを視聴者に伝えることもできます。また、部分的な結果を表示することで、一度に表示されるテキスト量を制限することができます。これは、動画キャプションのようにスペースに制約がある場合に重要になることがあります。
AWS Machine Learningブログでより深く掘り下げる
リアルタイム文字起こしによる精度の向上について詳しくは、以下をご覧ください。
部分的な結果の安定化の出力例
次の出力例は、不完全なセグメント ("IsPartial": true
) に対する Stable
のフラグを示しています。「to」と「Amazon」という単語は安定していないため、セグメントが確定される前に変更される可能性があることがわかります。
"Transcript": { "Results": [ { "Alternatives": [ { "Items": [ { "Content": "Welcome", "EndTime": 2.4225, "Stable": true, "StartTime": 1.65, "Type": "pronunciation", "VocabularyFilterMatch": false }, { "Content": "to", "EndTime": 2.8325, "Stable": false, "StartTime": 2.4225, "Type": "pronunciation", "VocabularyFilterMatch": false }, { "Content": "Amazon", "EndTime": 3.635, "Stable": false, "StartTime": 2.8325, "Type": "pronunciation", "VocabularyFilterMatch": false }, { "Content": ".", "EndTime": 3.635, "Stable": false, "StartTime": 3.635, "Type": "punctuation", "VocabularyFilterMatch": false } ], "Transcript": "Welcome to Amazon." } ], "EndTime": 4.165, "IsPartial": true, "ResultId": "12345a67-8bc9-0de1-2f34-a5b678c90d12", "StartTime": 1.65 } ] }