关于语音接口的几点思考

2020-08-04 02:45:10

到目前为止,我已经在Mozilla的消费者语音产品团队工作了大约一年。我的主要项目是Firefox Voice,但我们的任务要大得多。

我仍然觉得自己是这个地区的新手,但我已经形成了一些观点。很多观察都是受别人的想法、工作或研究的影响,但我已经失去了出处。我从与我的团队进行的长期和定期的讨论中获益良多,特别是亚伯拉罕·沃林、贾尼斯·蔡、乔菲什·凯和朱莉娅·坎布雷。

语音接口是语音接口。它们是用户表达愿望的一种方式,使用的模式可能是常规语音交互的伪同构,也可能是特定的习得行为。这不是谈话。你不是在和电脑说话。我怀疑,如果您认为这样做最好,您可以将用户推入会话偏态,用户将会配合,但这并不比另一个比喻更正确。这是一个互动质量的问题,而不是轻松或不熟悉的问题。

也就是说,讲话是一种即兴表演。你有什么想说的,你可能已经准备了几个关键词,但其余的你是逐字编造的。从你嘴里说出来的词不会有语法上的精确性。

我讨厌语音界面强迫我们不停顿地说话,因为停顿被视为陈述的结束。Firefox Voice也做同样的事情,所以我很欣赏它为什么是这样工作的。我还是很讨厌它。通常,工具在话语的粒度上操作:一个语句、命令、查询。对话界面也是如此,只是一种不同的话轮转换。

许多系统使用“唤醒字”或“关键字定位”来开始交互。如果我们也使用关键字识别来确定结尾呢?“请”可能是个不错的选择。它就像是Enter+键。

我读过一个科幻故事,他们使用语音界面,还使用“请”作为陈述结束符(在菲利普·C·詹宁斯的故事[仅限文本]**)。这也使得“请”成为一种侮辱,使用它意味着你认为某人并不比一台智能电脑重要。

另一种选择可能是投机性执行,同时允许修改。一个常见的例子是,当你想说“下午2点提醒去邮局”,但你停顿了一下,助手在“下午2点提醒”时突然责备你。现在,它将喋喋不休地谈论一个问题(“什么提醒?”),你不仅需要等待,还必须对你的回答进行计时。如果你说“设置下午2点提醒”的那一刻,助手会(视觉上)提示“设置下午2点提醒什么”,那就太好了。你可以随时回答,如果你速度慢,它可能会给出一个音频提示,你也可以在上面交谈。

有些人认为我们不滥用助理是很重要的。他们相信虐待会使我们彼此冷淡或互相辱骂。这我可不同意。我们还了解到,当人们无法让他们的助手理解他们时,他们会感到尴尬。它与其他界面不同,因为声音让人感觉更个人化和更有判断力。因此,对情感影响的担忧并不是完全错误的。

当我经常在车里使用GPS时,它会不断地发出语音指令。我会错过一个转弯,它会不断告诉我要掉头,否则就会走回头路。我也会选择另一条路线,它会抱怨。我知道我没有犯错,但我仍然觉得自己受到了评判。然后我把声音关了,没问题,屏幕只是通知我,它没有评判我。

这就是说:我不认为答案是对我们的计算机抱有同情心。他们既不需要它,也不要求它。我们应该把计算机和人类分开,而不是在诡异的山谷里航行。你想缩短你助手说的话吗?拜托了。作为实施者,我们面临的挑战是通过非常明确地表明这不是人类,没有任何感觉,以防止你的心变冷。

顺便说一句,但这段经典的人们嘲弄波士顿机器人的视频让人们感到不舒服(包括我!)。他们真是个混蛋!我认为答案是我们不应该制造看起来像人类的机器人。你和我在人行道上擦肩而过,我们必须合作导航,以免撞到对方。如果我不经意地闯过你,那我就是个混蛋。我不想也开始对机器人保持礼貌:它们应该让开;如果我把手放在机器人身上,它应该停下来,而不是被冒犯。我对门也不礼貌,这并不会让我成为一个更糟糕的人。

