【问题标题】:AWS Transcribe | Can't create custom vocabulary using table via SDKAWS 转录 |无法通过 SDK 使用表格创建自定义词汇表
【发布时间】:2021-07-31 20:01:19
【问题描述】:

AWS Transcribe 提供了两个选项来创建自定义词汇表。欲了解更多信息Custom Vocabularies

  • 使用列表
  • 使用表格

我可以通过 AWS 控制台以两种方式创建自定义词汇表,但是对于 AWS Java SDK,我可以使用列表来创建它。在 "using table" 的情况下,它给了我一个错误

失败原因

您尝试创建的词汇表包含无效 字符或格式不正确的术语。请参阅开发者指南 更多信息。

    AmazonTranscribe transcribe = AmazonTranscribeClient.builder().build();
    CreateVocabularyRequest vocabularyRequest = new CreateVocabularyRequest();
    vocabularyRequest.setLanguageCode(LanguageCode.EnUS.toString());
    vocabularyRequest.setPhrases(Arrays.asList("Phrase\tIPA\tSoundsLike\tDisplayAs", "helloooo\t\thello\thailo"));
    vocabularyRequest.setVocabularyName("table-clone");
    CreateVocabularyResult vocabularyResult = transcribe.createVocabulary(vocabularyRequest);

但我可以使用表(通过 AWS 控制台)创建相同的词汇,所以我认为我的词汇没有问题。

案例 1:通过 AWS 控制台

需要注意的更重要的一点是,当我们使用列表视图创建词汇时,AWS 会附加一个结束分隔符 (ENDOFDICTIONARYTRANSCRIBE)。但是当我们使用 table view

创建 vocab 时,它不会附加这个分隔符

案例 2:通过 AWS Java SDK

结束分隔符在两种情况下(列表和表格)都附加在文件的末尾。我认为这可能是问题所在。

总结

我想通过 AWS Java SDK 创建自定义词汇表使用表。我可以通过 AWS 控制台创建相同的内容,但无法通过 Java SDK 创建。

【问题讨论】:

  • 在控制台中,您必须先将文件放入 S3,然后再执行 table ;如果您需要在这里做同样的事情,我不会感到惊讶

标签: amazon-web-services speech-recognition aws-transcribe


【解决方案1】:

您可以使用表创建自定义词汇表,方法是将 .txt 文件上传到 AWS S3,然后使用对象的 URI 作为 VocabularyFileUri 键的值。

您可以通过在 AWS 控制台上上传列表格式的文件来完成相同的任务,但如果您需要使用表,S3 是您的最佳选择!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-08
    • 2020-11-28
    • 2019-02-25
    相关资源
    最近更新 更多