近年来,各种自然语言对话系统如雨后春笋般涌现,包括语音助手、智能客服、智能音箱、聊天机器人等。这些系统一方面变得更加实用,另一方面也暴露出一些技术上的局限性。计算机在自然语言对话方面的能力究竟达到了什么程度?这一领域的挑战是什么?未来会有哪些突破?需要重点研究与开发哪些技术?
笔者曾在华为参与对话技术的研究及Mate10语音助手的开发工作。基于这些经验和见解,本文将探讨这些问题。
计算有三个层面:功能层面、算法和表征层面、实现和物理层面。如果两个系统在功能上能产生相同的输出,不论它们的算法和物理实现方式如何,都可以认为它们在功能上是等价的。人脑和计算机在功能上也可以进行类比。如果假设人的思维可以简化为计算,那么只要计算机能在功能上完成相同任务,就可以认为它们具有同等的智能。本文将从功能主义的角度讨论对话系统。
人工智能的定义有多种,其中一种是合理行动的智能机器。这类机器具备以下特点:与环境互动、目标导向、有评价标准、不刻意模仿人类、完成任务的能力达到或超过人类。构建合理行动的智能机器比构建像人一样行动的智能机器更加实际可行。目前大多数人工智能系统都属于这种类型。大数据和机器学习使得这条路线更容易取得突破。构建像人一样行动的智能机器存在局限性,因此合理行动的对话系统更值得追求。
自然语言理解有两种定义:基于表征和基于行为。前者关注内部表征的生成,后者关注行为反应。自然语言理解过程可以分为词汇分析、句法分析、语义分析和语用分析。词汇分析将输入语句中的单词映射到语义表征上;句法分析根据语法规则分析单词之间的关系;语义分析基于词汇和语法生成语义表征;语用分析则基于上下文确定语句的具体含义。自然语言理解面临多义性和多样性的挑战,需要在语义和语用层面进行综合处理。
人脑的语言处理机制仍有很多未知之处。布洛卡区和韦尼克区在语言理解中扮演重要角色。嵌入模拟假说表明,人脑中的语言理解依赖于视觉、听觉、运动等表象的模拟。语言理解过程涉及将相关表象联系并重新组合。
对话是一种信息交流任务,包括问候、问答、协作等。对话系统可以利用有限状态机表示任务的各个阶段。单轮对话和多轮对话有各自的特点和挑战。单轮对话可以通过分类和结构预测来实现,多轮对话则需要对话管理和状态跟踪。当前多轮对话系统主要应用于特定领域的任务型对话。
计算机在自然语言对话方面的表现依然有限。当前技术主要基于数据驱动和机器学习,包括基于分析、基于检索和基于生成的方法。基于分析的方法适用于命令型对话,基于检索的方法适用于问答型对话,基于生成的方法适用于自动生成回答。多轮对话系统通常包括语言理解、语言生成、对话管理和知识库等模块,使用有限状态机表示对话过程。
深度学习和强化学习在自然语言处理方面取得了显著进展,特别是在对话系统中。端到端训练和表征学习是深度学习的关键特征。例如,Liang等人开发的神经符号机可以从知识图谱中找到答案。吕等人提出的神经查询器、符号查询器和连接查询器可以处理自然语言的关系数据库查询。Peng等人提出的基于层次化深度强化学习的对话策略学习方法可以辅助用户完成旅行安排。
自然语言对话领域的研究课题包括: - 语义接地和内部表征的定义与使用。 - 多义性和多样性的处理。 - 符号表征和神经表征的结合。 - 多轮对话系统的设计与优化。 - 对话系统的模块化和层次化处理。 - 小样本条件下的对话模型学习。
从功能主义角度看,计算机在自然语言对话方面仍有巨大的发展空间。当前技术在特定场景下已经取得了一些成果,但仍需解决多义性和多样性等问题。合理行动的对话系统是未来的发展方向,深度学习和强化学习的结合将推动这一领域进一步发展。