对话系统文献综述

一、简介

论文:https://arxiv.org/pdf/1711.01731.pdf
该论文对对话系统进行了综述,并讨论了今后可能的研究方向。

目前的对话系统大致被分成两类:

1 任务导向的对话系统

任务为导向的对话系统是帮助用户去完成特定任务,比如找商品,订住宿,订餐厅等。实现任务为导向的对话系统,主要有两类方式:

1) Pipeline method

通过4个步骤去完成对话任务

2)End-to-End method。

端到端地完成对话任务

2 非任务导向的对话系统

非任务导向的对话系统是与用户进行互动并提供回答,简单的说,就是在开放领域的闲聊。实现非任务导向对话系统也主要可分为两类:

1) generative method

生成式对话

2)retrived-based method

答案选择式对话

文章就以上两类对话系统,以及各自的实现方法进行详细综述与讲解。

二、任务导向的对话系统

1 Pipeline method

Pipeline method的步骤可以分为4个,过程如下图所示,分别是自然语言理解–>对话状态跟踪–>策略学习–>自然语言生成
image_1d07b0ete1in01gue1t61r9q3i2p.png-43.7kB

1.自然语言理解 Natrual Language Understanding(NLU)

目标:将用户的输入语句转化为预先设定好的语义槽(semantic slot)

先来个例子:
在任务型对话系统中用户想要查酒店信息,于是说出一个句子:“show restaurant at New York tomorrow.”
理解这个句子需要两个步骤:
(1)首先要判断用户是需要订酒店,而不是订机票,买东西,查快递,那么这属于一个分类问题,即识别用户意图类别
(2)查酒店类别会有与之相对应的预先设定好语义槽(semantic slot),如New York是location的slot value.填充槽值的过程即在句中做词信息的抽取。

以上两步也可分别称作意图识别(intent detection)与槽填充(slot filling):

意图识别: 是分类问题,将用户发出的语句分类到预先设定好的意图类别中。简而言之,其实就是短文本的分类,最近一般都使用深度学习来做分类。

  • 深度学习在意图识别中的应用:
    “Use of kernel deep convex networks and end-to-end learning for spoken language understanding.(2012)”
    “Towards deeper understanding: Deep convex networks for se- mantic utterance classification.(2012)”
    “Zero- shot learning and clustering for semantic utterance classification using deep learning(2014)”
    其中,使用卷积神经网络来抽取查询语句的向量表征(vector representations):
    “Query intent detection using convolutional neural networks(2016)”

**槽填充:**是序列标注问题,为句子中的每个词打上语义标签。输入是由一组序列的词组成的句子,输出是该组序列的词及词对应的语义类别(slot/concept ID)。可以类比中文分词,词性标注等问题。因此传统的做法有HMM,CRF等。最近效果较好的是DBN,RNN去做序列标注

  • 使用了deep belief networ(DBNs),取得优于CRF baseline的效果:
    “Use of kernel deep convex networks and end-to-end learning for spoken language understanding.(2012)”
    “Deep belief network based semantic taggers for spoken language understanding.(2013)”
    [17]和[15]使用了deep belief networ(DBNs),

  • 使用了RNN
    “Investigation of recurrent-neural-network architectures and learning methods for spoken language understanding.(2013)”
    “Recurrent neural networks for language understanding.(2013)”
    “Spoken language understanding using long short-term memory neural networks.(2014)”

2.Dialogue State Tracking

