Ai Dreams Forum

Chatbots => A.L.I.C.E (AIML) => Topic started by: Freddy on January 28, 2009, 01:43:19 pm

Title: Program O
Post by: Freddy on January 28, 2009, 01:43:19 pm
Elizabeth Perreau, creator Shakespearebot, has written a new AIML interpreter. In keeping with the tradition of naming AIML interpreters with letters of the alphabet (Program B, Program C, Program D etc.) Elizabeth has chosen to name hers Program O (the letter O, pronounced "Oh"). Like the no longer actively supported Program E, Program O is based on PHP and MySQL. You can check out Program O at

Program E has some well known bugs, and without active support, it can be frustrating to try to make modifications to its source code. Elizabeth says, "I just got to the stage where if I wanted to get into AIML more I had to re-write alot of it for my needs." Program O is written to make it easy to add new AIML tags and extensions. Elizabeth has already implemented the custom Pandorabots tags <eval> and <learn> for client-based bot training.

Program O is set for release on March 1, 2009. Meanwhile you can help Elizabeth debug the code by visiting the site and chatting with her bot.

Source :
Title: Re: Program O
Post by: Freddy on February 20, 2009, 12:50:37 pm
This week Elizabeth Perreau placed Program O under the GNU General Public License (same as Linux) on Sourceforge. Program O allows you to host a chatbot on your website using in PHP with MySQL. If you would like a demo or more information please visit

The Specifications for Program O:

• Database Environment : MySql
• Development Status : 4 - Beta
• License : GNU General Public License (GPL)
• Programming Language : PHP
• Topic : Intelligent Agents
• User Interface : Web Based

The AIML botmaster may consider Program O as an alternative to the now unsupported Program E, an earlier AIML interpreter in PHP.

Source :
Title: Re: Program O
Post by: on January 24, 2015, 07:21:45 pm
General Error
Could not get style data

Please notify the board administrator or webmaster:

Reference: (
Title: Re: Program O
Post by: DemonRaven on January 25, 2015, 08:12:50 am
your just now discovering program O? It has been there for awhile. But then i am a digger when it comes to stuff i am interested in.
Title: Re: Program O
Post by: DemonRaven on January 25, 2015, 08:16:08 am
opps my bad i just noticed freddys was posted in 2009.
Title: Re: Program O
Post by: squarebear on January 25, 2015, 10:05:51 am
Yes, Tom bumped up a thread that is nearly six years old for some reason...
Title: Re: Program O
Post by: Freddy on January 25, 2015, 02:20:01 pm
Dave Morton is still working on Program O but he does not visit here very much now sadly.

If you get errors it might be wiser to post on the forum that you provided a link to. Dave is very skilled at providing support, but you will know this.
Title: Re: Program O
Post by: DaveMorton on January 25, 2015, 03:27:01 pm
Thanks for the heads up on the forum, 8pla. I'll inform Liz about the issue (She's in charge of the forums, after all).

The cause of the problem is that one of her Program O chatbots is so popular that it generates literally megabytes of log data per day, and it sometimes maxes out her available disk space for her hosting plan. When that happens, it borks the forums. I have to teach the lass about cron jobs. ;)

A quick work-around is to just hit Refresh to get the page to load. It's not 100% effective, but it's worth a try. :)
Title: Re: Program O
Post by: on January 25, 2015, 04:19:46 pm
@Freddy:  Yes.  ASAP. 
@GCC: You're welcome!
@SB:  For some (good) reason, right?.
@DR:  Rediscovering... It has been awhile.
Title: Re: Program O
Post by: DaveMorton on January 25, 2015, 06:48:31 pm
No problem, 8pla. :)

BTW, the forums are back up, but from the looks of my inbox you may already know that. :D
Title: Re: Program O
Post by: Ultron on January 30, 2015, 09:52:52 pm

