赞助商
立即赞助

想设计智能语音产品,你得先学会这3类基础知识

产品经验3年前 (2021)发布 流光
1.9K 0 0

对话是人与人之间交换信息的普遍方式。人可在交流时通过判别对方的语气、眼神和表情判断对方表达的情感,及根据自身的语言、、经验和解对方发的信息,但对于只有0(false)和1(true)的计算机来讲,解人的对话是一件非困难的事情,因为计算机具备上,目前的语音交互主由人设。人觉得语音交互设计是设计怎么问怎么答,看似很简单也很聊,其实语音交互设计涉及系统学、语言学和心理学,此它比 GUI 交互设计复杂很多。

好一好的语音交互设,首先知道自己的产品主服务对象谁?单人还多人使用?第二,对即将使用的语音智能平台非常了解;第三考虑清楚设的产品使用哪,纯语音音箱还屏幕的语音设备?了解完以三点能好去设一款语音产品。考虑到目前市场上 Alexa、Google Assistant、DuerOS、AliGenie 等语音智能平台都有各自优缺,以下讲述语音交互设计将是用、抽象型,以及不会针任意款语音智能平台进设计。

一、语音交互相关术语

在设计语言交互前,我们先了解下与语音交互相关术语。

1. 技能(Skill)

技能可以简单理解为个应用。用户说「Alexa,我要看新闻」或者说「Alexa,我要在京东上买东西」时,用户将分打开新闻和京东物两项技能,而「新闻」和「京东」两个词都属于触发该技能关键词,也是打开该应用入口,后用户说话都会优先匹配该项技能里意图。由于用户呼喊触发词会加深用户该品记忆,此触发词具有很高商业价值。

「Alexa」唤醒语音设备的唤醒词,相当于手机的解锁页面,同时也便捷回到首页的 home 键。目的语音设备需被唤醒能执行相关操作,例如「Alexa,几点?」、「Alexa,帮我设置一闹钟」。这样设的好处省电以及保护用户隐私,避免设备时间录音。

2. 意图(Intent)

意图可以简单理解某应用的功能或者流程,主满足用户的请求或目的。意图多句表达形式的集合,例如「我看电影」「我看2001刘德华拍摄的动作电影」都可以属于同一视频播的意图。意图隶属于某项技能,例如「京东,我买巧克力」这案例,「我买巧克力」这意图属于京东这技能的。当用户「Alexa,我买巧克力」,如果系统不知道这项意图属于哪技能时,系统无法理解并且执行的。但,些意图不一依赖于技能,例如「Alexa,今天深圳天气怎么样」这种意图就可以忽略技能直接执行,因它们默认属于系统技能。当语音设备存第三方天气技能时,如果用户直接喊「Alexa,今天深圳天气怎么样」,系统还会直接执行默认的意图。我们语音交互多设意图,也就设意图怎么理解以及执行相关操作。

3. 词典(Dictionary)

词典可以理解某领域内词汇的集合,用户与技能交互过程中的一重概念。例如「北京」、「广州」、「深圳」都属于「中城市」这项词典,同时属于「点」这项范围的词典;「下雨」、「台风」、「天晴」都属于「天气」这项词典。些词语会存于不同词典中,不同词典的调用也会影响意图的识别。例如「刘德华」、「张学友」、「陈奕迅」都属于「男歌星」这项词典,同时他们也属于「电影男演员」这项词典。当用户「我看刘德华电影」的时候,系统多匹配到电影男演员的「刘德华」;如果用户「我听刘德华的歌」,系统多匹配到男歌星词典里的「刘德华」。如果用户出「打刘德华」模棱两可的话时,那么这句话究竟匹配视频意图还歌曲意图呢?这时候就需人设相关的策略匹配意图。

4. 词槽(Slot)

词槽可以理解一句话中所包含的参数什么,槽指这句话里多少参数,它们直接决系统能否匹配到确的意图。举例子,「今天深圳天气怎么样」这项天气意图可以拆分「今天」、「深圳」、「天气」、「怎么样」四词语,那么天气意图就包含了「时间」、「点」、「触发关键词」、「无义词」四词槽。词槽词典强关系的,同时词槽槽语言的语法也强相关的。例如「声音一点」这句话里就包括了主语、谓语状语,如果缺乏主语,那么语音智能平台不知道哪东该「一点」。设,我们先了解清楚语音智能平台否支持词槽状态选择(可选、必选)、否具备泛化能力以及槽否支持通配符。词槽槽设意图中重的环节,它们能直接影响未的作。

