使用基于检索式的方法建模意图识别和槽填充。个人认为这种方法比较符合人类的思维方式,通过拿SupportSet召回最相思的Span,从而根据这个来意图识别和槽填充。
创新点:
- training:batch softmax objective function
- span retriver:使用support set 中的数据来做对应的召回
这种方式相对于其他方法的区别在于:
模型介绍
模型结构相对简单,作者在论文中也仅仅给出query
和support set
的样例数据。
优点
- 模型训练速度非常快
- 针对于相似文本的span召回效果非常好
- 可解释性好
- 能够实现多意图识别
- 不需要对标签之间的转移矩阵进行建模,加大学习的难度
- 预测的过程可以并行,执行效果非常好
- 可以通过阈值来调整precision和recall的性能表现能力
模型
数据构造
其实就是根据数据的检索建模来完成。
Retriver
模型其实就是一个Encoder,对文本进行编码建模,然后在其中找到对应最相思的span作为其标签。
- Encoder
一般都使用Bert
- Span Embedding
如果是槽填充,便使用第一个单词和最后一个单词的embedding拼接来完成。如果是意图识别就使用[cls]位置的embedding向量表示。
- similarity score
内积大小
TODO:我觉得可以尝试使用其他几种不同的模型来处理
- batch softmaxs
每一个support set 都和batch中的所有span计算相似度,得出最终的结果。
数据集
- SNIPS、CLINC
数据集 | |||
---|---|---|---|
sdf | |||