说起李航老师,熟悉机器学习领域的读者朋友不会陌生,他所编写的《统计学习方法》一书,可谓是机器学习入门的宝典。现在,李航老师是字节跳动人工智能实验室总监,在学术界是 IEEE Fellow 和 ACM 杰出科学家。在今年上海召开的市北•GMIS 2019 大会上,我们邀请到了李航老师,分享自然语言对话技术领域的相关观点。
以下为演讲主要内容,机器之心进行了不改变原意的整理:
大家好!非常高兴今天有机会跟大家交流。
可能每天大家都会使用各种自然语言对话系统,今天我想跟大家分享一下对对话技术的一些观点。
语音对话技术的发展和应用
首先看一个视频(见前文视频),这个是 1992 年美国的一个电视节目。现在大家都知道,各种语音助手热成什么样,给大家看看 27 年前的技术。27 年前是这个水平,语音合成的是非常机械的声音,是科幻电影里面机器人的声音,能够识别的命令也不多。尽管现在看来很粗糙,根据李开复博士的介绍,当时的这项对话技术能够学习连续的对话,理解连续的语音,还能理解多个不同的话者的语音,在当时来说是很大的进步了。
相比刚才看到的视频,目前我们可以使用各种语音对话技术,比如语音助手、问答系统、呼叫中心等,可见 27 年来,自然语言对话行业和领域发生了很大的变化。我们日常生活当中,也有各种对话系统:电视、车载、手机、智能音响、呼叫中心、问答系统,还有闲聊机器人。
对话技术已经在市场上开始普及。在国内,有调查显示,在去年每天使用语音助手的用户中,频繁使用的用户(每天使用和每周使用语音助手的用户)可以占总用户数量的 3/4 左右。
但是市场调查也发现,真正使用语音助手的用户并不是特别多。例如,尽管智能手机上基本都有语音助手,但是大概只有 5% 的用户使用或使用过这样的技术。
在汽车和电视平台上,使用语音助手的用户比例稍微多一点,30%-45%。因为这个场景比较适合使用语音对话,不方便用手操作,或者说如果要执行命令,操作会比较复杂,而用语音对话是一个更自然的方式。此外,使用各种智能音箱的频率大概也是 25% 左右。
语音对话技术在两方面应用较多,一方面是命令,另一方面则是问答。这两种技术都比较成熟,已经可以看到很多相关领域的应用。
但是开放领域对话实现依然非常困难。在各种各样的聊天机器人应用中,真正和用户实现自然聊天的非常少。现有的技术还不能够真正解决用户实际的痛点,不能解决实际的问题。只能帮助用户节省一些时间和劳力,不能够帮助用户完成很多的事情,这就是我们所看到的挑战。
虽然现阶段一些基本的技术比较成熟,但是要继续发展也有很多的挑战和瓶颈,需要今后不断的努力。
划分一下对话技术,大概可以分成这样几个方面。首先是有应用,基本上分为命令和问答。这两点目前已经可以完成得很好了。在实现方法上可以基于规则或基于机器学习来实现。如果没有数据,可能需要使用规则,有数据的情况下则使用机器学习。从对话技术来说,又可以分为单轮多轮技术。更具体的来说,有基于分析、检索或基于生成的技术,可以应用在不同的场景中。
为什么自然语言对话非常困难,总结起来有两个问题非常难解决,如果能够解决,就可以实现人类一样的智能。
首先是自然语言理解问题,这一问题涉及到人的智能的所有方面,实现起来非常困难。另一方面,人工智能技术实现对话任务也非常困难。从功能来看,对话本身是一种任务——双方通过对话进行信息交流,以达成某种目的。比如说,对话中,双方交流信息和感情。困难的地方在于,在对话过程中,整个任务不断的被设置、被终止、被恢复,现有的人工智能技术很难实现。现在强化学习或人工规则可以实现一些功能,但是让对话系统像人一样定义任务、产生任务、完成任务,需要涉及到人类智能的各个方面,是非常具有挑战的问题。语言理解和任务完成是人工智能中最有挑战的问题,但是短期内无法实现。
短期内的语音对话技术发展方向
那么短期内(5-10 年),一方面我们需要继续推动技术发展,另一方面我们需要关注对话技术的商业前景。
比如上图中的这位作者,他写了一本书,书名叫《像爱迪生一样去创新》。作者总结了爱迪生发明创造的基本原则,其中一条是:爱迪生非常强调发明创新在市场上的价值。我们在进行真正的创新时,要考虑到发明在市场中可以给用户带来多大的价值。通俗的说,用户买单的不是简简单单的想法的实现,而是真正能够帮助用户解决实际的问题。这样的产品才是有市场价值的发明创造。这本书的作者认为,爱迪生一生在践行这一想法。
回到对话系统中,对话技术不仅仅是借助语言进行信息交互,而是需要考虑人类对话中的特性。人类的对话的本质是带有情感信息的分享。在人与人之间的对话中,语言需要遵循社会规范和当前的习俗。对话系统应当反映这样的特征。所以要建立一个对话系统,能够和用户在不同的场景里去做信息交流,甚至是感情的交流。在这个过程中,不仅需要考虑技术,还需要考虑设计,将技术和设计结合起来,支持不同的功能,并考虑到系统和用户交流中感情、社会方面的因素。这是其中一个需要考虑的因素。
另一方面,虽然技术永远在不断进步,但是不一定能够满足用户的需求。有两个概念,叫做技术的上界和使用的下界。比如说技术性能指标中的准确率,随着技术在不断进步,性能的上界也不断的提高,但是用户使用的时候主要关注的是下界,准确率达不到一定水平的话,用户不愿意使用的。
用户使用的技术下界不一定绝对值非常高,有可能 50% 就可以满足需求。比如说,在视频领域抓捕犯人,准确率达到 50% 就可以使用了。在安防领域,即使一些应用的准确率并没有达到 80%、90% 的水平,也已经可以使用了。但是在一些场景中,用户的需求要求非常高,准确率达到 99% 才能够使用。即使技术性能达到 95% 也是不可以使用的。所以我们要结合技术大概能达到的上界是多少,用户使用的性能要求的下界是多少。只有技术上界达到了用户需要的下界才能使用。
案例
未来对话技术可以应用在很多场景中。首先是由任务驱动的对话机器人。这种应用现在非常普遍,比如各种各样的语音助手。
还有其他几类机器人,如信息类的机器人、情感类的机器人、游戏类的机器人。我觉得这些未来都有发展的空间。可以看一些例子:
信息类机器人
在信息类机器人方面,已经有一些公司在开发这样的产品。比如,亚马逊的 Alexa 智能音箱。亚马逊近几年还举办了一个 Alexa Price 比赛,邀请大学的老师和同学参加。在任务上,这个音箱机器人不是传统意义上的明显需要完成任务的机器人,而是进行信息交互,让音箱机器人可以在互联网、社交媒体找到各种有趣的信息,和用户进行对话。虽然有时候对话的完成情况并不理想,但是很有意思,能够帮助用户更好的获得信息。
当用户和 Alexa 系统进行互动的时候,用户可以说是和系统的一个技能进行互动。比如用户说「我们谈谈体育吧(Let』s talk about sports)」,当用户提到这句话的时候,技能就会启动,并调动体育方面的技能。系统可以和用户一起谈论体育方面的内容,比如相关的新闻、社交媒体上的评论等。
在评价对话系统的好坏的时候,评价的指标也是多维度的,比如用户的满意度、聊天长度、讨论内容的丰富度等。
这种对话方式是一种新的帮助人们获取信息的方式。我们知道,人们获取信息的方式,主要有两种:搜索和推荐。大家每天获得信息基本靠这样两种方式。但是这种 social bot 的方式,又提供了另外一种可能的信息收集的方式——不是严肃的去搜索出一个结果,也不是给用户精准推荐一个东西,而是以聊天的形式帮助用户获得信息。
情感类机器人
还有一个例子我觉得挺有意思,这个不是对话机器人,但是是一个机器人,是日本去年发布的,叫「Lovot」。(见视频介绍)这个机器人很有意思,我和他们公司的 CEO 交流过,谈到了 Lovot 产品没有正式发布时他们的一些想法。他认为 Lovot 不能被设计成智能化的产品。他们需要告诉用户,Lovot 没有生命,自身也不是很智能,但是它能帮助用户发现自己。用户通过和 lovot 的互动,和它有情感上的交互。用户其实能够在交互中发现自己,这就是 Lovot 的定位。比如说 Lovot 有一个摄像头,看到人以后,它就会把双臂张起来,希望用户能抱一抱。用户还可以给它换衣服,跟它进行情感上的交流。机器人本身不是很智能,但是能够真正在情感上帮助用户。
为什么要设计这种产品呢?Lovot CEO 认为,人都是很怕孤独的。而 Lovot 这样的机器人就能够帮助我们去避免孤独,发现自己,像是一种智能宠物。我们在养宠物的时候,不会认为宠物是人,也不会认为它们那么的智能,但是我们养宠物的时候非常开心,非常愿意跟宠物进行各种交互。这种机器人未来应该也能够拥有这样的能力。
游戏类应用
对话系统还有一种机会就是在游戏里面。比如说,这个是比较古老的游戏,叫做 facade。有一对夫妇住在一个公寓里面,玩家可以进入这个公寓,两个夫妇正在吵架,玩家需要敲键盘,用英语跟他们对话。聊天对话的结果有两种,一种是帮助这两个人和好,一种是帮助这两个人分手,还有一种是用户说话的时候得罪了这两个人,最后被赶出房间。大家都说这个游戏设计得很有意思,得了很多奖。
这个例子可以说明,游戏也是对话技术一个能够发挥的地方。我们有这么多的对话技术,在游戏中设计好,就可以使得玩家觉得非常有意思。因为在游戏里面,语言理解的错误是可以被用户容忍的,但是用户会觉得很有意思。比如用户自己敲了一句话,系统没有理解,但是用户反而觉得非常有意思,有趣味性,这是我们可以考虑的。
所以综合起来我们看到,未来对话机器人,都有很多可以发挥的场景,包括信息类、情感类、游戏类,再加上完成任务的机器人,我们真的可以让对话技术在不同的领域里面开花结果。
设计对话系统的原则
现在我分享个人总结的在字节跳动和以前华为工作的一些经验,设计对话系统中应该遵循的原理或者规则。大概有四条。
第一条,产品能够实现在一个场景里的自封闭。我做自然语言处理,以及以前做自然语言接口,需要把自然语言转化成数据库的语句。当时大家有非常清晰的共识——用户跟系统对话的时候不喜欢限定什么能说,什么不能说。用户不想去记忆可以表达和不能表达的语句。自然语言是用户可以自由表达,而系统能直接理解的东西。限制的结果是,用户不想使用这个产品了。所以说,在一个场景里面,一定要让用户能够完成一个事情,完成一个功能,用户不管怎么表达,系统都能够理解,这是比较重要的。
我们永远都有一个 80%、20% 的规律。我们不可能让系统在开发的时候,在某个场景中,把所有可能的说法都覆盖,这是不可能的。能够覆盖百分之八九十已经不错了,这百分之八九十的内容,需要系统理解得非常准确。特别是标准的说法,一定要理解得非常准确。
另外一个重要的原则是,系统不可能百分之百理解用户在这个场景里提到所有东西,比如语音识别有噪音,在家庭场景中,旁人说了一句话,却被这个系统识别出来,导致系统误反应。总之会出现一些这样的问题,我们人可以很好的应对,但是现在的技术不一定可以。
所以第二个原则是,在系统失败的时候一定要非常优雅。在系统处理不好的时候,能够给用户提示,表示系统现在听不懂,而且表达得相对比较自然。这个我们刚才讲到,设计非常重要。不同时候的系统失败要很好的处理,让用户感到舒适。系统失败的时候不能立刻结束,而影响用户体验。
比如说,我们现在的 iPhone,或者其他的安卓手机的系统都有一个「home」功能。当用户操作某一个应用的时候,有时候程序会卡死,按一下「home」就可以回到主界面。其实对话系统也是这样的,一旦发现和用户对话失败的时候,要能够很好的降落到「home」界面,使得用户知道可以重新开始对话,这是一个重要的原则。
第三个原则是,要在对话中融入情感和文化。我们之前已经提到,对话技术不仅是语言本身的问题,也包括了情感和文化的因素。怎么样能使得对话更加富有情感,包含文化方面的因素,这也是非常重要的问题。
最后一个原则是,不要让系统装得非常智能。我个人最不喜欢这样的系统设计。比如说某个系统宣称自己什么都能理解,看上去非常智能。但是用户稍微换一个说法,或者出一个类似的问题时,系统却不能很好的响应。这会让用户觉得这个系统根本不智能,反而露馅了。
所以,尽管我们希望系统越来越智能,大家用起来越来越方便,最终真的觉得这个对话系统就像真人一样。但是这要一步步来,如果没有达到这个水平,硬是伪装得很智能化,这不是很好的做法。
总结
最后做一个总结:
今天我们主要谈到了自然语言对话的现状。我跟大家分享了一下对未来发展的一些想法。
现在,一些技术已经比较成熟,能够实用,但是之后更大的突破,需要更长时间的努力,还有很多非常有挑战的问题需要解决。但是我们当前既不需要非常悲观,也不要特别乐观。我们虽然解决了一部分的问题,但是大部分问题,特别是代表用户真正痛点的问题还没有被真正解决,现在的系统只是一个智能助手。用户的任何表达都能理解的系统,短时间还是无法开发出来。
但是我们有希望,而且还有很多的商业机会,重点是一定要考虑到怎么样给用户带来真正的价值,这是发明创造的核心。我们看到业界已经有这样趋势,不仅仅是传统的完成任务方面的对话系统,在信息分享、情感、游戏等领域中,对话系统都有很大的发展前景。当然,我们在设计这样的系统时,应该遵循几个原则。系统在一个场景里应该尽量自封闭、能够优雅的失败、能够加入情感社交的因素、尽量不要假装智能。谢谢大家!