5. 泛化(Generalize)

一语音智能平台的泛化能力能直接影响系统能否听懂用户什么以及设师的作小,同时也能反映出该平台的人智能水平到底怎么样。究竟什么泛化?泛化指同一意图不同表达方式,例如「声音帮我一点」、「声音一点」、「声音再一点点」都属于调节音的意图,但表达的差异可能会直接导致槽的设失效,从无法识别出这句话究竟什么意思。目所语音智能平台的泛化能力较弱,需设师源源不断将不同的表达方式写入系统里。词槽槽的设也会影响泛化能力,如果设不当,设人员的作可能会翻好几倍。

6. 通配符(Wildcard Character)

通配符主用行模糊搜索匹配。当用户查找文字时不知道真的字符或者懒得输入完整字时,常常使用通配符替字符。通配符意图设中非常用,尤其数据缺乏导致某些词典数据不全的时候,它能直接简化制作词典的作。例如「XXX」一通配符,当我「视频播」这项意图增加「我看XXX电影」这项表达后,无论XXX什么,只系统命中「看」「电影」两关键词,系统都能打视频应用搜索XXX的电影。但,通配符对语音交互其实一把刃剑。假设我们设了一「打XXX」的意图,当用户「打电灯」其实启联网中的电灯设备,「打哈利波特」观看哈利波特的系列电影或者小。当我们设一「我看XXX」「我看XXX电影」两意图时,很明显者包含了后者。通配符用得越多会影响词槽槽的设,导致系统识别意图时不知道如何对众多符合的意图行排序,所以通配符一合理使用。

7. 自动语音识别技(ASR,Automatic Speech Recognition)

将语音直接转换文字,些时候由于语句里某些词可能听不清楚或者出二义性会导致文字出错。

想设计智能语音产品,你得先学会这3类基础知识

△ 图源:Ani

二、语音智能平台如何听懂用户说的话

语音交互主分两部分,第一部分「听懂」,第二部分与人行交互。如果连用户的什么都听不懂,那么就不用考虑后面的流程了。这就好比如打的所网页链接全404一样,用户使用的产品会常感受到挫败感。因此能否「听懂」用户的话能体语音产品人智能能力的提。

决定你的产是否听懂户说的大分容,要由语音智平台决定,我们在做产设计前需要先了解清楚语音智平台的六个方面:

当前使用的语音智能平台 NLU(Natural Language Understanding,自语言理)能力何,尤其是否具备的泛化能力。NLU 是每个语音智能平台的核心。

了解系统的图匹配规则是完全匹配还是模糊匹配?以声音调整作为例。假声音调整这个图由「操作对象」、「调整」和「状」三个词槽决定,「声音提高一点」这句话的「声音」、「提高」和「一点」别对应「操作对象」、「调整」和「状」三个词槽。如果这候用户说「请帮声音提高一点」,这候因为增加了「请帮」三个字导致图匹配不了,那该系统的图匹配规则是完全匹配,如果能匹配成功说图匹配规则支持模糊匹配。只支持词槽完全匹配的语音智能乎没有任何泛化能力,这候计需要考虑通过构建词典、词槽和槽位的方式实现图泛化,这非常考验计的语言理解水、逻辑能力以及对整体词典、词槽、槽位的全局计能力,可以认为这项任极其艰巨。如果语音智能支持词槽模糊匹配,说系统采用了识别关键词的做法,以刚刚的「请帮声音提高一点」作为例,系统能识别出「声音提高一点」别属于「操作对象」、「调整」和「状」三个词槽,然后匹配对应的图,而其文字「请帮」或者「请帮帮吧」将会被忽略。模糊匹配能力对图的泛化能力有显的提升,能极大减少计的工作量,因为尽可能选择备模糊匹配能力的语音智能。

前使用语音智能平台语言支持程度如何。语言都有自己语法和特,这导致了目前 NLU 不能很好地支持各语言,例如 Alexa、Google Assistant 和 Siri 都在深耕英语英文识和理解,语文理解会相很多,而国内 DuerOS、AliGenie 等语音智能平台则相反。

些词典我们很难通过手动的方式收集完整,例如具时效性的人词典还词词典。如果收集不完整终结果就系统很可能不知道的语句什么意思。这时候我们需官方提供的系统词典,它能直接帮我们减轻的作。系统词典一般对一些通用领域的词汇行整理的词典,例如城市词典、单词典、数字词典、人词典还音乐词典。因此我们需了解当使用的语音智能平台的系统词典数否够多,每词典拥的词汇否齐全。

