IJCAI 2019
code url (official tf ,无torch版本) : https://github.com/sodawater/T-CVAE
被引用次数:12
背景
故事补全是一个非常具有挑战性的任务,即为一个不完整的故事生成缺失的情节。
它涉及两个方面:理解和生成。故事理解包括识别人物角色等。生成是基于理解的下一步,即根据给定故事中的线索进行推理。一个好的故事情节应该是有意义的和连贯的上下文。此外,输入文本的不连续性使得理解和生成更加困难。
本模型的任务:给定一个故事的任何四个句子,目标是生成缺失的句子,即缺失的情节,来完成这个故事。 (基于ROCStories的常识故事语料库)
问题
前人的研究都关注于为不完整的故事选择或产生一个合理的结局。这些任务是我们故事完成任务的特殊化,因此先前的方法不适合生成故事的开始或中间情节。并且倾向于生成泛型和非连贯性的情节。
1.如何去补全缺失中间部分的故事 ?
2.怎样使补全的句子是有意义的、连贯的、多样的 ?
解决
我们提出了一种新的基于transformer的条件变量自动编码模型(T-CVAE)
1.Transformer:作为模型基础,并采用了一个改进的具有共享自我注意层的Transformer,这种共享自我注意层能够使解码器同时关注到编码器和解码器的状态,以此能够使模型获取更多的上下文线索。
2.条件变分自编码模型:提高生成的多样性和一致性
贡献
可以看出,并没有太多的贡献。
模型
模型流程
数据在encoder和decoder的流动
后验网络 P(z|x,y)
先验网络P(z|x)
组合层(combination layer)
并不是利用z来直接初始化decoder的状态,而是利用了组合层。之后再经过Linear层和softmax层输出最终的预测
目标函数
由于z上的积分是难以解决的,因此我们应用变分推理并优化相应的证据下限(ELBO):
训练目标:
1.最大化重构y的概率,这样可以使得后验网络和情节生成器 ( p(y|x,z) ) 做出的预测更加接近于标准值 ;
2.最小化z的先验分布和后验分布的KL散度,这样当标准值不存在的时候(推理),可以促使先验网络去产生合理的概率分布
实验
总结
总体来说,论文最大的贡献就是将CVAE和transformer结合了起来,处理故事补全的问题,transformer模型上并没有太大的创新。但是VAE和transformer系列模型结合的思路值得我去借鉴。