大数跨境
0
0

Sequicity:利用单个seq2seq模型架构来简化面向任务的对话系统

Sequicity:利用单个seq2seq模型架构来简化面向任务的对话系统 涛哥论道
2023-11-10
0
导读:《Sequicity:利用单个seq2seq模型架构来简化面向任务的对话系统》的阅读笔记,在LLM的今天,实现需要进行更新。

摘要:现有的任务导向对话系统的解决方案,按照流水线设计会导致架构的复杂性和脆弱性。作者并提出了一种基于单一序列到序列模型的新框架。该框架可以通过监督学习或强化学习进行优化。关键贡献是设计了文本跨度,用于跟踪对话中的信念,从而可以以序列到序列的方式建模任务导向的对话系统。基于此,提出了一个简化的两阶段的CopyNet实例,展示了良好的可扩展性:在参数数量和训练时间方面显著降低了模型复杂性。在两个数据集上明显优于基于流水线设计的最先进方法,并在词汇表外(OOV)的情况下保持了令人满意的实体匹配率,而流水线设计的设计则完全失败。

一、介绍

本文介绍了在任务导向的对话系统中,如何同时实现任务完成和人类化的响应生成。传统的流水线设计中,信念跟踪组件是关键组件,但其建立的复杂多类分类器可能会面临高复杂度和无法处理未知词汇的问题。此外,信念跟踪器需要进行去词汇化处理,也不适用于端到端训练。Eric和Manning尝试使用seq2seq模型构建任务导向的对话系统,但由于没有信念跟踪器,其方法表现不佳。

本文重新审视了基本的对话管道架构,并结合深度学习的进展提出了信念跟踪的概念。引入了信念跨度(bspan)的概念,用于跟踪每个回合的信念状态。提出了一个名为Sequicity的新框架,使用单个seq2seq模型将任务导向对话问题分解为生成bspans和机器响应,并将其转换为序列优化问题。在实践中,Sequicity分为两个阶段进行解码:第一阶段解码bspans以便于知识库(KB)搜索;第二阶段在知识库搜索结果和bspans的条件下解码机器响应。

Sequicity是一种新的任务导向对话系统,采用单个seq2seq模型,相比现有方法具有更简化的架构和更好的性能。它能够处理OOV情况,具有真正的端到端可训练性,使用CopyNet实现。经过广泛的实验验证,证明了该方法的有效性。

本文的贡献有四个方面:(1) 提出了Sequicity框架,该框架可以在单个seq2seq模型中处理任务完成和响应生成;(2) 提出了Sequicity框架的实现,即Two Stage CopyNet (TSCP),该模型的参数数量较少,训练速度较快,优于现有的基线模型;(3) 在两个大规模数据集上展示了TSCP相对于现有基线模型的显著性能提升,包括处理未登录词的情况;(4) 开源了TSCP的源代码,以帮助社区探索Sequicity框架。

二、相关工作

任务导向的对话系统通常由多个独立训练的模块组成,包括用户意图分类器、信念跟踪器、对话策略生成器和回应生成器。用户意图分类器用于将用户话语分类为预定义的意图。信念跟踪器在每个对话轮次中跟踪用户目标和约束,对于任务完成非常重要。对话策略生成器生成下一个可用的系统动作。最近的实验表明,强化学习是一种有前途的实现这个任务的方法。

这段文字主要讨论了对话系统中的三个关键方面:对话状态跟踪、动作选择和回应生成。对话状态跟踪是指通过对用户输入进行分析和理解,确定当前对话的状态。动作选择是指根据当前对话状态,选择合适的回应动作。回应生成是指根据预定义的模板,将槽位值填充到回应中,生成最终的回应。然而,这种固定模板的回应可能会导致回应过于静态,降低用户满意度。生成流畅、类似人类的回应被认为是一个独立的话题,需要进一步研究。

三、基础

3.1 编码-解码的Seq2seq模型

当前的seq2seq模型采用编码器-解码器结构,其中编码器将源序列表示为隐藏状态,解码器根据隐藏状态生成目标序列。最近,基于注意力机制的循环神经网络(Att-RNN)被认为是基线编码器-解码器架构,它使用两个RNN,一个用于编码,另一个用于解码,并通过注意力机制实现对源序列的关注。注意力机制计算所有隐藏状态之间的注意力分数,并将它们加权求和,生成一个向量,然后将其与解码器的隐藏状态连接起来,最终生成目标序列。

