SimpleNLG is a simple Java API designed to facilitate the generation of Natural Language. It was originally developed at the University of Aberdeen's Department of Computing Science. 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.
The current release of SimpleNLG is V4.4.3 (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.
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:
- A Gatt and E Reiter (2009). SimpleNLG: A realisation engine for practical applications. Proceedings of ENLG-2009
If you have other questions about SimpleNLG, please contact Ehud Reiter (University of Aberdeen); you can find his email via Google.
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 is licensed under the terms and conditions of the Mozilla Public Licence (MPL).