如何提高 Watson Speech to Text 的准确性?

Posted

技术标签:

【中文标题】如何提高 Watson Speech to Text 的准确性?【英文标题】:How can I improve Watson Speech to Text accuracy? 【发布时间】:2018-01-05 02:46:05 【问题描述】:

我了解 Watson Speech To Text 在某种程度上针对口语对话和 1 或 2 位演讲者进行了校准。我也知道它可以比 WAV 和 OGG 更好地处理 FLAC。

我想知道如何从声学上改进算法识别。

我的意思是,增加音量有帮助吗?也许使用一些压缩过滤器?降噪?

什么样的预处理可以帮助这项服务?

【问题讨论】:

【参考方案1】:

提高基本模型(非常准确但也非常通用)准确性的最佳方法是使用 Watson STT 定制服务:https://www.ibm.com/watson/developercloud/doc/speech-to-text/custom.html。这将让您创建一个针对您的域的具体情况量身定制的自定义模型。如果您的域与基本模型捕获的域不是很匹配,那么您可以期望识别准确度会大大提高。

关于您的评论“我也知道它可以比 WAV 和 OGG 更好地处理 FLAC”,事实并非如此。 Watson STT 服务提供对 flac、wav、ogg 和其他格式的全面支持(请参阅文档的这一部分:https://www.ibm.com/watson/developercloud/doc/speech-to-text/input.html#formats)。

【讨论】:

谢谢丹尼尔。现在,我们正在尝试您建议的方法。 Watson 似乎可以很好地处理首字母缩略词,这很棒,因此我们正在使用自定义工具来丰富语料库。但是,由于我们正在处理会议音频,因此每个扬声器的音频质量都不同。虽然有些有清晰的音频,但其他的音频质量很差。但是,我理解使人类清晰的音频不一定与机器学习算法相同。在这种情况下,我想知道是否有任何音频过滤器可以提供帮助(音量提升?压缩?) 通过应用过滤器对音频进行预处理可能会引入不匹配,并且可能会进一步降低识别准确度。您绝对可以尝试使用它,但最好的方法可能是进行自定义,请继续关注该功能。我有一个问题要问您,您使用的音频编码是什么?我想知道你是否因此而失去了一些东西。 可能使用 lync (Skype for business) 捕获的原始音频是一个 windows 媒体视频文件,所以我猜内部音频格式是 wma 和一些微软拥有的编解码器。我尝试过宽带和在这种情况下,S2T 和宽带的窄带设置似乎效果更好。很遗憾,我们无法使用音频样本自定义 S2T。我们必须依赖 S2T 默认的声学设置(当然,这比要求用户调整自己的语音识别方法更容易)。 正如您所说,在不确切知道 S2T 期望的情况下预处理音频可能会使事情变得更好或更糟,所以我现在正在做的是试验(压缩似乎可以提高准确性,降噪似乎相反)。这个问题的想法正是探索一些一般可以在这项任务中发挥作用的预处理技巧。具体来说,我可以尝试什么样的预处理程序来提高准确性(我知道这里没有配方) @Leo 我目前正在为同样的问题苦苦挣扎。这个问题发布4年后。在转录录制的音频文件时,您最终是否能够提高基本模型的准确性?什么有效?我也在 python 中执行此操作,目前正在使用 Lite 计划。有什么建议吗?

以上是关于如何提高 Watson Speech to Text 的准确性?的主要内容,如果未能解决你的问题,请参考以下文章

Watson Speech to Text 无法对数据流音频/wav 进行转码

将 WAV 录制到 IBM Watson Speech-To-Text

IBM Watson JavaScript SDK for Speech-To-Text WebSocket 问题

Watson Speech to Text API 中不返回说话者标签/分类

IBM Watson Speech To Text:无法使用 Swift SDK 转录文本

在 bluemix 上使用 python 调用服务