How to Make an A.I. Part 1 - Programming Tools

by Rexx23 in Circuits > Software

1889 Views, 12 Favorites, 0 Comments

How to Make an A.I. Part 1 - Programming Tools

Part 1 Title img.png

Start with a computer that has Speech Recognition and also a Text-To-Speech converter.

You will need to be able to write computer programs that can access the Speech Recognition and the Text-To-Speech Converter.

Some application development tools and programming languages can be obtained for free.

Start With a Simple Design at First.

The Program you create must be able to store and retrieve text data. Text data can be stored in a database or a simple text file.

The program can retrieve the data from the database, or it can load the data from the text file into an array or a collection in memory.

The simplest A.I. system is an “Input – response” system. An input is given to the system, such as “Do you like ice cream?” and the input is used as a key to look up the appropriate response.

Teaching Your A.I.

You will have to teach your A.I. how to respond to every possible input, or find a way to simplify the inputs. The response that I taught my computer to say for the input “Do you like Ice Cream?” is “No I do not like ice cream. I am lactose intolerant”

An array is a simple construct that exists in most programming languages. Collections exist in many programming languages. A database engine is a separate program that is running on your computer as a service, or another computer, or on a server.

If you store your “input-response data” in an array, you may have to write code to loop through all the items in your array until a match is found with the input. The program then sends the response text to the text-to-speech converter and it will speak the response.

Storing Your Data...

Searching a large array may take some time, especially if it is searching for something at the very end of the array.

A collection may be faster, because a collection has built in searching. The input is defined as a “KEY” to the collection. The keys are stored sorted in order, and the built in searching can use this to find the response much faster.

A database engine may be fastest for retrieving data, but requires a higher level of programming skills. A database engine runs as a separate program that has many built in searching capabilities.

Database engines can be found for free on the Internet.

Database...

The database engine waits for you to ask it a question,by sending it a message called a “Query” A Query must be written in a very particular syntax or else the database engine will not work and it will give you an error. The query syntax is defined in a language called “Structured Query Language” or SQL.

If your query has the proper syntax, the database engine will look up the response to your input in a data table.

An “Input-response” system is just the beginning for a true A.I. system. While you can teach an “Input-response” how to answer questions like “Do you like ice cream?” it cannot answer questions like “What time is it?” or “What is today’s date”.

What Next?

It can also not answer questions for which it was never taught. To be truly intelligent, you will need to create a program that can do “natural language processing”.

“natural language processing”. can determine that two inputs may mean the same thing, and so it can return the same response. For example; “What time is it?” should return the same response as “Do you have the time?” and “Do you know the time?”

Gather your tools and build your input-response system first, and study up on “natural language processing” for your second project.