ScientioBot, as it stands, can handle multiple conversations and users simultaneously, but each of those users will see the same pesonality. We want the system to suppoert multiple personalities. We could do his by supporting multiple ScientioBot objects and swapiing them, but each ScientioBot requires requires a considerable memory investment once many rule sets are loaded, and expecially adding WordNet derived hierarchical knowledge. Also the processing requirements for loading rule sets, or swapping configured ScientioBots from virtual memory would slow response times whenever a new or infrequently used personality was required.
We thought it was better to isolate the code and data that personalises the bot and to support multiple versions of that, and a single copy of the rest of the bot code.
There are two aspects to the pesonality of ScientioBot: the set of facts use to answer questions like 'who are you? What are you?' and the particular set of rule sets employed .