Q2:能解释一下你刚刚提到的各种高大上的名词吗?
A:按照便于大家理解但是并不严谨的方式来说,“机器学习” 就是统计,在大量数据中统计出来一些具体的参数;“神经网络” 简单说就是 “分级优化”;“深度学习” 是机器学习的一个分支,经常和神经网络一起出现,可以简单的理解为分级优化中每一级的内容都是从数据中统计出来。这些名词我们放在具体的例子中就比较好理解了。
Q3:给我们讲讲语音识别?
A:我们先从语音交互的第一步,“语音识别” 开始。(如图所示)声音从源头发出(声源),被话筒接收,转化成电信号。这个电信号放大来看,是一些连续的波形信号。我们把这个连续的信号截成一小段一小段的,每一小段通过一种方法转换成一小串数字,这样才能进行后面的处理。
转换的方法是这里面最重要的一步了。这套规则,可以是依据经验人为制定的,也可以是通过大量数据的统计,辅助制定和优化的。后面这种方法就是我们所谓的深度学习,我们放到图像识别里面讲,更好理解一些。
转换了以后就是一个与标准库比对的过程了。比如说,现在这个音,转换完以后是(前半音)XXX XXX XXX XXX +(后半音)YYY YYY YYY YYY,然后标准库里面 A 的发音对应特征值是 XXY YYX XXX XXX+YYY YXX YYS YYZ,B 的发音对应特征值是 XXY YYY YYY YYY+YYX YYX XXX YYY,那我们就知道这个音与 A 更接近(75%),不太可能是 B(17%)。
更高级一点,还可以根据先后顺序的关系进行匹配,比如按人类的语言习惯,A 之后接 B 的概率更高,接 K 的概率很低,把这个概率算进去,准确率能进一步提升。
Q4:这个标准库怎么来?
A:比如说,你找 100 个人读 1000 次 A,然后让机器把这每一个都转换成特征值,总的一起取个平均值,就出来 A 的标准库了。这个标准库是基于大量数据统计出来的结果(取平均值也是一种统计方法),这个过程就像是机器自己听了很多遍学会了一样,所以称为 “机器学习”。除了读音,各种组合的前后关系,也都是统计出来的。
标准库的建立要尽量的复合实际场景,这样才能找出更符合使用场景的统计规律,从而达到更精准的识别。高大上的产品,比如说科大讯飞,多年的积累使得其可是支持多种方言,比如说出门问问,能支持几十个场景。说白了,这个是一个劳动量密集的体力活。大公司,钱多人多,可以做大而全;小公司,有限资金有限工作量,在有限场景下,用户感知不出来任何区别。
Q5:语音识别和语义理解是什么关系?
A:可以这么理解,所谓语音识别,是把音翻译成字和句;语义理解,则是针对句子,给予反馈。语义理解可以分为两种类型,一种是命令 / 数据索取式的,有明确答案的;一种是聊天式的,开放性答案的。
第一种,比如问:北京今天空气质量如何?答:空气指数 356。这个回答与问题的对应关系,称之为 “规则”。问同一个问题有比较多种问法,为了扩大每一个规则的适用范围,需要做一些语言结构的拆分重构,主谓宾定状补,灵活调整。
比如顺序的调换:北京今天空气质量如何?VS 今天北京空气质量如何?
比如替换同近义词:北京今天空气质量如何?VS 北京今天天气质量如何?
更进一步的,可以增加上下文理解。比如记住上一句话的内容,替换一个下一句话的词汇。