使用自定义模型的Watson语音到文本的低精度

时间:2016-12-28 09:08:16

标签: speech-recognition ibm-watson watson

Watson会话服务无法识别我的口音。因此我使用了自定义模型,这里是使用自定义模型之前和之后的结果。

测试结果

在整合模型之前: - 当你有一个座右铭时,他们有。希拉。贾巴之中。女人。的。

整合模型后: - 我们给Omatta David。斯里兰卡。贾巴之中。数。 GOV。

实际音频 - Audio 49,Wijayaba Mawatha,Kalubowila,Dehiwela,Sri Lanka.Government.Gov。

我如何加入自定义模型 - 我使用了演示forked from github中给出的相同文件 在socket.js中,我包含了自定义ID,如图所示。其中包含自定义模型(ways to integrate custom model)的其他方法,但我想知道我所做的方法是否正确?

这是我用来创建自定义模型的python代码。 code link

以下是以JSON格式执行python代码后的语料库结果。corpus file

这是自定义模型(custom model text file which was included in the code),其中包括所有斯里兰卡道路。

我分叉文件并编辑了socket.js,如下所示。

2 个答案:

答案 0 :(得分:2)

首先,除非我遗漏了某些内容,否则您所说的几个单词实际上并未出现在corpus1.txt文件中。显然,该服务需要知道您希望它转录的单词。

接下来,该服务面向更常见的语音模式。任意名称列表很难,因为它不能根据它的上下文猜测一个单词。这通常是自定义语料库提供的内容,但在这种情况下不起作用(除非您碰巧按照它们在语料库中出现的确切顺序读取名称 - 即便如此,它们只出现一次且没有任何上下文服务已经认识到了。)

为了弥补这一点,除了自定义字词集之外,您可能需要为其中许多字词提供sounds_like来表示发音:http://www.ibm.com/watson/developercloud/doc/speech-to-text/custom.shtml#addWords

这是相当多的工作(必须为服务无法正确识别的每个单词完成),但应该改善您的结果。

第三,您提供的音频文件有相当多的背景噪音,这会降低您的结果。更好的麦克风/录音位置/等。会有所帮助。

最后,说得更清楚,精确的听写和接近“标准”的美国英语口音也应该有助于改善结果。

答案 1 :(得分:2)

我看到的主要问题是音频非常嘈杂(我在后台听到火车轨道)。第二个问题是应该检查从语料库中提取的OOV单词的发音准确性。第三个问题可能是演讲者的重音问题(我假设您使用的是美国英语模型),并且它在重音英语方面存在问题。就自定义模型训练数据而言,您可以尝试重复训练数据中的一些单词(以增加新单词的重量)。

托尼李 IBM演讲团队