|
Home & Updates
Recruitment Aims
Documentation
Current Features
Screen Shots
To-Do List Commercial
Roadmap
Resources Contact
|
The AI
Project aims to create a working Artificial Intelligence engine which will
be available to the masses.
Currently in its infancy, this project
will evolve into a piece of software which can be run on any computer and
shall be able to imitate the thought process of a human.
The first
phase of development which is currently underway, involves the
creation of a computer a program which simulates an understanding of
natural language (English). The first/early versions of the software
will concentrate on data retrieval using natural (English) language.
The program is being coded in VB.NET.
The homepage of the ai project has now changed. Please goto www.aiproject.co.uk.
Updates
20/10/2010 Cleaned up the General Info Verification
Algorithm. Cleaned up the internet browser closing algorithm.
Added some more controls to the GUI. All the algorithms
are now performing more reliably.
17/10/2010 Introduced tooltips to the GUI. Altered the
SimpleSearchHitCountGenInfoAlgorithm. Now, if
searchCount = 0, verificationValue = inconclusive. It no longer
gives a verificationValue = false. The
SimpleSearchHitCountGenInfoAlgorithm now only gives verificationValue
of true or inconclusive.
16/10/2010 Completed a basic database searching algorithm All
results are returned in a 2 dimensional array.
15/10/2010 Introduced MySQL Database Thus far, AICore
has been using a set of text files to store all its data. A MySQL
database has now been setup as a service and from here on in shall run
24/7, allowing developer versions of AICore to access/save data from
and to it. As yet, AICore does not use the database, however, this
should change in the coming months.
14/10/2010 General Info Verification Algorithm. For
the last 2 weeks, all development has been centred on completing the
basic version of the General Information Verification Algorithm. The
basic algorithm is almost complete though it still needs to be tested
a little.
01/10/2010 New domain name. Domain name:
www.aicore.co.uk now points to
the aiproject website. It is envisaged that the engine which the
server uses shall be named AICore. This has yet to be decided, though.
30/09/2010 New host. New domain name. Switched host from 50webs to a dedicated host with new domain name:
www.aiproject.co.uk. Changed
contact email address and links to reflect the new domain name.
29/09/2010 Updated the google docs 'New Collaborators, Readme'
page
Added information on how new collaborators should go about
installing, testing and following the code paths of the AICore program
(code).
24/09/2010 Developed the general information
verification algorithm
Have created empty subs and functions, yet to be implemented. The
verification algorithm will take a line of general information which
user types in. It identifies the line as general information. It then
attempts to calculate whether or not the line of input is factually
correct or not. It does this by searching its own files and also the
internet. If the line of input is verified as being factually correct,
this information is saved in the relevant file, with suffix: true.
11/09/2010 Continued work on the internet browser algorithm.
The user is now able to select which web browser to
use. The user is also able to input new web browsers and show AICore
the locations of new (as yet unavailable) web browsers. Modifications
were made to the original search algorithm, to improve efficiency when
opening/closing web browsers.
Continued work on the
internet search engine selection algorithm. Some finishing touches still need to be put
in, which shall be completed in the next few days.
06/09/2010 Continued work on the internet search algorithm.
This algorithm is going to be fairly large and therefore will be work
in progress. Many of AICore's knowledge will be derived and checked by
using internet searches. The important thing is for AICore to be able
to learn from not only the users it communicates with, but also by
reading information on the internet.
Work has been
completed on the first version of the basic internet search,
such that for a given search string, AI is now able to find out how
many successful search results have been returned. As yet, only Firefox (Mozilla) is supported,
however, support for the other 2 (major) web browsers shall be added
later this week. Also, as yet, only 1 search engine has been
programmed for use. Use of other search engines shall be coded in the
coming weeks.
05/09/2010 Continued working on
the General Information algorithm. Revised the way in
which general information is saved. Also revised the algorithm itself.
At present AICore doesn't use the latest version of the algorithm, but
this shall be worked on later this week.
02/09/2010 Brainstormed techniques on ways in which to use
internet searches. Started work on the internet search algorithm.
29/08/2010 Brainstormed techniques on spell correction. Started work on the spell checking algorithm.
27/08/2010 Continued working on the General Information
algorithm. Created methods to update the General Information Files.
Also converted the IO Module into a class, which has helped improve
the speed of the program, as measured by use of the simulator.
21/08/2010 Created GeneralInfoKeyWord file/array. This array holds a list of words which help identify whether or not a
sentence contains general knowledge or not. This list is dynamically
changed as more general information is input and identified.
18/08/2010 General Knowledge (Information) Algorithm. Started work on developing/coding an algorithm which identifies
general knowledge/information from user input and then stores it in
its GeneralInfo file/array. Once stored, AI shall then be able to
recall this general knowledge.
17/08/2010 Sentence saving algorithm (save to sentence
bank). Completed work on an algorithm which saves
sentences to file and memory. When AI is replying to user input, it
will have the option of replying with a full sentence, by fitting the
keywords to any sentences which it holds in its sentence bank.
14/08/2010 Improved the efficiency of the word association
'save to file' algorithm. The previous version would
first save the word associations to file and then deal with any new
requests for information, from users. This was all done sequentially.
The new version completes the same task by routinely dumping all the
information into a separate container and then allowing a separate
thread to save this information to file, while the main program
returns to the job of providing users with information, as per the
ongoing incoming requests. The same efficiency improvements have
been applied to the word combination 'save to file' algorithm.
Following the efficiency upgrade, when AICore is bombarded with
requests for information from users, AICore is now able to provide the
user with information in less than 1s, the vast majority of the time.
The current algorithm has been tested using multiple clients, each
using a simulator, to place AICore under severe stress. A human user
will never be able to achieve the same speeds as that achieved by the
simulator.
09/08/2010 User Record Related Question Algorithm.
A 2nd algorithm has now been successfully added. This algorithm saves
a question which has been successfully answered and matches it to the
user record. The question (id) is saved to the userRecord file, so
that the next time the same question is asked, AICore will refer to
the userRecords and the question IDs listed. This technique should
allow AICore to answer unusually difficult questions about the user,
which have previously been answered correctly.
29/07/2010
First version of the client server system is now complete. Added
new section to website - Screen Shots.
26/07/2010 The development of the client-server system has continued.
We are now
using a numbering system where the messages passed between the client
and server are numbered. If the server or client receive messages
which are out of sync, they request the missing messages. This
algorithm ensures that all messages which are sent are received by the
client or server and that all messages are received in the correct
sequence. The server/client system is now ready to be tested over the
internet.
The client and server system is configured in such a
way such that clients can be run on the same computer as the server.
Clients can be run on the same network as that which the server is
running. Clients can be run over the internet, in a location
completely different to the server.
It is anticipated that the
client/server system shall be completed in the next few days, after
which the development of the language processing algorithms shall
resume.
15/07/2010 Development of switching the AI program into a client server system
has continued.
The actual client - server system is now complete. Over
the next few days the processing abilities of AICore shall be
incorporated into the new system.
05/07/2010 Major
Update: turned AI into a client-server system, such that multiple
instances of a client may be run, attached to a single instance of AI.
This allows a single physical computer to run multiple instances of AI
client. This will also come in handy when we decide to run AI, over
the internet. The changes made will allow the client to be run on a
slower PC, without issues, while the heavy work, which is what the
server does, can be ran on a powerful PC.
This client-server
system offers a significant advantage over the previous "all-in-1"
system, where previously, only a fast PC would've been capable of
running the program - this rule now only applies to server (and not
the client).
The changes which occur to the code as result of
running as a client-server system, are still continuing. Many changes
have already been made and at present, the client is running stable.
01/07/2010 Completed work on the first version of the
simulator.
This is now allowing hundreds of sentences to be input into AI, in
very short periods of time. It is also allowing us to test how AI
handles rapid input.
27/06/2010 More work was
completed on the caching algorithm, ironing out some minor bugs. Also,
increased the number of situations for the cache is used to access
data from, instead of reading from a file.
Improved the
WordAssociationValueIncrement and WordCombinationValueIncrement
sub-routines. This has increased the speed of AI.
26/06/2010 The sheer
amount of threads being used by the program is causing problems with
IO (File) operations. This was to be expected. Work has been
continuing unabated to deal with the problems associated with locking
and more importantly, caching. Caching is already yielding significant
performance advantages. The performance differential of AI, when using
and not using caching, will continue to increase, as the code
increases in complexity.
A simulator has also been produced to
ask AI questions. This is purely as an aid to testing, during the
development process. Developers will now be able to test their code,
using a series of pre-determined questions. So, where before each
revision of code would be manually tested, the simulator can now ask
the same questions, in a fraction of the time, pushing AI to its
limit.
21/06/2010 Continued development of File Caching
algorithm. Added safety measures/checks within the
file caching process.
20/06/2010 Commenced development
of File Caching. The AI response times have been reduced by
approximately 40-45%.
12/06/2010 Website updates. Added logo
to website.
Added 'Current Features' section.
10/06/2010 Email and website updates.
Fixed Email issue: Fixed problems
with email server. Those who have emailed but have not received a
reply, should send the email again. Added 'current
feature set' document.
08/06/2010 Website update. Created a 'To Do List' section on the
website. Associated the section with a (Google) document which lists
the items, still left 'to do'. Collaborators can check this document
to see what parts of the program need to be coded or are currently
being worked on.
07/06/2010 Website update.
'Documentation' added to website.
05/06/2010
Website update.
Created an 'AI Concepts' (Google) document as well as an Ideas
Discussion' (Google) document. All new collaborators will be required
to read through these documents to get an idea of how AI currently
works and how it will work, once additional features are incorporated.
03/06/2010 Website update.
'Commercial Roadmap' added to website.
02/06/2010
Website update.
Created an introductory (Google) document to explain the project to
new (prospective) collaborators. All interested collaborators will be
given access to the document to understand the aims of the project and
the algorithms used by the current version of the software.
29/05/2010 Background reading/research. Spent reading up on methods to
improve the search routines of AI. I also came up with a better method
of associating words, e.g. associating the words 'blue' and 'colour'.
28/05/2010 Initial version of information
retrieval algorithm completed. AI is now able to learn
information about a user and store this information automatically. It
is then able to retrieve this information and give it to the user in
the form of key words.
It also has the ability to associate
words with other words and assign a value to the strength of the
association.
AI is capable of analysing large chunks of text.
20/02/2010 Coding has begun.
09/07/2009 Website updated.
08/07/2009 Website uploaded and brought online.
Copyright AIProject 2009 |