了解清楚语音智平台是否支持客户端和务端自定义参数的传输,这一项非重要,尤是对带屏幕的语音设备来说。我们做设计最注重的是户在哪个场景做了么,简单点就是 5W1H,What(么事情)、Where(么地点)、When(么时候)、Who(户是谁)、Why(原因)和 How(如何),这些都可解为场景的多个参数。据我了解,有些语音智平台在将语音转换为字时是支持传输自定义参数的,这可会导致你在设计时只考虑多轮对话中的上,无法结合户的地位置、时间等参数进行设计。为么说自定义参数对带屏语音设备非重要?因为户有可说一句话就直接操作屏幕,然后继续语音对话,如果语音设备知道户在屏幕上进行么样的操作,可认为语音智平台是知道户整个使流程是怎么样的。在同场景,户说的话都可会有同的意图,例如户在爱奇艺里说「周杰伦」,是想看与周杰伦相的视频;如果在 QQ音乐里说「周杰伦」,户是想听周杰伦唱的歌曲。因此,Where 除了是户在哪座城,还有就是户目前在哪个应里。

当前使用的语音智能平台是否支持意图的自定义排序。其,意图匹并不是只匹到一条意图,它很有能匹到个意图,只是每个意图有不同的匹概率,最系统只召回概率最大的意图。在点已提到,在不同场下用户说的语句能有不同的意图,所以意图应该根据当前场进行匹,而不只是根据词槽来识别。因此语音智能平台支持意图的自定义排序非常重要,它能根据特定参数匹某低概率的意图,现场化的理。当,只有在点现的情况下,意图自定义排序才有意义。

当前使用的语音智能是否支持声纹识别。一语音备有可能被多个人使用,而声纹识别可以当前正在使用备的用户底是谁,有助于针对不同用户给出个性化的回答。

想设计智能语音产品,你得先学会这3类基础知识

△ 图源:Ani

三、设计「能听懂用户说什么」的智能语音产品

当对整个语音智能有较深入的理解后,开始计一套「能听懂用户说什」的智能语音产品。为了让大家对语音交互计有深入浅出的理解,以下内容将是为带屏备计一款智能语音系统,使用的语音智能不备泛化能力,但是它可以定义参数传输和图定义排序。以下内容为系统全局计和图计。

全局设计主要分为以下步骤:

如果我们对话的「人」性格风格常变化,那么我们可能会觉得这「人」可能点问题,所以我们对产品赋予一固的人形象。首先,我们需明确我们的用户群体谁?再根据我们用户群体的画设一虚拟角色,并对这角色行画描述,包括性别、龄、性格、好,还采用哪种音色,如果还屏幕显示虚拟角色,那么我们考虑设整套虚拟角色的形象动作。完整的案例我们可以参考微软小冰,微软把小冰义一话唠的17岁高中女,并且小冰赋予了轻女性的音色以及一整套少女形象。

考虑我们的产目的是么,将会为户供哪些技(应),这些技的目的是么?户为么要使它?户通过技做么和做么?户可哪些方式调该技?还有我们的产将会深耕哪个垂直领域,智控制?音乐?视频?体?信息查询?闲聊?由于有些意图是通而且户经到的,例如「打开XXX」这个意图,「打开电灯」属于智控制意图,而「打开QQ音乐」属于设备控制意图,「打开哈利波特」有可属于电子书或者视频意图,每个领域都会有意图重叠,因此我们要对自己供的技进行先后序,哪些是最重要的,哪些是次要的。在这里我建议把信息查询和闲聊最好放在序的最后面,由请看第点。

建立合适的兜底策略。兜底方案是指语音完匹不上意图时提供的最决方案,以样认为:当智能语音平台技术不成熟,自己设计的语音技能少,整个产品基听不懂人在说什么的时,兜底策略是整套语音互设计中最重要的设计。兜底方案主要有以下三种:

A. 以多种形式告知用户系统暂无法理解用户的思,例如「抱歉,目前还不能理解你的思」、「还在学习该能中」等等。这种做法参考了人类交流过程中多变的表达方式,使整个对话不会那无聊生硬。这种兜底策略成本是最低的,并且需要结虚拟角色一起考虑。如果这种兜底方案出现的频率过高,用户有可能觉得你的产品什都不懂,不智能。