根据对话历史管理每一轮对话的输入,并且预测当前对话的状态。对话状态Ht表示到时间t为止对话的表征(也叫做slot或semantic frame)。对话状态的跟踪主要有3个方面:the user’s goal, the user’s action, the dialogue history.

  • 传统的方式:是使用手工做的规则来选择最可能的结果。但是错误率高。

  • 基于统计的方式:

    • 会对每轮对话都计算对每个state的概率分布。
      “The hidden information state model: A practical framework for pomdp- based spoken dialogue management(2010)”
    • 对每轮对话的每个slot都计算概率分布
      “A belief tracking challenge task for spoken dialog systems.(2012)”
      “The dialog state tracking challenge.(2013)”
    • 也有用手工规则的
      “A simple and generic belief tracking mechanism for the dialog state tracking chal- lenge: On the believability of observed information(2013)”
    • 用CRF
      “Recipe for building robust spoken dialog state trackers: Dialog state tracking challenge system description(2013)”
      “Structured discriminative model for dialog state tracking(2013)”
      “Dialog state tracking using conditional random fields(2013)”
    • 用最大熵模型
      “Multi-domain learning and generalization in dialog state tracking.(2013)”
    • 用基于网络的排序
      “Web-style ranking and slu combina- tion for dialog state tracking(2014)”
  • 基于深度学习:

    • 深度学习在信念跟踪上的应用(可以跨领域应用)。
      “Deep neu- ral network approach for the dialog state tracking challenge(2013)”
    • 多领域RNN对话跟踪
      “Multi-domain dialog state tracking using recurrent neural networks(2015)”
    • 利用神经信念跟踪NBT检测每个slot pair
      “Neural belief tracker: Data-driven dialogue state tracking.(2017)”

3.Policay learning

根据当前对话状态做出下一步的反应。举个例子,在线上购物的场景中,若上一步识别出来的对话状态是“Recommendation",那么这一步骤就会给出对应推荐的action,即从数据库中获取商品。

  • 监督学习:
    • 首先一个rule-based agent用来做热启动,然后监督学习会在根据rule生成的action上进行:
      “Building task-oriented dialogue systems for on- line shopping”
  • 强化学习:
    • “Strategic dialogue management via deep reinforcement learning.(2015)”

4.Natural language generation(NLG)

将Policy learning给出的反应转换成相应的自然语言形式的回答提供给用户。一个好的回答生成器应具备4个特点:adequacy, fluent,readability and variation[78].

传统的方法[90;79]:使用sentence planning,将输入的语义特征转换成中间形式(比如树状或模版形式),然后再通过surface realization将中间形式转换成最终的回答。
深度学习的方法:[94;95]介绍了NN于LSTM结合的结构,类似于RNNLM;[94]使用前向RNN生成器,以及CNN和backwards RNN的reranker,所有子模型进行联合优化;[95;83]新增一个control celll来gate the dialogue act;[96]将前者在multiple-domain上改进于应用;[123]使用encode-decode LSTM-based,并结合了attention machanism;[20]使用sequence-to-sequence 方法。

2 end-to-end methods

特点:使用单个模型;可于外部的结构数据库进行交互

  • 使用基于网络的端到端的可训练的对话系统。将对话系统的问题转换为学习一个映射(从历史对话–>回答)。但是,其需要大量训练数据并且缺少鲁棒性。

    • *"A network-based end-to-end trainable task-oriented dialogue system(2017)”
    • “end-to-end goal-oriented dialog(2017)”*
  • 使用end-to-end 强化学习方法,联合训练对话跟踪于策略学习,但是也存在缺陷:不可微+无法获取语义不确定性。

    • “Towards end-to-end learn- ing for dialog state tracking and management us- ing deep reinforcement learning.(2016)”
  • 基于memory network,使用RNN+可微分attention

  • “Key-value retrieval networks for task-oriented dialogue(2017)”

三、非任务型对话

非任务型对话主流有两类:生成式对话和抽取式对话。

1 Neural generative models

Neural generative models主要是依赖于sequence to sequence的模型。但光建立一个序列模型还远远不够,一个好的对话系统还需要考虑:
(1)历史对话对当前对话的影响
(2)回答的多样性
(3)针对不同领域与用户个性提供不同的回答
(4)基于外部的知识库去做回答
(5)内部学习与评估(两个对话机器人互相对话作为训练)

1.Dialogue context

  • 将历史对话的内容转换成词或短语向量的表征作为序列模型的特征
  • 建立一个层级结构的attention机制去找出重要的历史语句
  • 根据相关性去找出与问句最相关的context作为特征

2.Reponse Diversity

  • 调整目标函数:使用maximum mutual information作为最优化目标
  • 使用IDF去评估回答的多样性
  • 调整beam search,使得输出多样回答
  • 加入re-ranking步骤
  • 增加输入信息的多样性
  • 加入latent variable

3.Topic and personality

  • 先用主题模型LDA去生成主题,将主题信息作为特征输入对话模型
  • 将用户对话做领域的分类
  • 加入emotional embedding到生成模型中
  • 加入profile的信息
  • 强化学习

