Flexible Generation of Natural Language