Friday, March 07, 2008

Time and Effort to Create a Unique Bot Personality

The free A.L.I.C.E. bot contains about 120,000 AIML categories, the category being the basic unit of knowledge in AIML. A category is essentially one question-and-answer stimulus-response pair. Anyone is free to use the open source A.L.I.C.E. brain as the basis for his bot, but for commercial applications, the A.L.I.C.E. content may be inappropriate. A.L.I.C.E. contains many "humorous" and politically-incorrect responses designed to make her personality more believable, but these responses are undesirable for a bot representing a corporation. Even many entertainment applications require responses quite different than A.L.I.C.E.'s.

Although the A.L.I.C.E. bot has 120K categories, not as many are required to create a believable bot personality. From our experience a bot with 10,000 AIML categories will create a believable illusion of intelligence. That is why we created the Superbot AIML set, essentially a list of the top 10,000 most-activated AIML categories with blank responses. The process of creating a unique, proprietary bot personality can be reduced to essentially "filling in the blanks" of the Superbot data.

A good AIML botmaster can write about one AIML category per minute. This is not to say that every AIML category takes 1 minute to write. Some categories require a lot of thought and could take up to 30 minutes to create. In other cases, many hundreds of categories can be created by "cut and paste" in less than a minute. But overall, an average of about 1 per minute is reasonable in our experience.

10,000 categories at the rate of 1 per minute is about 7 days of time, working 24 hours a day. A more practical scenario, with rest periods included, is two or three proficient AIML botmasters working over a one or two month period. Those wishing to create a totally unique, proprietary bot personality, should take into account the cost of hiring these consultants.

A word on AIML content: there is no magic A.I. engine that can translate domain-specific knowledge into AIML. Suppose you want a bot that talks about your brass fitting business. It is certainly possible to create an AIML bot that answers all the most common questions about brass fittings. You may even have a FAQ or Wiki with much of this knowledge already encoded. You can train an AIML bot to talk about anything, but it is a painstaking process that takes time, depending on how familiar the botmasters are with the domain. If the botmaster knows nothing about the brass fitting business, and you are an expert, it may be easier for you to learn AIML than to teach the botmaster the brass fitting business. In many such cases it is more cost effective to teach domain experts AIML, than to hire AIML consultants and teach them the domain knowledge.

No comments:

Post a Comment


blogger templates | Make Money Online