热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

论文阅读(二):3篇对话系统综述阅读

这周看了3篇对话系统的综述,主要是为了对对话系统有一个更深的了解,所以就把看的所有综述都放在一起了~~但是看完之后发现里面提到的一些具体的解决方法或者模

这周看了3篇对话系统的综述,主要是为了对对话系统有一个更深的了解,所以就把看的所有综述都放在一起了~~但是看完之后发现里面提到的一些具体的解决方法或者模型只看综述并不能很好的理解,所以还需要具体的看一下里面提出的论文!加油呀!!


  • 《智能对话系统研究综述》
  • 《A Survey on Dialogue Systems:Recent Advances and New Frontiers》
  • 《对话系统评价方法综述》

智能对话系统研究综述_贾熹滨


论文主要内容(包含创新点以及不足)


  • 首先根据应用场景,将对话系统分为开放域和封闭域。

    • 开放域需要不同领域的不同知识,需要系统具备丰富的知识,能完成多任务,感觉有点类似于横向,比如虚拟偶像和聊天机器人。这种任务用户群体较广,但用户粘性不高。
    • 封闭域需要针对具体的任务,有明确的目标和限定的知识范围,主要是解决垂直领域的任务。他的实现相对简单,但是因为某任务的语料难以搜集,因此难以用数据驱动的方法。也难以从平行任务领域迁移。
  • 对话的基本流程主要包括:语音识别-》自然语言理解-》对话状态追踪-》自然语言生成-》语音合成。本论文的重点在自然语言生成。

    • 语音识别:将用户讲的自然语言识别为连续的音节单元或者单词,但是因为环境中一般都有噪音。

    • 自然语言理解:利用语义和语法分析,将语音识别的结果转化为计算机能理解的结果。主要是文本分类和序列标注。

      • 文本分类:判断用户的意图。可以用规则,机器学习,深度学习等方法
      • 序列标注:分词,词性标注,命名实体识别等。可以用HMM,MEMM,CRF,LSTM等方法,目前主流的方法是LSTM+CRF
    • 对话状态跟踪:有点类似于填表,通过不断的发问和捕捉用户信息,将所需要的信息收集起来填入表中,主要方法有:有限状态机,填槽法,基于实例的方法,基于规则的方法,贝叶斯网络等

    • 自然语言生成:组织适当的应答语句。主要有三种方法,基于人工规则的方法,基于知识库检索的方法,基于深度学习的序列到序列方法

      • 基于人工规则的方法:在具体领域内回答比较准确,但是可移植性和可拓展性比较差,比如siri

      • 基于知识库检索的方法:知识库易扩充,对话连续性差,比如IBM推出的问答系统

      • 基于序列到序列生成模型:数据驱动,需要大量语料支持

        1. 基础的seq2seq:encoder和decoder都由深层LSTM组成(最开始提出时,具体结构自设计),将输入的自然语言经过编码变成词向量后,输入encoder,得到中间序列(即encoder最后一个时刻隐藏层的输出),如果不用attention机制,则直接将隐藏层当作decoder的初始隐层参数,和decoder的输入一起,最终得到生成的回复。

        2. seq2seq+context:基础的seq2seq不能考虑到上下文的信息,不能进行多轮对话,为了得到更好更人性化的回答,因此用额外的信息去帮助decoder生成更好的回复。直接将input和context拼接起来会导致输入太长,而RNN对长序列的效果不好,计算是使用LSTM,序列太长时效果也不是很好。

          • 文献[36]提出在encoder中使用多层向前神经网络代替RNN,有两种融合方法,其中第二种方法更能考虑到各自的信息,效果更好。融合方法

          • 文献[37]提出了层级网络结构,将context中的每一句都用rnn进行编码,在第二级将context编码之后的向量按照顺序输入,最后一个输入是input。HNN

          • 总结:直接将所有context与输入融合进行回复的生成会考虑到很多远距离的信息,效果不是很好。

        3. 动态记忆网络模型

          文献[38]提出了DMN,将背景知识编码融入情感记忆模块,输入input之后,通过对情感记忆模块的推理,检索,得到需要的信息,加权求和后输入DecoderDMN

        4. 最大化互信息模型

          之前产生回答时经常会产生“安全回答”,如“我不知道”等。因为回答是通过极大似然估计的方法来进行计算的,为了减少这种安全回答,文献[39]提出了最大化互信息模型,加入了反向优化目标。最大化互信息模型

        5. Speaker Embedding模型

          文献[40]提出要考虑个性化信息,如年龄,背景信息,用户画像等。根据用户的使用习惯将个性化信息在Decoder中体现出来,以维护个性一致。(比如同一个问题换种问法,普通的seq2seq答案会不一致,这种方法主要是为了保持背景信息的一致性,增加用户的使用体验)

    • 语言合成:将生成的自然语言合成语音

    • 开放域的对话系统不太可能实现真正的图灵测试,面向具体任务的对话系统更加的具体和实用,可以解决垂直领域的问题

    • 人工模板或知识库的方法效果比较好,但是迁移能力差;深度学习的方法是未来的发展方向,但是要有语料,是一种数据驱动的方法

    • 不足/未来发展:让系统主动引导话题;通过自学习,学会举一反三

    • 目前的对话系统评判指标主要有:机器翻译的BLUE分数,语言模型的标准困惑度等,在实际应用中主要是通过人工打分的方法,没有一个适用于聊天机器人的评价标准。


