使用表格创建自定义词汇表 - Amazon Transcribe

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

使用表格创建自定义词汇表

使用表格格式是创建自定义词汇表的首选方式。词汇表表格必须由四列 (Phrase, SoundsLike, IPA, and DisplayAs) 组成,可以按任意顺序排列:

Phrase SoundsLike IPA DisplayAs

必需。表格中的每一行都必须在此列中包含一个条目。

请勿在此列中使用空格。

如果您的条目包含多个单词,请用连字符 (-) 分隔每个单词。例如,Andorra-la-VellaLos-Angeles

对于首字母缩略词,任何发音的字母都必须用句点分隔。尾部句点也需要发音。如果您的首字母缩略词是复数,则必须在首字母缩略词和“s”之间使用连字符。例如,“CLI”是 C.L.I.(不是 C.L.I),“ABC”是 A.B.C.-s(不是 A.B.C-s)。

如果您的短语由单词和首字母缩略词组成,则这两个部分必须用连字符分隔。例如,“DynamoDB”是 Dynamo-D.B.

请勿在此列中包含数字;数值必须拼写出来。例如,“VX02Q”是 V.X.-zero-two-Q.

SoundsLike不再支持自定义词汇表。请将该栏留空。此列中的任何值都将被忽略。将来,我们将取消对此专栏的支持。

IPA不再支持自定义词汇表。请将该栏留空。此列中的任何值都将被忽略。将来,我们将取消对此专栏的支持。

可选。此列中的行可以留空。

您可以在此列中使用空格。

定义您希望条目在转录输出中显示的方式。例如,Phrase 列中的 Andorra-la-VellaDisplayAs 列中是 Andorra la Vella

如果此列中的某行为空,则 Amazon Transcribe 使用该Phrase列的内容来确定输出。

您可以在此列中包含数字 (0-9)。

创建表格时需要注意的事项:

  • 您的表格必须包含所有四个列标题(Phrase, SoundsLike, IPA, and DisplayAs)。该Phrase列的每行都必须包含一个条目。不再支持通过IPA和提供发音输入SoundsLike的功能,您可以将该列留空。这些列中的任何值都将被忽略。

  • 每列必须以 TAB 或逗号 (,) 分隔;这适用于自定义词汇表文件中的每一行。如果一行包含空列,则仍必须为每列包含一个分隔符(TAB 或逗号)。

  • 只允许在 IPADisplayAs 列中使用空格。不要使用空格分隔列。

  • IPASoundsLike并且不再支持自定义词汇。请将该栏留空。这些列中的任何值都将被忽略。将来,我们将取消对此专栏的支持。

  • DisplayAs 列支持符号和特殊字符(例如,C++)。所有其它列都支持您的语言的字符集页面上所列的字符。

  • 如果要在 Phrase 列中包含数值,则必须将其拼写出来。仅 DisplayAs 列支持数字 (0-9)。

  • 您必须将表格另存为 LF 格式的纯文本 (*.txt) 文件。如果您使用任何其它格式,例如 CRLF,则无法处理您的自定义词汇表。

  • 您必须将自定义词汇文件上传到 Amazon S3 存储桶中并使用它进行处理,CreateVocabulary然后才能将其包含在转录请求中。有关说明,请参阅 创建自定义词汇表表格

注意

输入首字母缩略词,或者其字母应以用点 (A.B.C.) 隔开的单个字母的形式单独发音的其它单词。要输入首字母缩略词的复数形式(如“ABCs”),请用连字符 (A.B.C.-s) 将“s”与首字母缩略词隔开。您可以使用大写或小写字母定义首字母缩略词。并非所有语言都支持首字母缩略词;请参阅支持的语言和特定语言的特征

以下是自定义词汇表表格示例(其中 [TAB] 表示制表符):

Phrase[TAB]SoundsLike[TAB]IPA[TAB]DisplayAs Los-Angeles[TAB][TAB][TAB]Los Angeles Eva-Maria[TAB][TAB][TAB] A.B.C.-s[TAB][TAB][TAB]ABCs Amazon-dot-com[TAB][TAB][TAB]Amazon.com C.L.I.[TAB][TAB][TAB]CLI Andorra-la-Vella[TAB][TAB][TAB]Andorra la Vella Dynamo-D.B.[TAB][TAB][TAB]DynamoDB V.X.-zero-two[TAB][TAB][TAB]VX02 V.X.-zero-two-Q.[TAB][TAB][TAB]VX02Q

为了清晰起见,以下是列对齐的同一张表格。请勿在自定义词汇表表格中的列之间添加空格;您的表格应该像前面的示例一样看上去未对齐。

Phrase [TAB]SoundsLike [TAB]IPA [TAB]DisplayAs Los-Angeles [TAB] [TAB] [TAB]Los Angeles Eva-Maria [TAB] [TAB] [TAB] A.B.C.-s [TAB] [TAB] [TAB]ABCs amazon-dot-com [TAB] [TAB] [TAB]amazon.com C.L.I. [TAB] [TAB] [TAB]CLI Andorra-la-Vella[TAB] [TAB] [TAB]Andorra la Vella Dynamo-D.B. [TAB] [TAB] [TAB]DynamoDB V.X.-zero-two [TAB] [TAB] [TAB]VX02 V.X.-zero-two-Q.[TAB] [TAB] [TAB]VX02Q

创建自定义词汇表表格

