Controllable Natural Language Generation with Contrastive Prefixes
About
To guide the generation of large pretrained language models (LM), previous work has focused on directly fine-tuning the language model or utilizing an attribute discriminator. In this work, we propose a novel lightweight framework for controllable GPT2 generation, which utilizes a set of small attribute-specific vectors, called prefixes, to steer natural language generation. Different from prefix-tuning, where each prefix is trained independently, we take the relationship among prefixes into consideration and train multiple prefixes simultaneously. We propose a novel supervised method and also an unsupervised method to train the prefixes for single-aspect control while the combination of these two methods can achieve multi-aspect control. Experimental results on both single-aspect and multi-aspect control show that our methods can guide generation towards the desired attributes while keeping high linguistic quality.
Related benchmarks
| Task | Dataset | Result | Rank | |
|---|---|---|---|---|
| Detoxification | Jigsaw (test) | Perplexity (PPL)29.28 | 29 | |
| Controllable Text Generation | IMDB (test) | O-PPL13.01 | 27 | |
| Topic Classification and Text Generation | AGNews (test) | PPL (Output)20.41 | 16 | |
| Multi-Aspect Controllable Text Generation | Fyelp CompMCTG (Hold-Out) | Acomp92.79 | 12 | |
| Multi-Aspect Controllable Text Generation | Fyelp ACD CompMCTG | Acomp88.84 | 12 | |
| Controllable Text Generation | AGNews (test) | Output Perplexity (O-PPL)20.41 | 12 | |
| Sentiment Control | IMDB (test) | Sentiment Accuracy (Avg)89.5 | 11 | |
| Topic Control | AGNews (test) | Avg Topic Accuracy86.7 | 11 | |
| Multi-Aspect Controllable Text Generation | CompMCTG Overall Summary Average 1.0 | Aavg Score79.82 | 10 | |
| Multi-attribute Controlled Text Generation | CompM-CTG Original | Dist-3 (i.d.)0.701 | 10 |