DialoGLUE

标题:《DialoGLUE: A Natural Language Understanding Benchmark for Task-Oriented Dialogue》

作者: 卡内基梅隆大学 ,Amazon Alexa AI

时间:2020年10月

内容:为了发展更通用的面向任务型对话系统,作者提出了一个大型公开benchmark,以鼓励学术界对representation-based transfer, domain adaptation, 以及sample-efficient task learning的研究。然后,作者进一步介绍了一些基于BERT的强大baseline方法和评估脚本。

源码:https://github.com/alexa/DialoGLUE/

Introduction

小样本领域迁移是一个比较困难的事情,我们认为核心的拦路石是,a lack of standardization in both datasets and evaluation used by the community(也就是NLU范畴)

【按:即在过去,任务型对话的研究是多点开花、野蛮生长的状态,作者指出是时候构建一个“大统一”模型。】

我们提出了DialoGLUE = Dialogue Language Understanding
Evaluation,包含7个多样任务型对话数据集,跨越4个不同的NLU任务(intent prediction, slot-filling, semantic parsing, and dialogue state tracking),总共包含40个不同的domains。

我们的工作

(1)设计出DialoGLUE 这个benchmark,以鼓励在 representation-based transfer, domain adaptation, and sample-efficient task learning方面的对话研究

(2)作为DialoGLUE的一部分,我们公开了对话任务性能的标准化评估脚本与在下游任务上性能出色的基于BERT的baselines模型

(3)我们提出了ConvBERT,一个在开放域对话语料上预训练过后,用于任务迁移多任务学习,在DialoGLUE的多个子数据集上取得SOTA性能

Related Work

benchmarks in NLP

过去的benchmarks:GLUE, SuperGLU,decaNLP,Dialogue Dodecathlon。

其中Dialogue Dodecathlon是一个面向NLG的开放域对话数据集(knowledge-grounded, situated, and multi-modal dialogue generation consisting of several open-domain dialogue datasets),我们的benchmark与之相似,不过是面向任务型对话和NLU的,即,在面向任务型对话的上下文中做自然语言理解。面向任务型对话的挑战有任务驱动、多轮、易包含噪声等,以上挑战促使我们提供DialoGLUE这样的benchmark。

Pre-trained Models

在开放域对话数据集上预训练的对话模型,DialoGPT/Blender,在NLG中效果非常好。因此,我们也这样干。

Task-Adaptive Training

任务迁移型训练:在目标数据集上作自监督训练,比用微调的性能更好

DialoGLUE Tasks

我们考虑4个目标都可视为language understanding in the context of dialogue的任务,它们是intent prediction, slot filling, semantic parsing and dialogue state tracking

任务说明数据集
Intent Prediction给定对话,预测user的goal。goal与domain是不同维度的东西,除了domian-specific goal外还会预定义一个out of scope goal。BANKING77,HWU64
Slot Filling从对话中预定义属性识别value的value。对特定slot,它的value总是对话序列里的一段连续的spanRESTAURANT8K,DSTC8
Semantic Parsing每一个对话都有一个top-level intent(树的根结点),句子的每个word则是数的叶子结点,不同子树对应不同的slots和intensTOP
DST根据用户话语维持一个反应了用户request的state容器,从而跟踪用户的goal的完成情况MULTIWOZ

Methods

1 Architectures

Intent Prediction

建模为分类任务,用BERT编码用户话语,取BERT的池化输出向量预测意图类别。

Slot Filling

类似NER,对句子每一个token,用BERT编码后的隐藏向量预测它的IOB标签 (e.g., “B-time”, “I-people”)。

Semantic Parsing

将TOP数据集的原始层级结构表示,转化为(1)句级标签,1个top-level intent;(2)词级标签,句子每一个token有一个label,表示the path from the root to each leaf node。用BERT的池化输出向量预测句级标签,用BERT编码后的隐藏向量预测词级标签。

Dialogue State Tracking

参考TripPy (2020) baseline,给定本轮用户话语,对slots,按需使用三种策略进行DST:(1)预测span,然后index-based copy出value;(2)从上轮系统回复(相当于结构化的system actions)中copy出value(3)从existing dialogue state中copy出value

【按:现在看来,TripPy其实有些取巧了,因为它利用了额外的信息:上一轮system action】

2 ConvBERT

预训练模型BERT虽然很厉害,但是却不适用于任务型对话,因为任务型对话的dialogue’s intrinsically goal-driven, linguistically diverse, multi-turn and often informal/noisy nature等特点。

于是,我们在大约7000亿个开放域对话语料上,微调了BERT,创造了ConvBERT(= Conversation BERT)。具体细节略。

Task-Adaptive Training

基于masked语言建模(MLM)目标函数,我们在每个数据集上运用自监督训练

Experiments

考虑4种语言模型:

  1. BERT-base
  2. ConvBERT:BERT在开放域语料上微调
  3. BERT-DG:BERT在完整DialoGLUE数据上自监督训练
  4. ConvBERT-DG:ConvBERT:BERT在完整DialoGLUE数据上自监督训练

每一个语言模型,做4个实验

  1. 直接在目标任务上微调
  2. 预训练:先用MLM在目标数据集上预训练,再微调
  3. 多任务:在微调中用MLM做在目标数据集多任务
  4. (2、3)的结合

【按:后面不想看了,现在NLU怎么变得越来越大力出奇迹了呢?】

【按:可以把BERT-TOD,CONVBERT-DG,SOLOIST这三个放在一起看】

Logo

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

更多推荐