一、管道方法

五个部分

  • 自动语音识别——ASR
  • 自然语言理解——NLU
  • 对话管理——DM:包括对话状态跟踪(DST)和对话策略(DP)
  • 自然语言生成——NLG
  • 语音合成——TTS
1.对话管理
2.对话策略

对话策略根据 DST估计的对话状态 St,通过预设的候选动作集,选择系统动作或策略an。DP性

能的优劣决定着人机对话系统的成败。DP模型可以通过监督学习、强化学习和模仿学习得到。

2.1监督学习

专家手工设计对话策略,但是受特定域的特性、语音识别的鲁棒性、任务的复杂程度等影响,手工设计对话策略规则比较困难,并且可迁移性不好。

2.2强化学习

通过马尔科夫决策(MDP),来寻找最优策略,MDP可以描述为五元组(S,A,P,R,γ):

γ:表示为折扣因子,用来计算累计奖励.取值范 围是0~1.一般随着时间的延长作用越来越小,表

明越远的奖励对当前的贡献越少.

马尔科夫决策过程

DP需要基于目前状态St和可能的动作来选择 最高累计奖励的动作。

缺点

​ 多步决策问题中需要频繁地试错,搜索空间巨大,前期不容易很难收敛到最优解。

2.3模仿学习

原理:通过给智能体提供先验知识,从而学习、模仿人类行为

能解决多部决策的问题,但是需要专家提供较多数据或提供的数据覆盖最优结果

改进:APID算法,AggreVATe算法

传统的强化学习往仅限 于手工特征提取、状态低维且完全可观测的领域。

2.4深度强化学习

将 CNN与传统 RL中 的 Q 学习(Q-Learning)算法相结合,提出了深 度 Q 网络(Deep Q-Network ,DQN)模型

Q-Learning模型算法

Q-Learning算法

在这里插入图片描述

缺点:由于数据存在不 稳定性,导致迭代产生波动,难以得到平稳模型;仅 适用于求解小规模、离散空间问题,对于规模大或连续空间 的 问 题 则 不 再 有 效

DQN:P10

通过拟合一个函数function来代替Q-table产生Q值,使得相近的状态得到相近的输出动作。

在这里插入图片描述

还有很多对 DQN 提出改进的算法,例如基于优势学习的深度Q网络、基于优先级采样的深度 Q 网络和动态跳帧的深度 Q 网络算法。

3.对话系统
3.1复杂的对话系统

对于复杂的对话系统,难以指定一个好的策略,作为先验知识,

因此强化学习智能体(agent)通过与未知 环 境 交 互 在 线 学 习 策 略 成 为 一 种 常 用 方法

利用强化学习方法学习任务型对话策略的四种方法:

在这里插入图片描述

另一种方法是通过在线学习,减少用户反 馈噪声

在这里插入图片描述

在线学习框架,通过主动学习和高斯过程模型共同训练对话策略与奖励模 型,使用 RNN编码器-解码器以无监督的方式生成 连续空间对话表示.该框架主要包含三个系统组件:对话策略、对 话 向 量 创 建 和 基 于 用 户 反 馈 的 奖 励建模。

优点

​ 该框架能够显著降低数据注释成本,并 减少对话策略学习中的噪声用户反馈.

3.2复合任务型对话

除了领域的拓展和复杂任务对话的问题,对话策略学 习 还 在 解 决 复 合 任 务 型 对 话 的 槽 约 束 问 题等方面得到应用。

比如制定旅行计划任务,在 其中的预订航班和预定酒店两个子任务中,约束是航班的抵达时间应早于酒店登记入住的时间。

对话策略要处理很多槽,不但要处理子任务对应的槽,还要处理由所有子任务槽组成的复合任务的槽.由于槽约束,这些子任务无法独立解决,因此复合任务考虑的状态空间要比子任务状态空间的集 合大得多.同时,由于复合任务对话通常需要更多轮 数才能完成.因此,复合任务对话奖励具有稀疏性和有延迟性,使得策略优化更加困难。

3.2.1分解复合任务

用子目标发现网络(SDN)与分层强化学习(Hierarchical Reinforcement Learning,HRL)相结合 来分解并完成复合任务。

介绍下图

在这里插入图片描述

内在奖励与外部奖励相结合可以帮 助强化学习智能体避免不必要的子任务切换,尽快 完成任务.设L 为对话最大轮数,K 为子任务的数 量,外部奖励与内部奖励机制如下:

  • 外部奖励:在对话结束时候,智能体对于成功的对话获得2L 外部奖励分数,失败则获得-L 的外 部奖励分数.对于每多加一轮对话,智能体获得-1的外部奖励分数,以此来使得在更短的轮数下完成任务.

  • 内部奖励:当一个子任务结束时,智能体对于成 功完成的子任务获得2L/K 内部奖励分数,失败则 获得-1的内部奖励分数.对于每多加一轮对话,智 能体获得-1的内部奖励分数,以此来使得在更短 的轮数下完成任务.

