欢迎光临 x-algo
关注算法在工业界应用
Hi, 这是一个关注大数据算法在工业界应用的网站

DNPG:Decomposable Neural Paraphrase Generation

复述生成进行建模,强调word、phrase级别可以代表领域信息,sentence级别代表“全局”信息,其实就是对“意图”和“实体”进行显式建模。下面是一个例子:

x

模型流程

  • 通过不同的encoder和decoder对不同粒度进行生成
  • 更好的可解释性可控制性
  • domain adaptation,由于不同粒度的建模,可以实现在sentence粒度是跨domain的,其实就是意图部分和domain无关。

模型结构

具体结构如下图:

WeChat Screenshot_20190811090831

图-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进行
WeChat Screenshot_20190811215515

图-2

  • 对Phrase级别的模型容量要大一些,因为实体词比较长尾,同时添加copy机制;对于Seltence级别的模型可以不那么大

Aggregator

将不同的decoder的结果融合到一起,其实就是学习出来一个融合权重,然后输出最终的一个结果:

WeChat Screenshot_20190811220514

训练技巧

从零开始训练不好续联,先用对齐工具得到phrase部分的label,然后通过在loss之中加入Separator部分的loss。

可解释性

模型除了输出复写之后的句子,还有一个产出是对输出句子的level的标注,如果标注的结果是phrase,其实就相当于提取出来了句子“意图模板”。具体如下图:

WeChat Screenshot_20190811225834

句子模板

控制生成

  • 在输入侧可以自定义phrase是谁
  • 在decoder侧,可以freeze一个decoder
WeChat Screenshot_20190811225914

控制改写

无监督自适应domain

对新领域的Separator进行训练,训练的方式是通过强化学习的方式,Source Domain提供一个打分器对其打分。

WeChat Screenshot_20190811230923

Separator知识迁移

 

论文

Decomposable Neural Paraphrase Generation

未经允许不得转载:大数据算法 » DNPG:Decomposable Neural Paraphrase Generation

评论 抢沙发

*

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

关注大数据算法在工业界应用

本站的GitHub关于本站