本文来自于AAAI2019,主要研究的是自然语言理解领域迁移的问题,与传统的序列标注模型不同的是,作者使用了slot描述信息来辅助多个领域之间的迁移,在10个领域的数据集上取得了最优的效果。
Introduction
序列标注任务是自然语言理解中的一个关键问题,智能对话代理(Alexa, Google Assistant, Cortana等)需要频繁地添加新领域识别的功能,而构建一个良好的序列标注模型需要大量的标注数据。因此,如何从已有的高资源领域迁移到低资源领域是一个很有意义的问题。
目前NLU迁移问题主要有两种方法:
- data-driven:将源数据集和目标数据集相结合,使用类似特征增强的方式进行多任务学习,参照Fast and Scalable Expansion of Natural Language Understanding Functionality for Intelligent Agents。缺点是数据集的增加会带来训练时间的增加。
- model-driven:与data-driven不同,model-driven并不直接利用源数据,而是将源模型的输出作为额外的特征添加到目标模型中,能够加快训练速度,参照 Domain Attention with an Ensemble of Experts。缺点在于model-driven需要显式地
concept alignments
即slot对齐。
本文提出的模型Zero-Shot Adaptive Transfer model (ZAT)借鉴于zero-shot learning,传统的序列标注任务把slot类型作为预测输出,而本文中的模型则是将slot描述信息作为模型输入,如下图:
针对于同一个utterance,需要独立的经过每一类slot type模型预测结果,之后再把结果合并得到最终的输出。作者假设,不同的领域可以共享slot描述的语义信息,基于此,我们可以在大量的源数据中训练源模型,之后在少量的目标数据上finetune,并且不需要显式地slot对齐。
Zero-Shot Adaptive Transfer Model
Word Embedding Layer
对于input tokens和slot description tokens,ZAT模型使用了word embedding和character embedding拼接的方式,其中character embedding由CNN卷积然后max-pooling得到。
Contextual LSTM Layer
得到token的编码之后,再经过一个Bi-LSTM编码层,注意input tokens和slot description tokens共享相同的Bi-LSTM层,分别得到隐层状态表示$X\in R^{d\times T}, Q\in R^{d\times J}$ 。
Attention Layer
注意力层的作用是获取input tokens的slot-aware的表征,使用每一个input token对应的隐层状态对slot description tokens所有隐层状态做注意力:
其中$x_{t}$是$X$的第t行,$q_{j}$是$Q$的第j行。论文选择的$\alpha(x,q)=w
^{T}[x;q;x\circ q]$,最终得到$G_{:t}=\sum_{j}a_{tj}q_{j}$。
Conditional LSTM Layer
然后逐元素求和计算$\mathbf{H}=\mathbf{G} \oplus \mathbf{X}$ ,再通过一个Bi-LSTM。
Feedforward Layer && CRF Layer
最后通过一个前馈层和CRF层输出预测结果。
ZAT模型预测的时候需要将所有的slot description与input utterance经过模型,再将所有的结果合并。
For example, we merge “Find $[mexican]_{category}$ deals in seattle” and “Find mexican deals in $[seattle]_{location}$” to produce “Find $[mexican]_{category}$ deals in $[seattle]_{location}$.” When there are conflicting spans, we select one of the spans at random.
Experiments
Dataset
Domain Adaptation using Zero-Shot Model
针对于领域迁移任务,作者将10个领域数据集(随机取2000条)分为source data(包含9个领域)和target data(包含剩下的1个领域),先在source data训练出一个基础模型,之后再用target data进行finetue。
Note that the size of the joint dataset for each target domain is 18,000, which is dramatically smaller than millions of examples used for training expert models in the BoE approach.
Results and Discussion
实验结果表明,ZAT模型与基线相比取得了最优的效果。
Conclusion
本文主要研究的是自然语言理解领域迁移的问题,提出了一种基于zero-shot learning的迁移方法,既避免了data-driven训练时间增加的缺点,同时也消除了slot对齐的问题,在各个领域的数据迁移实验中都取得了非常好的效果,尤其是低资源领域。