3.2 信念跟踪

多轮对话中,信念追踪器是任务完成的关键组件,它记录了过去轮次的关键信息。早期的信念追踪器被设计为贝叶斯网络,其中每个节点是对话信念状态。最近的研究成功地将信念追踪器表示为判别分类器。Wen等人将判别方法应用于他们的信念追踪器中的每个槽位,一个槽位可以是可提供信息的或可请求的,这些在CamRes676和KVRET中已经进行了注释。例如,在CamRes676中,食物类型是一个可提供信息的槽位,而一组食物类型也被预定义为相应的槽位值。在Wen等人的研究中,食物类型槽位通过一个分类器进行识别,该分类器以用户的话语作为输入,预测是否以及应该激活哪种类型的食物,而地址槽位是一个二进制变量,如果用户请求该槽位,则地址将被设置为true。

四、方案

Sequicity框架的核心概念是bspans,它是一种将对话历史和当前用户输入结合起来的表示方式。Sequicity框架使用改进的CopyNet来实现。

4.1 信念跨度来实现信念跟踪

本文介绍了对话系统中的信念跟踪技术,其中关键是跟踪可提供和可请求的插槽值。传统的基于管道的方法使用监督分类,但可以通过直接应用seq2seq模型来更新架构。与以前的方法不同,该方法将插槽值记录在文本中,以便由模型解码。具体来说,bspans具有信息字段和请求字段,分别存储可提供插槽的值和请求插槽的名称。这种方法利用了最先进的神经seq2seq模型来学习和动态生成插槽值。

本文介绍了一种基于bspans的对话系统解决方案,通过将用户的话语转化为bspans,可以方便地匹配数据库中的信息。该方案使用单一序列模型,简化了多个复杂分类器的使用。同时,bspans也可以作为一种显式的数据结构,加快了知识库搜索的速度。

4.2 Sequicity框架

Sequicity是一种基于seq2seq模型的对话系统,它采用马尔可夫假设,只需参考前一轮的Bt-1、Rt-1和Ut,就能生成新的信念范围Bt和机器响应Rt。Sequicity将对话表示为{(B0R0U1;B1R1);(B1R1U2;B2R2);...;(Bt-1Rt-1Ut;BtRt)},并将任务完成和响应生成统一在一个seq2seq模型中实现。Bt和Rt分别处理,Bt仅依赖于Bt-1Rt-1Ut,而Rt还受到Bt和知识库搜索结果kt的影响。

Sequicity是一个seq2seq模型,用于对话系统中的信息检索和生成。它可以处理用户请求的多个匹配结果、精确匹配结果和无匹配结果,并根据不同情况生成相应的回复。Sequicity的模型结构包括两个阶段的解码,第一阶段解码Bt,第二阶段解码Rt,并根据Bt和kt的条件生成回复Rt。Sequicity可以通过在一般的seq2seq模型上添加条件来实现,而自然语言生成的条件模型已经有了很多研究成果可供借鉴。

4.3 Sequicity实现:一个两阶段CopyNet

本文介绍了一种名为Two Stage CopyNet (TSCP)的seq2seq模型,用于生成目标序列。该模型基于CopyNet,可以将目标序列中的单词从输入序列中复制出来。为了更好地处理目标序列中不同分布的单词,TSCP采用了两个独立的RNN来处理目标序列的不同部分。在第一阶段中,模型使用复制-注意力机制从输入序列中解码出目标序列的前半部分,同时计算每个单词从输入序列中复制的概率。该模型可以用于自然语言生成任务,如对话系统中的响应生成。

在第二个解码阶段中,我们将Bt的最后隐藏状态作为Rt GRU的初始隐藏状态。然而,由于我们需要明确地建模对Bt的依赖关系,所以我们在Bt上使用了复制-注意机制,而不是在X上使用。具体来说,我们使用由Bt GRU生成的隐藏状态h1(y),...,h m(y)0,使用公式7和8计算复制,并使用第3.1节介绍的注意力分数。这有助于减少搜索空间,因为Bt中已经包含了完成任务所需的X的所有关键信息。

本文提出了一种基于bspans的对话生成模型,通过压缩关键点来减少搜索空间,同时通过处理固定长度的Bt来重新访问上下文,从而降低了时间复杂度。此外,模型还引入了k t 来解码R t,通过将k t 附加到嵌入向量中,生成h j+1(y),从而提高了模型的性能。

