BERT for Joint Intent Classifification and Slot Filling论文解读

论文地址:BERT for Joint Intent Classifification and Slot Filling

代码地址:https://github.com/monologg/JointBERT(非官方)

摘要

意图分类和slot filling是自然语言理解的两个基本任务。它们经常遭受小规模的人工标签训练数据的困扰,导致泛化能力差,尤其是对于稀有单词。最近,一种新的语言表示模型BERT(来自Transformers的双向编码器表示)有助于在大型未标记的语料库上进行预训练深层的双向表征,并在处理完各种自然语言处理任务后创建了最新的模型简单的微调。但是,在探索BERT以获得自然语言理解方面并没有付出很多努力。在这项工作中,我们提出了一个基于BERT的联合意图分类和slot filling模型。实验结果表明,与基于注意力的递归神经网络模型和slot-gated模型相比,我们提出的模型在多个公共基准数据集上的意图分类准确性,slot filling F1和句子级语义准确性都有了显着提高。

实现方法

BERT for Joint Intent Classifification and Slot Filling论文解读

BERT

在每一句话的开头出插入一个特殊类别embedding([CLS])作为第一个token,在解为处同样插入([SEP])。

Joint Intent Classifification and Slot Filling

意图识别

使用第一个特殊token([CLS])对应的隐藏参数来预测意图:

yi=softmax(Wih1+bi)y^i = softmax(W^ih_1+b^i)

这里的ii是intent的缩写。

slot filling

使用最终的隐藏层参数h2,...,hTh_2,...,h_T,将其输入一个softmax函数中去预测slot filling标签:

yns=softmax(Wshn+bs),n1...Ny^s_n = softmax(W^sh_n+b^s),n\in1...N

其中hnh_n是与单词xnx_n的第一个子标记相对应的隐藏状态。

CRF

使用CRF来提升slot filling预测的准确率。

实验结果

在ATIS和Snips上对模型进行了测试。

BERT for Joint Intent Classifification and Slot Filling论文解读