文字起こしの編集
文字起こしの編集
このガイドでは、Speech to Text APIを使って自然言語の指示で文字起こしを編集する方法を紹介します。
ハウツーガイド · Speech to Text クイックスタートを完了していることを前提としています。
概要
文字起こしの編集は実験的機能であり、基本の文字起こし料金に加えて30%の追加料金がかかります。 リクエストごとに最低10秒分のオーディオが課金対象です。詳しい料金については、API 料金ページ をご覧ください。
文字起こしの編集では、文字起こしリクエストに自然言語の指示を追加できます。オーディオの文字起こし後、その指示が文字起こしに適用され、元のテキストとともに編集済みテキストが返されます。
これにより、自前のパイプラインで個別に後処理を行う必要がなくなります。一般的な用途には、日付、時刻、単位の表記統一、略語の展開、不要なコンテンツの削除、スタイルやトーンの変更、文字起こしの再フォーマットなどがあります。
たとえば、Write all dates in ISO 8601 format (YYYY-MM-DD)という指示で留守番電話を文字起こしすると、両方のテキストバージョンが返されます。
textフィールドとwordsフィールドは常に元の文字起こしを表します。編集済みバージョンはedited_transcriptで別途返されます。
文字起こし編集の統合
文字起こしの編集は、convertメソッドにtranscript_editパラメータを渡すことでSpeech to Text APIに統合できます。指示は最大2000文字です。
文字起こしの編集は、同期リクエストとwebhookリクエストの両方で利用できます。webhookリクエストでは、edited_transcriptがwebhookペイロードのtranscriptionオブジェクトに含まれます。
Scribe v2 Realtimeでは、確定した各文字起こしに同じ指示を適用できます。詳しくは、リアルタイム文字起こし編集ガイドをご覧ください。
指示の書き方
指示は、関連する箇所すべてで文字起こし全体に適用され、最初の一致箇所だけでなく、すべての一致箇所が編集されます。指示では特定の単語やフレーズのみを変更して他をそのままにしたり、テキスト全体を書き換えたり注釈を追加したりできます。1つの指示で複数の編集を組み合わせることもできます。
以下の例は、対応している指示の範囲を示しています。
一部の調整には、編集指示よりも安価で予測しやすい専用パラメータがあります。特定の名前や用語の認識を
優先させるにはkeyterm
prompting、フィラーワードや
非流暢な発話を削除するにはno_verbatim、数字と単語のどちらを使用するか選ぶには(対応している場合)
numbers_formatを使用してください。これらのオプションで対応できない変更には、文字起こしの編集を使用してください。
指示を作成する際は、次の点に留意してください。
- 求める出力を明確に指定してください。
Write all dates in ISO 8601 format (YYYY-MM-DD)は、fix the datesよりも信頼性があります。 - 指示はどの言語でも記述できますが、英語で書かれた指示が最も効果的です。編集済み文字起こしは元の言語のままです。
- 実行されるのは指示のみです。オーディオ内で発話された内容はデータとして扱われ、指示の適用方法を変更することはできません。
- 文字起こし内に指示の影響を受ける箇所がない場合、編集済み文字起こしは元のものと同一です。
レスポンス形式
transcript_editを設定すると、レスポンスにはedited_transcriptオブジェクトが含まれます。そのkindフィールドは、編集が成功したかどうかを示します。
transcript_editがリクエストされていない場合、このフィールドは存在しません。
注意すべき動作:
- 編集済み文字起こしはプレーンテキストです。単語レベルのタイムスタンプ、話者ラベル、
additional_formatsは引き続き元の文字起こしを表します。 - 編集は文字起こしの完了後に実行されるため、文字起こしの長さに応じてレイテンシーが増加します。
- 追加料金はリクエストのオーディオ時間に適用され、リクエストごとに最低10秒分が課金されます。
文字起こしの編集は、entity_detection、entity_redaction、use_multi_channelと組み合わせることはできません。
これらを組み合わせたリクエストは、無効なパラメータエラーで拒否されます。