4.Outside knowledge base

  • 使用memory network使对话系统与知识库做交互
  • 将知识库中的词语模型生成的词做结合

5.Evaluation

如何评价产生对话的好坏呢?

  • word overlap metrics:BLEU,METEOR,ROUGE
  • 利用两个RNN来做评估
  • 将context,the true response and candidate response表征成向量计算向量之间的相似性来评估
  • 图灵测试
  • adversarial evaluation model

2 Retrieval-based method

Retrieval-based method是从候选答案中选出一个答案作为回答。主要有两个应用领域:
(1)单轮对话
(2)多轮对话

3 Hybrid methods

将以上生成式对话和抽取式对话结合起来,先从通过抽取模型抽取出答案,再将答案放到RNN中去生成回答。

其他很赞的博文: https://blog.csdn.net/Irving_zhang/article/details/78865708

对话系统是一个很大的领域,涉及了不限于NLP的方方面面,让机器拥有人类的对话能力姑且任重道远,探索之路也辛且艰,因此这方面的学习也需要从面到点,单个击破,之后我会将对话系统的学习和实践做好博客的记录,欢迎大家一起讨论。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/56632.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何利用大数据分析技术预测员工离职?

为什么我们要对员工离职进行预测,因为它会帮助公司减少员工离职成本的消耗。 本文为美国肯尼索州立大学刘丽媛(Lilian)在HR成长部落2019年6月23日的线下活动分享文字实录,希望对大家在数据分析在HR领域的应用有所启发。 大家好&am…

Python员工离职数据分析

Python员工离职数据分析 import pandas as pd import seaborn as sns import matplotlib.pyplot as plt import warnings warnings.filterwarnings(ignore)# 数据全显示 pd.set_option(display.max_columns, None) # 颜色 colors sns.color_palette() # 数据精度 pd.set_opti…

从数据分析,看公司员工流失率分析报告

一、概述: 1、员工离职和员工流失率的概念: 员工离职:员工被辞退及辞职、不续签的情况 员工流失率(离职率):公司离职的员工人数/(入职人数最初原有人数)*100% 例如:月…

数据分析——员工离职预测

员工离职预测 一. 题目描述二. 数据说明三. 步骤实现1.导入并查看2.数据探索性分析3.数据处理4.模型分析5.结果分析(1) 可视化的结果分析(2)特征选择结果分析(3)多模型交叉验证结果分析 一. 题目描述 员工是否准备离职是困扰用人单位的问题,其关系到单位…

逾2500名选手竞跑乌鲁木齐冰雪马拉松

中新社乌鲁木齐1月13日电(记者 孙亭文) 2019乌鲁木齐丝绸之路冰雪马拉松(简称“冰马”)13日鸣枪开跑,逾2500名跑友在天山山麓的“冰天雪地”中竞跑。 1月13日,2019乌鲁木齐丝绸之路冰雪马拉松在乌鲁木齐市城南的天山脚下鸣枪开跑,逾2500名跑友…

html 跑步比赛小游戏,疯狂趣味跑步竞赛3D

疯狂趣味跑步竞赛3D是一款跑酷类型的休闲游戏,游戏在整体画面上搭配了最新的技术,使得游戏画面看起来非常华丽,人物的建模也很可爱。玩家在游戏中可以在各种风格的跑道上进行比赛,还可以在线跟别的玩家进行匹配。喜欢这款游戏的快…

oracle计算日期倒计时,时间倒算回去到了哪里?│机械倒数计时码表

Laura Lan蓝思晴 《大寫的蘿菈》主笔 华语圈知名钟表珠宝评论家,专精机械钟表赏析,亦对珠宝、生活、文化与艺术等各领域皆有着独到的见解。创办《引想力工作室》从事专业文案、顾问、讲习等工作。 所有不能实现的,制表大师们都曾经挖空心思研…

茂名天源石化等项目开工 石化业高质量发展看广东

目前来看,广东省已经拥有诸多国外化工巨头、大型民营炼化企业和不少国企的炼化项目,成为很多石化企业首选的项目落地基地。“石化业高质量发展看广东”,已经逐渐明朗。今年以来,已有恒力石化(惠州)PTA项目、东华能源(茂名)烷烃资源…

c++并行编程中的“锁”难题

