Producing natural language from semantic information