AI Zone Admin Forum Add your forum

NEWS: survey on 3000 US and UK consumers shows it is time for chatbot integration in customer service!read more..

I have some questions about chatbots and platforms and sources.

Hi everyone!
I am new in chatbots and it’s not a long time that I read and searched for it. So excuse me if I ask bad questions:

1- As I understood, we have a standard source to build a chatbot, it’s name is AIML, and it’s 59 files(as I did download last version) and consist of a lot of sentences in this pattern(I know srai is in some patterns to reference):

that>WHAT CAN I CALL YOU</that>
srai>my name is alison</srai>
think><set name="gender">she</set></think>

And this online chatbot ( works with these 59 folders. (correct me if I am wrong).

2- AIML is a collection of questions/answers, and if you ask a question that isn’t existence in AIML files, it can’t answer you (Maybe it says something out of topic,etc respect to your interpreter)

3- There is some libraries named interpreter, their duty is doing pattern matching (i,e, if you ask “how old you”, it can match it to “how old are you” , then finds this sentence inside the AIML files and shows it’s answer).

4- There is another good platform, named ChatScript. It has no interpreter, but it has no language sets too! It has no need to using some extra things like writing or using an interpreter.

5- The structure of ChatScript is complicated than AIML Categories, but I think we can use AIML sets to building a new chatbot with CS?

I have other questions but I think these are good for start….Thank you in advanced!


  [ # 1 ]

Are these bad questions here?


  [ # 2 ]

No, they’re not bad questions, really. It’s just that I haven’t had the time recently to be able to visit the site as often as I’d like, let alone being able to answer posts. I have several tabs open to posts here on that I just haven’t been able to devote enough time to for a relevant, thoughtful response. This is but one of several in the same situation. I’m hoping to have time tomorrow evening to get to these, but right now it’s nearly midnight here, and I have an early morning filled with appointments (both business and medical) to attend to. I’ll get to these posts, so all I ask is a little patience. Thanks.


  [ # 3 ]

Hi Mr Morton,
Thanks a lot, it’s a pleasure for me. I will wait for your great answers.
Thank you again smile


  [ # 4 ]

Ok, I have some time to dive into this, so let’s get to it, shall we?

You have a few misconceptions in your post, as well as what may appear to be limited understanding of others, so I’m going to start with some definitions. Let’s start with…


AIML (Artificial Intelligence Markup Language) is not, by itself, a chatbot, nor is a collection of AIML files. AIML itself is nothing more than a way to store data that a chatbot engine can use to generate responses to user input. I’ll get into chatbot engines later; for now I still have things to discuss about AIML.

AIML SETS are collections of one or more AIML files that store data. In a way, you can think of an AIML set as a type of database, similar in nature to MySQL, SQLite, or even a flat-file DB (which is more or less what it is, really).

AIML INTERPRETERS (AKA chatbot engines) are software designed to take input from a user, search the AIML set(s) it has for a pattern with the “best match”, then parse and format a response based on the returned template retrieved. there are a large number of AIML interpreters/chatbot engines available in a number of different programming/scripting languages. Each has advantages and disadvantages, and each has a different “learning curve”, or level of skill required to use successfully.

So, in answer to your questions:

1.) What you’ve referred to as “AIML” is actually an AIML set, maybe referring to one specific AIML set, called A.L.I.C.E. there are a great many others out on the internet, but A.L.I.C.E. has been very popular for a long time.

2.) AIML is a storage language, used to contain data (I can post more about this later, if you need me to) . An AIML set is the closest thing you’re coming to in your description.

3.) While some AIML interpreters can be considered “libraries”, most are not. At least, not in the sense of the most often agreed upon definition of the term “library”.

4.) ChatScript, in fact, does use an “interpreter”, but it’s built into the application. It’s just not an AIML interpreter.

5.) I don’t feel that ChatScript is really any more (or less) “complicated” than AIML. Each attack the same “problem” from different paths, and each offers different levels of flexibility and opportunity


  [ # 5 ]

Thank you Dave,
I have some other questions:

1- Can I download the ALICE’s AIML set? from where?

2- Are there better free AIML set to download?

3- As I searched it seems there is not any set for ChatScript. Also there was a topic from 2013-2014 you and some other guys wanted to convert AIML sets to ChatScript set. Did you do it finally?

4- Do you know what interpreter the ALICE chatbot uses? ( Is pandora an online interpreter?

Thank you in advanced!


  [ # 6 ]

Also, May you explain what exactly is the ChatScript?

You said it’s not an interpreter, but it has it in itself. Also I know it doesn’t use AIML sets, and it seems it has not a similar set. So it seems it’s a private chatbot that a man built for himself?(I mean why someone should like to use CS? is it better than AIML interpreters?)

Are there other options better than ChatScript?

Are there any bots more complited than default Harry for CS?


  [ # 7 ]

You are most welcome, RL. smile

To answer your new questions:

1.) You can download the ALICE AIML set from a number of places, including these locations:

[li] (3 versions here)[/li]
That last link is to my website, and you’re welcome to download any/all that you desire.

2.) I’m sure that there are “better” AIML sets out there (2 of the versions on my website listed above have been corrected and somewhat expanded, for example), but that’s not something I’ve researched in quite a while, so you’ll have to do some homework to find them. Try using your favorite search engine to search for “AIML download”.

3.) Bruce Wilcox (creator of ChatScript) did not include anything comprehensive to use to create a fully functioning chatbot for a very good reason. Such files represent a significant amount of labor and effort (not to mention a lot of creative skill) to produce, and creating such files for inclusion would take away from his efforts to continue to improve and refine such an excellent platform. However, if you search GitHub I’m sure you’ll find some ChatScript files created by others that they are willing to share. Personally, I feel that this is an area where the “botmaster” should put in a good percentage of their own brain sweat, but that’s just my opinion. As to whether I was able to successfully convert AIML into ChatScript code, the answer is no. The process demanded more time and effort than I was able to give, so I put the project on the back burner, and there it stayed. I may get back to it some day, but I doubt it.

4.) Pandorabots runs a proprietary AIML interpreter called Program Z. It’s written in LISP, and to the best of my knowledge is not available anywhere for download. that said, however, I’m fairly certain that Program AB may well be an “improved” and updated/upgraded Java version of the same program. I have no proof of this, and very little evidence, but to my mind it’s a logical assumption.

5.) (from your subsequent post) ChatScript doesn’t use AIML, so can’t be classified as an AIML interpreter, nor is it “private”, since it’s freely available for download. I’m not really qualified to comment on whether it’s “better” than AIML interpreters, though I’m sure it has its advantages (and it’s certainly more flexible). that’s a decision that you’ll have to make for yourself.

I hope this answers your questions. Please feel free to ask any others you might have. smile


  [ # 8 ]

Thank you Mr Morton,
I have other questions about interpreters,

1- As I read before, I know one of the interprete’s task is sentence(or maby words?) matching. for example if user wrote “hw are you” the interpreter matches it to “how are you”. But I don’t know how much is the power of interpreters? and how do they work? can they match “h are you” too? what about “h r u” ? I mean how can I find the ability of interpreters to words/sentences matching?

2- Do interpreters do other things? I mean search algorithms for example? How do they search thousands of patterns to find best one? Also how do they decide which one is a good match?

3- About the ChatScript, you said it has a built-in interpreter, so where is that interpreter? I mean in which file I can see it’s definition codes? Are there any explanation about them inside documents?

4- As we talked above, there is an AIML standard/container for sentences those work beside interpreters, also there is another chatbot system that has built-in interpreter and don’t use AIML sets. What about the third one? are there a good system insted of these two systems?


  login or register to react