器之心专栏
近日,原华为诺亚方舟实验室主任、现加入字节跳动AI Lab的李航教授发表了一篇博客,总结了自然语言对话领域的现状和最新进展,并展望了未来的方向。该文章内容简洁明了,既有宏观视角,又能关注到实际条件,极具启发性。
近年来,各种自然语言对话系统如雨后春笋般涌现,从语音助手到聊天机器人,这些系统逐渐变得更加实用化,但也暴露出不少技术限制。计算机究竟在多大程度上能与人类流畅对话?自然语言对话面临哪些挑战?未来又有哪些可能的突破?我们需要重点关注哪些技术?
笔者曾有幸在华为与前同事合作进行对话技术研究,并参与了华为Mate10语音助手的开发。本文基于自身经验,尝试回答上述问题。
马尔(David Marr)提出的计算理论指出,计算有三个层面:功能层面、算法和表征层面、实现和物理层面。如果两个系统在功能层面相同,那么不论其在算法层面或实现层面有何差异,它们的行为应是一致的。人脑和计算机的情况也是如此。如果我们认为人的思维可以简化为计算,那么只要计算机能完成与人脑相同的任务,就可以认为它们具有同等的智能。
本文从功能主义角度探讨对话系统。功能主义主张构建合理行动的智能机器,而非模仿人类行为的机器。这种机器具有与环境互动的能力,有明确的任务目标,并能依据标准评估任务完成情况。这类系统目前更符合实际需求,特别是在大数据和机器学习的支持下。
合理行动的智能机器具有以下特点:与环境互动,目标导向,有任务完成标准,旨在功能上完成任务,而不是模仿人类行为,且具备达到或超越人类的能力。构建合理行动的智能机器比模仿人类行为的智能机器更为现实。大数据和机器学习使这一路线更容易取得突破。
因此,构建“合理行动的”对话系统是我们近期的目标。无论是提供问答服务、帮助用户完成任务(如打开音箱、预订机票),还是作为用户的伴侣,这些系统都能满足合理行动的智能机器的要求。
自然语言理解有两种定义:一种基于表征,另一种基于行为。前者指系统根据输入的语言产生相应的内部表征,后者指系统根据输入的语言采取相应行动。这两种定义在某种程度上互相补充,前者从语义角度,后者从语用角度来定义问题。
自然语言理解包括词汇分析、句法分析、语义分析和语用分析。词汇分析将单词映射到语义表征上,句法分析判断单词之间的语法关系,语义分析构建语句的语义表征,语用分析确定语句的具体语义表征。
自然语言理解存在多义性和多样性。例如,“I saw a girl with a telescope”这句话可以有多重含义。语义分析侧重于字面意义的理解,而语用分析则考虑上下文背景。
尽管我们对人脑语言处理机制的了解有限,但一些发现和假说提供了线索。人脑中的布洛卡区和韦尼克区分别负责句法和词汇处理,这表明语言处理可能是并行的。嵌入模拟假说认为,语言理解依赖于视觉、听觉、运动等表象的模拟,这解释了为什么我们能在理解语言时调动多种感官。
对话是一种信息交流的过程,其目的是通过对话完成信息交换。多轮对话包含单轮对话,每轮对话都需要理解对方的语言。对话任务可以用有限状态机表示,状态表示完成任务的一个阶段。然而,任务复杂时,状态数和模型复杂度会急剧增加。因此,对话系统通常局限于特定任务,如命令型和问答型。
计算机实现与人同等的对话能力仍面临巨大挑战。当前技术多基于数据驱动和机器学习,对话分为单轮对话和多轮对话。单轮对话有基于分析、检索和生成的方法。多轮对话系统包括语言理解、语言生成、对话管理和知识库等模块,适用于特定任务。
近年来,深度学习和强化学习被成功应用于自然语言处理,包括对话系统。端到端训练和表征学习是深度学习的关键特征。强化学习适用于多轮对话,因为它们涉及系统与环境的互动。以下是几个最新研究成果:
自然语言对话中重要的研究课题包括:
本文总结了自然语言对话领域的关键观点。从功能角度看,计算机有望像人一样自如地进行对话,但目前的技术瓶颈依然存在。特定领域和场景下的对话系统已经实现,但如何扩展这些系统仍然是挑战。语言理解的核心是语义表征,多义性和多样性是主要障碍。基于分析的方法适用于任务驱动场景,基于检索方法适用于单轮问答,基于生成的方法适用于特定场景。多轮对话需要有限状态机表示,开放式对话则更具挑战性。近年来,深度学习和强化学习的应用推动了对话技术的发展,未来应继续探索符号表征和神经表征的结合。