(转)设计一个语音用户界面。

这篇文章是介质上的文章,结转给自己和大家学习。原始链接

/@ xuuwj/% E8 % AE % BE % E8 % AE % a 1% E4 % B8 % 80% E4 % B8 % AA % E8 % AF % AD % E9 % 9F % B3 % E4 % BA % A4 % E4 % BA % 92% E7 % 95% 8C % E9 % 9D % A2-语音-用户界面-1-6364d4529a28

从去年6月5438+065438+10月第一次接触VUI设计到现在已经三个多月了。在此期间,我依靠网上资料(主要是谷歌设计指南\ dueros.com \设计师笔记\论文)和自己的UX知识。我尝试设计了三个项目:一个买书技能,一个智能音箱语音交互游戏,一个关于中国电信100M宽带业务的微信咨询机器人。前两个项目已经有了原型,最后一个已经在微信微信官方账号后台实现。然而,这三个项目的重点是对话设计,这不是一个完整的VUI。

这个月刚读完?凯茜·珀尔(Cathy Pearl)的《设计语音用户界面》(Designing Voice User Interface)和《语音用户界面设计》(作者:Michael H. Cohen,James P. Giangola,Jennifer Balogh),该书完整地论述了VUI设计的基本原理、重要的技术模块和用户测试,有助于绘制一幅相对完整的VUI设计全景图。

在下一篇文章中,我会尝试用一条快乐的路径,把设计一个语音交互界面从0到1的过程连接起来,希望把设计问题定义在每一个小框架里,然后变成肌肉记忆。

对了,因为说话太本能了,我觉得VUI设计的难点在于如何跳出用户的思维,回归设计师的角色:)

语音界面的优势主要体现在三个方面:一是速度,包括输入更方便,入口更浅,学习负担更小;第二,当* * *,比如允许多个任务同时进行;三是探索性,可以激发用户的好奇心,提升用户体验。但同时不要忘了,语音沟通是非常受限于场景、技术和用户习惯的。

你可以参考Google-fit-quiz中的问题来验证VUI是否是你的最佳选择。

在回答之前,我们需要知道:1。用户之间的互动方式有哪些?2.如何2。VUI系统有效。

尼尔森诺曼集团将语音交互总结为以下三种模式:屏幕优先、纯语音和语音优先:

?先屏互动:?这里,我们从一个主要为屏幕设计的应用程序开始,语音控制是在产品之后添加的,以增强体验。(要设计一个以屏幕显示为主的app,会加入一些语音元素,提升用户体验。)

纯语音交互:?这里根本没有屏幕,输入输出都是基于声音,比如智能音箱。(Vui设备没有屏幕,输入输出都需要声音,比如智能音箱)。

?语音优先交互:?这是一个应用程序的设计,主要是通过增加一个输出信息的屏幕来增强语音。

在屏幕优先的情况下,最典型的代表就是手机语音助手。用户不仅可以通过语音进行操作,还可以通过打字和手势进行操作。系统回复的内容还包括语音、文字、图片、列表、链接等等。

纯语音交互的代表之一是智能音箱,用户通过“醒来”这个词打开VUI交互,比如“Alexa”;另一个代表是电话客服,即交互式语音应答,IVR),它可以通过电话线理解人们的请求,并引导用户完成相应的任务,如预订机票、查询话费等。

对话系统可以看作是人机翻译机,它接收人类的自然语言,翻译成计算机能够理解的结构化语言,从而进行信息的匹配和处理,最后以自然语言的形式反馈给说话人,完成一次“交流”。“沟通”的本质是通过对最优解的逐步预测,产生一个匹配概率最高的反馈,这需要计算能力、算法和数据的支持。

具体如下图所示:

当用户对系统说话时,系统会首先通过语音识别(ASR) ①接收并分析语音,识别器可以提供多个可能的结果,即N-best list,从中为接收到的语音匹配出最相似的词串文本,然后反馈给下一个NLU②模块。

理解自然语言是指系统通过对词法、句法、语义的分析,识别用户的意图或用户言语中涉及的域和实体,生成结构化的语义表示*,包括语言类型(陈述需求、询问属性、否定、选择问题等。)和条件信息(条件和值是什么)比如“帮我查一下深圳的天气”这句话,语义上表达为“inform(场合=天气,地点=深圳)”,其中“inform”代表“需求声明”,括号内的内容称为槽值对。你可以点击这里了解更多关于计算机如何理解自然语言的信息。

