Natural Language Generation NLG: Everything You Need to Know