Google Duplex——能帮你订位置的 AI 电话助理

2018年的Google I/O 发布了一个能帮你打电话预约餐厅的 AI 助理,先看下视频


这个AI可以帮你打电话订座位!谷歌CEO演示Duplex

Google Duplex 通过图灵测试了吗?

Alphabet 董事长 John Hennessy 在发布会之后就宣布:“在预约领域,这个AI已经通过了图灵测试。”Hennessy 可不仅仅是这个巨型科技公司的董事长,他凭借其在CPU精简指令集(RISC)的贡献获得了计算机科学的诺贝尔奖——图灵奖。以图灵命名的奖项的得主,宣布其公司的产品通过了图灵测试,这里面有水分还是实至名归?

1950年,图灵提出了图灵测试:如果一台机器能与人类展开对话(两者物理隔离)而不被识别出其机器人身份,那么这台机器就通过测试,并被认为能够进行思考。在当年,图灵就预言人类能创造出能够思考的机器,而当时的计算机还是这样的:


Google Duplex——能帮你订位置的 AI 电话助理_第1张图片

Hennessy说:“在预约领域,这个AI已经通过了图灵测试。”,但是在图灵测试中,你并不能让参与测试的人类把话题仅仅限定在预约领域。可以预见的是,一旦超出领域,这个机器就会露出马脚。所以很明显,Hennessy 这个说法更多是一种营销。Google 也在博客中承认:“Google Duplex 只能在一些经过深度训练的封闭领域里进行对话,它并不能在开放领域(general conversations)开展对话。”

根据google的计划,Duplex将会通过google assistant在今年夏天测试三个领域:

1. 预约餐厅

2. 预约理发店

3. 咨询商铺在假期的营业时间

google 花了巨大的精力,目前只能支持这三个领域,甚至连预约餐厅和预约理发店都是两个不同的领域,需要分开训练。其实这正是duplex能达到这么好效果的原因,google 认为只有限制在封闭且狭窄的领域内,才能达到足够程度的训练(narrow enough to explore extensively)。

Duplex 的技术挑战

这部分主要参考了google ai的博客文章:https://ai.googleblog.com/2018/05/duplex-ai-system-for-natural-conversation.html

智能音箱不早就实现了人机对话吗

很多人都用过智能音箱,跟天猫精灵或者小爱同学聊过天,但是duplex想要实现的目标难度要比这高几个级数。

当我们了解到我们正在跟一台机器对话的时候,我们会有意识的放慢说话的速度,而且会尽量使用短句说清晰;而人和人之间对话,我们会使用更复杂的句子,我们会在说到一半的时候纠正前面的话,我们会对同一件事说好几次,我们会依靠上下文而在说话中忽略一些词,我们有时会在一个句子中表达多个意图,google举了一个在测试中遇到的真实例子:“So umm Tuesday through Thursday we are open 11 to 2, and then reopen 4 to 9, and then Friday, Saturday, Sunday we... or Friday, Saturday we're open 11 to 9 and then Sunday we're open 1 to 9.

而 google 的目标是让客服觉得电话另一端预约的是一个真人,因为一旦客服知道到对面只是一个机器人的话,预约的任务很有可能就会失败;正如我们收到录音的垃圾电话,一旦察觉到是录音就会马上挂掉。所以Dulex的挑战比智能音箱的要大得多。

Duplex 解决了这些问题,最终达到视频呈现的效果

语音识别

如前面说,真实的对话比人机对话面临更多问题,真实的对话语速会更快,吐字没有那么清晰,而且手机通话的问题会更严重,例如背景噪声和通话音频质量的限制。Google 也承认在duplex的场景下字错率更高(we see higher word error rates),但是没有披露怎么解决这个问题。我猜测是通过语义理解cover识别的错误,例如我们人类对话中即使一句话中有些词没有听清,也可以根据其他词和上下文猜测整句话的意思。 

语义理解

在长对话中,同一个句子在不同的上下文中可能代表不同的含义。例如“OK for 4”这句话,可能表示确认时间,也可能是确认人数。句子的上下文信息通常要回溯到几个句子之前——语音识别较差的表现,让这个问题变得更加复杂。我的理解是,句子越多越长,识别错误的情况就越多,语义理解正确的难度就越高。


Google Duplex——能帮你订位置的 AI 电话助理_第2张图片

除了领域内的特定对话,系统还要处理日常对话的普遍问题,例如被打断(“the number is 212-”“sorry can you start over?”),请求暂停(“can you hold?[pause]thank you!”,一秒钟的暂停和两分钟的暂停有不同的含义,超过一定时间意味着对方可能忘记了电话),解释(“for next Friday”“for when?”“for Friday next week,the 18th.”),状态同步(“can you hear me?”),

下图是对话输出的一个框架图,更多技术细节请参考google博客的原文章。框架图左边是系统的输入,包括ASR识别的文本,音频特征,对话的历史,对话的参数(例如用户需要预约的服务,当前的时间)等等。最终输出的是回复的文本,最后通过TTS(语音合成)输出为音频回复用户。


Google Duplex——能帮你订位置的 AI 电话助理_第3张图片

语音合成(TTS)

Duplex 的语音合成让人惊诧,听上去简直像真人一样,为了达到这个效果,duplex 的TTS做了一些少见的操作

视频里面,duplex 说了一个“mm-hmm”,全场哄笑,因为表现得太真实了。google 通过用户研究,发现在对话中加入这些音节(例如e.g. “hmm”和“uh”)会让对话更自然;在真实的对话中,当我们在思考/组织语言的时候,我们会经常说这些音节。所以,Duplex 在对话中会加入这些音节,以及巧妙的停顿。

回答的延迟:在真实的对话中,如果我们说的是简单的句子,例如“hello”,我们期待的是对方能够立刻给予回应;而如果是回复一个复杂的问题,特意增加回复的延迟会让对话更自然(如果对方快速地回答一个复杂的问题,会显得像在进行知识竞赛)。Duplex 用了不同的模型来应对这两种case,在前一种case中使用更快、提供更低阈值的模型(例如语音识别和语音端点检测),最终达到的效果是低于100ms的延迟。

自我监控

Duplex 可以进行复杂的对话,但是一个系统总有边界。Duplex 有自我监控的能力,可以判断这个任务能否由系统独立完成。如果它判断系统不能完成这个任务,例如一些极其复杂的预约,它就会指派给后台的人工操作员替它完成。

一个能够知道自己能力极限的人工智能系统!

新技术的认知挑战

duplex 发布之后,引起一些人的担忧,认为 duplex 在与人类对话的时候没有披露自己机器的身份。但问题是,如果客服知道电话的对面是google的机器人,她会乐于服务吗?她为机器人提供“热情”服务的时候内心感受会是怎样的?

人类为机器服务,还是让人感觉别扭,虽然这个机器也是为另一个人类服务。或许人工智能在我们的生活普及之后,这种困惑会慢慢消失,但这需要时间。又或许,这个技术在替代人工客服上更有潜力。

你可能感兴趣的:(Google Duplex——能帮你订位置的 AI 电话助理)