第 4 步:使用自定义语言模型进行转录 - Amazon Transcribe
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

第 4 步:使用自定义语言模型进行转录

您可以使用 CLM 使用批量转录作业或实时流转录音频文件。

将自定义语言模型与批量转录作业结合使用

您可以使用 CLM 为批量转录作业进行转录Amazon Transcribe 控制台AmazonCLI,或者Amazon开发工具包; 请参阅以下说明。

  1. 登录到Amazon Transcribe 控制台.

  2. 在导航窗格中,选择转录作业,然后选择创建作业按钮(右上角)。此操作会打开指定作业细节页.

  3. Job 设置下面的面板模型类型选择自定义语言模型

    您还必须从下拉菜单中选择输入语言。

  4. UNDER自定义模型选择,可以从下拉菜单中选择现有的自定义语言模型或点击 “创建新语言模型”。

    将输入文件的 S3 位置添加到输入数据面板。

  5. 单击下一步按钮以获取其他配置选项。单击创建作业按钮以运行转录作业。

此示例使用开始转录-工作命令和LanguageModelName参数。有关更多信息,请参阅StartTranscriptionJobModelSettings

aws transcribe start-transcription-job \ --transcription-job-name job-name --media MediaFileUri="s3://your-S3-bucket/S3-prefix/your-filename.file-extension" \ --model-settings LanguageModelName=your-language-model-name

这是另一个使用开始转录-工作命令,以及使用 CLM 进行该工作的请求正文。

aws transcribe start-transcription-job \ --cli-input-json file://example-start-command.json

该文件示例启动命令 .json包含以下请求正文。

{ "TranscriptionJobName": "job-name", "LanguageCode": "en-US", "Media": { "MediaFileUri": "s3://your-S3-bucket/S3-prefix/your-filename.file-extension" }, "ModelSettings": { "LanguageModelName": "your-language-model-name" } }

此示例使用Amazon SDK for Python (Boto3)使用LanguageModelName参数start_Trancription_job方法。有关更多信息,请参阅StartTranscriptionJobModelSettings

from __future__ import print_function import time import boto3 transcribe = boto3.client('transcribe') job_name = "job-name" job_uri = "s3://your-S3-bucket/S3-prefix/your-filename.file-extension" transcribe.start_transcription_job( TranscriptionJobName=job_name, Media={'MediaFileUri': job_uri}, MediaFormat='wav', LanguageCode='en-US', ModelSettings = { 'LanguageModelName': 'your-language-model-name' } ) 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)

将自定义语言模型与实时流式结合使用

您可以使用 CLM 通过 WebSocket 请求或StartStreamTranscriptionoperation.

注意

只有在流媒体支持之后创建的 CLM 可用于串流转录。如果 CLM 是在直播支持之前创建的,则必须重新创建它才能将其与实时直播一起使用。

此示例创建了一个预签名 URL,该 URL 在 WebSocket 流中使用自定义语言模型。有关将 WebSocket 流与 Amazon Transcribe 结合使用的更多信息,请参阅。在 WebSockets 中使用 Amazon Transcribe 直播. 有关参数的详细信息,请参阅。StartStreamTranscription.

GET wss://transcribestreaming.region.amazonaws.com:8443/stream-transcription-websocket?language-code=en-US &X-Amz-Algorithm=AWS4-HMAC-SHA256 &X-Amz-Credential=Signature Version 4 credential scope &X-Amz-Date=date &X-Amz-Expires=200 &X-Amz-Security-Token=security-token &X-Amz-Signature=Signature Version 4 signature &X-Amz-SignedHeaders=host &media-encoding=flac &sample-rate=16000 &session-id=sessionId &language-model-name=your-language-model-name

URL 参数:

  • 领域:这些区域有:Amazon您调用 Amazon Transcribe 的区域。有关有效区域列表,请参阅。Amazon区域和终端节点.

  • 语言代码:输入音频的语言代码。请参阅支持的语言和特定于语言的功能对于支持的语言。

  • 媒体编码:输入音频使用的编码。有效值包括 pcmogg-opusflac

  • 采样率:输入音频的采样率(以 Hz 为单位)。我们建议对低质量音频使用 8000 Hz,对高质量音频使用 16,000 Hz(或更高)。您指定的采样率必须与音频文件中的采样率匹配。

  • session-id:可选。转录会话的标识符。如果您未提供会话 ID,Amazon Transcribe 为您生成一个并在响应中返回它。

  • 语言模型名:自定义语言模型的名称。

签名版本 4 参数:

  • X-Amz-算法:在签名过程中使用的算法;必须是AWS4-HMAC-SHA256.

  • X-Amz-凭据:以斜杠 (“/”) 分隔的字符串,它通过将您的访问密钥 ID 和凭证范围组件串联起来而形成。凭据范围包括日期(YYYYMMDD),Amazon区域、服务名称和特殊的终止字符串 (aws4_request)。

  • X-Amz-Date:您的签名的创建日期和时间以 YYYYYYMMMMMDD'T'T'T'Z' 的形式创建签名。

  • X-Amz-Expate:凭证到期之前的时间长度(以秒为单位)。最大值为 300 秒。

  • X-Amz-Security-Token:可选。临时凭证的签名版本 4 令牌。如果您指定此参数,则将其包含在规范请求中。有关更多信息,请参阅 。请求临时安全证书.

  • X-Amz-SIGN:您为请求生成的签名版本 4 签名。

  • X-Amz-Stop:为您的请求创建签名时签名的标头;必须是host.

有关签名版本 4 元素的其他详细信息,请参阅Amazon一般参考.

此示例使用自定义语言模型创建 HTTP/2 请求。有关将 HTTP/2 流式与 Amazon Transcribe 结合使用的更多信息,请参阅。通过 HTTP/2 使用 Amazon Transcribe 流式处理. 有关特定于 Amazon Transcribe 的参数和标题的更多详细信息,请参阅StartStreamTranscription.

POST /stream-transcription HTTP/2.0 host: transcribestreaming.region.amazonaws.com authorization: Generated value content-type: application/vnd.amazon.eventstream x-amz-target: com.amazonaws.transcribe.Transcribe.StartStreamTranscription x-amz-content-sha256: STREAMING-AWS4-HMAC-SHA256-EVENTS x-amz-date: Date x-amzn-transcribe-language-code: en-US x-amzn-transcribe-media-encoding: flac x-amzn-transcribe-sample-rate: 16000 transfer-encoding: chunked x-amzn-language-model-name: your-language-model-name

在请求中使用以下值:

  • 领域:这些区域有:Amazon您调用 Amazon Transcribe 的区域。有关有效区域列表,请参阅。Amazon区域和终端节点.

  • 授权:请求的签名版本 4 签名。要了解有关创建签名的更多信息,请参阅SIGNAmazon使用签名版本 4 的请求.

  • X-Amz-Date:请求的日期和时间。请参阅处理签名版本 4 中的日期有关说明。

  • x-amzn 转录媒体编码:输入音频使用的编码。有效值包括 pcmogg-opusflac

  • x-amzn-转录码样品率:输入音频的采样率(以 Hz 为单位)。我们建议对低质量音频使用 8000 Hz,对高质量音频使用 16,000 Hz(或更高)。您指定的采样率必须与音频文件中的采样率匹配。

  • x-amzn 语言模型名:自定义语言模型的名称。

下一步

第 5 步:查看和更新自定义语言模型