赞
踩
温馨提示:文末有【重大福利】:优惠券(金额很大) for 三节课《产品经理P2(进阶)系列课程》 & 《互联网业务数据分析实战》。
语音识别(Automatic Speech Recognition,简称ASR),是语音交互中最基础的一个AI技术环节,大家可以先在手机上体验siri等各种语音助手,或者各种智能音箱,找找感觉:)
本文,是我收集了很多线上/线下的相关信息后,提炼出的AI产品经理“最必要”了解的ASR技术知识和行业现状(多了没必要,少了又不足以入门、准备面试或工作实战);不仅帮大家节省了时间,更是过滤了很多无用信息和过于技术的内容。
目录
一、核心概念:语音识别ASR、远场语音识别(语音激活检测VAD、语音唤醒、麦克风阵列、全双工、纠错)
二、当前技术边界
三、瓶颈和机会
附:相关资料(文章和书籍)
1
核心概念
1、语音识别(Automatic Speech Recognition),一般简称ASR;是将声音转化为文字的过程,相当于人类的耳朵。
1)语音识别原理流程:“输入——编码——解码——输出”
语音识别,大体可分为“传统”识别方式与“端到端”识别方式,其主要差异体现在声学模型上。“传统”方式的声学模型一般采用隐马尔可夫模型(HMM),而“端到端”方式一般采用深度神经网络(DNN)。
注:更多编码、解码等技术细节,感兴趣的同学可看《CUI三部曲之语音识别——机器如何听懂你的话?》http://t.cn/RKn1wnU (需要长按链接,复制后再用浏览器打开)
语音识别的应用,就这么简单?不是的,在实际场景,有很多种异常情况,都会导致语音识别的效果大打折扣,比如距离太远了不行,发音不标准不行,环境嘈杂不行,想打断也不行,等等。所以,还需要有各种解决方案来配合。
2)语音识别的评价指标——识别率
看纯引擎的识别率,以及不同信噪比状态下的识别率(信噪比模拟不同车速、车窗、空调状态等),还有在线/离线识别的区别。
实际工作中,一般识别率的直接指标是“WER(词错误率,Word Error Rate)”
定义:为了使识别出来的词序列和标准的词序列之间保持一致,需要进行替换、删除或者插入某些词,这些插入、替换或删除的词的总个数,除以标准的词序列中词的总个数的百分比,即为WER。
公式为:
Substitution——替换
Deletion——删除
Insertion——插入
N——单词数目
3点说明
A)WER可以分男女、快慢、口音、数字/英文/中文等情况,分别来看。
B)因为有插入词,所以理论上WER有可能大于100%,但实际中、特别是大样本量的时候,是不可能的,否则就太差了,不可能被商用。
C)站在纯产品体验角度,很多人会以为识别率应该等于“句子识别正确的个数/总的句子个数”,即“识别(正确)率等于96%”这种,实际工作中,这个应该指向“SER(句错误率,Sentence Error Rate)”,即“句子识别错误的个数/总的句子个数”。不过据说在实际工作中,一般句错误率是字错误率的2~3倍,所以可能就不怎么看了。
2、远场语音识别(Farfield Voice Recognition)
远场语音识别,简称远场识别,口语中可更简化为“远场”。下面主要说3个概念:语音激活检测、语音唤醒、以及麦克风阵列。
1)语音激活检测(voice active detection,VAD)
A)需求背景:在近场识别场景,比如使用语音输入法时,用户可以用手按着语音按键说话,结束之后松开,由于近场情况下信噪比(signal to noise ratio, SNR)比较高,信号清晰,简单算法也能做到有效可靠。但远场识别场景下,用户不能用手接触设备,这时受噪声影响比较大,SNR较低,必须使用VAD了。
B)定义:判断什么时候有语音/什么时候没有语音(静音)。
后续的语音信号处理或是语音识别,都是通过“VAD 检测的语音起始点帧位置”截取出来的有效语音片段上进行的。
2)语音唤醒 (keyword spotting,简称KWS;或voice trigger,VT)
A)需求背景:在近场识别时,用户可以点击按钮后直接说话,但是远场识别时,需要在VAD检测到人声之后,进行语音唤醒,相当于叫这个AI(机器人)的名字,引起ta的注意,比如苹果的“Hey Siri”,Google的“OK Google”,亚马逊Echo的“Alexa”等。
B)定义:可以理解为喊名字,引起听者的注意。
VT判断是唤醒(激活)词,那后续的语音就应该进行识别了;否则,不进行识别。
C)语音唤醒的应用交互模式
传统模式:先唤醒设备,等设备反馈后(提示音或亮灯),用户认为设备被唤醒了,再发出语音控制命令,缺点在于交互时间长;
One-shot:直接将唤醒词和工作命令一同说出,如“小雅小雅,我想听周杰伦的歌”;
Zero-shot:将常用用户指令设置为唤醒词,达到用户无感知唤醒,例如直接对车机说“导航到XX大厦”。
多唤醒:主要满足用户个性化的需求,给设备起多个名字。
D)语音唤醒的评价指标(也是难点)
a)唤醒率。叫AI的时候,ta成功被唤醒的比率(注:喊ta的时候,ta不答应,叫做漏报)。
b)误唤醒率(误报)。没叫AI的时候,ta自己跳出来讲话的比率;有时会按照“天”来算,比如要求“一天内不超过一次”。如果误唤醒比较多,特别比如半夜时,智能音箱突然开始唱歌或讲故事,会特别吓人的……
注1:唤醒率=唤醒中真实唤醒的数量/尝试唤醒的总数。这里特意强调“真实唤醒的数量”,是因为唤醒的总数据中,还会包含误唤醒的数据。
注2:关于准确率precision、召回率Recall等概念的辨析,可参考《AI产品经理需要了解的数据标注工作入门》中的“模型测试”小节。
c)唤醒词的音节长度。一般技术上要求,最少3个音节,如果音节太短,一般误唤醒率会比较高。比如“OK Google”和“Alexa”有四个音节,“Hey Siri”有三个音节;国内的小雅智能音箱,唤醒词是“小雅小雅”。不过,Rokid的唤醒词“若琪”,做到了只有两个音节,据说是全球唯一。
d)唤醒响应时间。之前看过傅盛的文章,说世界上所有的音箱,除了Echo和小雅智能音箱能达到1.5秒,其他的都在3秒以上。
e)功耗(要低)。看过报道,说iPhone 4s出现Siri,但直到iPhone 6s之后才允许不接电源的情况下直接喊“Hey Siri”进行语音唤醒;这是因为有6s上有一颗专门进行语音激活的低功耗芯片,当然算法和硬件要进行配合,算法也要进行优化。
E)语音识别和语音唤醒的本地/云端策略
语音识别:通用的ASR一般在云端,不过目前很多设备采用离在线融合的方式,一是解决无网状态下的语音识别,二是一些常用指令,靠离线引擎的更快,体验更好,三是有些厂商提供的个性化识别服务依赖本地模型。
语音唤醒:虽然很多具体产品的方案是离线方案,但目前亚马逊、苹果都明确在技术文档中表示,其使用了云端唤醒的方案(一级唤醒在本地,二级唤醒在云端)。
3)麦克风阵列(Microphone Array)
A)需求背景:在会议室、户外、商场等各种复杂环境下,会有噪音、混响、人声干扰、回声等各种问题。特别是远场环境,要求拾音麦克风的灵敏度高,这样才能在较远的距离下获得有效的音频振幅,同时近场环境下又不能爆音(振幅超过最大量化精度)。另外,家庭环境中的墙壁反射形成的混响对语音质量也有不可忽视的影响。
B)定义:由一定数目的声学传感器(一般是麦克风)组成,用来对声场的空间特性进行采样并处理的系统。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。