如何为IBM Watson speech2text服务指定语音关键字?

时间:2016-09-28 20:10:40

标签: java ibm-cloud speech-recognition speech-to-text ibm-watson

虽然我们在一般情况下使用Bluemix Java SDK取得了很好的成功,但我们在尝试识别偶尔的非英语单词(例如,外国姓氏)时遇到了问题。我们希望可以使用SPR语音符号指定关键字列表(这对于text2speech非常有用),但似乎不支持speech2text。有任何建议/解决方法吗?

SpeechToText service = new SpeechToText();
service.setUsernameAndPassword("USERNAME", "PASSWORD");

File audio = new File("C:\\Users\\AudioFiles\\euler.wav");    

RecognizeOptions options = new RecognizeOptions().Builder()
  .contentType(HttpMediaType.AUDIO_WAV)
  .continuous(true)
  .inactivityTimeout(500)
  .keywords({"Agarwal", "Euler", "Qin"})
  .keywordsThreshold(0.5)
  .build();

  SpeechResults transcript = service.recognize(audio, options);
  System.out.println(transcript);

目标是能说“我的名字是约翰欧拉。”并且成绩单不要归还“我的名字是John Oyler”。 (这就是它目前所做的事情。)

THX。

1 个答案:

答案 0 :(得分:1)

嗯,你传递的三个单词实际上是在词汇表中,但也许找不到它们,因为它们在语言模型中的权重很小。你试过放宽门槛吗?如果任务是以名称为中心,您还可以尝试使用Watson STT自定义服务来提高名称的概率