语义表示生成后,传递给对话管理器(DM),对话管理器决定回复用户什么,怎么回复。

对话管理器是对话系统中的一个关键模块,它连接着一个或多个知识库。通常包括:a .对话状态跟踪,比如跟踪执行用户意图所需的信息是否完整;b .对话策略,即根据当前状态决定下一步要采取的最优行动,例如,是否直接调用知识库提供结果,询问具体的限制,阐明或确认需求,或者打开一个相关的软件。

不同的对话系统,如目标驱动系统(基于任务,问答系统)和开放域系统(基于聊天),任务和知识库内容不同。

任务型对话的场景相对复杂,通常会涉及到与用户的多次对话。需要将请求参数化,并以槽填充的形式持续跟踪对话,直到识别出用户的意图、特征词和槽值对,即系统要执行的动作类型和操作参数。

问答型不需要考虑复杂的对话逻辑,通常一轮对话就可以解决,重点是语义分析和实体匹配。

聊天类型包括检索模式和生成模式。检索模式利用网络中的大量会话语料建立索引,从索引中寻找可能的候选回复,而生成模式则直接从每个人的大量会话中学习会话模型,然后利用会话模型“创建”回复。

对话管理器会根据当前的对话状态生成一个意向响应,然后进入自然语言生成(NLG)⑤——文本转语音(TTS) ⑤环节,将结构化的预期响应转换成自然语言,最后呈现给用户。

俗称“系统人物角色”,相当于产品的前端,即①语音特征、声调、语调、音色、节奏等。被系统采用。您可以选择使用合成声音或录音;

(2)演讲技巧,写问候语、特别回应、提示等时的用词和短句。,表现出与品牌一致的人格特质,如善良或拘谨,主动或顺从。

一个好的系统人物角色自然可以成为你写对话时的参考条件:“这个人物角色在这种情况下会说什么或者做什么?”

很难将VUI的交互方式和对话内容完全分开讨论,但这种尝试将有助于跳出用户视角,走进“黑箱”。

我倾向于将“交互模式”视为语音用户界面设计中的“高层设计”,将“对话内容”视为“细节设计”。

“高层设计”关注的是如何促进对话的顺畅,让用户了解系统的状态和任务的进度以便操作,比如系统在监听、期望收到指令、离线等。,可以理解为弹出、动态效果、视觉反馈等。在GUI中。

同时也为系统设计了更好的规则,使其能够做出更好的决策,比如什么时候需要向用户确认请求,可以理解为GUI设计中一个隐形的菱形判断框。

这些问题主要涉及以下方面:

①对话模式设计

A.命令和控制,即当用户想说话时,必须先唤醒系统,通过使用唤醒词、手势或按键。在一轮对话之后,用户必须再次唤醒系统以开始下一轮对话。

B.会话式,即在一个封闭的对话过程中,例如在完成一个特定的任务时,用户不必每轮都唤醒系统,而是自然地轮流,轮到用户发言时系统自动打开麦克风。

C.混合式,即命令和对话相结合,系统为用户提供了明显的状态切换标志,比如用earcon表示一种状态的开始和结束。

②对话策略的设计。

包括:

A.对话框架设计,即对话组织策略

《设计语音用户界面》一书将对话框架分为:a .定向对话,即系统主导的对话,向用户提出非常具体的问题,希望得到同样具体的答案;b .菜单层级,即系统为用户提供一系列选择。一旦用户完成菜单A的选择,系统将继续提供菜单B,直到用户的请求完成;c .混合式——主动式,即定向对话与菜单层级混合。系统向用户提问,并允许用户通过提供附加信息来引导对话。

B.对话修复策略

技术还不完善,识别器可能还没有准备好接受呼叫者的话,或者可能没有接收到说话者的声音,或者响应时间可能太长。用户经常突然改变话题或提供过多的信息。因此,除了推动对话,系统还必须配备应对这些情况的策略,以减少放弃所有先前努力的概率。

A.错误校正

有四种可能的错误:

没有检测到声音。

检测到声音,但无法识别。

语音识别正确,但无法处理。

一些语音识别错误

耽搁

