一段声音的旅程(一)语音产品的五大关键环节

最近几年关于人工智能的讨论可谓是甚嚣尘上,其中和语音及语义相关的行业活动更是尤为突出。现在很多行业都在涉足语音交互。半仙我印象比较深刻的是在2012年,大家都还在做手机语音助手,创业公司也都过的苦不堪言。之后苹果发布的中文siri犹如一夜春风,刮开了千树梨花。DNN、语音开放平台、语音助手等等都在那个时候开始出现。大量的资本也开始躁动,其中百度和搜狗在内的资本狠投了一波手机语音助手。很多做语音的公司也都陆陆续续挣得盆满钵满,得以在创业的道路上继续苦逼。之后,乐视发布了超级电视,让语音一下子成为了智能电视的宠儿。于是大伙儿一看,哟呵!隔壁老贾折腾那智能电视挺像模像样的哈!那啥,这风头不能让他一人占了,咱哥几个也得掺和一手~ 所以一夜之间,各路电视、ott盒子都要加语音。再之后,智能后视镜、智能音箱、智能家居、机器人、玩具等等都加入了这场语音大战。

图片来自网络

本半仙身边接触语音的朋友也越来越多。很多人来问我,语音产品的“产品”到底是做个啥?不就对机器说句话让机器去做个事儿嚒。比如:

用户:二傻,快打开空调,热死老子了!

语音产品:你才二傻你全家都是二傻!

艾玛真不好意思,记错台词了……

我们再来一条——

用户:你好二傻,打开空调。

语音产品:已为您打开空调。哔——

你看,技术都做好了,做个“UI”把现成技术打个包,和巴和巴就鼓捣出一个产品了,这也太容易了!这就是业内普遍的认知。所以做语音的产品人员(包括本半仙在内)职级普遍都不高,甚至是主业为其它,顺带着做语音。就更别提语音的交互体验设计师咯,要想做到高级别更是难上加难。资深的语音产品和语音交互,大部分都在讯飞、nuance、谷歌等大佬手里攥着。想挖他们,好说嘛——砸钱!但对于囊中羞涩的小企业来说,掂量掂量荷包,也只能感叹既生瑜何生挖不到瑜的企业。

图片来自网络

而对于新手来说,交互基本都是从GUI的知识体系中培养出来的孩子,大部分都是擅长强视觉交互,对于语音这种“弱视觉强逻辑”的交互,要做起来就会很吃力。产品也是类似,从设计或者其它行业转到语音行业来做产品的人可能拥有很多的想法和创造力,但是他们不了解这个行业的瓶颈,往往很难落地。做技术或者语音研发转过来做产品的人,了解技术的局限性,能落地,但却缺乏创造力和对体验的洞察力。想要找到一个好的语音产品和语音交互,真的是难于上青天!

图片来自网络

不过整个语音行业被推到风口其实也没几年,所以整个产业结构体系还不健全,各个职位和工种定位还不清晰,是这个行业处于过渡期的正常现象。

其实和语音相关的业内资料多如牛毛,毕竟人工智能这行业也是经过了六十多年积淀的。可网上只要和语音和人工智能相关的文章,常常笔锋一变就开始讨论深度学习、神经网络这些课题,然后带出一大堆看不懂的术语,一大堆不知道对不对的公式,一大堆不知所云的论文,然后,呃,就没有然后了……

图片来自网络

这无疑给像本半仙一样热爱学习的好童鞋去学习和理解这个行业,带来了诸多困扰。所以从今天起,本半仙将尝试着把平时带团队时教的一些零碎的知识整理出来跟大家分享。来来来,童鞋们都拿好小本本搬好小板凳排排坐哈,咱们修仙,哦不,是语音分享大会正式开始——

