Java API for Natural Language Generation. Originally developed by Ehud Reiter at the University of Aberdeen’s Department of Computing Science and co-founder of Arria NLG. This git repo is the official SimpleNLG version.
Switch branches/tags
Nothing to show
Clone or download
Saad-Mahamood Merge pull request #57 from gjdv/bugfix-branch
fixed two minor bugs in simpleNLG (probably copy-paste errors)
Latest commit c0a6226 Jul 19, 2018

Build Status


SimpleNLG is a simple Java API designed to facilitate the generation of Natural Language. It was originally developed by Ehud Reiter, Professor at the University of Aberdeen's Department of Computing Science and co-founder of Arria NLG. The discussion list for SimpleNLG is on Google Groups.

SimpleNLG is intended to function as a "realisation engine" for Natural Language Generation architectures, and has been used successfully in a number of projects, both academic and commercial. It handles the following:

  • Lexicon/morphology system: The default lexicon computes inflected forms (morphological realisation). We believe this has fair coverage. Better coverage can be obtained by using the NIH Specialist Lexicon (which is supported by SimpleNLG).
  • Realiser: Generates texts from a syntactic form. Grammatical coverage is limited compared to tools such as KPML and FUF/SURGE, but we believe it is adequate for many NLG tasks.
  • Microplanning: Currently just simple aggregation, hopefully will grow over time.

Current release (English)

The current release of SimpleNLG is V4.4.8 (API). The "official" version of SimpleNLG only produces texts in English. However, versions for other languages are under development, see the Papers and Publications page and SimpleNLG discussion list for details.

Please note that earlier versions of SimpleNLG have different licensing, in particular versions before V4.0 cannot be used commercially.

Getting started

For information on how to use SimpleNLG, please see the tutorial and API.

If you have a technical question about using SimpleNLG, please check the SimpleNLG discussion list.

If you wish to be informed about SimpleNLG updates and events, please subscribe to the SimpleNLG announcement list.

If you wish to cite SimpleNLG in an academic publication, please cite the following paper:

If you have other questions about SimpleNLG, please contact Professor Ehud Reiter via email:

SimpleNLG for other languages

A version of SimpleNLG has now been developed for French by Pierre-Luc Vaudry at the Université de Montreal. This is a development based on the version 4 architecture. It is current being distributed separately from this page.

Marcel Bollman has been working on an adaptation of SimpleNLG version 3 to German. This is available from this page. Please remember that SimpleNLG version 3 is not licensed for commercial use

SimpleNLG License

SimpleNLG is licensed under the terms and conditions of the Mozilla Public Licence (MPL).