jSPaRKy v 2.0

jSPaRKy is a freely-available sentence planner implemented in Java.

SPaRKy was first developed at AT&T and is described in these papers:

  • Stent, A., Prasad, R., & Walker, M. (2004). Trainable sentence planning for complex information presentations in spoken dialog systems. In Proceedings of the ACL. pdf
  • Walker, M., Stent, A., Mairesse, F., & Prasad, R. (2007). Individual and domain adaptation in sentence planning for dialogue. Journal of Artificial Intelligence Research, 30, 413-456. pdf


The first Java implementation of SPaRKy is available from here, as is the data from the SPaRKy evaluation.

This version of SPaRKy is different from the first one in several ways.

  • More rules -- this version of SPaRKy comes with a large set of rules automatically extracted from the Penn Treebank. This set of rules may be extended by hand.
  • Different ways to apply the rules -- a user of this version of SPaRKy may rules that do all three sentence planning tasks at once (content ordering, sentence aggregation, and discourse cue insertion), or may use rules that do each task in turn.
  • Uses SimpleNLG -- this version of SPaRKy uses the SimpleNLG surface realizer rather than RealPro. SimpleNLG is available from here.
  • GPL -- this version of SPaRKy is released under the GPL.


This version of SPaRKy is described in:

  • A. Stent & M. Molina. Evaluating automatic extraction of rules for sentence plan construction. In Proceedings of SIGdial. pdf


To download, click here. Uncompress. Read the included readme. Email us with any questions or suggestions. Check back for updates!