“人工智能”的愿景说白了就是希望机器能够替代人。所以,人工智能大部分是以“人”为原型的。我们可以在自己身上或者生活中,找到足够多的真实样本,去理解这个看似很深奥的领域。再来看语音,它存在于我们每天都在经历的再平常不过的对话和沟通中。从表现来看,语音就是“我发出一个声音给你,然后你再回馈一个声音给我,循环反复,直到对话结束”。所以这么看来,语音的过程很简单。但在现实生活中,为什么有些人会让你觉得很难沟通,而有些人你又觉得很好沟通呢?因为声音只是表象,每段声音都承载着具体的内容,而内容又承载着每一个人的认知阅历、性格情绪、思维方式、理解能力等等,甚至一段一模一样的话,在对话双方所处的不同心境、不同语境、不同环境下,结果都完全不一样;我们每天都需要不断去思考,而语音就在我们身边,想做语音产品的朋友,需要明白“思考”的重要性:一方面是真正的理解“人工智能”和“人”的差异,另一方面是做好心理准备。语音绝对不是把语音语义放到一起就能做好的,这是一条仍重而道远,挑战与乐趣并存的道路。

“我发出一个声音给你,然后你再回馈一个声音给我”,“循环反复,直到对话结束。”

先将上面提到的一句话,拆分成两段。前半部分,我们把它叫做“一次(轮)语音交互”;后半部分,从“对话开始”到“对话结束”,我们把它叫做“一个完整的对话”。一个完整的对话,可以由一次交互完成,也可以由多次交互完成,对于“一次”或“多次”的设计和管理,我们叫它“语音对话管理”或者”语音交互流程设计(或管理)“等(技术上,经常会看到“Dialogue Management”之类的模块,指的就是这个部分);如下图:

“一次语音交互”

说到一次语音交互,我相信你第一个想到的就是语音识别。其实不是的,具体过程如下图:

我先聊一个语音中的一个经典问题:

假设你在一个灯光耀眼、喧嚣热闹的酒吧里。尽管周边的噪音很大,尽管周围的人使用的是各自的母语,比如英文、西语、法语、葡萄牙语等等,此时,如果远处突然有人用中文叫一声“二傻——”,你是不是会立马回过头看看谁在叫你?哈哈,开个玩笑。但这其实是语音中一个非常经典的现象,称之为“鸡尾酒会效应”,它体现出了人耳在听觉上的天赋异禀,同时也是语音识别中的经典难题。

在这个例子里,我们先做了一件事,就是“听清楚”,我们把这个过程,叫做“信号处理”。信号处理的目的是能够让这段声音,尽可能干净,尽可能高质量地提取出来。而要做到这个,需要解决很多问题,比如:

“声源定位”,也就是在环境中,找到叫你“二傻”的那个人的具体位置;

“降噪”,将“酒吧的噪音”、“其它人交谈的噪音”等等,都消除干净,从而让你的二,哦不,是“二傻”这两个字凸显出来。

早年语音都是做在手机APP里的,“信号处理”这个部分很少会被提及。现在语音在各个端上的使用越来越普及,比如汽车、音响、机器人、智能家居等等,语音所处的环境也越来越复杂,语音硬件的方案也越来越丰富(图中是车内双麦阵列所收录的音频数据,所以真实收录的声音有两组,回路信号以后再聊)。所以我会非常强调,语音产品对于“信号处理”的认知也是非常重要的。

当我们“听清楚”了之后就要“识内容”,要辨识出声音中的具体内容,这是我们经常说到的“语音识别”,即“声音转写成文字”的过程;如上图分析,用户说的是:“二傻,现在几点了?”。