B. 将听不懂语句传第三搜索功能。基本上很多问题都能在搜索网站上找到答案,是答案过多导致用户操作成本有高。为了有个更好体验,我议品提供百、视频、音乐等多搜索入口。以「我想看哈利波特视频」这句话为例子,我们可以过正则表技术手段技能挖掘出「视频」词,时将「我想看」、「」词语过滤掉,最后获取「哈利波特」词,接放到视频搜索里,有效降低用户操作步骤。这兜底策略能简单有效地解决大部分常用查询说法,用在指令意图上会常怪,例如「打开客灯」结跳去了百度进搜索,这时候会让用户觉你品常傻;有,如在设计个兜底策略时没有全局考虑楚,很有可能导致截取出来关键词有问题,导致用户觉很难理解。

C. 将听不懂的语句传给第三方闲聊机器人。些积累较深的第三方闲聊机器人不能理解用户问的什么,且提供多轮对话的闲聊机器人可以使整产品看起「人性化」一点。由于闲聊机器人本身就自己的角色,所以这种兜底策略一结合虚拟角色并行考虑。且第三方闲聊机器人需第三方 API 支持,三兜底策略中本高的,但效果也可能好的。

由于是听懂才需要兜策略,上种兜方案是互斥的。为了整个产有更好的体验,我们全依赖最后的兜策略,还是需要设计更多技和意图匹配更多的户需求。人与机器的对话可概括为发送指令、信息查询和闲聊种形式,上种兜方案在实际应时都会有优缺点,设计师可根据实际需求择最合适产的兜策略。

查看语音智能平台是否提供与技能相关的垂直领域官方词典,果没有就需要考虑手动建立自己的词典。手动建立的词典质量决定你的意图识别准确率,因此建立词典时需要注意以下几点:

  • 词汇的覆盖面决定了词典质量,词汇量是越多越好。
  • 该词典是否需要考虑动态更新,例名人、视频、音乐等词典应该支持动态更新。
  • 该词是否有同义词,例如医、学校等词都应该考虑其的常用叫法。
  • 如想精益求精,需要考虑词汇是否是多音,有是否有常见误叫法。有时 ASR(Automatic Speech Recognition,自动语音识)会将语音识误,此需要考虑是否需要手动纠正误。

在景的帮助下,可以更好地理解用户的图。由于的大部备都是使用开源的安卓系统,而且语音应用和其应用都相互独立,息乎不能传输,所以可以通过安卓官方的 API 获取栈顶应用息了解用户当前于哪个应用。如果用户当前使用的应用是由计开发的,就可以将用户的一系列操作流程以及相关参数传输给服器进行析,这有助于更好地判断用户的想法是什,并前置最相关的图。

撰写脚本像电影或戏剧里样,它是确定话如何互动好法。可以使用脚本来帮助确认你可能没考虑到情况。撰写脚本需要考虑以下几:

  • 保持互动简短,避免重复的短语。
  • 写出们是如何交谈,而不是如何阅读和写作。
  • 当用户需提供信息给出相应的指示。
  • 要假设户知道该做么。
  • 问问题时一次只问一个信息。
  • 让用户做选择,一次提供不超过三个选择。
  • 学会使用话轮转换(Turn-taking)。话轮转换是个不是特明显是很要谈话工具,它涉及了话我们习以为常微妙信号。 们利用这些信号保持话往复过程。缺少有效轮回,可能会出现谈话双时说话、或者话内容不步并难以被理解情况。
  • 对话中的所元素应该可以绑一起简单的一句话,这些元素将我们意图设中重的参数,因此我们留意对话中的线索。

最后我们要将脚本转化为决策树。决策树跟我们理解信息架构常相似,也是个技能、意图、话流程设计关键。这时候我们可以过决策树发现我们个技能设计是否有逻辑不严密地,从而优化我们个设计。

以全局设的相关内,以下始讲述意图设。意图设主包括以下内:

在前面到,意图识别是由词槽(参数)和槽位(参数数量)决定的。当一个意图的槽位越多,它的还有复程就越;但是槽位越多会导致整个意图变得更复杂,错的概率就会越,意图设计并是槽位越多就越好,最终还是要根据实际情况而决定。当我们设计词槽和槽位时,请结合当前语言的语法和词性一起考虑,例如每一句话需要考虑谓宾结构,还有各种的名词、词、副词、量词和形容词。

