2020 ACL
这篇论文提出单阶段的生成模型仍然难以避免在生成对话时生成一些不一致的词,因此作者采用三阶段来生成,先生成,再检测不一致性,最后再重写不一致的词。框架如下:
生成阶段:输入是角色信息和问题,采用解码器和编码器的结构,均基于transformer。生成相应的回答。
删除阶段:输入是生成的回答。使用类似自注意力机制的方式检测每个词不一致的比重,然后mask掉不一致的词。在DNLI数据集上以自然语言推理的方式训练。
重写阶段:输入是删除后的回答和角色信息。然后生成最终的回答。
有一个疑问:如何保证重写阶段不会还生成不一致的词呢?