一般来说,有两种方法可以处理这些情况。要明确的是,最好添加更多细节让用户了解现状,比如“对不起,我没听明白,请告诉我你所在城市和地区的名称”,或者什么都不做。如何选择取决于VUI系统的交互方式和用户场景。

B.通用指令

如“求助”、“停止”、“请重复”、“退出”等。设计不仅要考虑用户可能的需求,还要考虑用户会如何表达这些需求。

③条件阈值的设计。

每个应用都会定义系统能承受的最大误差,对话系统也不例外。特别是上面对交互过程的描述,也清晰地向我们展示了VUI的运营从用户、技术模块、数据资源都充满了不确定性。

《设计语音用户界面》这本书建议,我们应该考虑设置三个阈值:单个对话状态下连续错误的最大数量(特定于状态的错误计数),全局计算的错误的最大数量,错误确认的最大数量。

考虑到这一点,就很容易理解详细设计需要做什么了,就是深入到单个对话中,详细设计对话流程、辅助提示和异常处理方案。包括:

①对话设计

设计一个对话过程和写剧本很像,就是什么样的人物在什么情况下应该说什么。不同的是对话系统和部分角色的剧情都写好了。

谷歌、亚马逊、微软等所有平台都有关于对话设计的相关指导,通过这篇总结文章可以进一步了解。

②提示列表。

回想起来,人与人之间的交流也应该基于相同的知识,与机器的对话也应该如此。让用户知道系统能做什么,不能做什么,如何做对等等。,从而实现高效对话。

这可以通过设计提示列表来实现。提示的类型包括:

A.初始提示,

B.错误提示,

C.帮助提示,

D.特别回应等。

提示的形式有很多种,语音、文字、图像甚至声音。

比如图中,Google assistant用一个有文字的按钮告诉我它可以识别屏幕上的内容,我只需要点击或者说出指令;在右边的两张图中,Google用【视觉元素转换+文字提示“进入对话”和“离开对话”+音效(earcon)】来比喻游戏的开始和结束。

谷歌在谷歌助手的设计指南中总结了他们在提示中使用的不同类型的对话组件,这是一个非常好的参考。

其实设计流程和一般产品差别不大,所以需要考虑:

1).用户调研结果。包括用例、使用场景、用户语言模式和心理模式。可以参考博主@陆《语音理财案例分析》的设计笔记。

2).业务场景和目标。主要决定了功能列表,功能优先级,交互方式等等。推荐百度AI社区的《酒店语音助手实例教程》。

特别是人工智能产品的形态多种多样,设计师必须对附着在产品上的硬件设备、产品背后的数据和技术支持有所了解,从而确定产品边界,发现设计机会,不断优化用户体验。因此,也有必要考虑:

3).技术和硬件基础。

比如设备联网程度,ASR引擎是否允许你设置N-best列表,自定义语音终止时限,系统负载等。

4).数据资源。

比如目前的资源是否能满足这个功能,什么数据会影响系统响应时间。

人们往往通过语音识别的准确率来评价一个应用的运行效果,这也许是最差的衡量标准。一个应用可以达到90%的识别准确率,自动实现85%的业务通话;另一个应用程序达到97%的识别准确率,自动实现40%的业务呼叫。前者一定比后者更差或更好吗?

-“如何构建语音识别应用程序”(Bruce Balentine,David Morgen)

评估涉及三个问题:

1.如何定义成功

它需要与开发人员和客户* * *一起完成,以便确定哪些状态是可测量的,哪些是不可测量的。尽可能将成功状态具体化、数字化。

以下是取得一些成功标准的例子:

60%想要预订酒店的用户最终完成了预订。

85%的用户在1个月内完成了至少20天的日常健康记录。

播放歌曲的错误率低于15%。

-“语音用户界面设计”凯茜·珀尔

2.可以衡量什么?

A.任务完成率

B.用户流失率(在哪里)(为了什么)

C.使用期限

D.声音中断

E.高频异常

……

*如果不考虑原因,以上所有测量结果都不具备。

3.如何获得测量数据

A.在早期阶段建立记录日志

B.抄录用户通话记录

……

参考资料:

Cathy Pearl,语音用户界面设计

《语音用户界面设计》迈克尔·h·科恩,詹姆斯·p·詹戈拉,詹妮弗·巴洛夫

百度ai社区

谷歌设计指南

Cortana发展中心

尼尔森诺曼集团

/

周:自然语言对话引擎

几乎是人类