Downloadable NLG systems
The natural language generation systems listed below are available for download over the web.
If you know of a system which is not listed here, you can email siggen-board@aclweb.org, or just click on Edit in the upper left corner of this page and add the system yourself.
ASTROGEN
http://www.dsv.su.se/~hercules/ASTROGEN/ASTROGEN.html
Aggregated deep and Surface naTuRal language GENerator - Prolog based system.
CRISP
http://code.google.com/p/crisp-nlg/
CRISP is Alexander Koller's NLG system that tries to cast both microplanning and sentence realisation as an AI planning problem. The code is a mixture of Java and Scala, a scripting language for the Java virtual machine. CRISP comes with its own implementation of GraphPlan, but it can also output plans in PDDL (“Planning Domain Definition Language”, a successor to STRIPS) for use with other AI planners. License: LGPL.
CODA Tools software Release 1.1
http://computing.open.ac.uk/coda/resources/tools_form.html
This release contains 1) software for converting text parsed with RST relations into dialogue and 2) an annotation tool for annotating dialogue and translating it into monologue (used for creating CODA corpus).
FUF/SURGE
https://www.cs.bgu.ac.il/~elhadad/install-fuf.html
FUF/SURGE is a surface realisation system, based on functional unification grammar.
GenI
GenI is a surface realiser for (Feature-Based Lexicalised) Tree Adjoining Grammar and a flat MRS-like semantics (sans top handle and underspecification). Toy example grammars provided for English and French. Largish core grammar for French is under development (contact us for details). GPL (commercial dual licensing available upon request). Known to work under Linux and Mac OS X (potential for making it work on Windows as well). Written in Haskell. Source code available via hackage, GitHub, or hub.darcs.net.
Grammar Explorer
http://www.fb10.uni-bremen.de/anglistik/langpro/kpml/tutorials/Grexplorer/grexplorer.html
The Grammar Explorer provides a means of exploring large-scale systemic-functional grammars in order to see how they are organized and what kinds of things they cover. It can be used to explore the KPML resources. Downloadable standalone executables of the grammar explorer are available for Windows 95/98/NT. These already include a version of the Nigel grammar of English and pre-installed examples.
jsRealB
http://rali.iro.umontreal.ca/rali/?q=en/jsrealb-bilingual-text-realiser
jsRealB is a text realizer designed specifically for the web, easy to learn and to use. This realizer allows its user to build a variety of French and English expressions and sentences, to add HTML tags to them and to easily integrate them into web pages. jsRealB can also be used in Javascript application by means of a node.js module. Sources for the programs, linguistic resources and demonstrations are available on the RALI GitHub [1].
KPML
The KPML system offers a robust, mature platform for large-scale grammar engineering that is particularly oriented to multilingual grammar development and generation. It is particularly targetted at providing resources for realistic but broad-coverage generation applications, where both flexibility of expression and speed of generation are at issue—for example in online webpage generation or spoken dialogue. KPML is also used extensively in multilingual text generation research and for teaching. It is based on systemic functional linguistics.
A growing set of generation grammars are under development for a variety of languages, inlcluding English, Spanish, Dutch, Chinese, German, Czech, and more. See the Generation Bank (http://www.fb10.uni-bremen.de/anglistik/langpro/kpml/genbank/generation-bank.html ) for current examples. The development of further languages and of extensions to existing resources are very welcome!
LKB
http://wiki.delph-in.net/moin/LkbTop
LKB (Linguistic Knowledge Builder) is a grammar engineering environment for unification-based formalisms, typically HPSG. It includes a realiser that takes as input Minimal Recursion Semantics (MRS). LKB is implemented in Common Lisp, and is freely available under an open source license. It includes also a KNOPPIX-based GNU/Linux live-CD, with all the system installed, ready to use.
Multimodal Unification Grammar
http://www.david-reitter.com/compling/mug/
MUG Workbench is a development and debugging tool for Multimodal NLG. The grammar formalism supported is Multimodal Functional Unification Grammar (MUG). The MUG system runs MUG grammars with fixed (test cases) and arbitrary input specifications to produce output in a natural language, graphical user interface and possibly in other modes. It is designed to do three things: - Multimodal Fission (distributing output to interaction/communication modes) - Some sentence planning (chosing information to include in the utterance) - Natural Language and graphical user interface realization (producing some form of output) The MUG system does these three jobs in parallel. MUG Workbench can serve to inspect the data-structures used during generation. It should help you to learn more about the nature of unification grammars used for parsing or natural language generation. Furthermore, the MUG Workbench is helpful in debugging your grammars.
NaturalOWL
http://www.aueb.gr/users/ion/software/NaturalOWL1.1.tar.gz NaturalOWL (version 1.1)
Generates descriptions of entities and classes from OWL ontologies that have been annotated with linguistic and user modeling resources expressed in RDF. Currently supports English and Greek. Extensions for other languages welcome. NaturalOWL can also be used as a Protégé plug-in. See here for publications describing NaturalOWL. (GPL)
NLGen and NLGen2
The NLGen natural language generation system applies the SegSim strategy for generating English sentences. Probabilistic inference for sentence construction is based on a statistical analysis of RelEx output. Java, Apache license. See demo: Demo of AI Virtual Pet Answering Simple Questions.
NLGen2 uses RelEx dependency parses, together with Link Grammar linkage analysis to generate English-language output. Java, Apache license. Reference: Blake Lemoine, "NLGen2: A Linguistically Plausible, General Purpose Natural Language Generation System".
OpenCCG
http://openccg.sourceforge.net/
OpenCCG is both a parser and a realizer for Combinatory Categorial Grammar. It has been used in several dialog systems. The realizer has been enhanced with n-gram models and a supertagging approach called hypertagging. OpenCCG is implemented in Java, and is freely available under the LGPL.
rLDCP: Text Generation from Data
https://cran.r-project.org/web/packages/rLDCP/index.html
R package for text generation from data
RNNLG
https://github.com/shawnwun/RNNLG
RNNLG is an open source benchmark toolkit for Natural Language Generation (NLG) in spoken dialogue system application domains. It is released by Tsung-Hsien (Shawn) Wen from Cambridge Dialogue Systems Group under Apache License 2.0.
SimpleNLG
https://github.com/simplenlg/simplenlg (English)
https://github.com/rali-udem/SimpleNLG-EnFr (English and French)
https://github.com/citiususc/SimpleNLG-GL (Galician)
https://github.com/citiususc/SimpleNLG-ES (Spanish)
SimpleNLG is a simple Java-based realiser. Its grammatical coverage and syntactic knowledge is small compared to KPML or FUF/SURGE. However, because it is so simple, its relatively easy for people to learn how to use it. It has a Java API, and can be used from other languages via an XML interface. There are "unofficial" ports to other programming languages such as Python and Ruby. Versions for other human languages are being worked on, including Dutch, Italian, Mandarin
SPUD
http://www.cs.rutgers.edu/~mdstone/nlg.html
SPUD (Sentence Planner Using Descriptions) is Matthew Purver's LTAG-based NLG system. There are two versions: SPUD version 0.01 was written in SML. Later versions, known as SPUD lite, are written in Prolog. The small codebase of SPUD lite makes it ideal for teaching, but it is also used in dialog system prototypes.
STANDUP
https://www.abdn.ac.uk/ncs/departments/computing-science/standup-315.php
STANDUP (System To Augment Non-speakers' Dialogue Using Puns) is a collaborative project on generating simple jokes from a graphical user interface appropriate for non-speaking children. The project began in October 2003 and ran until March 2007. The software was written in Java and is available for Windows and Linux, including source code and database files.
Suregen-2
http://www.suregen.de/00023.html
Suregen is “a hybrid, multilingual (German, English) ontology based and NLG-oriented formalism for generating text for documents in clinical medicine.” The system Suregen-2 is written in (Allegro) Common Lisp. A demo system which runs under Windows is available for download. A screencast video shows data being entered into computer forms using mouse and keyboard while a feedback text is continually updated and shown below. (Try playing the AVI file in VLC if you run into problems.) Perhaps this system could be considered an instance of the WYSIWYM approach.
This page was imported semi-automatically from the NLG Resources Wiki which was run by ACL SIGGEN in the years 2005–2009. Please correct conversion errors and help update its contents. Now this page is associated with the Natural Language Generation Portal. |