语音识别科普
一、语音交互流程简介
一次完整的语音交互流程,成功的语音对话,通常是有以下几个阶段。
1、交互流程的核心—意图。
2、如何识别意图—语义解析。
3、如何处理意图—云端交互。
4、上下文意图的处理-对话管理。
5、语言合成模块 – 组织语言
AI 对话所需要的技术模块有 5 个部分,分别为:
1、自动语音识别(Automatic Speech Recognition, ASR):语音识别(ASR)将原始的语音信号转换成文本信息;
2、自然语言理解(Natural Language Understanding, NLU):自然语言理解(NLU)将识别出来的文本信息转换为机器可以理解的语义表示;
3、对话管理(DM):对话管理(DM)基于对话的状态判断系统应该采取什么动作,这里的动作可以理解为机器需要表达什么意思;
4、自然语言生成(Natural Language Generation, NLG):自然语言生成(NLG)将系统动作转变成自然语言文本;
5、文字转语音(Text to Speech, TTS):语音合成(TTS)将自然语言文本变成语音输出给用户。
二、语音前端 ECNR(EchoCancellation&NoiseReduction,回声消除+降噪)
语音识别受到发动机、空调、人声、多媒体等噪音的严重影响,因此为了提高语音交互体验和识别率,需要在语音前端增加ECNR(Echo Cancellation & Noise Reduction,回声消除+降噪)前端语音处理模块。
Echo:远端扬声器播放的声音回传给麦克;
Diffuse Noise:无向噪声的干扰;
Reflected Sound:声音通过墙壁反射,造成混响干扰;
Interference:其他方向的干扰源;
Target Speech:目标方向声音。
Microphone Array:利用麦克风阵列拾音。
麦克风阵列采集的语音首先利用参考源对各通道的信号进行回波消除,然后确定声源的方向信息,进而通过波束形成算法来增强目标方向的声音,再通过混响消除方法抑制混响。经过上述处理后的单路语音进行后置滤波消除残留的音乐噪声,然后通过自动增益算法调节各个频带的能量后最为前端处理的输出,将输出的音频传递给后端进行识别和理解。
1、声学回声消除(Acoustic Echo Cancellation,AEC)
用于语音识别和免提通话中,消除近端媒体立体声回声,实现全双工实时的、双向的语音交互。回声消除的两个难点是双讲检测和延时估计。
2、声音活动检测(Voice Activity Detection,VAD)
VAD(Voice Activity Detection),也叫语音激活检测,或者静音抑制,其目的是检测当前语音信号中是否包含话音信号存在,即对输入信号进行判断,将话音信号与各种背景噪声信号区分出来,分别对两种信号采用不同的处理方法。
3、麦克风阵列的波束形成(Beamforming)
波束形成是指将一定几何结构排列的麦克风阵列的各个麦克风输出信号,经过处理(如加权、时延、求和等)形成空间指向性的方法,可用于声源定位和混响消除等。
4、声源测向(Direction of Arrival,DOA)
快速定位音源位置,并配合窄波束形成拾音波束,应用在语音识别场景中。
5、降噪(Denosice)
ANC(Active Noise Cancellation):通过产生与噪声同频率幅值的反向声波,与噪声相位抵消,车载ANC用于消除发动机和传动系统噪音等。
麦克风阵列降噪:麦克风阵列采集的语音首先利用参考源对各通道的信号进行回波消除,然后确定声源的方向信息,进而通过波束形成算法来增强目标方向的声音,再通过混响消除方法抑制混响;
6、去混响 Reverberation:
混响(Reverberation),在音乐声学中,是指声音产生后的持久性。当音源在房间或礼堂中产生声波时,观察者不仅听到直接从音源传播的声波,而且还听到来自墙壁、地板和天花板的无数反射。后者形成了反射波,或称混响声。去混响是指在声音被传声器拾取后,将混响的影响从声音中去除的过程。
三、语音唤醒 KWS
在语音交互前,需要通过关键词检索的方式对语音系统进行唤醒,从而是语音系统切换为识别状态,也是一段语音对话的起点。KWS在检测到唤醒词音频后,会抛出唤醒事件,其中包括唤醒词类型,声源定位、置信度等信息。
四、自动语音识别 ASR(Automatic Speech Recognition)
语音识别属于序列转换技术,它将语音序列转换为文本序列。大体来说,这是一次搬运,是把一段话的表现形式从语音变成了文本。
声学模型:在语音特征与音素之间建立映射关系, 即给定模型后产生语音波形的概率, 其输入是语音信号经过特征提取后得到的特征向量序列.
语言模型:是用来预测字符 (词) 序列产生的概率,判断一个语言序列是否为正常语句。
解码器:解码本质上是一个搜索问题,并可借助加权有限状态转换器(Weighted Finite State Transducer,WFST) 统一进行最优路径搜索
传统语言识别:基于贝叶斯公式
端到端端语音识别:将输入的语音波形 (或特征矢量序列) 直接转换成单词、字符序列. 端到端的语音识别将声学模型、语言模型、发音词典等模块被容纳至一个系统, 通过训练直接优化最终目标。
五、自然语言理解(Natural Language Understanding, NLU)
自然语言理解(NLU)的目标是将文本信息转换为可被机器处理的语义表示。为了让机器能够处理,我们用语义表示来代表自然语言的意思。语义表示可以用意图+槽位的方式来描述。意图即这句话所表达的含义,槽位即表达这个意图所需要的具体参数,用slot和value对的方式表示。比如,「预约这周日上午的保洁阿姨」这句话的意图是「发起请求」,槽位是「服务类型=保洁,服务日期=20161127」。
六、对话管理(DM)
DM是对话系统的大脑,它主要干两件事情:
1)维护和更新对话的状态。对话状态是一种机器能够处理的数据表征,包含所有可能会影响到接下来决策的信息,如NLU模块的输出、用户的特征等;
2)基于当前的对话状态,选择接下来合适的动作。
DM主要来看还是通过两大类方法实现,基于规则Rule Based和基于数据驱动Data Driven.
七、自然语言生成(Natural Language Generation, NLG)
自然语言生成,他的作用是生成语音系统要回复的内容,将非语言格式的数据转换成人类可以理解的语言格式。自然语言生成 – NLG 有2种方式:
text – to – text:文本到语言的生成
data – to – text :数据到语言的生成
八、文字转语音(Text to Speech, TTS)
将通过解析文本,将文本信息转换为音频,并输出到扬声器等设备上。总结来说TTS有两大部分内容,语音合成和语音播放
九、语音识别指标
准确率(Accuracy)、精确率(Precision)、召回率(Recall)以及F值指标
1、ASR
ASR字错率
为了使识别出来的词序列和标准的词序列之间保持一致,需要进行替换、删除或者插入某些词,这些插入、替换或删除的词的总个数,除以标准的词序列中词的总个数的百分比,即为WER,越低越好
ASR句错率
SER表述为句子中如果有一个词识别错误,那么这个句子被认为识别错误,句子识别错误的的个数,除以总的句子个数即为SER,越低越好
唤醒率
即用户唤醒成功的概率,越高越好。
误唤醒率
非用户唤醒,或者存在背景音等噪音时,被误唤醒的概率,越低越好。
2、NLU
语义理解准确率
语义识别的意图、槽位、结果均正确时,认为语义理解正确,则准确率=识别正确的query/总query
召回率
能够正确识别用户话术到某个意图中,则为对应场景的召回率,召回率= 正确识别到该场景的话术/用户话术中存在该意图的话术。
3、TTS自然度
指TTS在播报时的流畅程度,更加贴近于人在说话,而非机器音,是一个偏主观的指标。
- 免责声明
- 本文所包含的观点仅代表作者个人看法,不代表新火种的观点。在新火种上获取的所有信息均不应被视为投资建议。新火种对本文可能提及或链接的任何项目不表示认可。 交易和投资涉及高风险,读者在采取与本文内容相关的任何行动之前,请务必进行充分的尽职调查。最终的决策应该基于您自己的独立判断。新火种不对因依赖本文观点而产生的任何金钱损失负任何责任。