编辑导语:随着定位器的逐渐智能化,越来越多的定位器只要听到指令就会帮助主人完成一些任务。这是语音唤醒功能。本文重点介绍了语音唤醒的功能,并详细讨论了它的应用、工作原理、如何训练唤醒模型以及如何进行测试。
“你好siri”、“天猫精灵”、“小爱同学”,我们在生活中经常会叫这些名字,请他们帮我们完成一些指令。这个过程就像请人帮你做一件事。
而这个骂人的过程,就是我们今天要讲的语音唤醒。
一、什么是语音唤醒
语音交互之前,设备需要先唤醒,从休眠状态进入工作状态,才能正常处理用户的指令。
将设备从休眠状态唤醒到工作状态称为唤醒。我们常用的有触摸唤醒(锁屏键)、定时唤醒(闹钟)、被动唤醒(电话)等。,语音唤醒是指通过语音将设备从休眠状态切换到工作状态。
关键词检测:在连续语音流中实时检测说话人的特定语段。
可能长得好看的同学会问。我不能让他一直工作吗?
工作设备总会对接收到的音频信息进行处理,把不是在自说自话的语音当成有效信息,这样会导致无序对话。而语音唤醒成功避免了这个问题,只在用户叫自己名字的时候工作,其他时间睡觉。
其实语音唤醒的能力是否需要取决于场景。一些廉价玩具通过按住按钮进行语音交互。
二、语音唤醒有哪些应用?
目前语音唤醒的应用范围比较窄,主要应用在有语音交互的设备上,用于解决触摸不便但需要交互的场景。
生活中最好的应用应该是智能音箱。每个品牌的智能音箱都有自己的名字。我们唤醒她,与她互动,并通过扬声器的名称控制家用电器。
其次,定位器。目前大部分定位器都配备了定位器助手。从苹果最早的siri,到现在的“小爱同学”,甚至不用碰定位器就能实现一些操作。
还有一些服务型机器人也使用语音唤醒。
但一般机器人会采用多模态唤醒能力,它们会结合语音唤醒、人脸唤醒、触觉唤醒、人体唤醒等多维度信息。,适时进入工作状态。
3.语音唤醒的工作原理是什么?
语音唤醒能力主要取决于语音唤醒模型(以下简称“唤醒模型”),它是整个语音唤醒的核心。
唤醒模式主要负责听到唤醒词后立即切换到工作状态,所以必须实时监控,以便听到后及时反馈。因为需要实时响应,唤醒模型对计算能力要求不高,所以唤醒模型通常在本地制作(不同于云端的ASR识别)。
这就是为什么即使我们没有联网,你被称为“小爱同学”,她也会同意你。
唤醒模型的算法已经发展成三个阶段:
1.基于模板的匹配
使用模板匹配制作唤醒模型时,通常将唤醒词转换成特征序列作为标准模板。
然后将输入的语音转换成相同的格式,利用DTW (dynamic time warping)等方法计算当前音频是否与模板匹配。如果有,它就醒了,如果没有,它就继续睡。
简单理解就是找到唤醒词的特征,根据特征制定触发条件,然后判断音频内容是否符合触发条件。
2.基于隐马尔可夫模型
在使用隐马尔可夫模型作为唤醒模型时,通常对唤醒词和其他声音建立一个模型,然后将输入信号(可以切割音频信息)传入两个模型进行评分。最后,比较两个模型的得分来决定是唤醒还是保持休眠状态。
简单理解就是分别做一个唤醒词和非唤醒词的模型,根据两个模型的结果对比来决定是否唤醒。
3.基于神经网络
使用神经网络作为唤醒模型可以分为几种类型:
有将模版匹配中的特征提取,改为神经网络作为特征提取器;也有在隐马尔可夫模型中,某个步骤使用神经网络模型的;还有基于端到端的神经网络方案。
凡是用神经网络原理的,都可以说是基于神经网络的方案。
其实唤醒模式的工作原理很简单,就是一直在等待一个信号,当这个信号到来时,就会切换到工作状态,只是判断信号的内部逻辑不同而已。
四、如何培养唤醒模式
一般来说,训练语音唤醒模型需要四个步骤,包括:
1.定义唤醒词
首先我们需要定义一个唤醒词:
唤醒词的定义也是有讲究的。一般将3-4个音节的词定义为唤醒词。像我们常见的“天猫精灵”、“小爱同学”、“小爱”,都是四个音节。因为汉语发音和音节的关系,你可以简单的把音节理解为字数。
唤醒词数量越少,越容易误触发;单词越多,越难记——这就是为什么一般定义为4个单词。
其他3-4个字要避免一些常见的读音,避免和其他读音竞争,否则会频繁误醒。
一般唤醒词都会这样处理,即唤醒词中连续三个词也可以唤醒。比如喊一声“小爱”,也可以叫醒小爱同学。这是为提高容错率而设置的规则。
2.收集发音数据
然后你需要收集这个唤醒词的发音。理论上讲,演讲者越多,发音场景越丰富,训练的唤醒效果越好。
一般根据发音的数量和声音的时长,不同的算法模型对时长的依赖是不同的。基于端到端神经网络的模型,一个经验丰富的唤醒词可能需要几千个小时,也就是1000个人的1000个小时。
在收集唤醒词的发音时,一定要注意发音的清晰度,有时甚至会把相似的音放到训练模型中,防止用户因为发音问题而无法唤醒。
如果用户群体较大,甚至考虑唤醒词在各种方言中的发音。
3.训练唤醒模型
准备好所有数据后,就该训练模型了。这里常见的算法有:
基于模板匹配的KWS基于马尔可夫模型的KWS基于神经网络的方案
三种方案比较如下:
4.测试和迭代
最后是测试上线,一般分为性能测试和效果测试。性能测试主要包括响应时间、功耗、并发等。,一般留给工程师去解决。
产品会更加注重效果测试。对于具体的效果测试,我们会考虑唤醒率和误唤醒率。在后面的测试环节中,我们将详细测试流程和指标。
产品上线后,我们可以收集用户的唤醒数据,唤醒词的音频数据还会继续。我们要做的就是给这些唤醒音频贴标签,收集badcase,然后不断训练上线,就是这样一个贴标签,训练,上线的循环过程。
直到边际成本越来越高,形成有用的唤醒模型。
5.如何测试语音唤醒?
语音唤醒测试最好模拟用户的实际使用场景,因为不同的环境可能会有不同的效果。比如常见厂家说自己唤醒率99%,大概是在安静的实验室环境下测试的。这样的数字没有任何意义。
这里说的场景主要包括以下几点:周围的噪音环境,说话人声音的大小,说话的距离。
测试条件约束得很好,所以要关心测试指标。一般测试指标如下:
1.唤醒率
唤醒词被唤醒的概率,唤醒率越高,效果越好,通常用百分比表示。
在模拟用户使用的场景下,很多人测试很多次,重复的词叫做唤醒词。唤醒成功的比率就是唤醒率。不同环境,不同容积,唤醒率差异很大。
25dB唤醒词,在安静场景下3米内唤醒率能达到95%以上,在65-75dB(日常通话音量)的嘈杂场景下3米内唤醒率能达到90%以上就不错了。
因此,当我们查看每个唤醒率指标时,我们应该知道它是在什么环境下测试的。
2.错误唤醒率
非唤醒词被唤醒的概率,假唤醒率越高,效果越差,常以24小时内被误唤醒多少次来表示。
在模拟用户使用的场景下,很多人测试很多次,随意调用一些非唤醒词。成功唤醒的比率就是错误唤醒率。
如果误唤醒率高,可能会出现你正在和别人说话,智能音箱突然插话的情况。
3.响应时间
用户说出唤醒词后,给设备反馈的时间差,越快越好。
纯语音唤醒的响应时间基本在0.5秒以内,语音识别的响应时间会更长。我们将在下一章讨论它。
4.功率消耗
对于电池供电的设备,唤醒系统的功耗尽可能低。
一般插电用的音箱就可以了,对功耗的要求不是很严格。而***、儿童玩具等产品因为是电池供电,所以对功耗要求更高。
是siri在iphone4s上才有的语音助手,但直到iphone6s才允许siri不用电源直接语音唤醒,这是当时考虑耗电的原因。
不及物动词声音觉醒的其他内容
1.醒来后的反馈
我们用唤醒词唤醒设备后,需要一个及时的反馈来提醒我们唤醒成功,这将考验产品的设计功力。
一般有两个可感知的层面进行提示,一个是听觉层面,一个是视觉层面(暂时不考虑振动)。
听觉反馈可以分为两种类型:
一般来说,语音回复都是“在”、“嗯嗯”、“来了”等等,都是表示已经听到的简短回复。这些TTS句子的内容需要反复仔细打磨调试,才能达到理想的效果。建议不要超过1秒。
语音提示一般在语音回复之后,表示用户可以进行语音交互。一般是短暂的音效,然后收音机就开始了。
视觉反馈也可以分为两种类型:
光效反馈在智能音箱产品中很常见。他们没有屏幕,但也需要视觉提示用户。一般不同颜色的光效表示机器的不同状态,有明确的产品定义。
反馈可以做很多事情。你可以根据你的产品需求来设计提示,提示的力度,是浮动窗口还是弹出页面,根据不同的应用场景来设计,这里就不讨论了。
另一种情况是中间不需要反馈,比如“天猫精灵,开灯”这种一站式唤醒+交互。我们只需要执行相应的指令,并给出最终执行结果的反馈。
2.自定义唤醒词
随着语音交互的普及,逐渐衍生出一些个性化的需求,人们开始给自己的设备起一个专属的名字,就是自定义的唤醒词。
自定义唤醒词通常被打包到一个输入框中并提供给用户。用户只需要根据我们的提示填写框中的内容即可。这里我们可能需要注意以下几点:
唤醒词要有明确的字数限制,比如3-6个字;需要检测填写的唤醒词是否含有多音字,并进行提示,或支持注音修改;是否替换默认唤醒词,有时需要新加的唤醒词替代默认唤醒词,有时可能是并存的;自定义唤醒词的质量要高,就是前面说过的,相邻的音节要规避,音节要清晰。
3.功耗和唤醒速率之间的权衡
还有一个技术问题,就是唤醒效果要达到功耗的平衡。
一般电池供电的产品需要独立的硬件来控制语音唤醒,以平衡效果和功耗,达到相对理想的水平。
4.唤醒模式的动态调整。
之前听说过亚马逊音箱半夜被环境噪音吵醒,然后给出一些莫名其妙的回复。想想晚上睡着了,然后说话的人突然自言自语。想想都觉得恐怖。
为了处理这个问题,我们可以动态调整扬声器的唤醒阈值。比如唤醒正常阈值在0.9以上,那么晚上可以根据应用场景设置为0.8以上,具体取决于场景和模型的效果。
七。摘要
整个过程需要先定义唤醒词,然后根据实际场景选择模型,收集数据,最后在线迭代。
随着产品的用户越来越多,训练数据越来越多,整个唤醒模型进入正向循环,再考虑支持自定义唤醒词的能力。
语音唤醒作为语音交互的前置步骤,主要负责判断何时切换到工作状态,何时保持休眠状态,而这个判断是基于语音信息的。
本文来自心已碎♂无心醉投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/579279.html