Having built out a novel bot this weekend [1], this became an obvious next step. The PowerShiri demo linked lets you set up a key/value table, and when Speech Recognition matches a key, it executes the Powershell command held in the value. In this way, you can issue the same command, e.g. "What is the time?" - and receive a dynamic response. The voice output is generated by the ubiquitous Out-Speech function.
Dynamic program generation, more like dynamic query generation, is the obvious next step. Instead of generating a massive key/value table for every possible combination of commands, you treat each word as a key, then have each value generate the next set of keys.
It's both annoying and gratifying to learn a weekend project is facing the same technical challenges as a well-funded corporation.
[0] http://stackoverflow.com/questions/9361594/powershell-can-sp...