共计 6360 个字符,预计需要花费 16 分钟才能阅读完成。
简介:预习时关注重点,上课时由易到难,温习时触类旁通,是否让机器也依照“预习 - 上课 - 温习”的学习范式进行学习呢?达摩院对话智能(Conversational AI)团队对这个问题进行了钻研摸索,先将其用在了人机对话畛域,在国内出名多轮对话数据集 MultiWoz 上获得了最好后果。
作者 | 言枫
起源 | 阿里技术公众号
预习时关注重点,上课时由易到难,温习时触类旁通,是否让机器也依照“预习 - 上课 - 温习”的学习范式进行学习呢?
达摩院对话智能(Conversational AI)团队对这个问题进行了钻研摸索,先将其用在了人机对话畛域,在国内出名多轮对话数据集 MultiWoz 上获得了最好后果。
目前对话零碎的各类钻研工作,大多还是集中在模型构造的翻新上,并依照传统的 mini-batch 形式进行有监督训练。然而,笔者所在团队通过最新钻研发现,这种传统训练形式并不是对话零碎的最优训练模式。受到人类在学习新常识时的学习范式的启发,咱们提出了“预习 - 上课 - 温习”的三阶段训练范式来晋升对话零碎的性能,该范式可能像人一样预习时关注重点,上课时由易到难,温习时触类旁通。具体来说,在预习阶段时,人个别会先理解重点概念、章节构造等信息,因而咱们对应地设计了带有构造偏置的预训练指标,让模型学会对话数据中的槽值关联信息;在上课阶段时,人会从简略内容开始学习再逐渐进阶到艰难局部,因而咱们应用了课程学习 [1] 的办法来训练对话模型;而在温习阶段时,人们通常是温故知新触类旁通,因而咱们专门设计了基于对话本体的数据加强办法,针对易错样例对模型进行增强训练。通过这样的优化框架,咱们最终在多轮对话数据集 MultiWOZ2.1 和 WOZ2.0 上都获得了目前最好后果,相干工作被 ACL21 以 4 -4- 4 高分接管。
一 人类学习范式与机器学习范式
在教育学中,针对人类学习的模式,不少学者提出“预习 -> 上课 -> 温习”的三阶段过程, 是最为高效的学习范式之一[3]。预习时,因为没有老师进行领导,因而学生会利用已学常识和技能,通过观察章节题目、浏览段落文字、筹备课上问题等形式进行自主地学习,大抵理解课堂内容;进入到正式上课阶段时,学生会依据老师安顿好的课程从易到难进行学习,这种由浅入深的教学是人类数百年教育倒退总结出的最佳形式,可能让学生的常识承受效率最大化;在上完课后,学生该当及时地回顾所学的课程内容,温故知新,通过自我反思总结,找出仍旧没有把握的知识点,并筹备好和老师进一步沟通解答。
在人工智能的次要方向自然语言解决(Natural Language Processing,NLP)畛域中,目前大家广泛采纳的是“pre-train + fine-tune”的机器学习范式,即先失去大规模预训练语言模型,再基于该模型进行上游工作微调。这种机器学习范式过于简化,没有思考到人类学习范式中的重要个性,即:预习时关注重点,上课时由易到难,温习时触类旁通。因而,对于某个具体的 NLP 工作,咱们应该在构建训练指标时就将这些个性思考进来,通过设计出更具工作自身特点的新指标函数来模拟人类学习范式中的三阶段学习过程。
二 基于“预习 - 上课 - 温习”学习范式的多轮对话了解
在本文中,咱们次要钻研工作型多轮对话零碎中的外围工作 — 对话状态跟踪(Dialog State Tracking, DST),并心愿可能设计出多轮对话特有的“预习 - 上课 - 温习”三阶段学习范式以晋升 DST 模型的成果。
1 对话状态追踪工作介绍
首先,咱们介绍一下工作型对话零碎和 DST 工作。
工作型对话零碎是通过人机对话实现某个特定工作的零碎,例如政务事务办理、满意度回访、订餐馆等。该零碎不仅能够答复用户问题,同时还能被动提问,疏导会话的无效进行,通过多轮对话实现特定工作。例如在一个餐馆查找场景中,一个典型的对话如下:
图 2 工作型多轮对话示例
如图 2 所示,能够看到,在该对话中,机器人须要依据用户的不同的答复状况进行多轮的对话,最终收集残缺本人须要的信息后给出找到的后果。
对话状态跟踪(DST)是一个重要的对话了解工作,即给定整个对话历史,将用户表白的语义辨认成槽值对模式的对话标签。例如用户说“我想要便宜的餐馆”,对应的 DST 语义标签就是“价格 = 便宜”。对话标签的汇合个别曾经预约义好,统称为对话本体 (ontology) 或者对话 schema。
2 对话状态追踪工作难点
在一些经典的学术对话数据集中,例如 MultiWOZ[4],CrossWOZ[5]等,DST 工作普遍存在以下 3 个挑战:
不同槽之间的取值存在指代关联。例如用户在前几轮交互曾经预约好了某家餐馆,在以后轮时,用户说“我还想要该餐馆左近的一家酒店”,那么隐含地,酒店的 area 槽值该当和餐馆的 area 槽值是统一的,这须要 DST 模型有能力辨认进去。
用户隐含承受零碎举荐。例如,当零碎举荐某家酒店时,用户针对举荐的后果的态度既能够是侧面的表白(that’s great),也能够是非侧面的表白(hold on please),对应的 hotel-name 槽也就会填或不填。
实在用户表白丰盛多样,增大解析难度。例如,在 DST 工作中,每个槽有一个非凡的槽值叫 dontcare,用于示意用户对该槽可选取所有值,即没有特定值限度。在 MultiWOZ 数据集中,用户对于 dontcare 的表白多样性很大,非常考验模型的语言理解能力。
下图 3 是咱们利用目前最好的 DST 模型 TripPy[10],在 MultiWOZ2.1 数据集上进行谬误剖析失去的一个错因占比统计。除了标注谬误,后处理不当等额定因素,以上三类问题的占比达到约 42%,这须要更好的模型和计划来进行解决。
图 3 MultiWoz 2.1 数据集 DST 谬误剖析(模型采纳 TriPy)
3“预习 - 上课 - 温习”技术计划
针对上文提到的 DST 难点,咱们心愿可能从人类学习的过程中总结出一种特有范式来优化模型,实现一种 model-agnostic 的 DST 优化计划。基于此,咱们设计了“预习 - 上课 - 温习”三阶段 DST 训练计划,充沛地利用好对话 schema 中曾经存在的槽值关联的构造(即 schema structure)和对话数据中存在的难易数据分布的构造(即 curriculum structure),提出了 Schema-aware Curriculum Learning for Dialog State Tracking (SaCLog) 通用的 DST 优化框架,如下图 4 所示:
图 4 基于“预习 - 上课 - 温习”的对话状态追踪
预习模块(preview module)
咱们心愿在预习模块中可能实现对 schema structure 的无效建模,通过设计相似 [6] 的带有构造偏置信息的预训练指标,让 DST 模型的基座(如 BERT, BiRNN 等)对 schema 中信息有一个初步大抵的理解,在不接触具体上游 DST 工作的状况下,先对各个槽的取值以及在用户语句中的表白有一个显式关系的建模。下图 5 是 MultiWoz 中的一个典型的 schema structure:
图 5 MultiWoz 数据集中的典型的 schema structure
实线连贯的是同一个畛域下的槽,虚线连贯的是不同畛域之间可能存在槽值关联的槽, 整体造成了一个网络状的构造。每个槽的槽值在不同的天然语句中也会有不同的表达形式,咱们心愿将这些隐含的分割在预习阶段通过预训练的形式让模型学习进去。
具体的做法是,咱们利用一个槽编码器和一个对话历史编码器(两个编码器共享参数,模型可抉择 BERT、BiRNN 等)别离编码每个槽和对话历史,槽编码向量和对话历史的各个地位的向量进行两种 loss 计算,一种是操作分类 loss,判断某个槽在以后的对话语句中属于“增”、“删”、“改”、“无”四个操作中的哪一个操作类别,另一种是序列预测 loss , 判断以后对话历史中,哪些词属于该槽的槽值(利用预设的字符串匹配失去)。同时咱们再加上一个辅助的 MLM loss , 对整个对话意料进行相似 RoBERTa 的预训练。最终整体 loss 是三者的加权和。
上课模块(attend module)
通过预习模块咱们失去了一个预训练好的模型基座,如 BERT。接下来咱们正式进行 DST 工作的学习。后面咱们提到,在对话数据中存在的丰盛的 curriculum structure,即数据的难易度散布的构造。下图 6 展现了一个简略和一个艰难的对话例子:
图 6 对话中不同难易水平的示意图
同样是用户想要一辆从 nandos 作为出发地的 taxi, 图 6 中上方的对话例子是一个最简略的表白。而图 6 中下方的对话例子,只管 DST 后果和简略例子一样,却要艰难很多,用户是通过”from the restaurant”这种表述间接地表白了须要一辆出发地是 nandos 餐馆的 taxi。
在前人的工作中,DST 模型个别都是采纳 random sampling 的形式抉择 batch data 进行优化的,这里,咱们打算充沛地思考人在课程学习时的学习模式,将训练数据进行难易度划分,利用课程学习 [1] 中的经典算法 baby step[9]来优化,让模型先学习好简略的数据再学习简单的数据。课程学习的诸多实践和实际 [7] 也曾经证实了,这品种人教学的训练策略不仅可能减速模型收敛,还可能晋升模型成果。下图是论文 [8] 中一个的可用于阐明课程学习晋升成果的示意图:
图 7 课程学习效果晋升示意图
假如咱们的指标优化函数超曲面是最上方的一个曲线,上面的曲线别离是简略的优化函数超曲面,地位越上面阐明训练数据越简略。能够看到,如果一开始就抉择优化指标超曲面,模型很可能会陷入到部分峰值中,然而如果通过一系列正当的两头优化函数由简到难逐渐迫近指标函数,那么模型就很可能跳出部分峰,达到更优解。
咱们具体来看 SaCLog 中的上课模块是怎么实现的:首先咱们应用了一个基于规定和模型的混合艰难度打分器,模型打分器采纳相似穿插验证的形式,将模型在训练集中的 K-fold 验证集上的预测概率作为模型得分,规定打分器利用了一些常见特色,如对话长度、以后轮槽值个数、实体词个数等作为规定得分,两类得分联合在一起对整个训练集进行排序,并提前划分成 10 个 bucket。在 baby step 的训练中,首先让模型在最简略的 bucket 数据上训练,当模型训练在现阶段训练集上收敛时再顺次退出新的 bucket 一起训练,直至最终所有数据都退出了累计训练集。最初模型在选集上进一步训练至收敛为止。
温习模块(review module)
后面咱们提到,温习是人类学习过程中的重要一环,所谓温故而知新,学习完重要的知识点后须要立刻坚固练习,针对单薄的环节增强训练。
落实到咱们具体的 SaCLog 中的温习模块里,咱们采取的形式是基于 schema 信息的数据加强办法,因为 schema 中曾经预约义好了所有的槽和值,因而咱们能够通过字符串匹配的形式尽可能地从对话语句中将相应地位的槽值找进去进行不同槽值的替换或者同义词替换,以裁减对话训练数据。咱们在课程学习时,采取每次迭代的 epoch 结尾都将模型预测出错的 loss 前 10% 的训练数据送入温习模块,通过槽替换、值替换和对话重组三种规定形式进行数据的裁减,将新增数据并入训练集一起参加下一轮训练。其中,对话重组是将和以后轮对话数据带有雷同对话状态标签的其余对话数据进行历史对话和后续对话进行重新组合。
4“预习 - 上课 - 温习”计划的试验后果
整体榜单
咱们在 MultiWOZ2.1 和 WOZ2.0 两个经典的多轮对话数据集上进行了试验。首先,咱们将 SaCLog 框架利用到目前最好的 transformer-based DST 模型 TripPy [10] 上,利用预习模块对 BERT 基座进行预训练,再利用上课模块和温习模块对 TripPy 进行 DST 工作的 fine-tune, 试验后果如下图所示:
能够看到利用咱们的框架后,TripPy 模型在两个数据集上性能都有很大晋升,获得到了目前最佳后果。
融化试验
同时在 MultiWOZ2.1 上咱们也进行了一个 ablation study,发现利用预习模块和温习模块可能带来最大的晋升。
其余试验
为了验证咱们框架的通用性,咱们也在目前最好的 RNN-based DST 模型 TRADE [11] 上进行验证,发现同样也能带来晋升。
三 整体总结
本文次要介绍了如何通过模拟人类“预习 - 上课 - 温习”的三阶段学习范式,设计出一个实用于对话状态跟踪工作的通用优化框架。具体来看咱们采纳了预习、上课、温习三个模块,通过充分利用对话数据中的 schema structure 和 curriculum structure 以晋升模型的性能。试验表明,咱们在利用了 SaCLog 优化框架后,在多个多轮对话数据集上都获得了目前最好成果。
四 新学习范式的将来瞻望
在将来,咱们心愿能将“预习 - 上课 - 温习”三阶段学习范式扩大到更多的工作中,例如 对话生成、端到端对话零碎,以及其余的 NLP 工作。咱们心愿这样的新范式可能带来更多的训练优化办法上的改革,同时也筹备在对话零碎的业务落地上发展更多的实际利用。
智能对话零碎是个极具前景和挑战性的方向,达摩院 Conversational AI 团队将一直地摸索推动在这个畛域的技术提高和落地,敬请期待咱们后续的工作!
五 参考文献
[1] Bengio Y, et al. Curriculum learning. ICML19.
[2] Yinpei Dai, et al. Preview, Attend and Review: Schema-Aware Curriculum Learning for Multi-Domain Dialog State Tracking.ACL21.
[3] https://www.educationcorner.c…
[4] Eric M et al. MultiWOZ 2.1: A consolidated multi-domain dialogue dataset with state corrections and state tracking baselines.LERC, 2020.
[5] Zhu Q, Huang K, Zhang Z, et al. Crosswoz: A large-scale chinese cross-domain task-oriented dialogue dataset. TACL, 2020.
[6]Yu T, Zhang R, Polozov O, et al. SCORE: PRE-TRAINING FOR CONTEXT REPRESENTA-TION IN CONVERSATIONAL SEMANTIC PARSING. ICLR 2021.
[7] Xin Wang, Yudong Chen and Wenwu Zhu. A Survey on Curriculum Learning. PAMI 2021.
[8] Bengio Y. Evolving culture versus local minima. Growing Adaptive Machines, 2014.
[9] Spitkovsky V I, Alshawi H, Jurafsky D. From baby steps to leapfrog: How“less is more”in unsupervised dependency parsing. NAACL 2010.
[10] Heck M, van Niekerk C, Lubis N, et al. Trippy: A triple copy strategy for value independent neural dialog state tracking. SIGDIAL, 2020.
[11] Wu C S, Madotto A, Hosseini-Asl E, et al. Transferable multi-domain state generator for task-oriented dialogue systems. ACL, 2019.
原文链接
本文为阿里云原创内容,未经容许不得转载。