百度发布理解与交互技术平台UNIT:助你打开对话交互之门

发布时间:2017-07-11 12:51:26

导语:7月5日,百度在开发者大会上发布了面向第三方开发者的理解与交互技术平台-UNIT(Understanding and Interaction Technology)。UNIT搭载了业界领先的需求理解与对话管理技术,以及百度多年积累的自然语言处理、机器学习、大数据等核心能力,可以帮助开发者让智能对话交互赋能产品,让未来更富想象空间。大会同时宣布,UNIT平台将全程为“百度之星·开发者大赛”提供开放技术支持。

几十年来,人工智能领域一直在孜孜不倦的追求一个目标——就是让机器拥有人的能力。人工智能包含很多种能力,要有语音能力,做到能听会说;要有图像能力,能看见和识别目标对象;要有语言能力,能理解会表达;还要有行为能力,懂得如何基于所见所闻所感,得出判断,并产生动作。而更深层次的,人工智能要赋予机器以思考能力和学习能力,以及人类千百年来积累下来的知识。

近年来,随着人工智能的脚步越来越近,“对话即平台(Conversation as Platform)”的理念日益深入人心,很多互联网产品和应用开始尝试引入对话式的人机交互方式(CUI,Conversational UI,对话式交互)。一个完整的CUI,既需要包含能听会说的语音识别与合成能力,更需要包含能理解会表达的语言对话能力。然而,研发一个对话系统对于大多数开发者而言却是一个很困难的任务,对技术和数据的要求都很高。为此,百度于2017年7月5日的开发者大会发布了面向第三方开发者的对话系统开发平台-UNIT平台,以期能够降低对话系统的研发门槛,赋能开发者。

CUI能够为用户带来什么便利?而UNIT又会如何帮助开发者在产品中植入自己的CUI呢?让我们设想一个场景,当你一个人开车走在路上,却突然需要查看路况或者调整路线,你该怎么办?边开车边操作手机太危险,想找个地方停一下又找不到。这时候是不是恨不得自己再生出一双眼睛、一双手来帮自己搞定这个问题?那么设想一下,如果我们能够让司机一边开着车,一边通过自然语言对话式交互来设置导航、查询路况。相对于传统的触屏操作和键盘输入,这种自然语言对话的交互方式既安全又方便。其实车载环境只是自然语言对话式交互可以一展身手的众多场景之一。在手机智能助手、智能家居控制、在线智能客服、以及机器人等场景里,对话式交互都是最自然的方式。而自然语言理解和交互,则是这些应用背后的核心技术。比如,在上面的对话中,对话系统需要理解灵活的语言表述方式背后的语义和需求,需要结合多轮交互的上下文信息来综合判断当前交互的状态,进而作出反馈或者执行指令。同时,对话系统还需要有更基础的语言处理和分析技术,需要掌握目标场景下的知识以及可用于所有技术训练的数据。所以说,实现自然语言理解与交互,需要雄厚而完备的技术积累和数据积累,对于很多开发者来说,存在不小的困难。

因此,百度决定将UNIT开放给广大开发者,开发者们可以在UNIT平台上针对目标任务,比如订餐、订票、导航等场景,定制化的开发需求理解与交互的功能。而在刚刚启动的2017百度之星中UNIT平台将得到充分利用,新增设的“百度之星·开发者大赛”就是百度落实AI开放式平台的最好证明。百度之星·开发者大赛”以 “智能对话”为主题、参赛选手需要利用UNIT设计开发一款以对话式人机交互技术为核心设计、创新、开发一个智能产品,产品形式包括但不限于手机APP、智能硬件等。在资格赛中,开发者可以利用UNIT平台在“订餐馆”或“看电影”两项固定题设场景基础上,开发需求理解与交互的功能,建立独立完整的对话系统。由此可见,UNIT在开发者大赛全程中提供了强大的技术、数据和定制化的支持。

通过UNIT,开发者可以借力于百度自然语言处理的一系列在产品中久经打磨的领先技术,包括需求理解、对话管理、词法分析、语义计算、知识挖掘等等。通过UNIT,开发者可以从百度海量真实的大数据中获取到自己的应用任务所需的数据,从而更好的训练模型、优化性能。通过UNIT,开发者可以使用多种手段实现面向目标任务的灵活定制。另一方面,对于百度而言,通过UNIT,百度将积累多年的自然语言理解与交互技术对外开放,将业界领先的技术能力输出给广大第三方开发者,使得更多的应用和产品中可以增加自然语言理解和交互的功能,促进自然语言对话式交互生态的繁荣。

