Watson Nodejs Speech to Text – 训练语言模型

我一直在使用watson-speech@^0.7.5为体育用户生成stream式video(HLS)的字幕。

此外,我已经能够训练语言模型。

我想使用recognitionElement和我的customization_id来训练我的语言模型。 不过,我有两个问题:

1)我认为元素已经被弃用了

我正在使用的库调用是

videoProps.stream = WatsonSpeechToText.recognizeElement({ element: myMediaElement, token: videoProps.ctx.token, muteSource: false, autoPlay: false, model:videoProps.ctx.currentModel, timestamps: true, profanity_filter: true, inactivity_timeout: -1, continuous: true }) .pipe(new WatsonSpeechToText.FormatStream()); 

不过,我注意到watson-speech 0.19.3,这个API已经被删除了。 现在有没有其他select?

另外,我想用我训练的自定义语言模型。 这个API是否会更新以包含以下调用?

 element: myMediaElement, token: videoProps.ctx.token, muteSource: false, autoPlay: false, customization_id:videoProps.ctx.currentModel.replace('custom:',''), timestamps: true, profanity_filter: true, inactivity_timeout: -1, continuous: true 

2)我不认为API支持customization_id的。

在查看recognition-stream.js时,我注意到OPENING_MESSAGE_PARAMS_ALLOWED和QUERY_PARAMS_ALLOWED都支持customization_id。

我可以肯定的是拉下来源,然后再做出改变,认出元素消失了。

谢谢,亚伦。

我给你发了一封电子邮件,里面有一些其他的细节,但是我会继续在这里复制重要的部分,以防其他人有同样的问题:

我删除了v0.15中的recognitionElement(),原因如下:

  • 降低转录质量 – audio经历了几个额外的转换步骤,导致比其他转录给定源的方法更低质量的转录

  • 不一致的输出 – 由于浏览器的怪癖,原始audiostream在播放之间会略有不同,在某些情况下会导致细微的转录。 这使得STT服务看起来不一致。

  • 暂停/快进/倒带的奇怪 – audio是从audio中听到的,这意味着倒带会重复出现,暂停可能会导致一个词被分成两半等等。延长的暂停或周期沉默也可能导致转录超时。

我推荐的解决scheme是执行转录服务器端,使用ffmpeg提取并转换audio,然后将结果重新格式化为WebVVT格式 ,并将它们作为字幕轨道附加在video上。 这是更多的工作,但产生更好的结果。

我已经要求演讲团队关于添加WebVVT作为输出格式来简化这一点,但是我不知道是否会/何时会发生。

更新:如果你真的想在SDK的当前版本中使用旧的recognizeElement()方法,我把它作为一个例子: https : //github.com/watson-developer-cloud/speech-javascript-sdk/树/主/例子/静态/audio-video-弃用

为了回答第二个问题, customization_id v0.20开始接受customization_id。 请注意,公共STT服务目前不支持自定义。