Automatic generation of semantically well-formed questions from a given text can contribute to various domains, including education, dialogues/interactive question answering systems, search engines, and more. It is well-known as a challenging task, which involves the common obstacles of other natural language processing (NLP) activities. We start this advanced review with a brief overview of the most common automatic question generation (AQG) applications. Then we describe the main steps of a typical AQG pipeline, namely question construction, ranking, and evaluation. Finally, we discuss the open challenges of the AQG field that still need to be addressed by NLP researchers.