学到的点


  • 主要是了解了对话的类别、流程和自然语言生成的一些方法。具体还要继续看论文才能继续了解。

A Survey on Dialogue Systems:Recent Advances and New Frontiers


论文主要内容(包含创新点以及不足)


  • 现有对话系统大致可以分为面向任务型对话和非面向任务型对话
    • 面向任务型对话主要是针对某些特定的任务,比如订票订餐。
    • 非面向任务型对话主要应用在娱乐等方面,例如聊天机器人。
  • 任务导向型对话主要介绍了两种方法,分别是pipeline和end2end
    • pipeline方法主要包含四个主要步骤,分别是:自然语言理解,对话状态追踪,策略学习和自然语言生成主要步骤

      • NLU:将输入映射到语义槽中,主要包括句子级别的分类(如意图的识别)和次级别的信息提取(如地点,时间)语义槽填充

      • 对话状态跟踪:估计用户每个回合的目标是什么。大多数商业系统实现都是用手工编写规则的方法,这种方法很容易出现错误,而且可移植性差。(这里补充一下对话的状态,对话状态主要包含四个部分,分别是对话历史,用户目的,槽值对和意图)

      • 策略学习:将状态追踪得到的状态表示作为条件,策略学习将产生下一个可用的系统动作(比如状态可以是比较,推荐等,这个是根据不同的任务场景来设定的)

      • NLG:将抽象的对话动作转化为自然语言的浅层表达。

    • end2end方法可以解决pipeline方法的两个缺点:分数分配问题和处理相互依赖(对于流水线,其中一个发生变化,为了保持整体的效果都需要对别的步骤做相应的变化)

  • 非任务导向型对话主要介绍了两种方法,分别是神经生成模型和基于检索的方法。
    • 神经生成模型的基础是seq2seq,基于此,本论文还探索了当前的一些研究热点,如:结合背景信息,提高回复的多样性,主题和个性建模,利用外部知识库,互动学习与评估,每一部分都介绍了很多种方法,但是因为我还没有开始看里面的论文所以有很多方法我只能知道个大概,没有一个确切的了解。要好好读一下里面提到的论文!
      • 结合背景信息,个人感觉有点类似于《智能对话系统研究综述》里的seq2seq+context部分,但是本论文介绍的方法更多。
      • 提高回复多样性,有点类似于上篇论文里的最大化互信息,但是又介绍了decoder解码过程中产生的冗余候选回复以及引入随即隐变量去提高回复多样性
      • 主题与个性,有点类似于所有的对话要围绕一个主题,同时为了更好的用户体验,可以考虑给系统设定背景信息(这在上篇综述里也提到过)
      • 利用外部知识库,用于弥补对话系统与人类之间背景知识差距
      • 交互式学习,显然只让用户发问系统回答是不合理的,好的对话应该更有前瞻性和交互性
      • 评价,目前的评价方法只有BLUE METEOR ROUGE,但是这个打分并不能完全代表回复的好坏
    • 基于检索的方法主要是从若干个候选回复中选择一个回复,因此匹配模型一定要能够克服输入和回复之间的语义差异
      • 单轮回复匹配,将当前消息和候选回复分别编码为向量,计算两个向量之间的匹配分数
      • 多轮回复匹配,将当前消息与之前的对话作为输入,模型会选择与整个文本最相关且自然的回复。
    • 混合方法。基于检索的方法回复准确但不流利,基于生成的方法回复更流利但有可能会生成无意义的回复,因此将两种方法结合。先通过检索的方法得到候选回复,再将其与原始信息一起送入基于RNN的回复生成器
  • 结论,深度学习给对话系统带来了更好的可能性,也将任务导向型对话和非任务导向型对话的界限模糊了。未来研究方向主要有迅速热身,深度理解,隐私保护。但是除了隐私保护,我都不是很了解,后续会一直关注这篇论文!争取早日把它完全弄懂。