语音不是命令行界面。语音最终变成了文本,尽管有…的警告。实际上,它只是被当作文本处理。因此,将其作为命令行界面来对待似乎很有吸引力,但没有…。准确性是一个大问题。抄写错误很常见。你可以从很多方面恢复,但我认为这对你在需要交互之前可以给电脑提供多少信息设置了一个真正的上限。也许你说一件事就是95%的成功。但是你只有90%的机会同时说出两个概念。如果概念很复杂,那么95%的准确率就太慷慨了。

如果您使用几个较小的命令执行一些复杂的事情,那么您就有机会在中途修复问题。你需要这些机会。我们称之为“修复”。

我认为“撤销”会是一个很好的内置到所有东西中的功能。它很可能是你的修复性命令的前缀。比如,“不,搜索附近的玉米饼”,意思是撤销上一个命令,然后再做这个新的命令。

除了准确之外,在说的时候要成功地写出复杂或精确的句子在心理上也更难。工具可以忽略不感兴趣的单词,接受多个短语,设置合理的默认值,但只有在您说完之后,我们才能做到这一点。我们不能让你的大脑变得更容易说复杂的短语。

GUI有点像讨论。你会得到一个选项菜单-按钮和控件-以及像悬停状态或按下状态这样的微观反馈,以及像屏幕上实际变化这样的宏观反馈,以指示发生了什么。试图编写复合语音语句可能是试图与滞后的UI进行交互,在该UI中,您的刷新速度要快于屏幕刷新。违约令人沮丧。

向人类发出复合命令也不一定容易。尝试通过查看某人的肩膀并告诉他们应该单击…来完成某件事。

熟悉度使得与计算机和人类共同完成任务成为可能。我肯定已经熟悉了我的Alexa,我已经学会了哪些短语有效,哪些不起作用。

对计算机来说,简短的短语要难得多。言简意赅是一种惩罚。用词越多,表达的信息越少,效果就越好。“粘贴”几乎从未被正确检测过。

假设您的应用程序没有自定义的转录语言模型,如果要求您使用奇怪的短语或术语,将很难让计算机听到您在说什么。这就像有一个速记员,对你的域名一无所知。

我想知道有没有类似于语音接口的程序词。你会从像“Roger”和“Mayday”这样的词中知道这些,在这些词中,有明确和毫不含糊的词来传达重要的信息。

语音有限制,但它也有优势,主要来自于使用语言。最大的好处是你可以谈论你看不到的东西。GUI必须显示您可以执行的所有操作(有时带有通往其他对象的入口)。

您看不到搜索查询。因此,搜索始终是语音最常用的工具!一般来说,搜索是用来搜索那些你看不到但想要找到的东西。

在多任务处理中,你看不到的东西也很重要。您看不到其他选项卡的内容,通常也看不到其他应用程序。我认为我们还没有想出如何释放这一点,但我认为那里有一些东西。

由于语音的不精确性,所有东西都是搜索,即使你希望它不是。所以,像给文件夹添加书签这样简单的事情就涉及到搜索文件夹。

你也看不到还不存在的东西。我可以想象使用语言来创建条件句和触发器,使用语言的能力来谈论尚不存在的东西时会有一些用处。这里让我兴奋的不是声音一定会更容易,而是很容易采用现在做某事的短语,并将它们重新表述为谈论未来。学习谈论未来在学习立即采取行动时是隐含的。

对于人们可能想象的自然语言界面所做的所有很酷的事情,现在都是命令性命令。这在一定程度上是人与计算机的关系。你不关心电脑怎么想,你不需要推论会发生什么,也不需要给它保证,你只需要告诉它应该做什么。

方便的是,英语祈使句比大多数其他句子简单。这可能不是巧合,因为命令性是为了被毫不含糊地理解和行动而设计的。

但是,在进行其他活动的同时,使用语音来创建描述可能会有一些有用的东西。例如,一些研究人员发现,当记录器看到具体的(但嘈杂的)点击和移动时,让用户描述他们的动作是有好处的。

也许标记和组织是有用的语音任务,可以与其他非语音导航并行完成。语音可以是正常语音界面之上的一层。

接触麦克风很难,而且是一件大事。模拟硬件只是很难处理,不同的硬件性能不同,事情经常被切断或故障转移。

