The Simon Laven Page >
Complex Chatterbots >
Hex - by Jason Hutchens
Note: Hex was created by Jason Hutchens for the 1996 Loebner Prize, which it went on to win. Jason and his website have since disappeared. Despite attempts to trace him and his works, he is no longer visibly active on the Chatterbot or Artificial Intelligence scene. This page is compiled from his previous writings and the downloadable Hex is from my personal collection.
Hex first works in the way of Shampage, the sentence would be checked for keywords, and a database of hardwired replies would be searched. If a suitable reply which had not yet been used was found, then it would be displayed to the user.
If no database match was found, the program would then try to detect whether the sentence was a trick sentence. It would look for common ways judges used to trick programs (such as asking them mathematical questions or typing nonsense words), and respond with suitably witty replies.
If this too failed, a MegaHAL module would be called. The reply it generated would be used if it satisfied certain criteria, such as containing at least two keywords. If even MegaHAL couldn't deliver, the program would avoid the user's sentence completely by reformulating it and spurting it back to them as a non sequitur, the technique Eliza uses to flip sentences)
If the program was able to give a reply, it would introduce a new subject with a certain probability. As a matter of course, the program would have replies in the database for all subjects it introduced.
If the user didn't type anything, a routine would be called to give a humourous response to their silence.
If none of the above modules gave an answer, then the program would accuse the user of being ungrammatical or something of the kind.
If even this module failed to work (which could happen if all of its witticisms had already been used), then the MegaHAL routine would be invoked once more, and any babble that it generated would be used as the reply.
The long term problem with Hex was that he was specifically designed for The Loebner Prize, which was held that year in Austraila. As a result, many of his responses are centered around Sydney and involve calling the user a judge. By being relevant enough to allow judges to assume it was human (as documented in his paper How to Pass the Turing Test by Cheating [pdf]) this was how Hex won. However, this does mean that general conversation with him is not a fulfilling as its legacy suggests.
Hex.zip can be downloaded here and is 64k in size.