学到的点(感想)

这篇综述讲了很多方法和模型,但是因为我目前只是看了综述,所以很多方法和模型都还没有去了解,所以会一直看这篇论文,希望在阅读了别的论文之后能对这篇综述有更深的了解。


对话系统评价方法综述


论文主要内容(包含创新点以及不足)


  • 主要是针对两种不同场景下的对话类型介绍了评价方法

  • 任务导向型对话系统最终目标是测评用户的满意度,因此提出了三个策略,分别是通过构建某种特定形式的用户模拟系统进行评价;人工评价;在动态部署的系统中进行评价。

    • 用户模拟:有效简单,最有可能覆盖最大空间,但是真实用户反映与模拟器的反应存在差距,差距的大小决定着模拟器的好坏,但这种方法仍然是任务型对话系统评价中最常用的评价方法。
    • 人工评价:开销比较大,但是结果最真实。但是也有事实证明人工评价并没有非常完整的表现出对话的效果和特点。
    • 部署动态系统评价:在真实用户群体中检测用户满意度
  • 开放域对话系统评价方法主要有两种主流的方法,分别是客观评价指标和模拟人工评分。

    • 客观评价指标主要有两种,一种是基于词重叠率的评价矩阵,另一种是基于词向量的评价矩阵。

      • 在基于词重叠率的评价矩阵中,主要包含BLEU NMETEOR ROUGE三种方法,其中前两种主要是用于机器翻译,第三种主要用于评价自动摘要生成。

        BLEU对模型输出r_hat和参考答案r的n-gram进行比较并计算匹配片段的个数,与匹配片段位置无关,仅认为匹配片段越多,模型质量越好。

        NMETEOR在候选答案与目标回复之间产生一个明确的分界线,然后将参考答案与模型输出的P和R的调和平均值结果进行评估

        ROUGE 对候选句与目标句之间的最长相同子序列计算F值

      • 在基于词向量的评估矩阵中,主要是通过word2vec等方法得到句子中每个词的词向量,然后得到句子的句向量,再通过余弦距离进行比较,得到二者的相似度。

        贪婪匹配:基于词级别,对于r_hat和r,计算两个句子任意两个词(一个来自r_hat,一个来自r)之间的余弦相似度,取均值。

        向量均值:通过句子中的词向量计算句子的特征向量。

        向量极值:筛选词向量的每一维来选择整句话极值最大的一维作为句子的向量表示。

    • 基于评分模拟的评价方法(不懂

      • GAN结构(生成对抗网络)
      • RNN结构:ADEM,通过半监督训练
      • 基于神经网络结构的其他评分模型,如用下文回复分类,等。
  • 未来趋势,对任务型对话,主要是根据任务完成程度来评价,对开放域对话系统,主要是对客观指标进行评分。


不懂的点


  • 许多具体的解决问题的方法并不是很了解,只懂个大概,还需要继续阅读相关的文献。

推荐阅读
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • 老牌医药收割AI红利:先投个15亿美元抢中国人才
    萧箫发自凹非寺量子位报道|公众号QbitAI没想到,一场大会把我的“刻板印象”攻破了。2021世界人工智能大会现场,能看见不少熟悉的身影, ... [详细]
  • 人工智能推理能力与假设检验
    最近Google的Deepmind开始研究如何让AI做数学题。这个问题的提出非常有启发,逻辑推理,发现新知识的能力应该是强人工智能出现自我意识之前最需要发展的能力。深度学习目前可以 ... [详细]
  • 本文介绍了绕过WAF的XSS检测机制的方法,包括确定payload结构、测试和混淆。同时提出了一种构建XSS payload的方法,该payload与安全机制使用的正则表达式不匹配。通过清理用户输入、转义输出、使用文档对象模型(DOM)接收器和源、实施适当的跨域资源共享(CORS)策略和其他安全策略,可以有效阻止XSS漏洞。但是,WAF或自定义过滤器仍然被广泛使用来增加安全性。本文的方法可以绕过这种安全机制,构建与正则表达式不匹配的XSS payload。 ... [详细]
  • GPT-3发布,动动手指就能自动生成代码的神器来了!
    近日,OpenAI发布了最新的NLP模型GPT-3,该模型在GitHub趋势榜上名列前茅。GPT-3使用的数据集容量达到45TB,参数个数高达1750亿,训练好的模型需要700G的硬盘空间来存储。一位开发者根据GPT-3模型上线了一个名为debuid的网站,用户只需用英语描述需求,前端代码就能自动生成。这个神奇的功能让许多程序员感到惊讶。去年,OpenAI在与世界冠军OG战队的表演赛中展示了他们的强化学习模型,在限定条件下以2:0完胜人类冠军。 ... [详细]
  • {moduleinfo:{card_count:[{count_phone:1,count:1}],search_count:[{count_phone:4 ... [详细]
  • 本博文基于《Amalgamationofproteinsequence,structureandtextualinformationforimprovingprote ... [详细]
  • 【论文】ICLR 2020 九篇满分论文!!!
    点击上方,选择星标或置顶,每天给你送干货!阅读大概需要11分钟跟随小博主,每天进步一丢丢来自:深度学习技术前沿 ... [详细]
  • 当写稿机器人真有了观点和感情,我们是该高兴还是恐惧?
    目前,写稿机器人多是撰写以数据为主的稿件,当它们能够为文章注入观点之时,这些观点真的是其所“想”吗?最近,《南 ... [详细]
  • 驭势科技签约禾赛科技,携手推进“全场景”自动驾驶商业化
    2021年12月8日,全球领先的激光雷达公司禾赛科技和自动驾驶商业化全球领跑的公司驭势科技共同宣布,双方达成战略合作协议。根据协议,禾赛将 ... [详细]
  • 本文介绍了在Python张量流中使用make_merged_spec()方法合并设备规格对象的方法和语法,以及参数和返回值的说明,并提供了一个示例代码。 ... [详细]
  • 本文介绍了互联网思维中的三个段子,涵盖了餐饮行业、淘品牌和创业企业的案例。通过这些案例,探讨了互联网思维的九大分类和十九条法则。其中包括雕爷牛腩餐厅的成功经验,三只松鼠淘品牌的包装策略以及一家创业企业的销售额增长情况。这些案例展示了互联网思维在不同领域的应用和成功之道。 ... [详细]
  • 建立分类感知器二元模型对样本数据进行分类
    本文介绍了建立分类感知器二元模型对样本数据进行分类的方法。通过建立线性模型,使用最小二乘、Logistic回归等方法进行建模,考虑到可能性的大小等因素。通过极大似然估计求得分类器的参数,使用牛顿-拉菲森迭代方法求解方程组。同时介绍了梯度上升算法和牛顿迭代的收敛速度比较。最后给出了公式法和logistic regression的实现示例。 ... [详细]
  • 开足马力“拼经济” 闯出崭新“精气神”
    开足马力“拼经济” 闯出崭新“精气神” ... [详细]
author-avatar
vaaal52653
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有