本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用表格创建自定义词汇表
使用表格格式是创建自定义词汇表的首选方式。词汇表表格必须由四列 (Phrase, SoundsLike, IPA, and DisplayAs) 组成,可以按任意顺序排列:
Phrase | SoundsLike | IPA | DisplayAs |
---|---|---|---|
必需。表格中的每一行都必须在此列中包含一个条目。 请勿在此列中使用空格。 如果您的条目包含多个单词,请用连字符 (-) 分隔每个单词。例如, 对于首字母缩略词,任何发音的字母都必须用句点分隔。尾部句点也需要发音。如果您的首字母缩略词是复数,则必须在首字母缩略词和“s”之间使用连字符。例如,“CLI”是 如果您的短语由单词和首字母缩略词组成,则这两个部分必须用连字符分隔。例如,“DynamoDB”是 请勿在此列中包含数字;数值必须拼写出来。例如,“VX02Q”是 |
|
|
可选。此列中的行可以留空。 您可以在此列中使用空格。 定义您希望条目在转录输出中显示的方式。例如, 如果此列中的某行为空,则 Amazon Transcribe 使用该 您可以在此列中包含数字 ( |
创建表格时需要注意的事项:
-
您的表格必须包含所有四个列标题(Phrase, SoundsLike, IPA, and DisplayAs)。该
Phrase
列的每行都必须包含一个条目。不再支持通过IPA
和提供发音输入SoundsLike
的功能,您可以将该列留空。这些列中的任何值都将被忽略。 -
每列必须以 TAB 或逗号 (,) 分隔;这适用于自定义词汇表文件中的每一行。如果一行包含空列,则仍必须为每列包含一个分隔符(TAB 或逗号)。
-
只允许在
IPA
和DisplayAs
列中使用空格。不要使用空格分隔列。 -
IPA
SoundsLike
并且不再支持自定义词汇。请将该栏留空。这些列中的任何值都将被忽略。将来,我们将取消对此专栏的支持。 -
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,请参阅以下示例:
-
在导航窗格中,选择自定义词汇表。此时将会打开自定义词汇表页面,您可以在该页面中查看现有词汇表或创建新词汇表。
-
选择创建词汇表。
这会将您带至创建词汇表页面。为新的自定义词汇表输入名称。
在此,您有三种选择:
-
从您的计算机上传 txt 或 csv 文件。
您可以从头开始创建自定义词汇表,也可以下载模板来帮助您入门。然后,您的词汇表将自动填充到查看和编辑词汇表窗格中。
-
从某个 Amazon S3 位置导入 txt 或 csv 文件。
您可以从头开始创建自定义词汇表,也可以下载模板来帮助您入门。将完成的词汇表文件上传到 Amazon S3 存储桶,并在请求中指定其 URI。然后,您的词汇表将自动填充到查看和编辑词汇表窗格中。
-
在控制台中手动创建词汇表。
滚动到查看和编辑词汇表窗格并选择添加 10 行。现在,您可以手动输入术语。
-
-
您可以在查看和编辑词汇表窗格中编辑您的词汇表。要进行更改,请单击要修改的条目。
如果您遇到错误,会收到一条详细的错误消息,这样您就可以在处理词汇表之前更正所有问题。请注意,如果您在选择创建词汇表之前没有更正所有错误,则您的词汇表请求将失败。
选择对勾标记 (✓) 保存您的更改,或选择“X”放弃更改。
-
您也可以为自定义词汇表添加标签。完成所有字段并对自己的词汇表感到满意后,请选择页面底部的创建词汇表。此时您将看到自定义词汇表页面,您可以在该页面中查看自定义词汇表的状态。当状态从“待处理”变为“就绪”时,您的自定义词汇表就可以用于转录了。
-
如果状态更改为“失败”,请选择您的自定义词汇表的名称以进入其信息页面。
本页顶部有一个失败原因横幅,提供了有关您的自定义词汇表失败原因的信息。请更正文本文件中的错误,然后重试。
此示例结合表格格式的词汇表文件使用 create-vocabulary 命令。有关更多信息,请参阅 CreateVocabulary
。
要在转录作业中使用现有的自定义词汇,请在调用StartTranscriptionJob
操作时VocabularyName
在Settings
字段中设置,或者从下 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-codeen-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
" }
VocabularyState
从 PENDING
变为 READY
后,您的自定义词汇表就可以用于转录了。要查看自定义词汇表的当前状态,请运行:
aws transcribe get-vocabulary \ --vocabulary-name
my-first-vocabulary
此示例使用 c reate_vorquary 方法从表中创建自定义词汇CreateVocabulary
。
要在转录作业中使用现有的自定义词汇,请在调用StartTranscriptionJob
操作时VocabularyName
在Settings
字段中设置,或者从下 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 基于身份的策略示例。