从iPhone4S开始,语音助手Siri成为了苹果系列的标配,为用户提供了一种新的人机交互体验,而现如今语音助手已经成为了越来越多手机以及其他智能电子终端的标配功能。
在使用过程中会发现,该功能必须联网才能使用,之所以这么设计,是受到手机端算力不足,存储空间面对海量资源有限导致的,简单来说就是在保证同等体验的情况下,“臣妾做不到啊”。
为了解释这个观点,接下来按照以下几个维度进行解释:
语音助手的基本流程
主要技术的实现原理
云端实现的产品优势
语音助手的基本流程
要想弄清楚为什么语音助手需要联网才能使用,先要明白当前语音助手的背后的实现原理是什么。
如上图所示,简单的绘制了语音助手的基本流程框架,其中ASR,NLP,TTS均为云端服务,这三个环节的主要作用如下:
ASR(Automatic Speech Recognition),即自动语音识别技术,类似于人的耳朵,该环节会将接收到的语音信号,转换为文本信号,这样才能让计算机做后续的处理。
NLP(Natural Language Processing),即自然语言处理,类似于人的大脑,该环节通过文本以及上下文逻辑理解客户的意图,并提供最佳答案回复。
TTS(Text To Speech),即从文本到语音,类似于人的嘴巴,该环节会将NLP返回的文本结果转换为语音信号,并传递给播放器播放出来。
这三个技术环节构建起了整个语音对话的核心。
语音对话技术为什么不能在手机或者其他智能硬件端实现,而需要联网才能使用,取决于这三个环节目前无法在保证用户体验的情况下在手机端离线实现。
主要技术的实现原理
以目前市面上已经商用化的语音对话实现技术来看,可以将ASR,NLP,TTS的资料简单整理如下表所示:
看起来很懵?那就对了!
看上去非常简单的语音交互,实际上主要的技术环节就涵盖了表中的主要环节。从常见应用技术中可以看出,里面多个环节均涉及到了机器学习、深度学习。同时对于音频的处理中也需要大量的卷积操作。
听不太懂也没有关系,只要知道这个过程很难就可以了。手机端由于体积的考虑,成本的考虑,续航的考虑,重量的考虑,散热的考虑等等,比起服务器而言,尤其是支持GPU进行并发浮点运算的服务器,运算资源是非常少的。
为了更形象的说明,使用2016年发布的iPhone 7 Plus与2013年发布的iMac14,1进行一场跑分比赛,具体结果如下表所示:
可以看出,一个领先两年的旗舰手机,也无法与两年前的PC机抗衡,更不用说服务器端了。
因此在手机上支持上述表中的所有环节,实在是巧妇难为无米之炊。
云端实现的产品优势
目前整个语音对话因为种种原因,需要在云端进行识别,该解决方案的思路就是用联网依赖换产品体验,这个产品体验具体体现在什么地方呢?
在线识别的ASR,可以提供更加准确的语音识别,降低因为语音识别造成的答非所问;
在线处理的NLP,可以提供海量资源,比起手机端的本地资源,可以视服务器端的歌曲内容资源是无穷大的;
在线处理的TTS,更加拟人化,读音准确,对于多音字的发音更加准确;
在线的资源方便及时进行升级,而不需要手机端修改任何东西。例如:最近网络的热门网络用语,爱豆最新出的歌曲名称等,产品和程序员均可以在云端进行快速升级优化;
云端由于优秀的处理能力,及时计算上网络链路的延时,也会比手机本地提供的离线语音对话服务更加快速。
到目前为止,可以较为清晰的明白这么涉及的原理是什么了。在产品的设计过程中,无法做到完美,及时乔布斯一样的奇才,也在产品设计中面临着各种妥协。
回味一下
我们在产品的设计中如果也面临同样的问题,也会面临取舍,那么有两个关键因素需要明确:
用户的核心诉求是什么,为了满足其核心诉求,用户可以做妥协的程度有多少。
类似语音助手,虽然产品设计只有在联网时才能使用,给使用场景做了很大的限制,但是比起一个离线的语音对话,联网的语音对话更像是和一个不聋不哑,无所不知的智者交谈。
解决方案的天花板不要限制了产品的想象力
类似语音助手,一个完全运行在本地的产品,处处将会受到硬件资源的影响而无法大展宏图,如果是核心不可取代的产品,否则很容易沦为鸡肋。
产品设计迎合社会发展趋势
类似语音助手,随着5G网路的普及,随着人机对话技术的发展,随着知识图谱的逐步完善,“只能联网才能使用”也许将不再是问题。