Neo A.I Framework™

hotdogrelishnoseΛογισμικό & κατασκευή λογ/κού

4 Νοε 2013 (πριν από 3 χρόνια και 10 μήνες)

69 εμφανίσεις





2009

Written By
Sammy

Guergachi

Soft AI Research Center®

1/22/2009

Neo A.I Framework


Documentation

What Is It?

The
Neo A.I framework
is a project being taken on by the Soft

AI Software
Team
. Its whole purpose
would be to
revolutionize the way we see artificial Intelligence

one small step at a time.
The
Neo A.I
framework
includes many types of software, technologies, and others
used to create systems and
programs with artificial intelligence incorporated
into them
.

The
A.I

framework will be a sort of kit

used
to create other software

(the list and description of software
will be mentioned later
).
C
reating

this

framework to support and create other useful software would
take much time
, work

and planning, but
with great outcomes. The Frame
w
ork is split into two; the first half is the set of algorithms,

of flow
charts,

descriptive documentations (including this one)
,


technologies

and ways a typical
A.I

software
created using this framework wo
uld behave and work using the other half which incorporates t
hings like
, Software

Development Kits,
Database editors, Databases, The
A.I

engine and others. All of the
A.I

framework

components

will be available for download in both compiled and source code

file on

our

web
site
. The framework will be optimized to help developers

create A.I applications using the Neo A.I
framework.

The Soft AI team is now working on the newly improved Neo A.I Framework 2.0, we expect
it to take at least 1 year of development
before we can finish.

How
it’s

going

To Be Done

The
A.I

Ware

is going to be programmed using VB.NET as its

core

programming language. The database
files will be
made using the Neo Engine (more on neo engine later)
, but will be available as

a Microsoft

Acce
ss files. As said before the completion of the
Neo A.I framework
will take time to create depending
on the number of developers that join
. The
Neo A.I framework

2.0

is now

in development and will give
way, after development, to a second generation of the u
pdated and expanded framework
.

After the
development of each

generation of

framework the Soft
AI

team will start working on what we call
A.I

wares.
An
A.I

ware is

the integration of Artificial Intelligence into software
.
For each A.I ware framework,
there will be a suite of three A.I wares developed by Soft AI. The first A.I ware is a desktop application
that
will perform mundane tasks such as
natural language speaking and learning capabilities.

The second
will be a web ve
rsion of the desktop application it will be

containing all of the features of a desktop
version except

not containing all
of the OS integration modules. The last A.I ware will be an A.I

containing, three e
ssential
features. The first one is

a set of multip
le applications that can allow the user
to interact with the A.I in multiple different
ways;

this feature will be supported in the SDK for our A.I
framework called Neo Engine™ (more on Neo Engine later)
. The second feature will be the use of a
technology c
urrently being researched called HDX


(Help Director eXtreme
) t
hat allows the

A.I engine
to access the
user’s

computer and
organize, access sp
ecific files in an desktop like

environment and
much more. The
last feature will be a steady improvement in an A.I

like GUI called Neo Vision™

which
gives the user a more realistic and futuristic mood and feel.

The next few

paragraphs will introduce the
Neo
framework

in more detail reviling each technology, each tool and more
.





Emotion

N.Q.A.D

NQAD

(Neo Question & Answer Database)
is
the

database

used by the Neo A.I
framework

2.0

to

answer
to input given by the user
. Neo A.I framework
2.0

will use NQAD v1 which will simply incorporate a large
database with

up to

800 questions and answers. This does
not seem practical but research is being done
involving NQAD v2 which will allow the database to expand automatically
through a technology put into
the A.I engine called Neo Learn™
, which will ask the user an answer to a question it can’t answer to then
ad
d the answer to its database, if the user can’t answer to the question he or she asked the A.I will save
the question into a separate database and send it to a server so that an administrator or as we call them
the database managers will try and answer the

questions, when the A.I updates its NQAD database it
will contain all of the unanswered questions and more Questions and Answers
. NQAD is a group of
NDATA
files, which are files written using the Neo Engine™ (more on it later). NDATA files are database
fi
les easily read by any A.I ware c
reated for Neo A.I framework version 1. NQAD v1 is separate into 5
parts to help a developer or a database manager wh
en editing the NQAD
database
.

T
he first part

of the
database

is

where all of the

greeting
’s are placed (fo
r example hello, goodbye etc)
.

T
he second part is

for normal conversations such as “how are you today?”, “were will you go today” etc. The third part is
for Quotidian questions, question you would ask to any one like “how old are you” “what do you like to
do?” etc. the fourth part is for when emotional questions are asked such as “I hate you”, “are you my
friend?” etc. The last part is for complex question

which includes “
where’s

Alaska located?”, “what is a
bottle?” etc. NQAD v1 will use primitive technolo
gy and so is NQAD v1.1 all the way to NQAD v1.9
, the
only difference is a larger database.





N.Q.A.P.E


NQAPE (
Neo Question

& Answer Processing Engine)

is an SPE A.I engine (Separate Processing Engine
) as
opposed to a CPE (Central Processing Engine) which is currently being
researched
. An SPE is a
Q&A
processing algorithm

that uses external resources to process a question and find an answer. This type of

A.I engine is planed to be used for all versions of N.Q.A.P.E v1 all the way to N.Q.A.P.E v3. A CPE A.I
engine is an engine that contains all resources instead of using outer resources
, for example a C
PE

engine contain

have all of the
databases, code, and

any other type of library or resource used by any A.I

in one file
, this increases the

overall performance of the A.I. An SPE engine on the other side uses
resources that are in a separate file or on completely
different

