Prefixing chat - just set a parameter chatPrefix in the config, with nothing for no prefix and the text string for the prefix. Note that this prefix applies BEFORE the first name check for commands, so if the prefix is Bot and the bot is called Halo you have to say Bot Halo before any direct command. If the prefix is EXACTLY the bot first name then you can just say it once!
Listening to objects - set a parameter ignoreObjects to false to listen to objects
Accepting Friend requests - set a parameter acceptFriends to true to accept friends
Chat via IM - set a parameter IMchat to false to disable chat via IM
greetDelay - set a parameter greetDelay to delay how long a bot waits before approaching a new avatar after detection
Improved waypoint based movement by having the bot work out how long each leg will take and then wait that long before starting the next leg
We are currently planning two upgrades to our Discourse chatbot engine. The purpose of this note is to inform you of the expected new releases, and to seek your views on some particular changes.
Discourse Release 3.1 - Due Nov/Dec 07
The primary aim of this release is to integrate the MimicBot functionality with Discourse, so that the two systems can share a common code base and data formats.
For Discourse users the main changes will be the introduction of the Learn and AutoLearn chat commands. These enable the chatbot to be programmed from the chat interface, as well as from the normal admin interface. We may also extend the mimic learning mode to Discourse, which allows the bot to learn completely automatically (although this in dangerous in most commercial bots).
Discourse Release 3.2 - Due 1Q08
It is this release that we are seeking comment on. There are two significant changes which we are planning to introduce. These are aimed at making our bots more flexible, but will move them slightly further away from the formal AIML spec (which is itself not moving forward and our changes reflect some of the discussion about the ways in which the spec should move forward).
The two main changes are:
- Pattern Matching Format
We currently use a specific parameter/drop-down to set whether the is defined as a pattern (ie fixed word order), or keyword (ie word order immaterial). Users often forget to correctly set this drop-down, resulting in unexpected behaviour the bot. We therefore intend to move to a "Google" model, i.e.:
- a list of words on their own are treated as a keyword search
- any words enclosed within quotes are handled as fixed word order - ie pattern match
This will do away with the K/P drop-down, but users will have to remember to include the quotes (although we may be able to add Warnings). For commercial users keywords are typically far more common than patterns, so it should not be a significant change.
We will automatically convert existing data.
Note the the K/P drop-down also flags "questions". In future these will be handled as below.
- Context
AIML handles context in a variety of ways, including , and . There has been much discussion on the AIML list about introducing multiple contexts and handling them in a common way. This is what we propose to do. For us the need has been made even greater as one of our bots may find itself operating in multiple environments (eg web and Second Life), and within a virtual world it may be operating in a changing environment (eg a garden, an office), and at different times of the day or week.
The tag/field will be replaced by a tag/field. Within this the user can place a variety of context tags, for instance:
- (as existing)
-
-
-
-
-
-
etc
This should obviate the need in many situations for complex arrangements of conditional tags.
- RDF and Triples
This release will also see additional RDF and triples support.
- Modules
This release will also see more modules aimed at trapping both common chatbot detection ploys, and at answering many basic and common questions using a variety of web based techniques.
Comments
If you have comments on any of these proposed changes please can you email development@daden.co.uk by 30 Oct 07.
Improvements
+ a bracketed option in a pattern can now have only a single value, eg (once) in which case the pattern is evaluated with and withoutthe word (eg I lived there (once)) will be evaluated as "I lived there" and "I lived there once".
+ There is now a config option to select whether Discourse tries to handle the "it" context implicitly/automatically, or explicitly (ie you have to handle all the cases with "it" in them). General bots probably work best with implicit handling, natural language front ends to specific system probably work best with explicit handling.
Bug Fixes
+ Parser now returns the correct star value when a pattern includes bracketed optional words
+ Any prompt stored with the initial greeting is now correctly displayed
General Cases (esp Smalltalk)
Modules
+ Talis module for library look up systems
Improvements
+ Allow use of TSAE AIML tags in the prompt field
+ Better maths handling, eg what is 5 times 4
Bug Fixes
+ Ensure that prefix and suffix isn't added once the bot has gone quiet
+ Catch any stray " from template responses brought in from spreadsheets
General Cases (esp Smalltalk)
Modules
+ Added season detection to module_datetime:
Botman
+ sort case order in main menu and drop down
+ edit lookups
+ rearranged main menu display
Coding
+ Consolidate date/time functions into lib_datetime