4.4  训练

这段文字介绍了在训练语言模型时采用标准交叉熵作为目标函数,以及在生成回复时如何使用强化学习来强调重要的任务完成标记。在回复生成中,任务完成标记比语言流畅性更重要。

本文提出了一种基于强化学习的对话生成模型,将解码网络视为策略网络,通过定义适当的奖励函数来更新训练好的响应模型。奖励函数的设置旨在鼓励生成的响应回答用户请求的信息,同时避免冗长的回复。此外,文章还介绍了一种基于注意力机制的编码器-解码器模型,用于生成对话摘要。

五、实验

我们从三个方面评估Sequicity的有效性:任务完成度、语言质量和效率。评估指标如下:

- BLEU用于评估生成响应的语言质量

- 实体匹配率评估任务完成度,检查系统是否生成了正确的限制条件来检索用户指示的实体

- 成功F1评估任务完成度,考虑召回率和精确率

- 训练时间。训练时间在工业设置中的迭代周期非常重要。

5.1 数据集

我们采用CamRest676和KVRET两个数据集。它们都是通过Amazon Mechanical Turk上的Wizard-of-Oz方法创建的,两个工作人员进行自然对话来完成指定的任务。

5.2 参数设置

所有的模型都设置隐层大小和词向量大小为50,CamRes676的词表大小为800,KVRET为1400。我们用Adam优化器训练,学习率为0.003(监督学习)和0.0001(强化学习)。我们也使用束搜索解码,束大小为10。

5.3 基线和比较

我们首先将我们的模型与以下最先进基线比较:

- NDM:包含依赖去词法化的belief tracker的pipeline设计

- NDM+Att+SS:在NDM上添加注意力机制和快照学习

- LIDM:在NDM上使用神经变分推理和强化学习

- KVRN:使用一个seq2seq模型进行知识库访问和响应生成,但没有belief tracking

我们还做了组件分析来检查每个组件的有效性。

5.4 实验结果

TSCP优于所有基线方法,在任务完成、语言质量和训练时间上表现更好。KVRET上的优势更明显,表明TSCP更具可扩展性。ablation study也验证了bspan的必要性。

5.5 OOV测试

由于可以复制词汇,TSCP可以处理之前未定义的词汇,而基线方法则完全失败。当词汇外的比例增加时,TSCP仍然表现优异。

5.6 模型复杂度

TSCP的参数数量比NDM少一个数量级,对slot值的增加也更具可扩展性。这证明了它比基于分类的belief tracker更简单高效。

六、结论

Sequicity是一个可扩展的框架,通过解码新的文本片段(belief spans)来跟踪对话中的信念。这种信念片段使得任务导向的对话系统能够在单个seq2seq模型中进行整体优化。其中一个简单的实例是Two Stage CopyNet(TSCP),它展示了Sequicity的更好效果和可扩展性。实验证明,TSCP在任务完成和语言质量方面优于现有的基线模型。此外,我们的TSCP实现在训练时间上也比传统的流水线架构快得多,并且具备处理OOV的能力。这些特性对于现实世界的客户服务对话系统非常重要,因为用户的输入经常变化,模型需要频繁更新。未来的工作中,我们将考虑更高级的Sequicity实例,并扩展Sequicity以处理未经监督的情况,其中信息和请求的槽值没有被注释。

七、论文的主要创新点

1. 提出了belief span的概念,用于 seq2seq 模式下跟踪对话状态。这极大简化了传统的 belief tracker。

2. 基于belief span,构建了统一的Sequicity框架,一个seq2seq模型即可完成任务型对话的所有工作。

3. 实现了Two Stage CopyNet对Sequicity框架的简单有效实例化。显著优于其他pipeline和seq2seq对话系统。

4. 证明了相比pipeline方法,单个seq2seq模型对任务型对话建模的优势,特别是在训练效率和可扩展性上。

5. 首次在任务型对话中加入了强化学习成分,以生成更符合任务的响应。

6. 详细分析了Sequicity框架在处理OOV等情况下的优越性。

7. 提出和验证了一种全新的建模思路,为任务型对话系统研究提供了新的视角和方向。

总体而言,论文提出的Sequicity框架和belief span概念,实现了从pipeline设计到单个seq2seq模型的重要进步,使任务型对话系统更简单高效,为此领域带来了难得的创新思想。

八、论文主要的不足之处

