From a commercial perspective, I think NLG is currently most successful in financial reporting. Although of course there are many great NLG applications in other sectors!
Some thoughts on how to vary words in NLG text. This is aimed at practioners who are building NLG systems, not researchers.
Some musings on principled and theoretically sound techniques for automatically evaluating NLG systems.
BLEU works much better for MT systems and NLG systems. In this blog I present some speculations as to why this is the case.
Some comments on how different components in the NLG pipeline can “add value” by contributing to the ultimate goal of generating texts that easy for people to read and understand.
I think surface realisation becomes especially challenging when syntax depends on semantics or pragmatics. From engineering perspective, handling phenomena that only occur in a few languages can be painful.
Good software engineering is criticial when building NLG systems, including requirements analysis, design, testing, and support.