APP下载

面向任务的对话系统现状研究

2018-01-17陈龙孙泽健

电子技术与软件工程 2017年23期
关键词:综述数据库

陈龙++孙泽健

摘 要 面向任务的对话系统是智能问答系统最热门和最有应用价值的子领域之一,近几十年来,其已经发展了三代技术,形成较为成熟的结构框架,本文给予相关总结,进而为相关研究人员提供一个的借鉴和帮助。

【关键词】面向任务的对话系统 综述 智能问答 数据库

面向任务的对话系统的研究目标是希望利用自然语言来访问结构化数据库并从中查询数据,可以视为继图形用户界面之后新的人机交互接口。面向任务的对话系统不同于以闲聊和情感陪伴为目的的聊天机器人,是智能客服技术工具化应用的主要发展方向,也是智能问答系统最热门和最有应用价值的子领域之一,本文对面向任务的对话系统的发展现状和基本框架进行介绍。

1 发展现状

任务驱动式对话系统始自人工智能诸多专家系统的研究,学者们最早通过人工提取特征,设计本体,组织规则,研制了众多数据库自然语言接口(Natural Language Interface of Database,NLIDB),使人们可以通过限定性的自然语言来查询数据,但其只支持上下文无关的单轮对话查询,通用性和可扩展性都很差。后来随着ELIZA系统的成功,多轮对话系统也开始出现。一些系统开始了在某些狭窄领域的商业应用,如机票订购,餐厅预订,导航助理。此类系统称为基于规则或基于模板(Symbolic Rule/Templated Based)的对话系统,是第一代技术。优点是系统内部的规则易懂透明,很容易修补漏洞和进行系统更新。但跨领域的通用性和可扩展性都很差,依赖领域专家的开发和维护,数据被用来设计规则,而不是学习。

随着大数据技术的发展,统计机器翻译(简称SMT)在自动翻译上取得了巨大成功,热潮蔓延到对话系统领域,出现了统计对话系统(Statistical Dialog System),为第二代技术。此类系统将许多浅层模型(如CRF、HMM)用于对话系统的语言理解和生成,增强学习的方法也开始使用,代表是剑桥大学Steve Young教授团队研发的基于POMDP的对话系统。优点是摆脱了对领域专家的依赖,增强了问答的鲁棒性,但模型却变得难以解释,从而很难维护系统,模型的表征能力也不够强,不足以做到完全端到端学习,系统依然难以跨领域扩展。

2014年,深度学习在计算机视觉和语音识别上的突破性进展,以及深度增强学习在Atari游戏上的成功,使学者们开始将诸多神经网络模型用于对话系统,称为神经对话系统(Neural Dialog System),为第三代技术。在此基础上,模型的表征能力更強,完全端到端变得可行,微软邓力团队于2016年即开发了一个完全端到端的机器人KB-InfoBot,采用基于概率的软查询来访问结构化数据库,让人们看到了神经网络模型在面向任务的对话系统上的更多可能。但此类对话系统依然有很多局限,包括依靠大规模标注数据的训练,模型仍然很难解释,在神经网络学习和符号自然语言之间缺乏交互界面。而其跨领域迁移扩展能力成为热门的研究方向(从一个数据库到另一个数据库),许多开发者希望利用深度迁移学习和增强学习来实现。

2 基本框架

任务驱动的对话系统框架一般拥有五大模块,分别为自然语言理解(Natural Language Understanding,NLU),对话状态跟踪(Dialog State Tracker,DST),数据库,对话策略(Dialog Policy,DP)和自然语言生成(Natural Language Generation,NLG)。其主要框架和运行流程如图1所示。

自然语言理解(NLU)模块:负责实现用户问询的结构化语义表示,主要包括两个子模块:意图识别和属性抽取。意图识别要求实现对用户最终需求的理解,将其划归到有限范围内的某一类别,语言学家Harry Bunt等人对用户意图建立了包含了56个定义统一分类体系,成为ISO标准。对于特定数据查询任务,意图也可以和某一查询目标甚至是和SQL查询语句配对。而属性抽取也称为槽位(Slot)抽取,识别的是查询目标的诸个限制条件、关键信息,在数据库中,一个槽位代表了某一查询表的列项。属性抽取完成后,表示成槽值对(Slot-Value Pairs)传递给状态跟踪模块。属性和意图既可以表示为确定数值,也可以表示成概率分布,又称为置信状态。当槽值对不足以确定查询目标时,对话策略模块可能指示系统提出反问,寻求更多信息。图2给出了一个示例。由于对话系统更关注口语处理,所以往往要处理非严谨语法和语音识别错误等问题。

