来源:人工智能头条
作者 :孙健,李永彬,陈海青,邱明辉
概要:过去 20 多年,互联网及移动互联网将人类带到了一个全新的时代,如果用一个词来总结和概括这个时代的话,「连接」这个词再合适不过。
过去 20 多年,互联网及移动互联网将人类带到了一个全新的时代,如果用一个词来总结和概括这个时代的话,「连接」这个词再合适不过。这个时代主要建立了四种连接:第一,人和商品的连接;第二,人和人的连接;第三,人和信息的连接;第四,人和设备的连接。
「连接」本身不是目的,它只是为「交互」建立了通道。在人机交互(Human-Computer Interaction)中,人通过输入设备给机器输入相关信号,这些信号包括语音、文本、图像、触控等中的一种模态或多种模态,机器通过输出或显示设备给人提供相关反馈信号。「连接」为「交互」双方架起了桥梁。
「交互」的演进方向是更加自然、高效、友好和智能。对人来说,采用自然语言与机器进行智能对话交互是最自然的交互方式之一,但这条路上充满了各种挑战。
如何让机器理解人类复杂的自然语言?如何对用户的提问给出精准的答案而不是一堆候选?如何更加友好地与用户闲聊而不是答非所问?如何管理复杂的多轮对话状态和对话上下文?
在阿里巴巴,我们从 2014 年初开始对智能对话交互进行探索和实践创新,研发成果逐步大规模应用在了智能客服(针对阿里巴巴生态内部企业的阿里小蜜、针对阿里零售平台上的千万商家的店小蜜,以及针对阿里之外企业及政府的云小蜜等)和各种设备(如 YunOS 手机、天猫魔盒、互联网汽车等)上。
智能对话交互框架
典型的智能对话交互框架如图 1 所示。其中,语音识别模块和文本转语音模块为可选模块,比如在某些场景下用户用文本输入,系统也用文本回复。自然语言理解和对话管理是其中的核心模块,广义的自然语言理解模块包括对任务类、问答类和闲聊类用户输入的理解,但在深度学习兴起后,大量端到端(End-to-End)的方法涌现出来,问答和聊天的很多模型都是端到端训练和部署的,所以本文中的自然语言理解狭义的单指任务类用户输入的语义理解。在图 2 所示的智能对话交互核心功能模块中,自然语言理解和对话管理之外,智能问答用来完成问答类任务,智能聊天用来完成闲聊类任务。在对外输出层,我们提供了 SaaS 平台、PaaS 平台和 Bot Framework 三种方式,其中 Bot Framework 为用户提供了定制智能助理的平台。
图1 智能对话交互框架
智能对话交互核心技术
智能对话交互中的核心功能模块如图 2 所示,本部分详细介绍智能对话交互中除输出层外的自然语言理解、智能问答、智能聊天和对话管理四个核心模块。
图2 智能对话交互中的核心功能模块
自然语言理解
自然语言理解是人工智能的 AI-Hard 问题 [1],也是目前智能对话交互的核心难题。机器要理解自然语言,主要面临语言的多样性、语言的多义性、语言的表达错误、语言的知识依赖和语言的上下文(示例见表 1)的五个挑战。
表 1 上下文示例
整个自然语言理解围绕着如何解决以上难点问题展开。
自然语言理解语义表示
自然语言理解的语义表示主要有分布语义表示 (Distributional semantics)、框架语义表示 (Frame semantics) 和模型论语义表示 (Model-theoretic semantics) 三种方式 [2]。
在智能对话交互中,自然语言理解一般采用的是 frame semantics 表示的一种变形,即采用领域(domain)、意图(intent)和属性槽(slots)来表示语义结果,如图 3 所示。
图3 domain ongology 示意图
在定义了上述的 domain ontology 结构后,整个算法流程如图 4 所示。