1. 论文中的实验比较简单,只在两个数据集上进行。更多的数据集和场景可以进一步验证Sequicity的有效性。

2. 论文实现的Two Stage CopyNet还比较简单,可以尝试更复杂的模型来实例化Sequicity框架。

3. 强化学习部分可以拓展和优化,当前只用于调整响应生成,可以扩展到整个框架。

4. 在一致性、泛化能力和可解释性上还有待加强,这些是任务型对话系统面临的挑战。

5. 可以进一步探索端到端的知识库检索,而不是预先给定知识库。

6. 目前还需手动定义belief span的结构,可以考虑自动学习这种结构。

7. 在理论分析上还不够深入,例如时间和空间复杂度还缺乏证明。

8. 一些实验设置可以调整,如强化学习的奖励函数可以进一步优化。

9. 对一些特殊情况的处理可以更加严谨,如用户变更需求时的不一致情况。

10. 和其他最新工作的对比可以加强,展示这种全新的方向的优势。

总之,这篇论文对任务型对话提出了颇有创新价值的思路,但仍有一些不足之处有待改进,需要后续的大量工作来丰富和完善该框架。

九、论文方法如何在实际场景落地

9.1 论文提出的Sequicity框架

1. Sequicity是一个统一的sequence-to-sequence框架,可以同时完成任务型对话的任务完成和响应生成两个任务。

2. Sequicity的核心创新是提出了belief span的概念。belief span是一个文本跨度,用于跟踪每个回合中的对话状态和belief。它包含两个字段:<Inf>用于存储informable slots的值,<Req>用于存储requestable slots的名称。

3. Sequicity将任务型对话建模为生成belief span和机器响应的序列优化问题。在每个回合中,它将上一轮的belief span、机器响应和用户语句连接起来作为源序列,以生成当前轮的belief span和机器响应作为目标序列。

4. Sequicity采用两阶段解码的方式。第一阶段无条件地解码生成当前轮的belief span;第二阶段在belief span和知识库搜索结果的条件下生成机器响应。

5. Sequicity提供了一个通用的框架,可以用不同的seq2seq模型进行实现。论文中实现了一个简单的Two Stage CopyNet实例。

6. Sequicity改变了传统将belief tracker作为对话系统核心组件的视角。它证明了一个统一的seq2seq模型就可以同时执行belief tracking和响应生成。

7. 相比pipeline设计,Sequicity架构简单单一,端到端可训练,计算复杂度仅为线性,更易扩展到大数据集。它体现了深度学习在任务型对话系统领域的进一步发展。

9.2 belief span的工作原理并给出实例

1. belief span是Sequicity框架的核心概念和组件。它是一个文本跨度,用于明确地记录每个回合中对话的belief状态。

2. belief span包含两个字段:<Inf>字段用于存储informable slots的值;<Req>字段用于存储requestable slots的名称。

3. 在每个回合中,系统会生成一个belief span来表示当前的belief状态。之后用于知识库检索,并帮助生成对应的机器响应。

4. 举例来说,在找餐馆的对话中:

第一轮用户说:“我想吃意大利餐”,则belief span为:<Inf>意大利</Inf><Req></Req>

第二轮用户说:“我想吃便宜的”,则belief span为:<Inf>意大利;便宜</Inf><Req></Req> 

第三轮用户说:“请告诉我电话号码”,则belief span为:<Inf>意大利;便宜</Inf><Req>电话号码</Req>

5. 通过这种结构化的belief span,系统可以清晰地捕捉到用户的需求变化,然后进行对应的知识库检索,生成回复。

6. belief span改变了传统通过分类来进行belief tracking的方式,使用序列生成模型实现更简单高效的追踪。

【声明】内容源于网络
0
0
涛哥论道
李鹏涛,行业知名AI技术专家,清华大学创新领军工程博士,2012年加入京东,任高级总监,领导京东核心系统的研发,2017年任居家事业部产品研发部总经理。先后荣获全球架构师峰会优秀出品人,全球软件开发大会优秀讲师,物流信息化风云人物等奖项。
内容 114
粉丝 0
涛哥论道 李鹏涛,行业知名AI技术专家,清华大学创新领军工程博士,2012年加入京东,任高级总监,领导京东核心系统的研发,2017年任居家事业部产品研发部总经理。先后荣获全球架构师峰会优秀出品人,全球软件开发大会优秀讲师,物流信息化风云人物等奖项。
总阅读98
粉丝0
内容114