据我所知,大意图处理程序的解析方法会带来一些问题,每个系统都使用某种形式的分类/分类,将短语映射到处理程序。总是有重叠的,所以你必须决定哪个处理器是最好的。

给定可变输入(搜索查询、艺术家姓名等)、误译和停用字,输入的完整空间很难枚举。

因此,添加新的处理程序可能会产生意想不到的结果,从而打破系统的平衡。我一直对大多数助手的可扩展性不以为然,但这是完全可以理解的。

您可以想象总是更喜欢本机处理程序而不是扩展处理程序,但这也不是很好。您希望处理程序相当广泛,新的处理程序很可能是对功能的改进,而这仅仅是默认处理程序的尽力而为的后备。

显然,现在的技术先锋是营销机构。这些领域的增长似乎是由某人所推动的,他说:“你知道,语音才是未来的…。”

语音助理技能的市场对消费者和制作人来说都是相当糟糕的。消费者发现垃圾,制片人找不到真正的观众。

媒体是个例外,但这只是因为他们提供的是内容,而不是网络界面。

人们和助手一起做的每件事似乎都是稳定和冻结的。人们进行事实搜索、天气、计时器、提醒,并打开和关闭灯。

我们为取代快板而带来的技术数量令人印象深刻。

人们会确切地告诉你他们想要做什么,这很巧妙。如果您试图从行为遥测中理解图形用户界面,您必须弄清楚为什么可能有人点击了一个按钮,然后取消并尝试了不同的按钮,这可能意味着他们想要做一些不直接暴露的事情,或者他们可能只是错误地点击了或…。

因为语音发现本身就是探索性的(如果你想知道某件事是否有效,你应该试一试),人们会说出他们想要的东西。

当然,没有什么要求意图足够清晰才能实现。因此,你可能只会接触到你永远无法实现的愿望。

语音并不意味着我们可以创造出照顾一切的智能代理。语音让智能代理变得诱人,因为你可以使用自然语言表达愿望,而不需要具体说明如何完成最重要的事情。

你想让语音代理帮你买票还是帮你订晚餐?不,你不会想要这个的。这不会比请服务员为您点菜更成功。如果你喜欢冒险,或者对服务员非常熟悉,也许这是可能的。即使在我们的家庭里,我们也经常问对方关于偏好的问题,并就一些小问题谈判选择,我们彼此都非常熟悉。

能够陈述意图而不是具体的行动提供了一些机会来支持更集中和有针对性的行动。使用普通GUI做事情的方式是在头脑中想出目标,将其分解成动作,然后从第一个动作开始。也许打开一个标签,点击一个按钮,找到一个文档,等等。在这个过程中很容易迷路--不仅是迷惑,而且还会分心。

我怀疑当有一个复杂的以目标为导向的声明时,我们不能-甚至不应该-只是“实现它”。但是,即使该工具不能很容易地分解任务,也许用户也可以构建自己的自上而下的任务大纲。

这会立即引发您可以将大纲保存为可重复任务的想法。与其把它变成一个不透明的、可重复的任务,我想更好的做法是把它变成一个列表,并使其易于与列表一起执行。然后助手说:“下一步你做了:‘打开乔最近发来的电子邮件’;说‘好的’或命令…。”然后也许这就是下一项正确的任务,或者你可能会说一些受到过去指挥的启发的话。

我对学习和适应持怀疑态度。可靠性-即使是可靠地犯错误-是一个重要的特征。这意味着用户可以了解系统并调整他们的行为,而不会因为系统改变自己的行为而挫败他们。

发现是困难的,而让搜索空间在你脚下改变只会让事情变得更糟。

总而言之:人类比机器学习得更快、更好。如果体验要增长,它需要是明确和确定的,而不是聪明或含蓄的。

语音输出受到信息过多或不足的影响。人类的语音交互也会有同样的问题。我们通过与某人对话而不是只是对着他们说话来改善我们的沟通,并通过使用肢体语言来解释另一个人的兴趣。

一些等价物-在说更多话之前要求确认,或者允许对方插嘴-可能会因为从人类互动中获得太多线索而受到影响。问题本身很容易花费更多的时间和精力,而不仅仅是提供太多的信息,而且打断会把互动变成一种感觉敌意的东西,而不是帮助。

