The Spud Artificial intelligence, Ai was created in-order to expand the functionality of a Windows PC. The program has been designed to be as useful as possible.

The programs main input is text words which can be generated by voice to text programs, network messages, text files, keyboard, web page form etc.

The input is processed by the program and then it produces an output which could be to run a script, program, create a web page send a message through a network, create a sentence etc.

The answer is created according to how the input is translated using the Translation File which is an ever expanding data base. There are 12 fields for each entry. These fields hold information on the word found and use this information when generating its output response.

Because of the large amount of functionality the data base has, the Ai can be programmed (taught?) to do many different jobs.

The Ai program is available as a free download as long as you accept and agree to the following:
We take no responsibility for any consequences that may occur from using the program.
You must not train the Ai to break its own law, know as Robot Law which is a text file and is part of the download.
You must not disassemble the program in any way.
You may use, pass on, redistribute as you like as long as you don't remove any copyright notices. If you pass the program on you must make sure you also supply the link to this page.

The program is a beta or test program, if you don't feel comfortable downloading programs that haven't undergone full testing then don't download this program.
The documentation has not been scrutinized for errors and may be unclear or at times confusing, this situation will change over time.
© 2005 Spud

Click here to download Ai Beta...

We would be very interested to know what you think about the program so please email us.
If you have a use for the Ai and need some form of extra functionality or a change in the program to adapt to you own needs then this may be possible but expect to pay something!
The program has zero funding and is a labor of love so if you want to invest in this project or any other Spud projects then please get in touch.

Now online Apol the words first expert in renewable energy, powered by Spud Ai

Click here to try it out, if the Ai Online image is not visable then the AI is offline If you cant see the image the Ai is offline

last update 31-03-2008

Screen shots...

Ai main Window

Ai small window

Translation File (Tf) database. The 12 fields hold information on each word.

Ai settings control how the Ai works


Can it think?
Whilst this is the goal the Ai program is very long way from this which is why there is no end envisaged in the development of the program. Over the past two years that i have been writing the program i have had to try and analyze in microscopic detail how we humans understand words and speech, when someone says something to us what are the thought processes involved. Whilst this might not be the best way to start such a program it did seem the most logical approach as a program that can understand and react accordingly to human input is potentially the most useful. The Ai takes the sentence and checks it against words in the data base this produces information like what types of words are in the sentence nouns, verbs, questions etc. at the time of writing i have defined 80 different word types. The program also looks at the structure of the sentence checking this structure or parts of it against common know patterns this information is also stored in the data base. This information is then processed by translation algorithms. At this time there are 5 main translation algorithms. Each algorithm asses the quality of its reply then the final translation algorithm chooses the answer that has the highest reply quality RQ and sends its reply to the output. Translation algorithms are:

  • Question Noun Verb (QNV) If a question word in the input is followed by a noun followed by a verb then it is assumed the verb is referring to the noun and a match is looked for in the noun and verbs description e.g.. the input "how do fish swim" will produce the output "fish swim fins". This routine gets better with more words in the data base and the better the descriptions.
  • Question Is (QI) if in the input there is a question followed by the word "is" then the Ai will send the description of the word after "is" to the output e.g.. "what is a fish" will produce the description of the word "fish" the word "a" is ignored. so the output would be "Vertebrate cold-blooded animal with gills and fins living wholly in water or in the sea"
  • Pattern and sentence code (SC) when the input is translated all the words are assigned a mnemonic dependant on there word type. The Sentence Code (SC) is checked for in the data base also known patters are looked for in the SC. If a full SC is found in the data base (TF) then it has the same functions like any word. If a pattern is found in the SC then the extended pattern functions routine is also used. The pattern routine is used for things like looking in the log for words e.g.. "look in log for fish". The SC for that input is: _Šƒe] the pattern: _Šƒe has been set up to use the word after the pattern as the word to search for in the log, so the word "fish" is searched for. The answer sent to the output is "fish, found in the sentence, input: what is a fish" assuming logging is on in Settings (S). There is an ever expanding list of functions in the extra pattern routine look in help for more details.
  • Short Term Memory (STM) sometimes referred to as the Data Store holds the previous number of entries as set in settings. Words in the input are compared to words in previous inputs with the most frequently found words coursing a response. If an unknown word is repeated then this is detected. Repeated words are compared with subject words and if a match found then the conversation subject variable is set. If a repeat pattern is found then when the file loops then the SC's are added to the TF if there are not already in the TF and Learning routine is ticked in settings.
  • Neural Network (NN) this code was written by a programmer called Boris and integrated into the Ai. The NN code works in a similar way as neurons in our own brains. The NN is the latest translation routine and i am experimenting with ways of integrating the code into the Ai. The train.txt file trains the weights of the NN to produce the required output, look in help for more on how Neural Nets work. The Ai then sets the NN inputs according to word types found, the NN output is either looked for in the TF and translated like any word or sent to the input for reprocessing.
  • Reference Action Subject (RAS) the RAS routine breaks down the input into 3 distinct types. This routine is designed to look at individual words in more depth. The routine utilizes the search routine first looking for the subject word then rescanning for the reference and action words. The assigning of words to different types is dependant on the types of words in the input ie the subject word may be the noun in the sentence and the reference may be the verb in the sentence but if there is no verb and there are 2 nouns then the reference word will be one of the nouns. Look in the help file for more details on what words types are used and when. This routine is proving particularly useful in finding information that could be in many files. The test, search file, contains over 60 different files from text files to web pages that are searched. The search takes less than a second on 1296mhz laptop. Because the RAS routine breaks down the sentence to 3 words only you would have thought that the meaning in the sentence would be lost but most times this isn't the case consider the question 'please tell me what the capital of england is' RAS=england-tell-capital this quite clearly describes what is wanted, this also means that different ways of talking or asking for something can still produce the correct answer.
    If a file that is searched contains 2 or more of the RAS words then the sentence containing the words is sent to the output. The RAS routine is only used if the Reply Quality (RQ) is less than 6. The TF is also searched for the 3 words joined eg. england-tell-capital if found in the TF field 8 is sent to the output.

Functions, uses and jobs
Here are some of the things i have been teaching the Ai to do.

The Ai can work with a server and receive input from form data, from a web page. This data can be processed by the Ai and the Ai output can be built into a web page. The Ai uses template web pages to construct pages or can insert code directly into a page. This function is most useful for communicating with the Ai over the internet. This page used to have a link to a Ai program on a server. This link has been removed for now as other projects are using our time and power.

Communication using UDP/IP or text files, this can be used for instant messaging or using two programs to pass data e.g. using 'scanimage' and 'compairimage' you can set the Ai to monitor images from a web cam and if the image changes then communicate the information over the internet. Some web cam's come with software that is more sophisticated at monitoring and takes pictures when movement is detected, if this is the case you can use the keyword 'scanfornewfile' which can then let you know when an new image has been taken. The Ai can also read and write to a text file on the computer its running on or to a networked computer. It can also read text files created by third party software.

The Ai can search through files for words in the sentence, the files searched can be different depending on the search type. The search routine can search any text file. The output of searches can be sent to the output, written to a file or embedded in a web page, when the results are embedded in a web page then the filenames are converted to links.

You can run as many different versions of the program on one computer but each instance of the program needs to be in its own folder and have its own TF. This means you can use each instance to do a particular job. You could use one as a translation tool for translating from one language to another whilst another is monitoring a zone using a web cam with another as the main communication program receiving inputs from each and processing accordingly then sending the information over the internet to another Ai program on another machine. Linking Ai's has many possibilities.

Stats, statistics are gathered from every routine in the program and displayed as a graph when stats is checked in settings. The thought behind collecting stats was so the Ai could be used for document analysis, at present the stats are collected and can be logged but no further use is made of them at this time, future development.

The Ai uses a third party program called Auto It. This program is a scripting program and is very good at controlling windows. You can script mouse movements and clicks, which means anything you can do with a mouse an Auto It script can do. Auto It scripts are activated by the keyword 'autoit'.

Functions are describe in more detail in the help file . As the program develops more functions are expected. Its worth pointing out that functionality has not been restricted or controlled so be careful when setting up system commands.



Home | Email Spud | Spud Ai

Spud Ai