バッチ文字起こしジョブを使用した言語の識別 - Amazon Transcribe

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

バッチ文字起こしジョブを使用した言語の識別

バッチ言語識別を使用して、メディアファイル内の 1 つまたは複数の言語を自動的に識別します。

メディアに 1 つの言語しか含まれていない場合は、単一言語識別を有効にできます。これにより、メディアファイルで使用されている主要言語が識別され、その言語のみを使用してトランスクリプトが作成されます。

メディアに複数の言語が含まれている場合、多言語識別を有効にできます。これにより、メディアファイルで使用されているすべての言語を識別し、識別された各言語を使用してトランスクリプトを作成できます。多言語のトランスクリプトが作成されることに注意してください。などの他の サービスを使用して Amazon Translate、トランスクリプトを翻訳できます。

サポートされている言語と関連する言語コードの完全なリストについては、「サポートされている言語」の表を参照してください。

最良の結果を得るには、メディアファイルに少なくとも 30 秒の音声が入っていることを確認します。

AWS Management Console、、および AWS Python SDK の使用例については AWS CLI、「」を参照してくださいバッチ文字起こしによる言語識別の使用

多言語音声の言語識別

多言語識別は多言語のメディアファイルを対象としており、メディア内のすべてのサポートされている言語を反映したトランスクリプトを提供します。つまり、会話の途中でスピーカーが言語を変更したり、各参加者が異なる言語を話したりしても、文字起こし出力は各言語を正しく検出して文字起こしします。たとえば、メディアに米国英語 (en-US) とヒンディー語 (hi-IN) を交互に話すバイリンガルのスピーカーがいる場合、多言語識別により、米国英語を en-US とし、ヒンディー語を hi-IN として識別して文字起こしすることができます。

これは、1 つの主要言語だけ使ってトランスクリプトを作成する単一言語識別とは異なります。この場合、主要言語ではない話し言葉はすべて正しく文字起こしされません。

注記

現在、リダクションとカスタム言語モデルは多言語識別ではサポートされていません。

注記

現在、多言語識別では、en-AB、en-AU、en-GB、en-IE、en-IN、en-NZ、en-US、en-WL、en-ZA、es-ES、es-US、fr-CA、fr-FR、zh-CN、zh-TW、pt-BR、pt-PT、de-CH、de-DE、af-ZA、ar-AE、da-DK、he-IL、hi-IN、id-ID、fa-IR、it-IT、ja-JP、ko-KR、ms-MY、nl-NL、ru-RU、ta-IN、te-IN、th-IN、th-TR-TR がサポートされています。

多言語のトランスクリプトには、検出された言語の概要と、メディア内で各言語が話された合計時間が表示されます。例を示します。

"results": { "transcripts": [ { "transcript": "welcome to Amazon transcribe. ये तो उदाहरण हैं क्या कैसे कर सकते हैं ।一つのファイルに複数の言語を書き写す" } ], ... "language_codes": [ { "language_code": "en-US", "duration_in_seconds": 2.45 }, { "language_code": "hi-IN", "duration_in_seconds": 5.325 }, { "language_code": "ja-JP", "duration_in_seconds": 4.15 } ] }

言語識別の精度の向上

言語識別では、メディアに存在すると思われる言語のリスト含めるオプションがあります。言語オプション (LanguageOptions) を含めると Amazon Transcribe 、音声を正しい言語と一致させるときに指定した言語のみを使用するように制限されます。これにより、言語識別が高速化され、正しい言語ダイアレクトの割り当てに関連する精度が向上します。

言語コードを含める場合は、少なくとも 2 つ含める必要があります。含められる言語コードの数に制限はありませんが、効率と精度を最適化するために、2~5 つの言語コードを使用することをおすすめします。

注記

リクエストに言語コードを含め、指定した言語コードが音声で識別される言語と一致しない場合、 Amazon Transcribe は指定した言語コードから最も近い言語を選択します。次に、その言語の文字起こしが作成されます。例えば、メディアが米国英語 (en-US) で、 Amazon Transcribe 言語コード zh-CN、、および を指定した場合de-DE、メディア Amazon Transcribe をドイツ語 (de-DE) と照合しfr-FR、ドイツ語の文字起こしを生成する可能性があります。言語コードと話し言葉が一致しないと、文字起こしが不正確になる可能性があるため、言語コードを含める際には注意が必要です。

言語識別と他の Amazon Transcribe 機能の組み合わせ

バッチ言語識別は、他の Amazon Transcribe 機能と組み合わせて使用できます。言語識別を他の機能と組み合わせる場合、それらの機能でサポートされている言語に制限されます。例えば、コンテンツ編集で言語識別を使用する場合、秘匿化に使用できる言語は米国英語 (en-US) または米国スペイン語 (es-US) に制限されます。詳細については、「サポートされている言語および言語固有の機能」を参照してください。