Interesting responses. It is lacking one thing though - memory. It would be amazing if it could remember at least the previous 2-3 sentences it has seen as input and out-put, it would make it's replies connected:

Why are you named that?
-My botmaster named me.
Who is your botmaster?
-I obey Elizabeth.

With memory, the last response would be:
"Elizabeth" or "My botmaster is Elizabeth".

This is dead-end technology, but it would be an amazing upgrade to an existing chatterbot such as this one :)
Title: Re: Program O
Post by: Freddy on January 30, 2015, 10:01:42 pm
Most AIML interpreters should retain a record of past inputs and outputs, I know mine does.

The botmaster can refer to these with the <that> tags, the <that index="n"/> and <input index="n"/> tags.

You could also set a predicate and then test it later on in the conversation.

Whether they do this much I don't know. ::)
Title: Re: Program O
Post by: Ultron on January 30, 2015, 10:07:00 pm
I am not sure if you understood what I meant. My point was that it should use those records to help determine the answer it will provide and not just consult the last line of input from the human.
Title: Re: Program O
Post by: Freddy on January 30, 2015, 11:00:11 pm
Yes, well if you use the <that> tag you can do that. For example.

Bot : What is the capital of the UK ?
User: London
Bot: Correct


Bot : What is the capital of the UK ?
User : Manchester
Bot : Wrong

It's just simple, but the bot is referring back to the last thing it said (the question) and what the user said in reply. There's probably other more complex examples, but I'm still learning AIML.

There's also topics which could be used to break things down too. So depending on what topic (also predicates) was set at some point, those are the replies that might be determined aside from a regular pattern match.
Title: Re: Program O
Post by: on January 31, 2015, 01:00:42 am
Can you give us another extended example, Ultron7?

Something like...

Why are you named that?
-My botmaster named me.
Who is your botmaster?
-My botmaster named Elizabeth named me.
Do you like your botmaster?
-Yes, I like my botmaster named Elizabeth who named me.
Why do you like your botmaster?
-My botmaster named Elizabeth who named me is nice.
Title: Re: Program O
Post by: Ultron on January 31, 2015, 01:32:44 am
8planet you would open another discussion with that - "My botmaster named Elizabeth who named me is nice", this,although grammatically correct does not sound good. That would cause us to mention another procedure to choose what sounds best in a given situation.

As for providing more examples... I have a whole notebook full of examples exploring limitations of certain chatbots and what kind of concepts are involved into thinking up the proper replies for them. Those are back from my beginner researching days (method proved itself pretty efficient). But I don't see why I would provide more examples as you all understood me?
Title: Re: Program O
Post by: on January 31, 2015, 02:15:34 am
My project ( really does what you suggested.   View source, to see it is writing it's own code in a memory stack which grows from continued use.   It remembers at least fifteen of the last things said.    I'd like to know more about what you meant by "replies connected".  If you do not wish to provide an extended example, then please answer this...  How are replies connected by memory storage locations?
Title: Re: Program O
Post by: DemonRaven on January 31, 2015, 12:06:05 pm
Frankly I don't think  sounding good or even being grammatically correct is very important in a chat bot. In fact a few errors makes it sound more human especially if they correct the chat bot and it responds to the correction. The whole point of a chat bot is to imitate human conversation.
Title: Re: Program O
Post by: Ultron on January 31, 2015, 12:44:39 pm

@DemonRaven Sounding better makes it more human like. A human will never say "My botmaster named Elizabeth who named me is nice.". I can understand the lack of commas to be human like, but not the whole structure.

@8planet No I wouldn't mind writing more examples, provided I find my notebook. I just didn't see the point :P
I am not sure as to what you mean by memory storage locations - I have it envisioned differently, but I have been unsuccessful in figuring out how to write this in code.
The original idea was to enable a bot to read whole texts - multiple sentences and figure out what the whole thing is about - and form a reply according to the topic of the text. A regular chatbot would reply (if at all) to each sentence separately.

But this actually might be deeper than simple chatbot concepts - this would also mean it understands what the text means, what it is about etc. Theoretically you could do this with AIML and similar methods however, besides not helping AI research, it will also probably be inaccurate.

By 'replies connected' I meant a true conversation - not just 1 sentence conversations as usually seen. So...

Disconnected replies:

Have you ever been to Europe?
-No, I am afraid of heights.
Then why don't you go with a ship?
-Go where?

Connected replies:

Have you ever been to Europe?
-No, I am afraid of heights.
Then why don't you go with a ship?
-I can't, I get seasick.
I don't think you want to go at all.
-Oh no, I'd love to go to Europe.

And so on. I guess now you understand my point :)