要处理用于的自定义词汇表 Amazon Transcribe,请参阅以下示例:

  1. 登录到 AWS Management Console

  2. 在导航窗格中,选择自定义词汇表。此时将会打开自定义词汇表页面,您可以在该页面中查看现有词汇表或创建新词汇表。

  3. 选择创建词汇表

    Amazon Transcribe 控制台屏幕截图:“自定义词汇表” 页面。

    这会将您带至创建词汇表页面。为新的自定义词汇表输入名称。

    在此,您有三种选择:

    1. 从您的计算机上传 txt 或 csv 文件。

      您可以从头开始创建自定义词汇表,也可以下载模板来帮助您入门。然后,您的词汇表将自动填充到查看和编辑词汇表窗格中。

      Amazon Transcribe 控制台屏幕截图:“创建和导入词汇” 页面。
    2. 从某个 Amazon S3 位置导入 txt 或 csv 文件。

      您可以从头开始创建自定义词汇表,也可以下载模板来帮助您入门。将完成的词汇表文件上传到 Amazon S3 存储桶,并在请求中指定其 URI。然后,您的词汇表将自动填充到查看和编辑词汇表窗格中。

      Amazon Transcribe 控制台屏幕截图:“创建和导入词汇” 页面。
    3. 在控制台中手动创建词汇表。

      滚动到查看和编辑词汇表窗格并选择添加 10 行。现在,您可以手动输入术语。

      Amazon Transcribe 控制台屏幕截图:“创建和导入词汇” 页面。
  4. 您可以在查看和编辑词汇表窗格中编辑您的词汇表。要进行更改,请单击要修改的条目。

    Amazon Transcribe 控制台屏幕截图:“创建和编辑词汇表” 窗格。

    如果您遇到错误,会收到一条详细的错误消息,这样您就可以在处理词汇表之前更正所有问题。请注意,如果您在选择创建词汇表之前没有更正所有错误,则您的词汇表请求将失败。

    Amazon Transcribe 控制台屏幕截图:“创建和编辑词汇表” 窗格。

    选择对勾标记 (✓) 保存您的更改,或选择“X”放弃更改。

  5. 您也可以为自定义词汇表添加标签。完成所有字段并对自己的词汇表感到满意后,请选择页面底部的创建词汇表。此时您将看到自定义词汇表页面,您可以在该页面中查看自定义词汇表的状态。当状态从“待处理”变为“就绪”时,您的自定义词汇表就可以用于转录了。

    Amazon Transcribe 控制台屏幕截图:自定义词汇表在处理时处于待处理状态。
  6. 如果状态更改为“失败”,请选择您的自定义词汇表的名称以进入其信息页面。

    Amazon Transcribe 控制台屏幕截图:“自定义词汇” 页面显示一个词汇已完成,一个词汇显示为失败。

    本页顶部有一个失败原因横幅,提供了有关您的自定义词汇表失败原因的信息。请更正文本文件中的错误,然后重试。

    Amazon Transcribe 控制台屏幕截图:词汇表的信息页面显示失败原因。

此示例结合表格格式的词汇表文件使用 create-vocabulary 命令。有关更多信息,请参阅 CreateVocabulary

要在转录作业中使用现有的自定义词汇,请在调用StartTranscriptionJob操作时VocabularyNameSettings字段中设置,或者从下 AWS Management Console拉列表中选择自定义词汇。

aws transcribe create-vocabulary \ --vocabulary-name my-first-vocabulary \ --vocabulary-file-uri s3://DOC-EXAMPLE-BUCKET/my-vocabularies/my-vocabulary-file.txt \ --language-code en-US

以下是另一个使用 create-vocabulary 命令的示例,以及创建自定义词汇表的请求正文。

aws transcribe create-vocabulary \ --cli-input-json file://filepath/my-first-vocab-table.json

my-first-vocab-table.json 文件包含以下请求正文。

{ "VocabularyName": "my-first-vocabulary", "VocabularyFileUri": "s3://DOC-EXAMPLE-BUCKET/my-vocabularies/my-vocabulary-table.txt", "LanguageCode": "en-US" }

VocabularyStatePENDING 变为 READY 后,您的自定义词汇表就可以用于转录了。要查看自定义词汇表的当前状态,请运行:

aws transcribe get-vocabulary \ --vocabulary-name my-first-vocabulary

此示例使用 c reate_vorquary 方法从表中创建自定义词汇表。 AWS SDK for Python (Boto3) 有关更多信息,请参阅 CreateVocabulary

要在转录作业中使用现有的自定义词汇,请在调用StartTranscriptionJob操作时VocabularyNameSettings字段中设置,或者从下 AWS Management Console拉列表中选择自定义词汇。

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

from __future__ import print_function import time import boto3 transcribe = boto3.client('transcribe', 'us-west-2') vocab_name = "my-first-vocabulary" response = transcribe.create_vocabulary( LanguageCode = 'en-US', VocabularyName = vocab_name, VocabularyFileUri = 's3://DOC-EXAMPLE-BUCKET/my-vocabularies/my-vocabulary-table.txt' ) while True: status = transcribe.get_vocabulary(VocabularyName = vocab_name) if status['VocabularyState'] in ['READY', 'FAILED']: break print("Not ready yet...") time.sleep(5) print(status)
注意

如果您为自定义词汇文件创建新的 Amazon S3 存储桶,请确保CreateVocabulary发出请求的 IAM 角色有权访问此存储桶。如果角色不具备相应的权限,则请求将失败。您可以选择在请求中添加DataAccessRoleArn参数来指定 IAM 角色。有关 IAM 角色和策略的更多信息 Amazon Transcribe,请参阅Amazon Transcribe 基于身份的策略示例