重要

コンテンツ編集を有効にして自動言語識別を使用し、音声に米国英語 (en-US) または米国スペイン語 () 以外の言語が含まれている場合es-US、トランスクリプトでは米国英語または米国スペイン語のコンテンツのみが編集されます。他の言語は編集できず、警告やジョブの失敗のお知らせは表示されません。

カスタム言語モデル、カスタム語彙、カスタム語彙フィルター

言語識別リクエストに 1 つ以上のカスタム言語モデル、カスタム語彙、またはカスタム語彙フィルターを追加する場合は、LanguageIdSettings パラメータを含める必要があります。次に、対応するカスタム言語モデル、カスタム語彙、カスタム語彙フィルターを使用して言語コードを指定できます。多言語識別はカスタム言語モデルをサポートしていないことに注意してください。

LanguageIdSettings を使用する際には、正しい言語の方言が確実に識別されるように、LanguageOptions を含めることをおすすめします。例えば、en-USカスタム語彙を指定しても、メディアで話されている言語が Amazon Transcribe であると判断した場合en-AU、カスタム語彙は文字起こしに適用されませんLanguageOptions を含め、en-US を英語の方言のみとして指定すると、カスタム語彙が文字起こしに適用されます

リクエストの LanguageIdSettings の例については、バッチ文字起こしによる言語識別の使用 セクションの AWS CLI および AWS SDK ドロップダウンパネルの「オプション 2」参照してください。

バッチ文字起こしによる言語識別の使用

バッチ文字起こしジョブで、AWS Management ConsoleAWS CLI、または AWS SDK を使用して、自動言語識別を使用できます。例については、次を参照してください。

  1. AWS Management Consoleにサインインします。

  2. ナビゲーションペインで、[文字起こしジョブ] を選択後、[ジョブの作成] (右上) を選択します。これにより、「ジョブの詳細を指定」ページが開きます。

  3. ジョブの設定パネルで、言語設定セクションを見つけ、[自動言語識別] または [自動多言語識別] を選択します。

    音声ファイルに含まれる言語がわかっている場合は、(「言語を選択」ドロップダウンボックスから) 複数の言語オプションを選択できます。言語オプションを提供することで、精度を向上させることができますが、必須ではありません。

    Amazon Transcribe コンソールのスクリーンショット:「ジョブの詳細を指定」ページの「ジョブ設定」ペイン。
  4. ジョブの詳細を指定ページに追加したいその他のフィールドに入力し、「次へ」を選択します。これにより、ジョブの設定 - オプションページへ移動します。

    Amazon Transcribe コンソールのスクリーンショット:「ジョブの設定」ページ。
  5. [ジョブの作成] を選択して、文字起こしジョブを実行します。

この例では、 start-transcription-job コマンドと IdentifyLanguageパラメータを使用します。詳細については、「StartTranscriptionJob」および「LanguageIdSettings」を参照してください。

オプション 1: language-id-settings パラメータを使用しない場合。リクエストにカスタム言語モデル、カスタム語彙、カスタム語彙フィルターを含めない場合は、このオプションを使用してください。language-options はオプションですが、推奨されます。

aws transcribe start-transcription-job \ --region us-west-2 \ --transcription-job-name my-first-transcription-job \ --media MediaFileUri=s3://DOC-EXAMPLE-BUCKET/my-input-files/my-media-file.flac \ --output-bucket-name DOC-EXAMPLE-BUCKET \ --output-key my-output-files/ \ --identify-language \ (or --identify-multiple-languages) \ --language-options "en-US" "hi-IN"

オプション 2: language-id-settings パラメータを使用する場合。リクエストにカスタム言語モデル、カスタム語彙、カスタム語彙フィルターを含める場合は、このオプションを使用してください。

aws transcribe start-transcription-job \ --region us-west-2 \ --transcription-job-name my-first-transcription-job \ --media MediaFileUri=s3://DOC-EXAMPLE-BUCKET/my-input-files/my-media-file.flac \ --output-bucket-name DOC-EXAMPLE-BUCKET \ --output-key my-output-files/ \ --identify-language \ (or --identify-multiple-languages) --language-options "en-US" "hi-IN" \ --language-id-settings en-US=VocabularyName=my-en-US-vocabulary,en-US=VocabularyFilterName=my-en-US-vocabulary-filter,en-US=LanguageModelName=my-en-US-language-model,hi-IN=VocabularyName=my-hi-IN-vocabulary,hi-IN=VocabularyFilterName=my-hi-IN-vocabulary-filter

start-transcription-job コマンドと、言語を識別するリクエスト本文を使用する別の例を次に示します。

aws transcribe start-transcription-job \ --region us-west-2 \ --cli-input-json file://filepath/my-first-language-id-job.json