Also, your chatterbot seems to lack this feature. I guess you originally misunderstood me. (See attachment).
Title: Re: Program O
Post by: DaveMorton on January 31, 2015, 01:14:30 pm

The concept of taking an entire document as input and responding to it as a whole is far beyond the abilities of "simple chatbots", and probably will be for quite a while. In addition to storing that amount of data in some fashion for later use in a conversation, the chatbot must somehow be able to summarize the data as well, distilling multiple paragraphs (or even pages) of information into one or more coherent, relevant concepts, and there are quite a few Humans out there that struggle with that. ;) Summarization AI is a completely different animal from chatbot AI, and at the present moment, I know of only a couple of people who are working on a project that combines the two, and they're years away from making any real progress with it.

As for the concept of sentence context (connected vs disconnected sentences), that's more a shortfall with the botmaster's creative writing skills, rather than with the technology. AIML is flexible enough to be able to allow botmasters to provide context through the (proper) use of the <that> and <topic> tags. The trouble is that most AIML botmasters don't take the time (or make the effort) to use these useful tools, and as a result, there isn't a whole lot of context, and their conversations with users are nothing more than a collection of disjointed sentences and phrases. There are, of course, notable exceptions, such as the award winning chatbot Mitsuku (, who was created by our own SquareBear (AKA Steve Worswick), but for the most part, botmasters just don't put in the literally hundreds upon hundreds of hours required to create a chatbot that can have a coherent conversation. Science fiction literature and movies seem to have left us with a distorted notion of the complexity of Artificial Intelligence and just how hard it is to imitate Human discourse. ;)
Title: Re: Program O
Post by: Ultron on January 31, 2015, 01:30:49 pm
Exactly why I said that this goes deeper then 'basic chatbot concepts'. While I did not necessarily meant big documents, the concept would be the same. Also, this is all dead-end technology.

I agree that this means the chatbot will have to summarize the whole text, (and if it is a conversation as the examples I provided, the summation would have to be dynamic, changing as the conversation develops) but this does not mean the chatbot will become an AI - it still would not understand the hell is going on.

And yes, some pupils struggle with summarizing a text, however once you get the hang of it, it's easy. But we would all summarize it differently - and this is where the catch comes. The program will have to be intelligent so it can evolve it's own way and style of summation.

And now we went from chatbots to AI, sorry :P But it would be a nice upgrade to any chatbot if it can at least model it's response by taking into account at least 2-3 sentences of input back. But if anybody wishes to research and contribute to AI and experiment with real intelligence, this is one good topic to think about a good direction to take existing advanced chatterbot programs. However, not even Cleverbot (often dubbed the smartest) does this - one of the first things I noticed about it.
Title: Re: Program O
Post by: DaveMorton on January 31, 2015, 01:48:47 pm
I'm a member/admin of another forum that discusses not only chatbots, but other areas of AI as well, and while the field of chatbot AI may seem to be "dead-end technology" to you, much of the current research isn't really publicly available. Please bear in mind that botmasters aren't AI researchers, but people who are trying to provide a form of entertainment.
Title: Re: Program O
Post by: Ultron on January 31, 2015, 02:03:31 pm
I do understand Dave, that chatbots are meant as entertainment and maybe personal experiments and research. It is exactly the reason why I think they will improve to be very convincing and masters when it comes to Turing tests. But that is it. If I one day manage to prove my theories, specifically the one that states that 'understanding' is the ability to connect multiple senses (visual, auditory etc.) with each other, thus form a representation and 'understanding' of say an apple, it will prove that this is dead-end technology (or limited intelligence potential if you want).

I realize my statements sometimes seem to be insulting to other people's work (I have no intention) and that I seem to have a closed mind. But I simply believe hard in my theories as I have somehow proven them to myself by monitoring human behavior (mostly my own) and by imagining scenarios of artificial creatures incorporating those concepts which I later dissolve into basic logical explanations :)

And although the best research isn't publicly available (not just regarding AI), it can't be too far from what is already public. I have made my conclusions about chatbot AI by reading tons of papers, concepts and languages (ex. AIML), which to me seem to be all revolving around the same simple goals and attempting to achieve something envisioned 50 years ago.

Also, the fact that most researchers and programmers are attempting to create 'intelligence' (artificial or not) while not being able to define it also bugs me a lot.

Cheers to lively and agressive-ish discussions! No harm meant :)
Title: Re: Program O
Post by: DaveMorton on January 31, 2015, 02:10:50 pm
lol not to worry, my friend. The majority of people in the field seem to become jaded over time (it seems to be an occupational hazard). Your posts didn't upset or offend me (I don't think it's really possible to do so, TBH); I've got pretty thick skin.

