Amazon Transcribe で実装する音声文字起こし - リアルタイム変換とカスタム語彙

バッチとリアルタイムの音声文字起こしを提供し、カスタム語彙で業界固有の精度を向上させる。Call Analytics によるコンタクトセンターの品質管理も紹介します。

Transcribe の API 体系

Transcribe は音声をテキストに変換する自動音声認識 (ASR) サービスです。バッチ API は S3 に保存された音声ファイル (MP3、MP4、WAV、FLAC など) を非同期で処理し、JSON 形式の文字起こし結果を返します。ストリーミング API は WebSocket または HTTP/2 経由でリアルタイムの音声文字起こしを提供し、数百ミリ秒の遅延でテキストを生成します。ライブ配信の字幕、会議のリアルタイム議事録、コンタクトセンターのリアルタイムアシストに活用できます。対応言語は 100 以上で、日本語、英語、中国語、スペイン語、フランス語などの主要言語に加え、多数の方言バリエーションにも対応しています。自動言語識別機能を使えば、入力音声の言語を自動判定して適切なモデルで処理することも可能です。

精度向上のためのカスタマイズ

カスタム語彙は、業界固有の専門用語、製品名、人名など、標準モデルでは認識精度が低い単語を登録する機能です。テーブル形式で単語、発音 (IPA)、表示形式を定義し、文字起こしジョブに適用します。例えば、医療分野では薬品名や疾患名、IT 分野ではサービス名やプロトコル名を登録することで精度が大幅に向上します。カスタム言語モデルはさらに高度なカスタマイズで、ドメイン固有のテキストデータ (議事録、マニュアル、FAQ) をトレーニングデータとして投入し、そのドメインに特化した言語モデルを構築します。語彙フィルタ機能では、文字起こし結果から不適切な単語を自動的にマスキングまたは削除でき、放送コンテンツや公開議事録の品質管理に有効です。

Call Analytics とコンタクトセンター活用

Transcribe Call Analytics はコンタクトセンターの通話分析に特化した機能です。通話の文字起こしに加え、話者ごとの感情分析 (ポジティブ、ネガティブ、ニュートラル)、通話中断の検出、沈黙時間の計測を自動実行します。カテゴリ機能でキーワードやフレーズに基づくルールを定義し、通話を自動分類できます。例えば「解約」「クレーム」というキーワードを含む通話を自動的にフラグ付けし、スーパーバイザーのレビュー対象にするワークフローを構築できます。自動コンテンツリダクションは、文字起こし結果からクレジットカード番号、社会保障番号などの PII を自動的にマスキングします。Amazon Connect と統合すると、リアルタイムの通話文字起こしをエージェントの画面に表示しながら、ナレッジベースから関連回答を自動検索する Contact Lens の機能が利用できます。 文字起こしについて体系的に学びたい方は、関連書籍 (Amazon)も参考になります。

他の音声認識サービスとの比較

Transcribe は AWS エコシステム内での統合が最大の強みです。S3 からの直接入力、Lambda でのイベント駆動処理、Connect との統合、Comprehend との連携 (文字起こし後のエンティティ抽出・感情分析) がシームレスに行えます。Google Cloud Speech-to-Text は音声認識モデルの精度 (特に英語) で強みがあり、話者ダイアライゼーションの粒度が細かい点が特徴です。Azure Speech Services は Microsoft 365 との統合や Teams の文字起こしに強みがあります。Transcribe の差別化ポイントは、Call Analytics による通話分析の組み込み機能、Medical Transcribe による医療特化モデル (HIPAA 対応)、そして AWS の従量課金モデルによる少量利用時のコスト優位性です。大量の音声データを既に S3 に保有している組織や、Contact Center を AWS 上に構築している場合は、Transcribe が最も自然な選択肢となります。

Transcribe の料金

Transcribe の料金は処理した音声の秒数で課金されます。バッチ文字起こしは 1 秒あたり約 0.00024 ドル (1 分あたり約 0.0144 ドル) で、月間 60 分までは無料利用枠に含まれます。ストリーミング文字起こしは 1 秒あたり約 0.00024 ドルです。Call Analytics は通常の文字起こし料金に加え、分析料金が 1 分あたり約 0.02 ドル追加されます。カスタム語彙の利用に追加料金は発生しませんが、カスタム言語モデルのトレーニングは別途課金されます。大量の音声ファイルを処理する場合、バッチ API で非同期処理し、S3 と Lambda のイベント駆動パイプラインでコストを最適化します。なお、Medical Transcribe は標準版と別料金体系で 1 秒あたり約 0.000175 ドルです。

設計のベストプラクティスと注意点

Transcribe を本番運用する際の設計上の注意点があります。バッチ API は同時実行数にデフォルト 250 ジョブの制限があり、大量ファイルを一括処理する場合は SQS キューでスロットリングを制御する設計が必要です。ストリーミング API の接続は最大 4 時間で自動切断されるため、長時間の会議録では再接続ロジックを実装してください。音声品質が認識精度に直結するため、入力音声はサンプリングレート 16kHz 以上、ビットレート 128kbps 以上を推奨します。ノイズの多い環境 (コールセンターの電話回線など) では、カスタム語彙の活用と合わせてチャネル分離 (話者ごとに別チャネルで録音) を行うことで精度が大幅に改善します。文字起こし結果の後処理として、Comprehend でエンティティ抽出を行い、構造化データとして DynamoDB に保存するパターンが多くの本番システムで採用されています。

まとめ

Transcribe はバッチとリアルタイムの両方の音声文字起こしを提供する ASR サービスです。カスタム語彙と言語モデルでドメイン固有の精度を向上させ、Call Analytics でコンタクトセンターの品質管理を自動化できます。S3 と Lambda を組み合わせたイベント駆動アーキテクチャで、音声ファイルのアップロードをトリガーにした自動文字起こしパイプラインを構築できます。AWS エコシステムとの緊密な統合が強みであり、既存の AWS インフラ上に音声処理基盤を構築する場合に最適な選択肢です。