Rather than relearning programing ( I stopped programing 20 years ago) I'd like to see if I can talk some of you youngsters with functioning brains into a little project.
The general concept is a weighted response network of multiple bots, each of which is locked into a particular context.
For example, with two bots (apprehension and just the facts), one could be classed as the apprehension engine and the other the just the facts engine. Based on recent history from the Human input, the weights would be dynamically altered between the two engines.
example:
Human: Hello
apprehension score low, just the facts score hi
apprehension response: what do you want? just the facts response: hello
Human sees: Hello
Human: Why can't you say something intelligent?
apprehension score high, just the facts score lo
apprehension response: I didn't mean to offend you just the facts response: I have no intelligence to speak of
Human sees: I didn't mean to offend you.
The generic addons to existing bots would be:
1. ability to instantiate n versions of a bot core engine 2. ability to direct learning and responses to each core engine independent of the others 3. ability to take input and weight it (score?) according to key-word lexicons for each core engine and select the responding bot 4. ability to initiate dialogs between all of the core engines (thought simulation)
Ultimately, one might want to tailor the engines more precisely, i.e. math, geography, ones for each emotion, etc.
My initial design rule would be for n simultaneous bots and the first instantiation being 16