Monday, 3. October 2005

AIML interpreter choices

Since the issue came up on the ProgramD mailing list, I summarized the current state in popular AIML interpreters and their uses.

Task: Integrated AIML service as part of a larger network environment
Target user: professional web developer/integrator
Interpreter: ProgramD 4.5
Very standards-oriented AIML interpreter; uses XML Schema for validation and refuses to load any AIML file it has reason to find "invalid". If you know what that means, you'll learn everything else you'll need from the documentation at aitools.org; if you don't know (and don't feel like learning it atm), you'd better choose another AIML interpreter.

Task: small-to-medium scale AIML web service; AIML creation
Target user: PHP-savvy web developer/AIML content creator
Interpreter: ProgramE
If you're used to working with PHP/MySql/Apache (or if you want to get used to it), check out ProgramE. Storing everything in a database, it's slower/supports fewer concurrent clients than those interpreters that use a store-in-memory option can, but it's known to work fine in none-too-challenging professional web environments.

Task: creation of AIML code; local as well as chat/IM and web-based AIML testing
Target user: AIML content creator
Interpreter: charliebot 4.1.8/ProgramD 4.1.5
An interpreter with well-known bugs and features; check the ProgramD-FAQ at aiml.info. It makes you namespace non-AIML tags only if you want it to, and it directly supports ISO-8859-1 encoding, so you don't have to detour via XML entities to use, say, German umlauts, either. If all you need to do is to create and test AIML code, it lets you concentrate on that, even letting you use non-namespaced HTML tags; still, if your AIML runs on it, you can be sure that it will comply with the AIML 1.0.1 specification, and anybody who knows basic XML Schema integration can transform your files to meet whatever "standards" a more "professional" AIML interpreter might require. The built-in Jetty server lets you serve AIML on the web or chat/IM without worrying about systems integration; it's not what the pros would use this year, but if you only expect to have like 10 concurrent clients, it should work ok.

(Charliebot differs from the ProgramD 4.1 main branch only by some bug fixes. Some people believe that these patches add stability, but AFAIK, no comparison test was ever published, so we don't know for sure.)

Task: experimental AIML creation; automated generation of AIML code; interfacing of AIML with large and complex knowledge bases (Cyc, WordNet, ConceptNet)
Target user: AIML experimentalist
Interpreter: ProgramN
Gary Dubuque's ProgramN is the platform for a world of wildly non-standard experimentation with the AIML language. However, you should be comfortable with using at least one other AIML interpreter before trying your hands at it...

Recent Comments

I feel fine.
I know someone will comment on it soon :-) Theatre...
scheuring - 14. Jun, 10:24
How do you feel when...
How do you feel when you receive no comments? How can...
Magical - 14. Jun, 09:19
Thanks, Brian,
for this interesting invitation. Since, by your own...
scheuring - 15. May, 10:33
AI-Foundation Panel
Dirk, I like the thinking. Because of that expertise,...
Brian Hoecht - 13. May, 22:05
Gabe,
you're welcome.
scheuring - 29. Apr, 16:29
thanks scheuring!
Cool, that seems to cover most of the basics. Definitely...
drgold - 28. Apr, 05:41
Top 400
About five years ago (pre-ProgramD), the "standard"...
scheuring - 22. Apr, 14:55

Credits


Bots
creators
definitions
fun
general
reasons
stories
Profil
Logout
Subscribe Weblog