自然语言对话关键技术及系统

自然语言对话关键技术及系统

 

原文:尚利峰 蒋 欣 陈 晓--华为诺亚方舟实验室  自然语言对话关键技术及系统  载于中国计算机学会通讯-第14卷-第9期-2018年9月】

 

第一代对话系统是在1980年代末发展起来的基于规则系统,第二代是1990年代的统计对话系统,第三代就是近年发展的基于深度学习的端到端对话系统。统计对话系统中有基于部分可观测马尔可夫决策过程(Partially Observable Markov Decision Processes,POMDP[1],考虑了所有可能的置信状态,因此对输入噪声有更好的鲁棒性。早期的深度对话系统有检索式对话系统[2,3],通过卷积神经网络(CNNs)和多层感知机(Multi-Layer Perceptron,MLP)来得到文本的语义相关度。

由于语言的复杂性和多样性,基于规则的方法很难应用于开放领域,生成式对话模型就应运而生,在理解人类对话基础上,自适应的根据对话内容生成新的对话。如图1所示,由编码器和解码器两部分组成,前者实现语义理解,后者实现语言生成。全局是针对整体语义,局部侧重各个局部语义,有针对性地回复,该模型主要用来进行单轮对话。除此之外,我们平常对话中,经常有在回复中“复制”输入的部分文本的情况。可以在此基础上通过混合概率模型决定生成还是复制。

图1 神经响应机[4] (本图选自原文)

在实现对话过程中,为了生成既包含正确的知识又流畅的回复,Yin等人提出了如图2可以查询外部知识库的端到端深度对话系统[5]:神经生成式问答系统,其中的查询器就是负责知识库的查询,实验证明基于CNN的表现最优,超过了传统的基于检索的问答系统及神经响应机。

图2 神经生成式问答系统 (本图选自原文)

前面的深度对话模型缺少显式的对话管理模块,不太适用于以任务完成为目的。Wen等人提出了以任务驱动的多轮深度对话系统[6],如图3所示。其中每个模块都是通过神经网络进行建模,自然语言理解是循环神经网络(或CNN)来实现,状态更新是Jordan循环神经网络来实现,策略选择的输入由更新后的对话状态、查询数据库结果和用户当前输入的意图向量构成,接着计算得到机器的行为,生成部分则是另外的循环神经网络。随着深度学习的不断发展,与符号处理的融合是该方向的一个重要探索。

图3 任务驱动的多轮深度对话系统 (本图选自原文)

经过此次论文研读,使我对NLP在对话系统中的应用有更深入的了解,以前只是停留在表面的认知,现在理解了模型在系统中的运作过程,不同神经网络的优势,在普通CNN或循环神经网络上增加attention机制的成效,此外结合上下文的自然语言理解仍是当前的一个重点方向。

参考文献:

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

[2] Hu B, Lu Z, Li H, et al. Convolutional Neural Network Architectures for Matching Natural Language Sentences[J]. Advances in Neural Information Processing Systems, 2015, 3:2042-2050.

[3] Kalchbrenner N, Grefenstette E, Blunsom P. A Convolutional Neural Network for Modelling Sentences[J]. Eprint Arxiv, 2014, 1.

[4] Shang L, Lu Z, Li H. Neural Responding Machine for Short-Text Conversation[J]. 2015:52-58.

[5] Jun Y, Jiang X, Lu Z, et al. Neural generative question answering,2015.

[6] Wen T H, Vandyke D, Mrksic N, et al. A Network-based End-to-End Trainable Task-oriented Dialogue System[J]. 2016.

 

撰稿:周岑钰

审稿:丁美荣

 

 

 



登录用户可以查看和发表评论, 请前往  登录 或  注册
SCHOLAT.com 学者网
免责声明 | 关于我们 | 用户反馈
联系我们: