Andrew Richardson's Computer Systems Project Proposal Period 2 I. Simulating a Neural Network to Create a Learning, Thinking Artificial General Intelligence (AGI) II. Problem: To address the lack of human computer interaction capabilities through natural language, while providing a platform of a data network to be expanded to a more general artificial intelligence with integrated rule based problem solving. III. This project is in the topic of artificial intelligence, and its initial purpose will be to create a text dialogue processor that can talk to people about simple things. This will create a program that can be expanded to handle visual and auditory processing, which will help it draw patterns from the real world that are best described as metaphors. This is a good topic for the syslab because it will involve a lot of code. I suspect that if this project is a success, a lot of people will be interested in it because it's fun to talk to AI's that talk back. The results will mainly be applied in the expansion of the AGI to be smarter and to handle visuals and sound. IV. First, I will obtain several dictionaries, and use them to form a network between words. As each dictionary uses words in a definition, they will be identified as being associated with the word being defined. If several dictionaries use the same word in a definition, the association will be made stronger. For example, I suspect that the relationship between 'duck' and 'bird' will be very strong, on the basis that it is very hard to define 'duck' without mentioning it being a bird. However, more complicated relationships between several words may be required. For example, it wrould be helpful to not only know that there is a strong association between bicycles and wheels, but also that there are two wheels. This dictionary will serve as the basis for the AGI's knowledge, which will be added onto as it encounters new stimuli and applies rules to existing knowledge (thinks). As it talks to people, for example, it will store information on them as a person as well as encorporating the contents of what is said. I may want to implement a few social tendancies found in humans, such as a strong desire to be liked and approved of, or a tendency to engage in conversation rather than remain silent. The AGI will also need a process by which it can apply existing rules to knowledge, derive new rules (also knowledge), and determine new actions, such as speaking. The applicability of rules will rely upon them taking vague arguments that can take a variety of concepts. V. I'd tell new students to check Wikipedia, and then Google Scholar. However, there have been numerous attempts to create computer programs that process dialog reliably, ranging from programs like Eliza that recognize key words and speak in preprogrammed phrases. However, I have found no attempts to understand language based upon the relationships between words found in a dictionary. VI. This project will be to create a network of nodes that covers a broad enough range of contents (such as text, concepts, patterns and previous experiences) so that it can fully grasp any belef in a flexible data storage system (a network) and can also retrieve this data to process it based on rules that have been gathered from past analysis of patterns in experiences. See IV for timeline I will minmize graphics in order to maximize content. I am going to use Java for this project. The data I will need are several English dictionaries. Also, I will have it talk to people in order to learn things. I may wish to modify its data directly so that it can start off with a small amount of inate knowledge. As data comes in in the way of text (and in later versions that may not and probably will not happen during this class), it will catagorize streaming input into recognizable concepts (it sees words). It will check against known words to spellcheck. If an input does not match any known words to a sufficient degree, it will use the rules it knows about words to recognize the input of new words. It will use rules about grammer to parse the sentance. Note that the grammer of its input need not be perfect. The sentance "take your hat off" is perfectly coherant using the rules that humans use; it implies what it is being taken off (presumably ones head). I'll probably have to tell it about how grammer works. In theory, I could let it read some stuff to figure it out, but telling it sounds simpler. This is one of those things that would really help it to start off knowing. VII. I expect that this will create an an application that will provide amusing dialogue until it has gathered sufficient data. This will be valuable to others as entertainment value as demonstrated by how people think it's fun to talk to Eliza and other such programs. However, I think it will be most useful as a platform for making more advanced AGI's. For example, it is not terribly useful until it can think and produce new ideas, and to do that it will need to store and create concepts, which will be easier for a text based AGI than for a visual one, in terms of hardware requirements. My final presentation of results will probably be a nice poster with Yes, I realize this is really complicated, and I probably won't get a fully functional Artificaial General Intelligence within a year and within the storage space I have. But I might.