替代转录 - Amazon Transcribe

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

替代转录

Amazon Transcribe转录音频时,它会创建同一脚本的不同版本,并为每个版本分配置信度分数。在典型的转录中,你只能得到置信度分数最高的版本。

如果您开启备用转录,则Amazon Transcribe返回可信度较低的其他成绩单版本。您最多可以选择返回 10 个备用转录。如果您指定的备选方案数量多于所Amazon Transcribe识别的替代项数,则仅返回替代项的实际数量。

所有备选方案都位于同一个转录输出文件中,并在片段级别上呈现。片段是语音中的自然暂停,例如更换扬声器或音频暂停。

替代转录仅适用于批量转录。

您的转录输出的结构如下。省略号 (... ) 为简洁起见,在代码示例中指明了内容在哪里被删除。

  1. 给定片段的完整最终转录。

    "results": { "language_code": "en-US", "transcripts": [ { "transcript": "The amazon is the largest rainforest on the planet." } ],
  2. 上一transcript节中每个单词的置信度分数。

    "items": [ { "start_time": "1.15", "end_time": "1.35", "alternatives": [ { "confidence": "1.0", "content": "The" } ], "type": "pronunciation" }, { "start_time": "1.35", "end_time": "2.05", "alternatives": [ { "confidence": "1.0", "content": "amazon" } ], "type": "pronunciation" },
  3. 您的替代转录位于转录输出的segments部分。每个区段的备选方案按置信度分数降序排序。

    "segments": [ { "start_time": "1.04", "end_time": "5.065", "alternatives": [ { ... "transcript": "The amazon is the largest rain forest on the planet.", "items": [ { "start_time": "1.15", "confidence": "1.0", "end_time": "1.35", "type": "pronunciation", "content": "The" }, ... { "start_time": "3.06", "confidence": "0.0037", "end_time": "3.38", "type": "pronunciation", "content": "rain" }, { "start_time": "3.38", "confidence": "0.0037", "end_time": "3.96", "type": "pronunciation", "content": "forest" },
  4. 转录输出末尾的状态。

    "status": "COMPLETED" }

请求替代转录

您可以使用AWS Management ConsoleAWS CLIAWSSDK 请求备用转录;有关示例,请参阅以下内容:

  1. 登录到 AWS Management Console

  2. 在导航窗格中,选择转录作业,然后选择创建作业(右上角)。这将打开 “指定作业详细信息” 页面。

    Amazon Transcribe控制台 “指定任务详细信息” 页面。在 “作业设置” 面板中,您可以为转录Job 指定名称、选择模型类型并指定语言设置。
  3. 在 “指定作业详细信息” 页面上填写要包含的所有字段,然后选择下一步。这将带您进入配置作业-可选页面。

    选择替代结果并指定您想要在成绩单中显示的最大替代转录结果数。

    Amazon Transcribe控制台 “配置作业” 页面。在 “音频设置” 面板中,您可以启用备选结果并指定您希望在转录输出中包含的最大替代项数量。
  4. 选择 “创建作业” 以运行转录作业。

此示例使用start-transcription-job命令和ShowAlternatives参数。有关更多信息,请参阅 StartTranscriptionJobShowAlternatives

请注意,如果您在请求ShowAlternatives=true中包括,则还必须包括MaxAlternatives

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/ \ --language-code en-US \ --settings ShowAlternatives=true,MaxAlternatives=4

这是使用start-transcription-job命令的另一个示例,以及包含替代转录的请求正文。

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

文件 my-first-alt-transcription-job.json 包含以下请求正文。

{ "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/", "LanguageCode": "en-US", "Settings": { "ShowAlternatives": true, "MaxAlternatives": 4 } }

以下示例使用 start_transcription_job 方法的ShowAlternatives参数来请求替代转录。AWS SDK for Python (Boto3)有关更多信息,请参阅 StartTranscriptionJobShowAlternatives

有关使用AWS软件开发工具包的其他示例,包括特定功能、场景和跨服务示例,请参阅本使用软件开发工具包的 Amazon Transcribe 的代码示例 AWS章。

请注意,如果您在请求'ShowAlternatives':True中包括,则还必须包括MaxAlternatives

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/', LanguageCode = 'en-US', Settings = { 'ShowAlternatives':True, 'MaxAlternatives':4 } ) 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)