What is NLG

This is the documentation for 3.2.4 version, which is not the latest version. Consider upgrading to 4.3.1.

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.