Okay.
I was just going over my first post and realized that it was a little too vague to generate interest, so I thought I'd give more details as to what I want to accomplish, so here's an outline of some of the features that I want to put into the program.
1. When running, the program will have to be aware of the activities and applications running on it's host computer. This means that it will be aware of the time, the date, whether the user is logged on, etc. (Other programs have already accomplished this.)
2. When parsing user input, the program will need the ability to understand the basic parts of speech of the English language. I plan to accomplish this through user-editable text files or compressed text files.
3. Text files or compressed text files will be the primary brain storage. This will make the program fully configurable by the user. Scripts will need to be written that allow the program to "understand" what the text files mean.
4. Rather than trying to compile all of the data used by the program into a single file, the program will use many smaller files for pre-installed and earned data. When the program is not running, the user will be able to add more knowledge to the program's files and the program will be able to utilize the data once it starts up.
5. Language parsing will be handled by using text files for different parts of speach. For instance, the adjective "pretty" would be listed and defined in the "adjectives.txt" file.
6. The language parser will read user input and determine what form of input the user is stating. For instance, if the AI sees a "?" at the end of a user's input, it will know that the user is asking a question. Next, it would search a text file such as "QuestionQual.txt" to identify the first word of the question the user has asked. Qualifiers in the "QuestionQual.txt" file would include "When, Who, How, Why, Where, What, Do, Can, May, Will, etc."
7. This compartmentalized data structure is much like that used by the human brain. For example, scientists are pretty much certain that the brain uses one area for sight and several areas for comprehending what is seen. There is even a medical condition that causes people who have it to not be able to recognize faces. I'd name the condition, but I don't have the issue of Wired Magazine that I read the article in on hand at the moment.
8. The first step I would like to take is to develop the GUI, then begin programming the brain. This would allow me to determine what graphical needs the program will have when it goes into alpha stage and we can begin testing it.
9. The first graphical interface will use an animation system similiar to Microsoft Agent, but written to be SAPI 5 compliant, since the voices in SAPI 5 are much clearer and easier to understand.
10. On a final note, in the text files where the word data is stored, the program will have pronunciation data, allowing it to pronounce the word according to it's actual pronunciation, even though the output that the user sees is written with the common english spelling.
This is by no means a complete list of features. I'm constantly working on how the brain should function so that it works as seamlessly and as humanly as possible. To be blunt, I want to have the team that helps me to develop this AI to have the honor of being the first group of developers to write an AI form that passes the Turing Test with flying colors. It will be a long, complicated project, but I think it will be more than worthwhile. Once the basic conversation engine and the GUI are produced, we can begin working on more functionality that will allow the program to perform actions, such as starting system software on a scheduled basis, notifying the user of upcoming appointments and special dates, and eventually being able to surf the internet for information to expand it's knowledge base, and finally, to comprehend what it says and knows.
But first, I just want to get the conversation engine completed.
Thanks, I hope this clears up a little of the vagueness that was in the first post.
Darkwolf