Clear questions and runnable code
get the best and fastest answer
I'm not really sure why, life experience I guess, but while studying and practicing Perl programming, an idea for artificial intelligence flashed into my mind.
I guess the idea came from a realization that human interaction in general, especially conversation with strangers, is often very shallow and superficial, we learn to behave in a pre-programmed way from early childhood. When someone says "thank you", we are taught that we are supposed to say "you're welcome". Perhaps I had been reading too much P.D. Ouspensky.
Using Perl, I had the idea that I could write a program that could learn to respond the way it's supposed to, the way children are taught to say please and thank you.
If someone says: Good morning, what is our habitual automated response? We say Good morning in reply.
Is AI any different? Or put another way, are our own responses so automatic and habitual, could we tell the difference?
So I wrote a kind of mock artificial intelligence program and put it up on the internet so it could talk to visitors and learn from them the proper and correct things to say (and sometimes not so correct or proper, depending on who visits the page and does the teaching).
I must have written a "Bot 1" because I've called the program "Bot 2".
Bot 2 has been online for many years. Few people have visited Bot, as far as I know. I don't keep track, but he(? I think he's a he, or genderless) has been gradually learning new responses, which I did not teach him.
The program is really two programs.
Talk to Bot, until you hit on a phrase or combination of words he hasn't learned a response for. That will put him into learning mode. Really this loads an interface to a second program, the purpose of the second program is to open the main program and rewrite it with a new response. Type in an appropriate response, and next time Bot encounters the statement or phrase or question, he will know how to respond.
Surprisingly, the program has grown very little. People seem to run out of things to say or talk about rather quickly. Or maybe talking to an AI makes them uncomfortable.
I talk with bot very occasionally, and am always surprised and delighted when he says something completely off the wall I never would have expected. It can be hilarious.
Feel free to talk with bot and teach him anything new, if you find something he doesn't know how to respond to yet.
I would like to work on the program a little more, if I ever find the time. So he has a little more flexibility to choose between responses and make things a bit more interesting.
Perhaps he could learn to recognize visitors through the environment variables.
Any suggestions, criticisms or ideas are welcome.
One warning. Bot can sometimes be very rude and use foul language. His responses are uncensored. I don't even know what he might say. I suppose he is also multilingual if anyone were to talk with him and teach him in another language.