Okay, it's on. I've scrapped my current tool (which generates all possible permutations of a user inputted string into said() statements) and I've moved on.
My current endeavor is to accept a 'user input' string, like 'drop the scepter off the cliff'. The application would look up all the inputted words in the vocabulary to determine parts of speech, then run them through the rules located in the 'black box'... and out will pop the appropriate Said() string, ready for you to plug into the code for your game.
It will also support 'batch processing', accepting input from a file, so you can load up multiple user input strings in there.