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

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

使用列表创建自定义词汇

重要

列表格式的自定义词汇表已过时,因此,如果您要创建新的自定义词汇表,我们强烈建议使用表格格式。

您可以使用AWS Management Console、AWS CLI或 AWS SDK 从列表中创建自定义词汇表。

  • AWS Management Console:您必须创建并上传包含您的自定义词汇表的文本文件。您可以使用行分隔或逗号分隔的条目。请注意,您的列表必须保存为文本 (*.txt) 格式LF文件。如果您使用任何其他格式,例如CRLF,您的自定义词汇表不被接受Amazon Transcribe。

  • AWS CLIAWSSDK:您必须使用标志在 API 调用中以逗号分隔的条目形式包含自定义词汇。Phrases

如果一个条目包含多个单词,则必须用连字符连接每个单词。例如,您将 “洛杉矶” 添加为,将 “安道尔城Los-Angeles” 添加为。Andorra-la-Vella

以下是两种有效列表格式的示例。有关特定方法创建自定义词汇表的示例,请参阅。

  • 以逗号分隔的条目:

    Los-Angeles,CLI,Eva-Maria,ABCs,Andorra-la-Vella
  • 以行分隔的条目:

    Los-Angeles CLI Eva-Maria ABCs Andorra-la-Vella
重要

您只能使用您的语言支持的字符。有关详细信息,请参阅您的语言的字符集

CreateMedicalVocabulary操作不支持自定义词汇表。如果创建自定义医学词汇表,则必须使用表格格式;有关说明,使用表格创建自定义词汇表请参阅。

创建自定义词汇表

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

此示例使用带有列表格式的自定义词汇文件的 creat e-worksward 命令。有关更多信息,请参阅CreateVocabulary

aws transcribe create-vocabulary \ --vocabulary-name my-first-vocabulary \ --language-code en-US \ --phrases {CLI,Eva-Maria,ABCs}

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

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

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

{ "VocabularyName": "my-first-vocabulary", "LanguageCode": "en-US", "Phrases": [ "CLI","Eva-Maria","ABCs" ] }

VocabularyState更改PENDING为后READY,您的自定义词汇便可与转录一起使用。要查看自定义词汇表的当前状态,请运行:

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

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

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

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, Phrases = [ 'CLI','Eva-Maria','ABCs' ] ) 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 基于身份的策略示例