For instance in dialogue response generation task, work has been done in controlling persona [@zhang2018personalizing; @li2016persona], controlling various aspects of the response such as politeness [@niu:2018], formality, authority etc, grounding the responses in external source of information [@zhou2018dataset; @dinan2018wizard; @ghazvininejad2018knowledge], and controlling topic sequence [@tang2019target; @prabhumoye2020i]. Another application is story generation where you can control the ending [@peng2018towards], the persona [@chandu2019my], the plot [@yao2019plan], and the topic sequence [@huang2019hierarchically]. Controllable text generation is also used to modulate the formality and politeness of emails [@madaan2020politeness]. Report generation can be controlled by pulling disparate source documents into a coherent unified whole, which can use a shared set of sources such as Wikipedia article generation [@liu2018generating; @prabhumoye-etal-2019-towards].

![image](bg-control-modules.png)

Although there is a large body of prior work in controllable text generation, there is no unifying theme. Each work addresses a specific task in a specific context. In this paper we outline a new schema which connects prior work and provides an insight into various aspects of controllable text generation. The schema contains five modules that cover the overall generation pipeline and provide an understanding of the effect of each component on the generation process. Prior work has focused on specific parts of the 