3.2.2分解复杂的策略

对话策略方法(FDP)

  1. 策略决定采用独立槽还 是依赖槽,然后进行动作子集的选取。
  2. 抽取 每个槽的子策略的状态以考虑与该槽相关的特征, 并从先前选择的子集中进行具体策略动作选取

优点

​ 可以减少空间探索步骤,达到优化强化学习的目的,而且不需要对奖励函数进行任何修改,

​ 且 层次化结构完全由系统结构化数据库表示指定,不 需要额外设计,大大减少了设计工作量。

3.3多领域对话

NDQN.其主要思想是训练 DQN,其中每个 DQN被训练用一个特定域子对话.使用一个元策略控制这些 DQN的切换,也可以使用强化学习进行优化。

BBQ 网络是 DQN的一种变体。BBQ算法

4.DM模块面临的挑战
  • 现有的数据驱动的 DM模型,通过人工制定多个领域之间的规则来实现不 同场景的切换。多个场景的切换与恢复.绝大多数的真实对话涉及多个场景,实现一个能够在多领域的对话场 景下决策的 DM 模块仍然具有很大的困难。
  • 多轮对话的容错性.由于语言识别或语言理 解的错误导致 DM 模块做出不好甚至错误的决策 是影响 DM 模块性能的一项重要因素。如 何使 DM 模型具有良好的容错性从而解除在真实对话场景中限制,需要进一步关注和探讨。
  • 超出领域的话语处理,③ 超出领域的话语处理.在对话系统中,虽然 用户可能对于对话系统所在的垂直领域比较熟悉, 一些超出领域(OOD)的话语,例如问好、个人表态等仍然可能会被用户使用.尽管任务型对话系统只需要完成面向垂直领域的任务,但 是若在面对 OOD 话语时能进行很好的处理,而不只 是 对 用 户 进 行 提 醒。
5.DM的发展趋势
  • 高效的混合 DM 模型.针对相对复杂的实际的对话任务,对话系统往往需要兼顾任务型对话系统和非任务对话系统的任务。比如家用机器人
  • 多模态人机 DM 方 法,如何在 DM 层有效融合和协调对 话背景、用户动作、语音和语气等多模态信息,提升 用户满意度和对话效果,是一个值得关注和探索的课题。
  • 富有情感的 DM 模型。

二、自然语言生成

NLG的方法可以话分为:基于规则模板/句子规划的方法、基于语言模型的方法和基于深度学习的方法.基于深度学习的模型还多处于研究阶段,实 际应用中还是多采用基于规则模板的方法。

1.基于模板的方法
  • 人工设定对话场景,某些成分是固定的。
  • 另一部分根据DM模块的输出填充模板

优点:这种方法简单、回复精准,

缺点:但是其输出 质量完全取决于模板集,

​ 需要大量的人工标注和模板编写.

​ 难以维护,且可移植性差,需要逐个场景去扩展

2.基于句子规划的方法

基于句子规划的方法将 NLG 拆分为三个模块:内容规划、句子规划、表层生成

在这里插入图片描述

3.基于类的语言模型

将基于句子规划的方法进行改进:

对于内容规划模块,构建话语 类、词类的集合,计算每个类的概率,决定哪些类应该包含在话语中;

对于表面实现模块,使用n-gram语言模型随机生成每一个对话

4.,基于深度学习的 NLG模型

普遍以以编码器-解码器(Encoder-Decoder)作为基础框架。

模型:

  • ​ 使用序列到序 列(Sequence-to-Sequence,Seq2Seq)模型来生成简 单的对话——能克服一般大型数据集的干扰,并从中提取知识和特征。
  • 动态神经网络(DMN)——序列 和 背 景 知 识,形 成 情 景 记 忆 模 块 ,并生成相关答案.该方法不仅考虑了上下文信息,还考虑了背景知识,能够识别对对话有意义的内容,并将其激活应用到解码器中生成 更好的回复
  • 基 于 对 抗 生 成 网 络 (GAN)的文本可控的对话生 成解决自然文本的离散性的问题,学习不可解释下 的潜在表征,并生成具有指定属性的句子[166]、基于迁移学习的对话生成解决目标领域数据不足的问题, 同时可以满足跨语言、回复个性化等需求。
5.NLG面临的挑战
  • 如何在不 耗费人力物力的情况下,生成自然、生动和合适的回 复
  • NLG技术的评估需要完善——目前 NLG的评估主要有:人工测评回复的适当性、流利性、可读性、 多样性和利用 BLEU、METEOR、ROUGE 分数自动评估
  • 创建个性化回复困难。

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