AWS Transcribe |无法通过SDK使用表格创建自定义词汇表

时间:2019-10-03 09:12:51

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

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

  • 使用列表
  • 使用表格

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

  

失败原因

     

您要创建的词汇表包含无效的词汇   字符或格式错误的字词。请参阅开发者指南   更多信息。

    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控制台)创建相同的vocab(),所以我认为我的vocab没问题。

案例1:通过AWS控制台

需要注意的另一件事是,当我们使用列表视图创建 时,AWS会附加一个结束定界符( ENDOFDICTIONARYTRANSCRIBE )。但是,当我们使用 表视图

创建vocab时,它不会附加此定界符

案例2:通过AWS Java SDK

在两种情况下(列表和表),

结尾定界符都附加在文件的末尾。我认为这可能是个问题。

总结

我要通过AWS Java SDK 使用表格创建自定义词汇表。我可以通过AWS Console进行创建,但无法通过Java SDK进行创建。

1 个答案:

答案 0 :(得分:0)

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

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