The notion of trying to replicate, or at least imitate, something that we haven't quite got a handle on ourselves also strikes me as funny/odd, but if we keep chipping away at it, eventually we'll make a breakthrough that will push us one step closer to the next step in our (mental, at least) evolution... And one step closer to mechanical overlords. :o
Title: Re: Program O
Post by: Freddy on January 31, 2015, 02:25:03 pm

Well Dave and myself explained it was possible with AIML - I mean referring back to previous replies or input, so I don't know what more we can say...

For more complex stuff you can set a predicate to the value of previous input or bot responses. Then later using conditional tests you can modify the reply.

Peace :)

Title: Re: Program O
Post by: Ultron on January 31, 2015, 03:56:52 pm
Well I do agree with both of you. I'l need to take a closer look at those AIML commands you mentioned before I can find more technical and conceptual issues.

And I actually believe that criticism helps accelerate research - as a form of bug tracking and troubleshooting I guess. Therefore I shall remain a dedicated forum critic :P
Title: Re: Program O
Post by: Freddy on January 31, 2015, 04:27:12 pm
Well I appreciate the honesty, but with respect; I recommend you try something before you knock it and call it dead end technology. Otherwise that's not really respectful or informed criticism is it ? ::)

It's hard to know what people expect sometimes, this is chat bot technology not the new master race ;)
Title: Re: Program O
Post by: on January 31, 2015, 07:48:11 pm
Hey, Joseph Weizenbaum may have been the most strict critic of Artificial Intelligence of all time.   Chatbot criticism has been around nearly as long as chatbots themselves.

Thanks Ultron7 for your help!  Wow Wee! Wasn't aware of that general malfunction.  A logic bug must have slipped past in a recent update.

This is early ALPHA phase.  However, we can still use it with the bug, to view source to show that it has a memory.

Title: Re: Program O
Post by: Ultron on January 31, 2015, 09:06:16 pm

8planet, how is it specifically taking those memories of previous inputs into account? That is I believe, the important part.

Also, J.Weizenbaum had seriously underestimated robot potential:

"...we should never allow computers to make important decisions because computers will always lack human qualities such as compassion and wisdom."

