NLU is to extract core semantic concepts from the given utterances, while the goal of NLG is to construct corresponding sentences based on given semantics.
understanding and generating sentences are a dual problem pair shown in Figure 1.