Book chapter: Rule-Based NLG

This chapter describes how NLG systems can be built using algorithms and rules which explicitly extract insights from texts, structure information into narratives, and create good linguistic expressions of information; this is called rule-based NLG. Rule-based NLG is mainly used for data-to-text.

Building rule-based NLG systems can be expensive, but this approach gives developers complete control over functionality. Rule-based systems will not go ‘off the rails’ and do crazy or inappropriate things (unless they have software bugs, which can be fixed).

This chapter includes the following sections:

  • NLG Pipeline
  • Examples
  • Signal analysis
  • Data interpretation
  • Document planning
  • Microplanning
  • Surface realisation
  • Template NLG
  • Further reading and resources

Resources: Selected blogs

Below blogs are more personal, reflecting on things I have done

Resources: Software

  • Jinja (templates in Python)
  • simplenlg (surface realisation in various languages)

Resources: Surveys