“他山之石”,语音技能开发的10个要点
“他山之石,可以攻玉”,本文编译自Amazon Alexa 的“10 Things Every Skill Should Do”,尽管是两年前的文字,还是有一定的参考意义的。另外,融入了一些自己的理解,尤其是DuerOS 相关的内容。
语音技能的构建既是一门艺术,也是一门科学。开发智能语音技能有一些技术方面因素,还要有设计语音体验的创意,两者都很重要。
那么,在开发智能语音技能的时候有哪些共同的要点呢?
1. 聚焦并做好一个功能
在开始设计语音技能时,开发者可能会希望这个技能可以非常熟练地处理各种请求。但是,对于使用语音交互的用户而言,记住所有不同的选择是很困难的。
只做一个功能,并且把这个功能做好,有很多成功的应用都专注于把一件事做得很好。为自己的技能制定一个特定的目标会真正帮助用户解决他们的问题,一个技能 应该服务于一个特定的目的,并且比任何其他技能更好地服务于这个目的。
2. 使用令人难忘的唤醒名
起名字是个大学问,想出一个唤醒名是很容易的,但更重要的是要用一个令人难忘的名字,唤醒名要让用户更容易记住技能的名称。
使用一些非常特殊的唤醒名可能会遇到ASR难以识别的困境,所在设置技能唤醒名称的时候要考虑到ASR友好。什么是ASR友好呢?一个简单的方法,随机选3~5个人,读出自己的技能唤醒名称让大家听写,如果大家写出的文字与你的名称设定一致,就基本上说明了技能唤醒名称没有太多问题。反之,说明技能唤醒名称可能对ASR不够友好。
3. 专注于用户的意图
当开发者在技能中建立意图和常用表达的时候,要专注于用户会有怎么样的意图。在每一种场景下,用户都会得到一类请求的特定答案。如果将帮助类型的意图应用于用户的请求,那么技能将更具吸引力和帮助性,也会让用户实现更多的交互。
4. 简化用户的选项
有时候,一个技能需要为用户提供选择,这时重要的是要考虑用户要什么,以及他们可能会怎么做回答。一旦技能提供了答案,技能希望通过给用户另一个提问的机会进行对话。每个提示的选择都会引导用户询问下一个问题,并且不要留下任何歧义。
在提出问题之前,技能要预先为用户加载可能的答案,减少用户所需的选项列表,一般两到三个。然后,再问他们是哪一个选项,从而减少用户的认知负荷,尤其是将需要用户选择的选项放到最后。
5. 用户的一句话答复
如果用户不费吹灰之力,一句话就可以说出答案,那么这个答复的长度应该是合适的。反之,如果用户不能一句话回复,这个语音技能就应该将响应分为几个部分,采用多轮交互的方式。