1. A system for supervised automatic code generation and tuning for natural language interaction applications, the system comprising: a solution data repository component operating on a server computer and comprising a plurality of hierarchical ontological domain models and a plurality of hierarchical language models comprising a preconfigured, hierarchical arrangement of language objects, a plurality of language recognition rules expressed in terms of elements of the plurality of hierarchical language models; a build environment comprising a plurality of software modules stored or operating on a computer, the plurality of software modules comprising a developer user interface, a plurality of automatic text analysis tools, a plurality of automated coding tools, a plurality of automated testing and tuning tools, and a plurality of automated optimization tools; and an analytics framework software module operating on a server computer and adapted to receive and analyze a plurality of log files of natural language interaction sessions and a plurality of text corpora; wherein a plurality of text samples is assigned to a plurality of input groups based on semantic content, each input group comprising a plurality of semantically related inputs, where the assignment of the plurality of text samples into input groups is performed either with automatic clustering or manually; wherein for each of the plurality of input groups a plurality of language recognition rules, a plurality of language objects and a plurality of flow elements are automatically generated by the plurality of the automatic coding tools; wherein the plurality of automated testing tools carries out automated testing of the plurality of language recognition rules and generates a plurality of recommendations for tuning or correcting language recognition rules; wherein the analytics framework software module performs analysis of a plurality of log files of natural language interaction sessions between a plurality of users and a candidate natural language interaction application in order to identify problems in the candidate natural language interaction application.