知道内容了,就得“想意思”,想内容里的具体意思,我们叫这个过程为“语义理解”,即“自然语言理解”;用户的意思是:“他期望我反馈”、“现在”、“时间”、“具体时间中的小时”;听懂了,就得“去行动”,得先看下手表里显示的现在时间,然后把小时的数值反馈给他,我们把这个处理过程称为“语义处理”;行动完了,要“想话术”,同样都是告诉他时间,说法会有很多种,可以说“5点”,也可以说“现在是2018年5月3日17点03分50秒”,也可以说“还早,刚过5点,咋啦,晚上有约嚒?”等等,不同的表达方式,会给人带来不一样的体验和感受(这对于语音的体验是一个非常关键且容易被忽略的点,语音的产品经理和交互设计师务必注意,都拿出小本本记好了啊),我们称这个过程为“语言生成”;当然,我们也会把“想意思”->“去行动”->“想话术”放在一起,都叫做“自然语言处理”(NLP)。

想清楚怎么表达之后,就要“说出来”,将“文字转换成声音”的过程,我们叫它“语音合成”,之后再通过扬声器播放出来,不同的声音会给人带来不同的感受,比如“郭德纲”和“林志玲”,两种声音给人的体验是不一样。

一次语音交互

=“听清楚”->“识内容”->“想意思”->“去行动”->“想话术”->“说出来”

=“信号处理”->“语音识别”->“语义处理”->“语音合成”

“一个完整的对话”

多次交互组合在一起,形成一个完整的对话;如图:

当我们理解意思之后,要“去行动”,这个行动是什么,和当前对话的具体内容是有关的。比如问天气“今天天气咋样?”,这句话里没有“城市”,我们在设计交互流程的时候,就有很多选择。比如反问他“你想知道哪的天气?”,让他告诉你;当然也可以自己去“找当前位置是哪个城市”,根据这个“结果”来决定。如果结果是“上海”,那就去找“上海”“今天”的“天气”。

和我们正常沟通是一样的,后面聊的内容和前面说的内容会有一定的相关性,我们称这个相关的部分,叫“上下文”。上下文可以帮助我们“记忆”当前对话的一些信息,比如,之前问“今天的天气咋样?”,之后再问“那北京那旮沓呢?”,“问天气”这个就属于上下文了,不用再说一次,这也是符合人与人之间的对话方式。

这些复杂的流程的具体设计,我们称之为“语音交互设计”,也是今天大部分人定义“语音交互体验设计师”这个岗位的主要工作内容。

在这里所提到的“信号处理”、“语音识别”、“语义理解”等等人工智能里的娇宠,都有一个共同特点,就是“概率性”。“听清楚”不能保证一定听得清楚,“识内容”不一定全都能辨识清楚,也可能错了漏了,“想意思”也可能根本不能理解意思,甚至可能南辕北辙,完全曲解,这些都是有一定概率会出现的。其实人也一样,很吵的时候,人也不一定听得清楚;有些时候,也可能听漏和听错;语言中有很多都是有歧义有多重含义的,人都有可能会理解错误,更何况机器呢?

很多产品的童鞋会在这个时候会说“这都是技术该解决的问题,产品只要想清楚场景,定义好规则就好”。No,no,no,技术的瓶颈是客观存在的,想真正做好语音的产品,就必须直面这些局限性,在这些困难之上,逐步构建起一个产品体系,去满足用户的诉求,去实现市场的期望。

图片来自网络

概念和产品就像理想和现实,人与人的最基本的对话,看似很平常很简单,想要真正做到,却是非常复杂和困难的。或许研发将几个模块集成到一起,就能在一个终端上把语音对话实现出来,但这也只是有一个demo而已,真正要交付一款好的语音产品,远比想象中的难。换句话说,有的人和你沟通,可能三言两语你就想让丫滚犊子,而有的人,却可以和你唠三天三夜还意犹未尽。找个能说话的人容易,找个懂说话艺术的人可能就不那么容易了。

对于语音产品而言,我们不仅要对“人”深度思考,洞悉出人的真正诉求,从中抽象出最适合的产品体验,也要对“人工智能”深度思考,直面现实的局限性,脚踏实地,扎扎实实做产品,踏踏实实磨体验。

好啦,今天的分享会到此结束,我们下期再见!

对了,临走前别忘了点赞打卡哦~

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180503G1R85900?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券