AWS Transcribe 提供了两个选项来创建自定义词汇表。欲了解更多信息自定义词汇表
- 使用列表
- 使用表格
我可以通过 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 控制台)创建相同的词汇,所以我认为我的词汇没有问题。
案例 1:通过 AWS 控制台
需要注意的另一件重要的事情是,当我们使用列表视图创建词汇时,AWS 会附加一个结束分隔符 ( ENDOFDICTIONARYTRANSCRIBE )。但是当我们使用表格视图创建词汇时它不会附加这个分隔符
案例 2:通过 AWS Java SDK
在两种情况下(列表和表格),结束分隔符都附加在文件的末尾。我认为这可能是问题所在。
总结一下
我想通过 AWS Java SDK使用表格创建自定义词汇表。我可以通过 AWS 控制台创建相同的内容,但无法通过 Java SDK 创建。