智能音箱的硬件和一些生态内容,都已经搞定了,就差一个智能的软件了。
要说智能音箱,智能才是他的心脏部位。
但是智能这个词语,听起来很简单,无非就是两个字,但是做起来却是“蜀道难,难于上青天。”这种感觉。
就拿那个唤醒词来说吧,林奇决定要把那个唤醒词去掉,可是研究了很久,还没有研究到去掉唤醒词的地步。
因为在第一步的时候就被束缚了手脚,那就是语音识别。
近些年来人工智能里面的机器学习发展的很是厉害,尤其是机器学习中的深度学习。
深度学习利用的是大于3层的神经网络来学习,有输入层,输出层,中间还有很多隐藏层。
只需要把大量的数据提供过来,输入给写好的程序,运行一段时间之后,就会计算出来一个模型。
输入的数据越多,运算的次数越多,一般情况下得出来的结果也越好。但是这里面还有一个需要注意的就是不能太依赖于输入的数据了,否则会出现过拟合的现象。
过拟合就是在给定的数据中,让程序来预测某些结果,它能达到很高的准确性,比如99.999,但是到了通用的数据下,这个模型表现的就很差,可能只有88的准确性。
林奇开始的时候也是利用了深度多层神经网络来进行训练语音样本的,因为现在市面上最流行的就是种方法。
不过别的公司能采用这种是因为他们有很多的音频资料,并且都是用户自己上传的一些音频素材,比如深信,月活跃量一度超过10亿人,可想而知,每天用它发语音的有多少人,他能收集到多少的语音片段。
再比如寻她、搜猫和可大讯飞,他们三家公司都有自己的输入法,每一个人都说自己的语音识别准确率最高,在手机上用这三种输入法的大有人在,当然虽然在一些环境下用语音输入很是麻烦,但是有一些特定的环境还是很不错的。
所以他们收集到的来自真人的各种场景的语音片段,也是非常丰富的。
像上面的这些公司他们使用深度神经网络来训练语音模型,没有任何问题。
但是第二智慧科技没有im聊天工具,也没有语音输入法,林奇也想过去这些公司买一些数据,用来训练自己的语音识别库,但是思来想去,还是落了下乘。
第二智慧科技要推出的智能音箱,最主要的一个环节的原料却是从别人那里购买的,虽然没有什么问题,但是林奇总觉得很别扭。
后来林奇也想过去各大网站上面爬一些数据,有生物计算机在后面给自己的大力支撑,爬别人的数据,应该很方便。
林奇也真的去这么做了,为了限制频率,还特意的限制了一些速度。就这样爬了一些数据,但是这些数据拿到手里,林奇发现有一个问题,那就是这些数据很多都是录音棚,或者加工后的数据。
与用户实际生活中,比如在地铁上发的语音,在公交车上发语音,或者在大街上发语音,在家里发语音都不太一样,爬出来的数据很多都没有环境音。
没有环境音本身其实是好的音频,但是对于做语音识别来说这个就非常不合适了,因为做出来的模型不符合人们正常生活,与实际使用场景不符。
那就很尴尬了,就好比你说一个人很厉害,可以用剑杀恶龙,在有恶龙的世界里面,他是当之无愧的英雄。
但是如果他来到了现实生活中,就一事无成。
无他,只是因为现实生活中没有恶龙来给他杀。一个杀鸡的可能都比他在现实生活中,更容易生存下去。
最后林奇决定还是自己来搞这个模型,不仅仅语音识别是需要大量的数据,现在所有的涉及到深度学习的都是需要大量的数据来进行训练。
林奇并不觉得这是绝对正确,就像我们人类一样,比如一个新奇的物种,并没有见过,然后你给他了一张照片,说这是神兽饕餮,然后等他再次看到的时候,他很容易就能认出来,那个是不是神兽饕餮。
林奇想做的是能通过少量的样本就能训练出来一个不错的模型,这样就可以解放语音的大数据。
同时一个人上手的时间更短,想想即使一个人口音很重,用了智能语音软件说了几十句话,或者十几句话之后,准确率大大提高,可以堪比用标准的新闻联播主持人那样的普通话说出来的识别率。
其实在自然语言方面,林奇之前有一些经验,是在创造自然语言编程的时候。
但是里面设计到的多是语义的一些解析,没有涉及到语音识别。
林奇相信只要自己能通过第一关卡,那么后面的应该都很简单。
为了这个目的,林奇疯狂的投入到了开发中。
林奇把每一个的汉字读音都收集了起来,然后有语料数据的时候,林奇把这个语料做了一个分类。
一个是标准读音串起来的语音,一个是真实的语音。
林奇先处理了真实语音,把真实语音分成了环境音和人声。
接着又拿出来人声和原来的标准读音进行对比,找出来了两者的差异。
经过不懈的努力,还真的找出来了同一个人在说不同话的时候有一些相同的东西。
就像不同地方的人有不同地方的口音一样,一个人说话的时候,与标准的普通话有固定的“偏差”。
找出来了这个“偏差”,林奇非常兴奋,他觉得这个可能是他最近