对话状态跟踪(DST)模块:缓存查询信息,根据多轮对话来确定当前用户目标,在端到端解决方案中,上一模块传递来的用户意图和槽位会被表示成概率分布,故此一模块也被称为置信状态跟踪。在某些复杂的系统中,用户画像的相关信息也存储在此一模块中。

数据库模块:可以是关系型数据库或者基于本体的知识图谱,通常是比较简单的关系型数据库(如IMDB电影数据库),表的列项较少而行数较多。对话系统需要通过生成SQL等语言的查询语句完成数据访问和返回。

对话策略(DP)模块:和DST模块合称为对话管理(Dialog Manager,DM)模块,根据DST模块中存储的信息进行决策,输出一个系统动作(Verbal Action)。系统动作也是一个由查询目标和槽值对组成的语义表示,表明系统要执行的动作的类型和操作参数,主要类型有查询结束、模糊确认、反问等。

自然语言生成(NLG)模块:此模块根据对话策略的决策生成相应的回话(Response)返回给用户。一种方式是将回话固定为模板(Template-based),回话生成的过程就转化为从候选列表中选择模板的过程,实现较容易,但其无法像闲聊机器人一样可以利用海量的社交网络对话数据,必须人工提取特征,组织模板耗时耗力,难以移植和扩展。另一种是通过端到端模型来完成回话生成,根据上下文逐词的完成句子的输出,效果更好,但模型构建更加复杂。endprint

3 结束语

当前,面向任务的对话系统已在多个领域成功应用,如通过访问IMDB电影数据库来寻找电影,通过淘宝的商品数据库来查找想要的商品,通过航班信息数据库来订购机票等,成为多个热门APP应用的重要模块,有的系统甚至可以接受用户语音的输入。这些面向任务的对话系统都极大地改善了用户体验,提高了用户粘性,成为各大互联网巨头竞争的焦点,也是多个人工智能初创公司的核心竞争力。但目前在复杂结构数据库、上下文对话建模、跨领域扩展等方面,面向任务的对话系统仍有很多困难需要解决。

参考文献

[1]刘挺.人机对话浪潮:语音助手、聊天机器人、机器伴侣[J].中国计算机学会通讯,2015,11(10):54-56.

[2]孟小峰.中文数据库自然语言查询处理研究[D].中国科学院研究生院(计算技术研究所),1999.

[3]冯志伟.自然语言问答系统的发展与现状[J].外国语(上海外国语大学学报),2012(06):2-16.

[4]微软首席AI科学家邓力演讲:口语对话系统的分类及三代演变[EB/OL].雷锋网.https://www.leiphone.com/news/201701/daOUg72qLCmnb2Cr.html.

[5]Young Steve,Ga?i? M,Thomson B, et al.POMDP-Based Statistical Spoken Dialog Systems:A Review[J].Proceedings of the IEEE,2013,101(05):1160-1179.

[6]Mnih V,Kavukcuoglu K,Silver D,et al.Human-level control through deep reinforcement learning[J]. Nature,2015,518(7540):529.

[7]Dhingra B, Li L, Li X,et al.Towards End-to-End Reinforcement Learning of Dialogue Agents for Information Access[J].2016.

[8]Z Wang,H Chen,G Wang,H Tian,H Wu & H Wang (2014) Policy Learning for Domain Selection in an Extensible Multi-domain Spoken Dialogue System. In Proceedings of Conference on Empirical Methods on Natural Language Processing (EMNLP 2014).

作者簡介

陈龙(1988-),硕士生,研究方向为作战模拟系统工程。

作者单位

国防大学研究生院 北京市 100091endprint

猜你喜欢

综述数据库
SEBS改性沥青综述
NBA新赛季综述
近代显示技术综述
JOURNAL OF FUNCTIONAL POLYMERS
Progress of DNA-based Methods for Species Identification
综述