使用自定义词汇过滤器 - Amazon Transcribe

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

使用自定义词汇过滤器

创建自定义词汇过滤器后,您可以将其包含在转录请求中;有关示例,请参阅以下部分。

您在请求中包含的自定义词汇过滤器的语言必须与您为媒体指定的语言代码相匹配。如果您使用语言识别并指定多种语言选项,则可以为每种指定语言添加一个自定义词汇过滤器。如果您的自定义词汇过滤器的语言与音频中识别的语言不匹配,则您的过滤器不会应用于您的转录,也不会出现警告或错误。

在批量转录中使用自定义词汇过滤器

要使用带有批量转录的自定义词汇过滤器,请参阅以下示例:

  1. 登录到 AWS Management Console

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

    Amazon Transcribe控制台屏幕截图:“指定作业设置” 页面。

    命名您的任务并指定您的输入媒体。(可选)包括任何其他字段,然后选择 “下一步”。

  3. 配置作业页面的内容删除面板中,开启词汇筛选

    Amazon Transcribe控制台屏幕截图:“配置作业” 页面。
  4. 从下拉菜单中选择您的自定义词汇过滤器并指定过滤方法。

    Amazon Transcribe控制台屏幕截图:词汇过滤器选择选项。
  5. 选择 “创建作业” 以运行转录作业。

此示例使用带有和VocabularyFilterMethodSettings参数的start-transcription-job命令VocabularyFilterName和参数。有关更多信息,请参阅 StartTranscriptionJobSettings

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 VocabularyFilterName=my-first-vocabulary-filter,VocabularyFilterMethod=mask

这是使用该start-transcription-job命令的另一个示例,以及一个包含该作业的自定义词汇过滤器的请求正文。

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

文件 my-first-vocabulary-filter-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": { "VocabularyFilterName": "my-first-vocabulary-filter", "VocabularyFilterMethod": "mask" } }

此示例使用使用 start_transcription_job 方法的Settings参数来添加自定义词汇过滤器。AWS SDK for Python (Boto3)有关更多信息,请参阅 StartTranscriptionJobSettings

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

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 = { 'VocabularyFilterName': 'my-first-vocabulary-filter', 'VocabularyFilterMethod': 'mask' } ) 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)

在直播转录中使用自定义词汇过滤器

要在流式转录中使用自定义词汇过滤器,请参阅以下示例:

  1. 登录到 AWS Management Console

  2. 在导航窗格中,选择 Real-time transcription (实时转录)。向下滚动到内容删除设置,如果该字段已最小化,请将其展开。

    Amazon Transcribe控制台屏幕截图:“实时转录” 页面。
  3. 开启词汇筛选。从下拉菜单中选择一个自定义词汇过滤器,然后指定过滤方法。

    Amazon Transcribe控制台屏幕截图:扩展的 “内容删除设置” 窗格。

    包括您希望应用于直播的所有其他设置。

  4. 您现在已准备好,可以转录您的直播。选择 “开始直播” 并开始讲话。要结束听写,请选择 “停止直播”。

此示例创建了一个 HTTP/2 请求,其中包括您的自定义词汇过滤器和筛选方法。有关使用 HTTP/2 流式传输的更多信息Amazon Transcribe,请参阅设置 HTTP /2 直播。有关特定参数和标题的更多详细信息Amazon Transcribe,请参阅StartStreamTranscription

POST /stream-transcription HTTP/2 host: transcribestreaming.us-west-2.amazonaws.com X-Amz-Target: com.amazonaws.transcribe.Transcribe.StartStreamTranscription Content-Type: application/vnd.amazon.eventstream X-Amz-Content-Sha256: string X-Amz-Date: 20220208T235959Z Authorization: AWS4-HMAC-SHA256 Credential=access-key/20220208/us-west-2/transcribe/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date;x-amz-target;x-amz-security-token, Signature=string x-amzn-transcribe-language-code: en-US x-amzn-transcribe-media-encoding: flac x-amzn-transcribe-sample-rate: 16000 x-amzn-transcribe-vocabulary-filter-name: my-first-vocabulary-filter x-amzn-transcribe-vocabulary-filter-method: mask transfer-encoding: chunked

参数定义可以在 API 参考中找到;所有AWS API 操作的通用参数列在 “通用参数” 部分中。

此示例创建了一个预签名 URL,将您的自定义词汇过滤器应用于 WebSocket 直播。为了便于阅读,已增加了换行符。有关使用 WebSocket 直播的更多信息Amazon Transcribe,请参阅设置直 WebSocket 播。有关参数的更多详细信息,请参阅StartStreamTranscription

GET wss://transcribestreaming.us-west-2.amazonaws.com:8443/stream-transcription-websocket? &X-Amz-Algorithm=AWS4-HMAC-SHA256 &X-Amz-Credential=AKIAIOSFODNN7EXAMPLE%2F20220208%2Fus-west-2%2Ftranscribe%2Faws4_request &X-Amz-Date=20220208T235959Z &X-Amz-Expires=300 &X-Amz-Security-Token=security-token &X-Amz-Signature=string &X-Amz-SignedHeaders=content-type%3Bhost%3Bx-amz-date &language-code=en-US &media-encoding=flac &sample-rate=16000 &vocabulary-filter-name=my-first-vocabulary-filter &vocabulary-filter-method=mask

参数定义可以在 API 参考中找到;所有AWS API 操作的通用参数列在 “通用参数” 部分中。