有“意图解析”,但我认为“理解”不多。NLU没有太多的U。意图解析意味着:给定一个语句,选择您的程序能做的最有可能的事情;同时:从语句中提取一些可变参数。

那里没有理解的余地。“挑选意向操作者”不是一种理解。

只有当你也有一个模型的时候,你才能理解。一些带有一些标签的平面JSON不是模型。反过来,模型需要附加到功能结果:助手实际上可以做的事情。

我不知道理解是什么样子,也不知道那些模型会是什么样子。我甚至不确定当我看到它们的时候会不会认出它们,甚至在代码中也有可能被暗示出来。

顺便说一句,我个人认为行动、意义和理解都是相辅相成的:只有当我们能将其附加到效果上时,意义才会存在,而抽象的理解是反填的。因此,没有处理程序的模型没有意义,仅作为处理程序引用的模型也不是真正的模型。

我们可以使用更多的正交性。也就是说:可以应用于各种操作或应用程序功能的有意义的短语修饰语和语句。正交性允许用户在一个短语中想出创造性和意想不到的组合,并让这些组合真正发挥作用。

我想过的最简单的形式是一个简单的动词/直接宾语,带有一组简单的修饰语。

发现自然是很难的。自然语言命令不需要组织成菜单或屏幕的分层结构,这很好,但不利于导航。

定期向用户展示一些例子似乎是最先进的。太可悲了。

我觉得暗示可能会有一些事情发生。我想起了Logo中的一个小轶事,当你输入一些没有定义的东西(例如,正方形)时,它会回复我不知道如何正方形,并在错误消息中暗示你下一步应该做什么(来继续定义一个过程)。要做到这一点,需要语言设计上的聪明才智,而不是向我展示自己。

除了错误之外,任何输出(语音或文本)都是使用提示可以使用哪些短语的语言的机会。这是一个鼓励用户反映计算机语言的机会。

意图处理者的大袋子方法意味着对短语和能力的空间没有自然的可理解性。通过追求“自然语言”,我们在整个可能的语言中创造了一个非常稀疏的成功短语空间。这是可以预测的吗?

意图往往是由动词主导的,但我认为我们可能会更好地用名词来引导。解析器倾向于关注恒定的比特,动词:“播放[艺术家]”,“向他们[接收者]发送消息”。

这映射到像sendMessage(“Emily”,“在我回家的路上”)这样的调用。但是也许它应该映射到搜索(“Emily”).sendMessage(“在我回家的路上”)。

重点是您想要“名为Emily的实体”和“响应sendMessage的实体”的交集。

作为结论,20似乎是个不错的整数。感觉我们面前有两条路:结构化的理解和非结构化的理解。两者最终都会导致结构化理解,人类构建句法和有意义的结构化语句。通向这一点的桥梁是结构化的洋泾渭河,还是非结构化的统计数据理解?

语音的基本用户界面标准对我们来说仍然是个谜。是否会像WIMP那样发生根本性的变革和整合?

语音界面可能会显示出全新的表现力水平。但我不认为我们知道这种与计算机的关系应该是什么样子。当前的语音UI势在必行,就像图形界面势在必行一样。

细节都很重要:语音识别失败,不同的收听模式,麦克风访问和质量,输出长度和语调,以及所有这些都忽略了你正在接口的东西的实际功能,这也需要做出更多的改变。

这显然会发生,但我完全不确定下一次转变是以语音为中心,还是以其他东西为中心,恰好包括语音。以此类推,触摸式界面实现了重要的更改…。但触摸界面本身并不那么重要。

**“第四次星际争霸”(我喜欢并推荐这个故事!):“莱斯特·布拉戈里奥导演穿着紧身衣,马裤和拖鞋,手里拿着梳子,走出了隐居的地方。他一边说,一边梳理着他凌乱的白发。请调出导航屏好吗?半径10度?

“蒂西女巫忠实于尤西的声音。他说,导航屏幕A,从Gledhill出发,半径10度。直到那时,监视器才活了过来。“请给我假颜色,”尤西指示道。他自己说的“请”就是“命令结束”。当一个人与机器交谈时,语言发生了变化。正如所长所说,这个词几乎是在暗示:你对我来说就像是某台智能设备一样。“