|
A.I Projects:
|
A Very Basic Text To Speech Application
This is a very basic Text To Speech Application that uses a list of prerecorded phonemes to reconstruct a sentence verbaly.
Notice that these phonems were recorded in french, so the program can only pronounce sentencs in french only (mostly).
TextToSpeech.zip
|
Backpropagation Neural Net
A neural network is, in essence, an attempt to simulate the brain.
Neural network theory revolves around the idea that certain key properties of
biological neurons can be extracted and applied to simulations, thus creating a
simulated (and very much simplified) brain. The first important thing to understand then,
is that the components of an artificial neural network are an attempt to recreate the
computing potential of the brain. The second important thing to understand,
however, is that no one has ever claimed to simulate anything as complex as an actual brain.
Whereas the human brain is estimated to have something on the order of ten to a hundred billion neurons,
a typical artificial neural network (ANN) is not likely to have more than 1,000 artificial neurons.
Backpropagation Network.zip
|
Breadth First Search
This code is meant to be a simple introductory code to the 'Breadth First Search' algorithm
The 'Breadth Search' and 'Depth First Search' are both very popular and among the simplest
algorithm that can be used in Artificial Intelligence
for conducting a search inside a graph or a tree
Breadth First Search.zip
|
Depth First Search
this code is meant to be a simple introductory code to the 'Depth First Search' algorithm
The 'Breadth Search' and 'Depth First Search' are both very popular and among the simplest
algorithm that can be used in Artificial Intelligence
for conducting a search inside a graph or a tree
Depth First Search.zip
|
Advanced Tictactoe
This is a complete Tictactoe game, it include many functionalities, you can play games
against another human, you can play against the computer, you can also even let the computer
play against itself. The A.I is very good, actualy it is unbeatable, the most you can do is to
draw the games. Also, the game include statistics (number of win, draw an lost games) for the
current match between players. The A.I for this tictactoe game is an implementation of the
MiniMax Algorithm, the algorithm was implemented by using three functions, Minimax(...),
MinMove(...) and MaxMove(...), as you probably may have guest it, the main function in this
algorithm is MiniMax(...), it returns the best move for the current computer player.
To be capable of choosing the best move, the program takes time to generate all the possible
outcomes for the current board position and at the same time, it decide wich one is the best.
TicTacToe.zip
TicTacToe.exe
|
Levenshtein Distance
The "Levenshtein distance" is a measure of the similarity between two strings,
this algorithm is also refered to as "edit distance". The "Levenshtein distance"
was named after the russian scientist "Vladimir Levenshtein", who has discovered
it back in 1965. The smaller the distance between two strings, the closer are
these strings syntacticaly. The "Levenshtein distance" is computed by
calculating the minimum number of operations that has to be made to transform
one string to another one,usualy this operations are: replace,insert or delete a character
example: we can change the word: "mathematics" to "mathematician" by changing one character
and by inserting two more characters at the end.(we can replace "s" by "i" and
also insert "a" and "n" after that). The total number of operations that was needed in this
case to change "mathematics" to "mathematician" was 3 operations and since it is
also the smallest number of operation that can be use to transform one of this strings
to the other one, that value is also a measure of the "Levenshtein distance" between
these two strings.
There has been many application of the "Levenshtein distance", here is a few of them:
Spell Checking, Speech Recognition, Pattern Recognition etc.
Levensh Distance.zip
Levensh Distance.exe
|
Sentence Matching
when applied to strings,the "Levenstein distance" is usualy used
to measure the distances between words but we could also use it to measure
the distance between sentences,the following code is a simple implementation
of an algorithm that trys to measure the distances between two sentences
by using the "Levenstein distance".
matcher.zip
matcher.exe
|
Fuzzy String Matching
The fuzzy string matching concept provide a powerful way for comparing strings.
This code provide a simple implementation of the fuzzy string matching technique.
The function "fuzzymatch" included in this program perform a fuzzy comparaison
(fault tolerant comparaison) of two strings,the returned value is a percentage
that tells how closed are the strings that have been compared.
Fuzzy strings comparaison can be useful in many applications.
One of them is a string matching algorythm for a Chatbot.
Also,the "fuzzymatch" algorythm implemented in this code is very quick and
precise as well.
Fuzzy String Matching.zip
Fuzzy String Matching.exe
|
Perceptron Neural Net
This program features a complete Perceptron Neural Net Application.
The perceptron is a program that learn concepts, i.e. it can learn to respond
with True (1) or False (0) for inputs we present to it, by repeatedly "studying"
examples presented to it. The Perceptron is a single layer neural network
whose weights and biases could be trained to produce a correct target vector when
presented with the corresponding input vector.
The training technique used is called the perceptron learning rule.
The perceptron generated great interest due to its ability to generalize
from its training vectors and work with randomly distributed connections.
Perceptrons are especially suited for simple problems in pattern classification.
Perceptron Neural Net.zip
Perceptron Neural Net.exe
|
Chatterbot Eliza v1.0
These program is an Eliza like chatterbot,bots like Eliza are the results
of researchs in Artificial Intelligence (more specificly: in NLP and NLU)
NLP: Natural Language Processing, NLU: Natural Language Understanding
The first chatterbot was published in 1966 by Joseph Weizenbaum a professor of MIT.
(http://i5.nyu.edu/~mm64/x52.9265/january1966.html)
And also,most of the chatterbots that have been written this days are largely based
on the original chatterbot Eliza that was written by Joseph Weizenbaum which means
that they use some appropriate keywords to select the responses to generate
when they get new inputs from the users. More generaly,the technique that are
in use in a "chatterbot database" or "script file" to represent the chatterbot
knowledge is known as "Case Base Reasoning" or CBR. A very good example of an Eliza
like chatterbot would be "Alice",these program has won the Loebner prize for most
human chatterbot three times (www.alicebot.org). The goal of NLP and NLU is to create
programs that are capable of understanding natural languages and also capable
of processing it to get input from the user by "voice recognition" or to produce
output by "text to speech". During the last decades there has been a lot of progress
in the domains of "Voice Recognition" and "Text to Speech",however the goal of NLU
that is to make software that are capable of showing a good level of understanding
of "natural languages" in general seems quiet far to many A.I experts. The general
view about this subject is that it would take at list many decades before any computer
can begin to really understand "natural language" just as the humans do.
Chatterbot Eliza 1.0.zip
Chatterbot Eliza 1.0.exe
|
Chatterbot Eliza v1.4
These program is an Eliza like chatterbot,bots like Eliza are the results
of researchs in Artificial Intelligence (more specificly: in NLP and NLU)
NLP: Natural Language Processing, NLU: Natural Language Understanding
The first chatterbot was published in 1966 by Joseph Weizenbaum a professor of MIT.
(http://i5.nyu.edu/~mm64/x52.9265/january1966.html)
And also,most of the chatterbots that have been written this days are largely based
on the original chatterbot Eliza that was written by Joseph Weizenbaum which means
that they use some appropriate keywords to select the responses to generate
when they get new inputs from the users. More generaly,the technique that are
in use in a "chatterbot database" or "script file" to represent the chatterbot
knowledge is known as "Case Base Reasoning" or CBR. A very good example of an Eliza
like chatterbot would be "Alice",these program has won the Loebner prize for most
human chatterbot three times (www.alicebot.org). The goal of NLP and NLU is to create
programs that are capable of understanding natural languages and also capable
of processing it to get input from the user by "voice recognition" or to produce
output by "text to speech". During the last decades there has been a lot of progress
in the domains of "Voice Recognition" and "Text to Speech",however the goal of NLU
that is to make software that are capable of showing a good level of understanding
of "natural languages" in general seems quiet far to many A.I experts. The general
view about this subject is that it would take at list many decades before any computer
can begin to really understand "natural language" just as the humans do.
These code is Copyrighted and has limited warranty.
Chatterbot Eliza 1.4.zip
Chatterbot Eliza 1.4.exe
|
Chatterbot Eliza v2.0
These program is an Eliza like chatterbot,bots like Eliza are the results
of researchs in Artificial Intelligence (more specificly: in NLP and NLU)
NLP: Natural Language Processing, NLU: Natural Language Understanding
The first chatterbot was published in 1966 by Joseph Weizenbaum a professor of MIT.
(http://i5.nyu.edu/~mm64/x52.9265/january1966.html)
And also,most of the chatterbots that have been written this days are largely based
on the original chatterbot Eliza that was written by Joseph Weizenbaum which means
that they use some appropriate keywords to select the responses to generate
when they get new inputs from the users. More generaly,the technique that are
in use in a "chatterbot database" or "script file" to represent the chatterbot
knowledge is known as "Case Base Reasoning" or CBR. A very good example of an Eliza
like chatterbot would be "Alice",these program has won the Loebner prize for most
human chatterbot three times (www.alicebot.org). The goal of NLP and NLU is to create
programs that are capable of understanding natural languages and also capable
of processing it to get input from the user by "voice recognition" or to produce
output by "text to speech". During the last decades there has been a lot of progress
in the domains of "Voice Recognition" and "Text to Speech",however the goal of NLU
that is to make software that are capable of showing a good level of understanding
of "natural languages" in general seems quiet far to many A.I experts. The general
view about this subject is that it would take at list many decades before any computer
can begin to really understand "natural language" just as the humans do.
These code is Copyrighted and has limited warranty.
Chatterbot Eliza 2.0.zip
Chatterbot Eliza 2.0.exe
|
FSM Eliza
This was one of my first atempt at writing an eliza like chatterbot,
this version of eliza uses an FSM (Finite State Machine)
for coding the main routine of the chatterbot, Finite State Machines are very well suitable
for writing chatterbots in general. The main reason for this would be because that
most of the things that are found in the algorithm of chatterbots can be easealy coded by using
predefine states of a given Finite State Machine.
As you probably know it already, the first chatterbot was developped in the MIT laboratories
during the year 1966 by professor Joseph Weizenbaum, the main purpose of chatterbots or chat robots
is to simulate a conversation that ressemble a real conversation between humans.
So far no chatterbot have really succeeded in this goal, although "Alice" a program that was
written by Richard Wallace has won the Loebner Prize for most human chatbot three times.
How can we explain the fact that chatterbots haven't succeeded yet in emulating a real conversation
between huamns? Probably one the main reason for this would be simply because chatterbots in general
are unable to learn new keywords or even patterns by themselve during a conversation, if this specific
feature were to ever been invented then it might solve one the biggest problems of chatbots.
(a static database however big that it might be will never be sufficient to enable a chatbot
to have a coherent conversation)
FSM Eliza.zip
FSM Eliza.exe
|
|