当语音智能平台泛化能力弱时,我们以考虑手动提升整的泛化能力。主要的做法是将常用的表达方式抽离出来成为独立的词典,每个意图匹该词典。

如果计的是系统产品,应该考虑全局图的计。例如像带屏智能音箱、投仪都是有实体按键的,可以考虑通过语音命令的方式模拟按键操作从而达全局操作,例如「上一条」、「下一个」、「开xxx」这些语音命令在多应用内都能用。

以下过简单案例学习下个意图是怎么设计,我们先从「开启关闭设备」意图入手:

首先我们设「执行词典」「设备词典」,词典如下:

想设计智能语音产品,你得先学会这3类基础知识

设「执行设备」的词槽「执行」+「设备」。无论用户「灯」或者「打光」时都能顺利匹配到「Turn_on」+「Light」;用户「关掉彩电」或者「关电视」都能顺利匹配到「Turn_off」+「Television」,从执行不同的命令。

为了增泛,我们需要设计一个「语气词典」,词典如:

想设计智能语音产品,你得先学会这3类基础知识

增意图槽位。这时候把「执行」和「设备」两个槽位设置为必槽位,意思是这句话这两个词槽缺一可,如果缺中之一需要多轮对话询问,或者系统直接无法识别。接着增两个可槽位,同时为「语气」,可槽位的意思是这句话可需要这个词都顺利识别。这时候户说「请开灯」、「帮我开灯」都顺利匹配到「Please」+「Turn_on」+「Light」及「Please」+「Turn_on」+「Light」+「Suffix」,由于「Please」和「Suffix」都属于「语气」可词槽的容,两句话最后识别都是「Turn_on」+「Light」。通过参数相乘的方式,我们可将整个「开启闭设备」意图分别执行4种命令,并泛数十种表达来。

刚刚也提到,对轮对的目的是为补意图中部必选词槽的内容。当用户家里存在数盏灯时,系统应该将刚才的常用表达升级为「Please」+「Turn_on」+「Which」+「Light」+「Suffix」。当用户说「打开灯」的时,系统应该询问「您需要打开的哪一盏灯」,根据用户的反馈结果执行相关命令。

以上的案例只是整个图计中的一部,还有多细节需要根据实际情况进行计。完成整个全局计和图计后,应该邀请用户进行实践测,这候有可能发现用户会用没想的话术进行语音交互,要尽可能地完善图以及对话计,避免产品上线后出现问题。最后,关于创建用户故事、撰写脚本和对话流程计,请阅读 Google 的《Actions on Google Design》和Amazon的《Amazon Alexa Voice Design Guide》文档以及相关的语音智能的官方使用文档,面会更详细地介绍相关细节。

欢迎关注作者微信公众号:「薛志荣」

想设计智能语音产品,你得先学会这3类基础知识

图片素材作者:Hooman Hatefi

© 版权声明
您必须登录才能参与评论!
立即登录
暂无评论...

相关文章

编者按:随着亚马逊、小米、阿里巴巴等大公司都推出了智能语音产品,如何为这类以语音交互为核心的智能产品做设计也成了一个...
交互设计
设计也需要在每个场景中分别做出判断,行业通用的部分沉淀,以及行业特性的个性化设计思考,都是需要不断的去尝试和打磨的。...
人工智能设计
为什么会有语音交互?它适用于什么场景?不适用于哪些?文章为你解读。 一. 什么是语音交互 在没有机器之前,人类最早的交互...
界面设计
VUI的现状 随着智能音箱的迅速发展,谷歌(Google Home)、亚马逊(echo)、天猫精灵、小爱音箱……智能产品的井喷式增长,人们...
VUI
移动端APP的世界真的是瞬息万变啊,各种设计技法和新鲜趋势你方唱罢我登场,想要维持住产品的热度和关注度,设计师需要不断地...
AR
阿里巴巴国际UED – 婉语:2018年初,我从新加坡国立大学博士毕业,加入阿里巴巴国际UED,从语言学研究领域跨界到语音交互设计...
智能语音交互设计
设计师真正开始投入 VUI 产品设计流程之前,需要认真解读一下产品的整体规划及需求细节,避免设计过程中往复采坑,也避免最终...
VUI
最近看了几篇很不错的机器人文章,就想着一边翻译,再一边写点自己的想法。日常工作时沉浸在机器人平台、多轮场景以及各种解...
AI 智能