对于一个自然语言对话系统来说,理解的核心任务是对意图的解析和对词槽的识别。在上面的例子中,对于用户表达的一句话,它的意图是要预订餐厅,其中涉及的词槽包括餐厅名、时间和客人的人数。在UNIT上,开发者可以根据自己的需求,灵活的定义意图和词槽,再提供一定量的训练数据,UNIT便可以自动地训练需求理解模型了。UNIT为解决需求理解问题采用了多种机器学习技术。比如,UNIT基于深度学习实现了端到端的意图词槽联合识别;基于主动学习选取关键样例进行标注,加速模型优化;基于迁移学习,将既有任务上学习得到的能力,用于辅助新任务的学习。另外,UNIT还提供基于模板和规则的方法,作为对机器学习方法的补充。从上面的例子我们还可以看到,UNIT对词槽中填充的内容做了语义表达的归一化,以便于机器理解和后续操作。

同样,在交互的环节,UNIT也提供了一系列技术保障。这里展示了一段高考志愿填报的对话示例,可以看到:首先,自然语言交互不是单轮的一问一答,而是一个多轮的过程。UNIT提供了多轮交互能力,基于上下文信息综合地理解用户需求,管理和控制交互状态。同时,UNIT设计的可定制化的动作触发机制,可以实现准确操控对话动作。当用户的需求表达模糊不清时,UNIT还提供了自动澄清功能,比如用户查询“山大的分数”,UNIT便可以自动询问用户想找的是“山东大学”还是“山西大学”。此外,在UNIT上还可以配置对话引导,在满足当前需求之外激发用户新的需求,从而发生进一步的交互。

数据是AI时代的新能源,对于很多开发者而言,数据的匮乏比技术的欠缺更加难以逾越。因此UNIT除了提供理解与交互技术之外,也同时会提供数据的支持。百度大数据是一座巨大的宝库,里面有海量的网页内容数据,有用户搜索和点击浏览数据,有各类产品的对话交互数据等等。百度的大数据来自于真实应用,覆盖各个领域、各个场景,而且随着时间在不断增长和更新。因此,UNIT要做的就是针对我们每一个开发者、每一个应用场景,从百度大数据中汲取出最相关、最有价值的这部分数据来,提供给开发者用于模型的优化。为此,UNIT实现了一种机制:基于开发者提供的小规模标注数据,使用语义匹配技术从百度大数据中自动匹配出相近似的数据,并将这些数据提供给开发者去标注,这样便省去了开发者在应用开发过程中无处收集真实数据的苦恼,让数据的标注和模型的优化变得事半功倍。

自然语言对话式交互应用不会是千篇一律的,而是与目标任务紧密相关,需要基于不同的背景知识、实现不同的业务逻辑、满足用户的不同需求。因此UNIT提供了多种的定制化选项,来辅助开发者自由灵活的实现定制化的语言理解与交互功能。在众多的定制化选项里,开发者既可以选择上传特定的词表来注入本任务所需的领域知识,也可以按照自己的需求灵活的配置交互逻辑,还可以通过提供训练数据来塑造应用所需的机器学习模型。我们相信,哪怕是再简单的任务,开发者们也可以设计出互不相同的功能和特色,用这些定制化的手段,可以让你的智能对话具备个性,与众不同。

对于我们自然语言对话的开发者而言,我们常常能够发现当前系统存在的能力不足。我们希望能随时随地的“消灭”这些不足,让系统的理解和交互能力变得越来越完善。为此,UNIT设计了一种全新的定制化优化的模式,我们将它称为“训练师”模式。在训练师模式下,开发者、测试者或者普通的使用者都可以成为理解与交互训练师,他们通过与当前系统进行交互来体验和测试系统的能力,一旦发现了系统的理解或交互能力的不足,训练师便可以直接说一声“@UNIT”,并进而完成对当前这条数据的标注。标注好的数据会变成一条训练数据,在下一次的模型重新训练时发挥作用。成为理解与交互的训练师几乎零门槛,不需要懂技术,也不需要会编程。有了训练师模式,人的知识和智慧可以方便地“传授”给系统。

虽然UNIT在7月5日才正式的对外开放,但其实UNIT已经在多个产品中实现了应用的落地和打磨。

前面的地图语音导航的自然语言对话功能便是基于UNIT开发和实现的。司机的双手得以解放,可以一边开车一边通过自然语言交互实现导航和信息查询。而在智能客服场景下,通过UNIT开发实现的金融智能客服平台显著的提升了自动回答的问题的比例,进而提升了整个平台的效率。一部分曾经的客服人员转行干起了UNIT训练师,使得智能客服系统的能力越来越强。在智能家居领域,基于UNIT实现的智能电视控制也已经有应用落地。相信其他的智能家电通过UNIT也可以插上智能的翅膀。相信随着UNIT的开放,会有更多的应用生根发芽、开花结果。今天的开放只是一个起点,UNIT会不断的优化和完善。百度希望通过UNIT能够让复杂的自然语言交互变得更简单。

诚聘英才

Advertises

关于我们

About

商务合作

Cooperation