论文阅读-A Deep Ensemble Model with Slot Alignment for Sequence-to-Sequence Natural Language Generation

论文亮点

  1. 集成了三个seq2seq的结果
  2. 基于slot-alignment的训练数据扩充

提高了生成文案的质量、多样性

模型的一些改进

先直接看模型吧。

1. Encoder-Decoder with attention

这部分就不细说了。使用的是soft-alignment

2. Ensembling

论文使用了三个seq2seq模型:两个LSTM、一个CNN,然后综合考虑三个模型的输出结果。就是Reranking.每个模型的输出取top10,然后用下面的计算公式算得分

s align  = N ( N u + 1 ) ⋅ ( N o + 1 ) s_{\text {align }}=\frac{N}{\left(N_{u}+1\right) \cdot\left(N_{o}+1\right)} salign =(Nu+1)(No+1)N

其中, N N N是MR中的槽位数, N o N_o No是生成的新的槽位数, N u N_u Nu是没覆盖到的槽位数。

如果是基于overlap的评价,那么最好的得分是1,最差的得分是 N / N u + N + 2 N/N_u+N+2 N/Nu+N+2

最后会选一个得分最高的输出作为结果。

3. Slot Alignment

这个部分应该是本文的亮点所在,一个槽位对齐器。考虑到训练样本中,并没有将slot和refer句子进行标记,所以并不知道哪一个句子对应哪一个槽位。作者提出了一种基于启发式的槽位对齐器。
首先通过观察数据可以发现,在refer中,那些包含属性的句子主要是在属性值前后加了一些短语。所以,作者直接通过匹配属性值和refer,来建立属性-句子的索引关系。

其次,为了能扩充属性-句子的索引,作者还通过WordNet来考虑属性值的近义词之类的来进行data augment。

一些数据处理

由于面向E2E评测,作者也在文中总结了不少实用技巧,对准备上手相关任务的读者而言值得参考。

1. 槽位值虚化

作者不仅简单地进行匹配和替换,还在替换时保留了更多的上下文信息(如单复数、时态等和衔接等信息)

感觉作者在这里根据经验做了很多hand-craft的事情,比如针对每一类型的属性值“定制”了槽位。比如意大利菜系,它就会使用一个slot_vow_cuisine_food,那么在生成的时候就会训练他生成时 要使用 an而不是a

2. 数据扩充

这里主要介绍了作者如何进行训练数据扩充的。

2.1 槽位选择

作者参考的是这篇论文里的方法,是的最后训练集扩充到原来的6倍。(但其实我没有在论文中看明白这个方法)

2.2 单句映射

就是把utterance中的单句拆出来,找每个单句对应的MR,这样又是一个新的样本。这样使得训练集数量扩充了一倍。细节上,删除了那些映射不上的MR,对于出现在refer中的代词,要在MR中增加name属性。

3. 基于数据选择的句子规划

考虑到训练数据会直接影响生成的文案结果,所以在训练数据选择上也进行了一些筛选,尽量去选表述自然、尽量不使用代词的refer。下图中elegant utt是作者想要的。

在这里插入图片描述
工具是StanfordCoreNLP。具体方法在这里就不提了。

后续规划

  1. 目前提出的槽位对齐器还是基于先验知识的,后续会在不同domain上进行尝试
  2. 在 stylistic 数据选择上的继续探索
  3. 现有的自动评价方法不好,想训练一个分类器类进行文案效果的判定。(这个想法好)
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值