Programming Action!

Computers and programming are a major part of my life. I enjoy the logic of them, figuring out puzzles.

Right now I am working on a text based Artificial Intelligence(AI) program. The program should be able to understand and respond to English text entered into the console window. In addition, the program should be able to learn from text it is not familiar with. In other words, by 'talking' to the program through the console you will not be able to tell if you are communicating with a real life person or a computer.

I am still not sure what approach I should take, but I do know what approaches I should not take. First off, I obviously can't explicitly program a response for every sentence in the English language, way too many of those. Secondly, the interpreter cannot understand the meaning of a sentence simply by understanding the meaning of each word as words often have multiple meanings that are determined by context. (e.g. The word 'hate' in "I hate you" could mean either a negative emotion or a playful one depending on the context of the sentence with-in all sentences of communication). Its not too hard to see that my AI program gets very complicated very fast.

I think the secret lies in discovering how a child learns English for the first time. I believe that this will be a very vital part of my program. Reproducing the structure of the human brain, this is the answer. It is unfortunate that a lot of these mechanisms are invisible to us as humans, we just go about thinking and learning without the ability to see whats going on 'under the hood'. What physical things take place in the brain that allow us to remember and use English?

------------------------------- 5/11/04 Got some more ideas on AI

Words are just the tip of the iceburg. To create a program that can respond as a human would you have to create a lot of other things. It needs to have emotions, thought patterns and the like. It can't work exclusivly within a world of text. What makes human speech human has nothing to do with mechanical things. The ultimate action of speech must follow certain mechanical rules to be considered language, but what leads to the final result of speech is something much more organic.

What is said by a human is determined by current internal circumstances. Current internal circumstances are determined by current external circumstances and past internal/external circumstances.

Current external circumstances are the world as perceived by the viewer. The raw surroundings of the viewer are taken in and passed through several layers of interpretation until they are either discarded or converted into something meaningful to the viewer and cause emotions, thoughts or action.

Past internal/external circumstances create these layers of interpretation of present circumstances. They are memories that influence how the present is percieved. These memories are manifested either as emotions or thoughts.

So, essentially, speech is the sum of emotions and thoughts coupled with the current state of the viewer.

In order to create my text based AI program I will first need to find a way to create, store and recall simulated thoughts and emotions. Next, it will need to be able to percieve a current state of existence. Finally, it will have to recall certain thoughts and emotions and combine them somehow with its current state of existence and then combine this element with certain language rules in order to produce speech.

This all sounds very abstract and complicated, but I believe I can break it down far enough to turn it into code. All I have to do is pass through all necessary obstacles.