linux服务器开发相关视频解析: 在并行程序中,锁的使用会主要会引发两类难题:一类是诸如死锁、活锁等引起的多线程Bug;另一类是由锁竞争引起的性能瓶颈。本文将介绍并行编程中因为锁引发的这两类难题及其解决方案。 1、用锁来防止…

恒力石化、茂名天源石化等项目开工 2025年广东石化产业营收力争超2万亿

目前来看,广东省已经拥有诸多国外化工巨头、大型民营炼化企业和不少国企的炼化项目,成为很多石化企业首选的项目落地基地。“石化业高质量发展看广东”,已经逐渐明朗。 今年3月31日,广东省发展改革委官网公布《广东省2021年重点建…

Linux中的线程

1.线程的基本概念 2.线程和进程的区别 线程安全 *线程的同步 线程的调度 线程的通信编程思想之多线程与多进程(1)——以操作系统的角度述说线程与进程_阳光日志-CSDN博客_多线程和多进程编程线程是什么?要理解这个概念,须要先了解一下操作系统的一些…

武汉超级计算机中心,加快打造“五个中心” 武汉率先开建人工智能计算中心...

(来源:武汉市发改委) 原标题:加快打造“五个中心” 武汉率先开建人工智能计算中心 从华为东莞松山湖基地运来的预制化模块箱体,正在光谷科学岛起步区被吊装,未来将被“拼装”成武汉重要的人工智能算力基础设施。3月1日&#xff0c…

产业丨国产数据库行业火热,厂商各有各的算盘

前言: 随着数字经济的不断发展,未来数据库发展有着四个趋势:开源、HTAP、云原生以及和大数据技术融合。 如今,随着众多企业入局,国产数据库正在打着一场激烈的翻身仗。 前言: 随着数字经济的不断发展&a…

不到一年涨粉849万,“神级账号”小鱼海棠背后成功的秘诀是什么?

如何能在短时间内精确吸粉百万,快速度过账号冷启动,跻身头部网红的行列?快手视频博主“小鱼海棠”就交出了一份完美的答卷。 凭借牢牢抓住与999个帅哥拍照这一创意点,“小鱼海棠”一战封神,成为网红界一匹飞速狂奔的黑…

灿谷集团荣获“公益践行奖”

2022年1月13-14日,“第十一届公益节暨企业社会责任嘉年华”在上海举行。在公益节上,灿谷集团凭借在履行企业社会责任方面的杰出表现,获评“2021年度公益践行奖”。 公益节设立于2011年,是国内首个由大众媒体联袂发起的以“公益”…

阿里P7被裁员,找工作小半年了,流程走着走着就没了

上一篇:幸好没去虾皮! 互联网大厂,35岁中年人的困境 在很多行业,35岁正是事业发展黄金期,但在大厂,35岁员工担心竞争力下滑、被年轻人替代、找不到下家...。 “员工35岁被劝退”“高龄员工不续签”&#xf…

独家!起底蚂蚁集团灵活用工服务 源自税筹圈

中国灵活用工市场发展20余年,进入了快速成长阶段。灵活用工成为了时下主流的用工方式,为了达到降本增效的目的,越来越多的企业选择与灵活用工平台合作。 灵活用工产业角色方包括用工单位、用人单位和外包员工,其中的主角&#xff…

P2E的元宇宙赛车PVE正式开启,Supercars的全新赋能征程

前言: Luna近期崩盘的热度火遍全球,公链的安全事故导致ETH链上大量的资金开始出逃。一鲸落,万物生,市场热度开始由DeFi赛道又开始回归到了链游方向。以StepN为主的P2E,M2E在数据层面又开始逐渐变好,市场最…

计算广告(一)

计算广告学是一个十分庞大的学科,里面涵盖了自然语言处理、机器学习、推荐系统等众多研究方向。而且广告作为互联网行业的三大盈利模式(广告、电商、游戏)之一, 也是这三大模式中最有技术含量的,计算广告学一直都吸引…

献给青春的歌 · 致「 腾讯QQ 18 岁」

博主说:在中国为期不长的互联网历史上,太多的 IT 产品如昙花般匆匆一现,腾讯能够走过 18 载春秋,出人意料又在情理之中。但对于我们来说,腾讯QQ 绝并不仅仅只是一个用于聊天的软件而已,因为它更承载着我们青…