It could be said an NLG system is like a translator that converts data into a natural language representation. However, the methods to produce the final language are different from those of a compiler due to the inherent expressivity of natural languages. NLG has existed for a long time but commercial NLG technology has only recently become widely available.