What is NLG

NLG stands for Natural Language Generation. The goal of NLG is to generate texts automatically from data, with the same quality as if a human being had written it.

Natural Language Understanding (NLU) is the exact opposite: transforming text into structured data. NLG and NLU are both subfields of Natural Language Processing (NLP).

You don’t need a Natural Language Generator to generate basic texts, but doing it without a Natural Language Generator quickly becomes tricky. The pratical issues in NLG are:

  • the use of synonyms and referring expression to avoid repetitions

  • the proper agreement of verbs, nouns, adjectives (depending on the output language)

  • proper punctuation and spacing

  • the ability to properly list things (xxx, yyy and zzz)

See examples of templates showing the added value of a Natural Language Generator compared to a plain template engine like Pug.