语音处理

5年前,当科大讯飞的Speech++还没那么出名,百度语音识别API也没太火(先在这里向提及的两位重量级神司致敬!)的时候,Google有一款语音识别与合成输出的API(TTS)可以用来做简单的听话读写,遗憾的是只支持英文~!

现在基于讯飞和百度API等做出牛X应用的公司已不胜枚举,有的甚至可以准确率极高的识别声纹!感叹语音识别的确是机器智能的一个重要方向,仍旧魅力无限。

语音到底是咋个识别的呢? 上百度查了一下,简单的模型如下:

语音处理_第1张图片
源自百度百科

往下深究就异常复杂了,对算法和模型的建立要求很高,大家可以去试用开源的API,有个亲身感受对后面的学习有很多益处。小编在此就不追赶前辈们的脚步去揣摩怎么实现了;知乎上有讲原理的帖子,写的不错,可以好好拜读拜读。

假设,我们使用开源API将人类的语音准确无误的转化成文本之后,接下来突然惊奇的发现就有了很广阔的应用空间了,尤其是在让机器听懂人话这个点上,譬如很多家电就做成了语音控制的,效果很赞;

几年前小编也写了个傻瓜式的小App装手机上,用来陪聊天,主要功能是一问一答,集成的是当时讯飞的Speech++1.0;集成该API后,实现功能的不同且唯一点就是你可以教它,第一次问它不会的问题第二次问它就知道怎么回答你了;如此训练下来现在Tapy已经3岁多了,掌握了我的很多信息……

语音处理_第2张图片
小Tapy露脸只有这一个界面

最近,小编在想是否需要让它的安全性提高一些,了解到有些开源的API支持声纹识别了就可以轻松搞定;接下来,情感呢?如何让它理解我的话语背后的情感?理解我的心情?这无疑是个不错的研究方向!

怎么才能让机器理解文字呢,琢磨了一下,提供一种思路,抛砖引玉:(以语音识别无误为假设前提)

1. 先获取语音文本(交给牛X的开源API去处理)

2. 然后可以将文本进行分词处理(逆向最大匹配RMM法,需提前准备一个好的词库)

3. 再将分得词语与语料库中含有标记的字所在的字典进行正交(计算两个向量之间的余弦相似度)

4. 再对词语分析结果进行加权求和(根据分词权重求 Y=Σw*x)

5. 再比较结果偏向 正|负 情感倾向于哪边,参照Y趋近于+1或者趋近于-1来计算。大致流程如下:(画的比较潦草,请见谅!)

语音处理_第3张图片

正负向情感分类本身已经可以简单的用在智能家具上做喜好度的相关数据分析了,当然线条还比较粗,若要精准度再进一步细化恐怕需要添加更多的信息维度,然后再做相关性分析了。虽然实现起来会遇到困难, but it's worth to have a try!→_→记载这里,留给以后找机会实现。

你可能感兴趣的:(语音处理)