Source: (

I do not believe it is wise to say that AI will never have emotions / human feelings. We can't even define emotions (at least not biologically), so we can't really tell if it is possible for a robot to have that feature implemented. If we are already skeptical, we could (at most) say that we don't believe that AI will get that advanced within the next say, 50 years.

Although his work is brilliant and well thought through, I believe he simply based his machine ethics rules on personal beliefs and preferences. I may be criticizing the work of somebody much more accomplished then myself, but I see nothing bad in that. Besides, every next generation is more likely better then the last, at least because it learns from past mistakes - right?
Title: Re: Program O
Post by: on January 31, 2015, 11:05:31 pm
This is a relevant comment, "Frankly I don't think sounding good or even being grammatically correct is very important in a chat bot." by DemonRaven.  In fact, it may be important to avoid that.

Yes, it is true, what Ultron7 said, that "Sounding better makes it more human like" as long as it is not sounding the best every time. The issue with that, is there is only one best, which becomes deterministic, and leads to repeats of the best response.

Ultron7 asked, "how is it specifically taking those memories of previous inputs into account?"  It is taking them into account with a single-dimensional array of responses stored in reverse chronological order.  So, it remembers its replies, connected by the order in which it replied.  This is just an ALPHA test run, to make sure the basics are stable, before building on top of them.  Sometimes it is better to start over and scrap the ALPHA bot for parts, once it served its purpose.

It may be interesting to consider that while chatbots have a long well documented history of criticism, chatbot engine design is not and never has been trivial.  A good chatbot engine requires strong programming skills and always has. For example, Joseph Weizenbaum invented, SLIP, his own mainframe computer programming language used to create ELIZA at MIT.
Title: Re: Program O
Post by: Ultron on February 01, 2015, 12:03:55 am
Oh I never said the engine is trivial. But maybe I generalized that chatbots (using only text as input) are limited technology and thus called it dead-end, not because there is no room for miraculous improvement, but simply because of what I think makes humans understand. I probably already said it in this and other topics so I will not repeat. I am to finish a booklet once I also finish my alpha prototype for JARVIS, so you will all get a more detailed picture of my idea with some actual proof of concept.

Maybe programs will evolve to the extent of being able to be intelligent without the need for human-like peripheral inputs (camera, sound) but this is beyond any of us since it involves not making a new programming language, yet a whole new generation of hardware and the making of a mainframe for a living organism - godlike and attractive, it is the science of the future and the magic of today.

Edit: Oh I actually opened up both page 2 and page 3. I guess I am getting a bit annoying lol.
Title: Re: Program O
Post by: DemonRaven on February 03, 2015, 02:33:47 am
The problem with language is not one of knowing alot or even being correct all the time but it is one of individual personality and styles of talking. When you create a chatbot and over time adjust its replies based on what kind of person or type of personality it is suppose to represent you find that it becomes a person in a sense in its own right. But to be able to adjust its replies means that you have to allow people to talk to it and record what they say. This takes time. But as you work with it more and more you begin to see a pattern of how people relate to each type of chat bot and what kind of things are said more often then not.
I have noticed that some bot masters or programmers take the throw a lot of knowledge at it approach. It is not the amount of knowledge a chat bot needs but refinement of its answers. AI how ever true AI will take the form of neural networks and some type of sensor or ability  to sense its  environment (as in artificial life). The reason being that even bacteria sense their environment some how. So to develop a true AI it needs to be able to sense and by sensing it understand in a way the world around it.
Title: Re: Program O
Post by: DemonRaven on February 03, 2015, 02:40:57 am
There how ever fairly new technology that creates computers out of living cells. Now this kind of technology could conceivably turn computers into sentient beings. See the following articles. This is getting a tad off topic though. ( ( (
Title: Re: Program O
Post by: Ultron on February 03, 2015, 10:11:28 pm
I agree and I have actually mentioned that previously - for an AI to understand the meaning of words it's needs to relate them to the environment. Anyway the idea for organic computers has been around for ages and they were predicted to be the Fifth Age of computers - however today it is uncertain whether that is going to be Organic or Quantum Computing.