POINTER: Constrained Progressive Text Generation via Insertion-based Generative Pre-training
arXiv:2005.00558
Abstract
Large-scale pre-trained language models, such as BERT and GPT-2, have achieved excellent performance in language representation learning and free-form text generation. However, these models cannot be directly employed to generate text under specified lexical constraints. To address this challenge, we present POINTER (PrOgressive INsertion-based TransformER), a simple yet novel insertion-based approach for hard-constrained text generation. The proposed method operates by progressively inserting new tokens between existing tokens in a parallel manner. This procedure is recursively applied until a sequence is completed. The resulting coarse-to-fine hierarchy makes the generation process intuitive and interpretable. We pre-train our model with the proposed progressive insertion-based objective on a 12GB Wikipedia dataset, and fine-tune it on downstream hard-constrained generation tasks. Non-autoregressive decoding yields an empirically logarithmic time complexity during inference time. Experimental results on both News and Yelp datasets demonstrate that POINTER achieves state-of-the-art performance on constrained text generation. We released the pre-trained models and the source code to facilitate future research (https://github.com/dreasysnail/POINTER).
EMNLP 2020 long paper
References in corpus (10)
- Google's Neural Machine Translation System: Bridging the Gap between Human and Machine Translation
- MASS: Masked Sequence to Sequence Pre-training for Language Generation
- Pay Less Attention with Lightweight and Dynamic Convolutions
- Towards a Human-like Open-Domain Chatbot
- Insertion Transformer: Flexible Sequence Generation via Insertion Operations
- Plug and Play Language Models: A Simple Approach to Controlled Text Generation
- KERMIT: Generative Insertion-Based Modeling for Sequences
- Few-shot Natural Language Generation for Task-Oriented Dialog
- FlowSeq: Non-Autoregressive Conditional Sequence Generation with Generative Flow
- Enabling Language Models to Fill in the Blanks