computer. This is the advantage of
an SPE
engine: it can be much more accurate than a CPE engine since it can use a database live from the
internet called
NQA
D Live

, which will
expand

thanks to Neo Learn™ (more on it later). Although a CPE
engine would
be

updated

frequently,

it still
would not get the live database support. N.Q.A.
P.E

v1 does
not support the

NQAD

Live

yet (it is still in the planning stage) but is expected to be supported in
N.Q.A.P.E v3. N.Q.A.P.E v1 contains the following features


Greeting

Complex

Quotidian

Conversations

N.Q.A.D

1.

NDATA engine:

the engine that reads the
N.Q.A.D
database and compares it with the input
from the user.

2.


Neo Learn™
: an algorithm that takes effect after the NDATA engine compares the input
with the NQAD database. The algorithm
mostly handles statements made by the user

(
i.e.
if
statements)
and will

try

to see if there is anything it can learn from
the statements
, if it does
it forms a question answering what it has learned and adds it to the NQAD database, here is
an example of the Neo Learn™ working:



(Input)

Hum
an:
“if you are old

you are more likely to die


(Processing)
Neo Learn™:


-
detects if statement






-
changes NDATA output with “I have now learned that”





-
change

if
” to “when”








-
out
put modified statement in front of “I

have now learned that”




-
add to NQAD database Q: “what happens when you are old?”




A: “
when you are old you are more likely to die”

(Output)

A.I: “I have n
ow learned that when you are old

you
are

more likely to die”


Neo Learn w
ill also handle question the NQAD database does not contain. For example if the
user says “what is my brothers name?” and NDATA does not find any record of the users
brother’s name (usually it does not) Neo Learn will come in and will say “I don’t know how

to answer that question,
would you please tell me what the answer is
?”
.

If the user inputs
the information, then Neo Learn will add it to NQAD. If the user does not know the answer
to the question then Neo Learn will leave a record of unanswered question
s and give the
ability for the user to send this record as an e
-
mail to a Soft AI database manager, who will
attempt to answer the question and add it to the NQAD database for the next release of
that A.I ware.



Neo Engine™ 2

The Neo engine

is a very imp
ortant tool developer will depend on to create A.I wares. It is the
SDK used by the Soft AI team

to develop
its own A.I wares. The Neo engine 2 Standard edition will be
open source and usable by the open source community, but the Neo engine 2 pro will be t
he edition
used by the Soft AI team and can be bought for $10 it will include additional advanced features that will
allow Soft AI developers to create A.I wares easily by cutting the workload in half. The Neo Engine 2 will
include the following features:

1.

NDATA file editor
:

to create and edit parts of the NQAD database

2.

Neo Vision
™:

graphical interface designer.

3.

Neo Code Editor
:

allows vb.net code editing

of the A.I engine

4.

Neo App maker
: to create mini apps inside A.I wares that do particular functions
(avai
lable
for Neo Engine 2 pro

only
)

5.

Neo Algo™: think and design
,

Neo Algo allows easy algorithm
designing visually

for A.I
wares. (available for Neo Engine 2 pro

only
)



Neo 2 Tech


Neo 2 Tech is

the

single overall technology used in this framework. In the
future,

the technology will be
licensed to developers to be able to create and expand on our framework by creating intuitive A.I
applications we call A.I ware
, by using the frameworks tools,

all the way

to integrating

the technology
into other types of app
lications. The technology includes the way the data is stored into the NDATA files
and how

the NQAPE engine functions and others. The license allows developers to improve on the
technology

and giving the developers the power to customize the framework as m
uch as possible to suit
there needs. Unfortunately, the license does not allow the developer to sell the customized framework
since the framework it self supports the Open source community.
Neo 2 Tech is a way of naming the
overall technology, the way the

framework works without having to naming every aspect of the
framework.

Neo A.I Framework 2.0 Overview

The Neo A.I Framework 2.0 is a very primitive way of constructing AI’s but
the future of this framework
will

be very exiting
. After the release of Neo f
ramework 2.0, the Soft AI team will

begin creating two A.I
wares, which will remain secret until released. After the release of the A.I wares The Soft A.I team will
concentrate on Neo A.I Framew
ork

3.0

and Neo 3 Tech
, which

will bring a
completely new CPE
A.I
engine that will include new technology like the upcoming HDX™ Tech, the
E
DB™ and others. The Neo
A.I framework will remain coded in vb.net until the release of Neo A.I framework 3.0, and then we are
planning on either coding it in Visual C++ or Java.
For
now,

we can clearly see that the
framework should
give developers a great amount of power over creating more or less realistic A.I wares.
The following
flow chart shows the basic outline of an A.I ware using the Neo 2 Tech™
.

NQAD V
1
Add Question Not
found to document
and e
-
mail to
Database
Manager
Start
End

User Input
Check if Input start with
:
How
,
Why
,
Were etc
.
and If
input ends with “
?

NDATA engine v
1
.
2
No
?
Neo Learn
Yes
?
Compare Input to
NQAD Database
Find match
?
No
?
Check if Input Start
with
:
If
,
When etc
.
Yes
?
Output Found
Answer

User Gives an
Answer
?
Ask User If He
Can Answer His
Own Question
Yes
?
No
?
Yes
Add Question And
Answer to the
NQAD database
No
?
If Input starts with “if”
then switch output X
to “when”
If input “when”
leave output X
Change output to
"
I
have know learned
that
&
X
&
output
NQAPE Output
Add Answer and
Question to NQAD
database
Output learned
statement
N
Q
A
P
E