ファイル my-first-language-id-job.json には、次のリクエスト本文が含まれています。

オプション 1: LanguageIdSettings パラメータを使用しない場合。リクエストにカスタム言語モデル、カスタム語彙、カスタム語彙フィルターを含めない場合は、このオプションを使用してください。LanguageOptions はオプションですが、推奨されます。

{ "TranscriptionJobName": "my-first-transcription-job", "Media": { "MediaFileUri": "s3://DOC-EXAMPLE-BUCKET/my-input-files/my-media-file.flac" }, "OutputBucketName": "DOC-EXAMPLE-BUCKET", "OutputKey": "my-output-files/", "IdentifyLanguage": true, (or "IdentifyMultipleLanguages": true), "LanguageOptions": [ "en-US", "hi-IN" ] }

オプション 2: LanguageIdSettings パラメータを使用する場合。リクエストにカスタム言語モデル、カスタム語彙、カスタム語彙フィルターを含める場合は、このオプションを使用してください。

{ "TranscriptionJobName": "my-first-transcription-job", "Media": { "MediaFileUri": "s3://DOC-EXAMPLE-BUCKET/my-input-files/my-media-file.flac" }, "OutputBucketName": "DOC-EXAMPLE-BUCKET", "OutputKey": "my-output-files/", "IdentifyLanguage": true, (or "IdentifyMultipleLanguages": true) "LanguageOptions": [ "en-US", "hi-IN" ], "LanguageIdSettings": { "en-US" : { "LanguageModelName": "my-en-US-language-model", "VocabularyFilterName": "my-en-US-vocabulary-filter", "VocabularyName": "my-en-US-vocabulary" }, "hi-IN": { "VocabularyName": "my-hi-IN-vocabulary", "VocabularyFilterName": "my-hi-IN-vocabulary-filter" } } }

この例では、 を使用して AWS SDK for Python (Boto3) 、start_transcription_job メソッドの IdentifyLanguage引数を使用してファイルの言語を識別します。詳細については、「StartTranscriptionJob」および「LanguageIdSettings」を参照してください。

機能固有の例、シナリオ例、クロスサービス例など、 AWS SDKsを使用した Amazon Transcribe のコード例 AWS SDKs「」の章を参照してください。

オプション 1: LanguageIdSettings パラメータを使用しない場合。リクエストにカスタム言語モデル、カスタム語彙、カスタム語彙フィルターを含めない場合は、このオプションを使用してください。LanguageOptions はオプションですが、推奨されます。

from __future__ import print_function import time import boto3 transcribe = boto3.client('transcribe', 'us-west-2') job_name = "my-first-transcription-job" job_uri = "s3://DOC-EXAMPLE-BUCKET/my-input-files/my-media-file.flac" transcribe.start_transcription_job( TranscriptionJobName = job_name, Media = { 'MediaFileUri': job_uri }, OutputBucketName = 'DOC-EXAMPLE-BUCKET', OutputKey = 'my-output-files/', MediaFormat = 'flac', IdentifyLanguage = True, (or IdentifyMultipleLanguages = True), LanguageOptions = [ 'en-US', 'hi-IN' ] ) while True: status = transcribe.get_transcription_job(TranscriptionJobName = job_name) if status['TranscriptionJob']['TranscriptionJobStatus'] in ['COMPLETED', 'FAILED']: break print("Not ready yet...") time.sleep(5) print(status)

オプション 2: LanguageIdSettings パラメータを使用する場合。リクエストにカスタム言語モデル、カスタム語彙、カスタム語彙フィルターを含める場合は、このオプションを使用してください。

from __future__ import print_function import time import boto3 transcribe = boto3.client('transcribe') job_name = "my-first-transcription-job" job_uri = "s3://DOC-EXAMPLE-BUCKET/my-input-files/my-media-file.flac" transcribe.start_transcription_job( TranscriptionJobName = job_name, Media = { 'MediaFileUri': job_uri }, OutputBucketName = 'DOC-EXAMPLE-BUCKET', OutputKey = 'my-output-files/', MediaFormat='flac', IdentifyLanguage=True, (or IdentifyMultipleLanguages=True) LanguageOptions = [ 'en-US', 'hi-IN' ], LanguageIdSettings={ 'en-US': { 'VocabularyName': 'my-en-US-vocabulary', 'VocabularyFilterName': 'my-en-US-vocabulary-filter', 'LanguageModelName': 'my-en-US-language-model' }, 'hi-IN': { 'VocabularyName': 'my-hi-IN-vocabulary', 'VocabularyFilterName': 'my-hi-IN-vocabulary-filter' } } ) while True: status = transcribe.get_transcription_job(TranscriptionJobName = job_name) if status['TranscriptionJob']['TranscriptionJobStatus'] in ['COMPLETED', 'FAILED']: break print("Not ready yet...") time.sleep(5) print(status)