复述生成进行建模,强调word、phrase级别可以代表领域信息,sentence级别代表“全局”信息,其实就是对“意图”和“实体”进行显式建模。下面是一个例子:
文章目录
模型流程
- 通过不同的encoder和decoder对不同粒度进行生成
- 更好的可解释性可控制性
- domain adaptation,由于不同粒度的建模,可以实现在sentence粒度是跨domain的,其实就是意图部分和domain无关。
模型结构
具体结构如下图:

图-1
- 对输入的sentence进行切分,其实就是phrase粒度的切分 (Separator)
- 将切分之后的label信息和原始输入信息一起送入多个encoder
- 每一个encoder都有自己对应的decoder
- 在decoder的任何一个step,每一个decoder都可以给出自己预测的next结果
- 将不同的decoder结果进行加权合并,得到最后的输出。 (Aggregator)
其中Separator使用的是LSTM,encoder-decoder使用的是Transformer,Aggregator使用的是LSTM。
Separator
其中Separator是一个序列标注的任务,输入每一个输入的词的level,采用Gumbel-Softmax得到离散输出。最初的训练数据通过对齐得到,并不保证绝对的准确。
Encoder-Decoder
都使用Transformer结构,同时:
- 对于Phrase、Word level的encoder和decoder限制attention的范围为n=3
- Sentence Level的就不做限制,但是只针对Separator标记为sentence-level的word进行

图-2
- 对Phrase级别的模型容量要大一些,因为实体词比较长尾,同时添加copy机制;对于Seltence级别的模型可以不那么大
Aggregator
将不同的decoder的结果融合到一起,其实就是学习出来一个融合权重,然后输出最终的一个结果:
训练技巧
从零开始训练不好续联,先用对齐工具得到phrase部分的label,然后通过在loss之中加入Separator部分的loss。
可解释性
模型除了输出复写之后的句子,还有一个产出是对输出句子的level的标注,如果标注的结果是phrase,其实就相当于提取出来了句子“意图模板”。具体如下图:

句子模板
控制生成
- 在输入侧可以自定义phrase是谁
- 在decoder侧,可以freeze一个decoder

控制改写
无监督自适应domain
对新领域的Separator进行训练,训练的方式是通过强化学习的方式,Source Domain提供一个打分器对其打分。

Separator知识迁移
论文
Decomposable Neural Paraphrase Generation
未经允许不得转载:大数据算法 » DNPG:Decomposable Neural Paraphrase Generation