前言
在自然语言处理和对话系统论文中经常会用到复制机制Copy Mechanism,对Copy Mechanism机制进行阐述。参考博文【略解】copy机制与SpanPtr
Copy Mechanism& Index-based copy
Copy Mechanism指在文本生成领域,生成的输出是输入序列元素的复制或者指向。该机制最早由Vinyals et al.(2015)在Pointer Network中提出,所以有时也被称为Pointer Mechanism指针机制。Pointer Network设计用于解决传统seq2seq模型输出序列词汇表无法随着输入序列长度改变而改变的问题。Pointer Network将attention机制中针对输入序列的权重用作指向输入序列的指针,因此其输出为权重最大的位置的输入序列元素,实现直接操作输入序列元素作为输出,而不需要设定输出序列词汇表。
自提出以来,在文本摘要、机器翻译和对话生成中得到了越来越多的关注,因为它为out of vocabulary (OOV)问题提供了一种潜在的解决方案。Wu et al.(2019)将copy机制总结为三类:Index-based、 hard-gated和soft-gated。直接采用Pointer Network不引入其他生成机制则为Index-based copy。Index-based copy 的每个decoder step产生一个关于input的指针序号,从input中copy一部分词到output。Pointer Network复制机制结合基于预定义vocabulary的生成机制又衍生出两类复制机制:Hard-gated copy和Soft-gated copy。
Pointer Network
Vinyals et al., Oriol Vinyals, Meire Fortunato, and Navdeep Jaitly. Pointer networks. In Advances in Neural Information Processing Systems, pages 2692–2700, 2015.
Wu, Chien-Sheng, et al. “Transferable multi-domain state generator for task-oriented dialogue systems.” arXiv preprint arXiv:1905.08743 (2019).ACL
Hard-gated Copy
Hard-gated Copy是硬门控复制,指基于预定义vocabulary的Generate-Mode与基于输入序列Copy-Mode是两个绝对分离的网络,通过一个显式存在的hard Switch模块,学习一个门限函数(hard gate),通过门限函数输出和判决门限阈值来决定使用哪一个模块输出word。
Gulcehre et al.(2016)设计了一个MLP分类器用于选择生成词汇的来源,预测模型生成词汇可以指向预定义的词汇表和源语句中的词汇二者之一。
Gulcehre, Caglar, et al. “Pointing the unknown words.” arXiv preprint arXiv:1603.08148 (2016).
Soft-gated Copy
Soft-gated Copy是软门控复制,软复制是指不采用硬选择的模式而是采用融合的模式。将Copy Mode与基于预定义词汇表的Generate-Mode相结合,生成最终的输出。
Gu et al.(2016)提出CopyNet用于Seq2Seq序列生成,将基于Attention Seq2Seq模型的生成模式和Pointer Network中对输入序列的复制模式相结合,生成模式生成基于词汇表的概率分布,复制模式生成基于输入序列的概率分布,将二者直接相加得到最后的输出序列的最终概率,可以解决问答中的OOV问题。
CopyNet
See et al.(2017)提出的Pointer-Generator网络实现文本摘要。同Gu et al.(2016)类似,也采用生成模式和复制模式相结合,但该模型并非直接将二者概率相加,而是根据赋予不同模式的概率以权重。
Pointer-Generator
Copy Mechanism Application in Dialogue System
Index-based copy
Xu and Hu(2018)在DST中引入Copy Mechanism解决未见过的slot value的预测问题。提出 SpanPtr,该网络采用BiLSTM,首先学习一个分类器判断是否需要进行slot filling并生成slot value。在需要进行slot filling的情况下,利用Pointer Network系统和用户对话中生成Slot Value的起点和终点,完成slot filling。以引入对话历史中未预定义的slot value,减少了预定义槽值的工作。尽管该模型采用了分类器确定是否引入Pointer Network及复制机制,但在生成阶段仅基于对话历史而非预定义vocabulary,属于对Pointer Network的直接运用。
SpanPtr
Xu, Puyang, and Qi Hu. “An end-to-end approach for handling unknown slot values in dialogue state tracking.” arXiv preprint arXiv:1805.01555 (2018).ACL
Hard-gated Copy
Mem2Seq[Andrea et al.(2018)]、GLMP[Wu et al.(2019)]均设计了一个硬门控,用于选择是生成词源于预定义词汇还是指向对话历史。
Mem2Seq
GLMP
Madotto, Andrea, Chien-Sheng Wu, and Pascale Fung. “Mem2Seq: Effectively Incorporating Knowledge Bases into End-to-End Task-Oriented Dialog Systems.” Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers). 2018.
Wu, Chien-sheng, Richard Socher, and Caiming Xiong. “Global-to-local Memory Pointer Networks for Task-oriented Dialogue.” 7th International Conference on Learning Representations, ICLR 2019. 2019.
Soft-gated Copy
Soft-gated copy在DST模型更为常见,Wu et al., 2019提到:对比copy机制通常的三种运行方式,由于真实slot value的确切表达常常无法直接在utterance中找到,因此index-based copy并不适合DST任务;而hard-gate copy 通常需要给予门(gate)函数额外的监督信号;因此soft-gated copy是一种更适合DST任务的copy mechanism。
Sequicity[Lei et al. 2018]、SEDST[Jin et al. 2018]、 TRADE[Wu et al., 2019]等模型使用了此结构,用于直接从对话历史中复制slot value。
Sequicity[Lei et al. 2018]、SEDST[Jin et al. 2018]采用CopyNet[Gu et al.2016]模块,用于从对话历史中复制slot value。
Sequicity
TRADE通过context-enhanced的slot gate和copy mechanism解决多领域对话中对轮映射问题,使各领域间共享知识追踪位置的槽值。和Xu and Hu(2018)类似,TARDE采用了一个三分类分类器作为Slot Gate,以判断当前domain-slot是否被提及,在被提及的情况下,TRADE使用soft-gated copy将vocabulary分布和对话历史分布以不同的权重结合为单个输出分布。
TRADE
Lei W, Jin X, Kan M Y, et al. Sequicity: Simplifying task-oriented dialogue systems with single sequence-to-sequence architectures[C]//Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers). 2018: 1437-1447.
Jin X, Lei W, Ren Z, et al. Explicit State Tracking with Semi-Supervisionfor Neural Dialogue Generation[C]//Proceedings of the 27th ACM International Conference on Information and Knowledge Management. 2018: 1403-1412.
Wu, Chien-Sheng, et al. “Transferable multi-domain state generator for task-oriented dialogue systems.” arXiv preprint arXiv:1905.08743 (2019).ACL
Other Work with Copy Mechanism
Song et al.(2020)提出了一种数据扩充算法来训练采用复制机制的对话状态追踪模型。文章认为,基于Attention的copy mechanism倾向于记住而非从上下文进行推理,导致了模型对只出现在测试集未出现在训练集的unseen word的表现不佳。因此,文章用随机生成的字符串替换utterance中真实的槽值,提高slot value的差异性,扩充输入的数据集。实验证明可以显著提高模型识别unseen word的表现,提高模型的泛化能力。
Song, Xiaohui, et al. “Data Augmentation for Copy-Mechanism in Dialogue State Tracking.” arXiv preprint arXiv:2002.09634 (2020).