[ai_group] Re: My idea

  • From: "Dr.X" <drx@xxxxxxx>
  • To: <ai_group@xxxxxxxxxxxxx>
  • Date: Wed, 17 Apr 2002 11:41:02 -0400

Jeethu,

I suppose if I can write a simple script to interact with this format, it can be
easily translated to bcx. I'll work on it. I guess it will have to be able to
both put and get from it like a text stream. Maybe I'll have to revert to Johns
idea of quoted, comma delimited data. I have a trick for fast search on large
files. It involves reading the whole file into a variable and using redim. That
knocks a 120 second search down to something ridiculously low, like .023
seconds.

Dave can probably come up with a better way. I'm interested in seeing what he
comes up with in the way of XML. I say using an *ml approach may hinder speed
but I really don't have another way yet. Alice Bot uses AIML and I see it as way
too slow to ever become a viable, truly intelligent AI. Still it does a great
job as a Chatter Bot. Having to parse a bunch of tags will bog it down.

From what I understand, the creators of Alice see AIML as the next standard in
*ml. Now, every time I look at some of the standards out there, especially in
the *ml areas, I see waste. Most websites were static just a few years ago but
even then, it relies on the server describing the page and your system coming up
with a visual of that description. So if html is 15% of what makes that page,
then that's 15% of the processing power given up. Then the rest is the actual
page. Not to mention all the other stuff like dhtml, asp, scripting...I'm afraid
Alice will eventually spend way too much time crunching on the aiml and not
enough time working on the problem the user presented.

This is going to be a problem when it comes to a concept database. When it gets
to be a hundred gigabytes in size, I can see the mark up language slowing
everything down to a crawl. So whatever way we choose to tag, mark, delimit, or
anything else, it has to be very lightweight. Maybe one character per object is
best. That's why I chose to do it in that list I posted. Less can be better. Of
coarse if there is a need for another tag or something for this to work, there
is really no other reason not to use it except for speed.

David is still pulling his hair out over how to use the data in such a file. I
guess it's time to work on the engine itself for his sake. We don't want to read
in the paper about him going postal over this. :-)

I'll dream something up either today or tomorrow. I will need some ideas though.
Anyone out there with a good grasp on making abstract thought into good ole
programming code probably already has a good idea. Well, this list is where you
should voice it. Don't be shy. ;-)

Dr.X



-----Original Message-----
From: ai_group-bounce@xxxxxxxxxxxxx [mailto:ai_group-bounce@xxxxxxxxxxxxx]On
Behalf Of Jeethu Rao
Sent: Tuesday, April 16, 2002 8:05 AM
To: ai_group@xxxxxxxxxxxxx
Subject: [ai_group] Re: My idea


Nice Idea Doc. It can be readily translated to an XML DTD,
I'm sure David Garner knows a bit about this stuff.
I could'nt find any XML Parsers for C. I mean something
like a Lib with functions to Parse an XML stream.
But even C++ would do. I'll have to half heartedly move from
LCC to MingW or Borland which are not as user friendly as
LCC is.

I too am quite busy these days. These hardware projects just
consume all my brains up.

Jeethu Rao

> -----Original Message-----
> From: ai_group-bounce@xxxxxxxxxxxxx
> [mailto:ai_group-bounce@xxxxxxxxxxxxx]On Behalf Of Dr.X
> Sent: Sunday, April 14, 2002 6:57 AM
> To: ai_group@xxxxxxxxxxxxx
> Subject: [ai_group] Re: My idea
>
>
>
> Ok then, we need a way to store our data so it's easy to put and
> get info no
> matter what language is being used in the ai engine. This is the
> format I used
> in concept storage:
>
> Oobject                         'beginning of concept
> Ddefinition                     'details or definition of the object
> Pproperty of object     'highest priority property of the object
> Pproperty of object
> Pproperty of object
> Pproperty of object
> Pproperty of object
> Pproperty of object
> Oobject                 'end of concept 'also the beginning of
> the next concept
> Ddefinition
> Pproperty of object
> Pproperty of object
> Pproperty of object
> Pproperty of object
> Ocar
> Dvehicle used for transportation
> Pwheels
> Pengine
> Ptransmission
> Psteering wheel
> Ptrunk
> Pseats
> Oworking for a living
> Dto provide a service in exchange for payment
> Dpaycheck
> Plabor
> Pboss
> Pemployees
> P...
> ...and so on...
>
> This can be easily made into a database, weather comma delimited
> or whatever.
> The objects are always the beginning of a new record (concept).
> The object can
> be any word or idea. Its definition is just one brief statement
> to make the
> object unique and also provides for more ways to link the concept to other
> concepts (using the def in programs is another story ;-). The
> properties are
> anything about the object. These properties are also objects and
> somewhere in
> this big file you will find it listed as an object. The
> properties are sorted
> such that the most relevant or weighted is listed first and the
> least last.
> www.robotswizdom.com says: The first rule of info-sorting is to
> put similar bits
> close together-- then once the reader understands the context of
> any of them
> they can most easily grasp the rest. (A corollary to this is that
> each added bit
> that shares context can be shortened since the context doesn't need to be
> re-established.)
>
>  Ok, I have some work to do. I'm trying to understand this bcx
> thing. I'm not
> doing well since I have divided my attentions between bcx and a
> very important
> project at work. (this sucks)
> Dr.X
>
>
> -----Original Message-----
> From: ai_group-bounce@xxxxxxxxxxxxx
> [mailto:ai_group-bounce@xxxxxxxxxxxxx]On
> Behalf Of Jeethu Rao
> Sent: Saturday, April 13, 2002 6:43 AM
> To: ai_group@xxxxxxxxxxxxx
> Subject: [ai_group] Re: My idea
>
>
> Doc,
>         I really think we must think at a lower level. We'll have to do
> something
>         and initialize a learning system. Be it in C or BCX or
> C++ or Whatever.
>         So, lets get our Brains in Low level mode now!
>
> Jeethu Rao
>
> > -----Original Message-----
> > From: ai_group-bounce@xxxxxxxxxxxxx
> > [mailto:ai_group-bounce@xxxxxxxxxxxxx]On Behalf Of Dr.X
> > Sent: Saturday, April 13, 2002 12:11 PM
> > To: ai_group@xxxxxxxxxxxxx
> > Subject: [ai_group] Re: My idea
> >
> >
> >
> > I like the way you think.
> >
> > What came first, the chicken or the egg? If you and the child
> > were the only ones
> > in the universe, you are there to teach. What if you were not
> > there? The child
> > has but one way to learn. It does something, could be at random,
> > and learns by
> > the good or bad that comes of it. Touch the fire, get burned,
> > bad, don't touch
> > the fire. Fear is a big part of learning. Reward is also, as you
> > mentioned. Eat
> > something, satisfy huger, good, eat to stay full. Can't get any
> > more cave man
> > than that.
> >
> > Dr.X
> >
> > -----Original Message-----
> > From: ai_group-bounce@xxxxxxxxxxxxx
> > [mailto:ai_group-bounce@xxxxxxxxxxxxx]On
> > Behalf Of John Jacques
> > Sent: Friday, April 12, 2002 1:16 AM
> > To: ai
> > Subject: [ai_group] My idea
> >
> >
> > Ok, now remember I'm just an ameature at this stuff, but this is what I
> > am going to do now that I'm  going to get into this AI stuff again.
> >
> > I believe start simple, keep it as simple as possible, get it working,
> > then build on it.
> >
> > 1) You and your child exist in a large empty field on Earth.
> > 2) There is nothing around except the outdoors, but ignore it all.
> > 3) Remember these rules:
> > Rule #1) Say what I say
> > Rule #2) Do what I do
> > Remember you are God in your child's eyes. Use only these 2 rules as a
> > child will in fact mimic what the parent does.
> > 4) Empty the Universe and world. Only you and your child exist sitting
> > in the middle of a large field. You know the English Language. Your
> > child is 3-4 years old, but today is it's 1st day of life.
> > 5) You are eating food, perhaps a piece of chicken because you are
> > hungry.
> > 6) Put yourself in this scene and play the part of the parent. Speak to
> > the child as you would a real baby. (1 day old) even though it has the
> > intellect of a 3-4 year old.
> > 7) Eat the food, the child watches and then RULE #2 does what you did
> > and eats the chicken with it's hands.
> > 8) When a parent feeds a child they speak to it most of the time. You
> > are finished eating and then feed the child what do you say? Replay
> > this scene 100 times and record what you say. Remember it is a baby,
> > not a 3-4 year old.
> >
> > You may come up with a list like this:
> > '*Remember* your talking to a baby, so actually speak that way.
> > "Do you want some? Yes you do."
> > "Want some chicken? Here you go."
> > "Want some food? Here's some."
> > "Are you hungry? Yes, you are."
> > "Want to eat now? Yes you do."
> > "Want some good chicken? Yes, yes you do want some chicken."
> > "Want to eat? Oh yeah you want to eat because your hungry."
> > "Hungry? Have some chicken."
> > "Is [child] hungry? Yes, [child] is hungry."
> > "Does [child] want some chicken? Oh yeah, [child] wants some chicken."
> > "[child], do you want some food?"
> > "Are you hungry?"
> > "Are you hungry [child]?"
> > "Your hungry. Eat some food."
> > "Your hungry. Eat some chicken."
> > "Time to eat."
> > "Look what I got, some good food."
> > "Are you hungry? Yes you are. Yeah your hungry."
> > "Eat some chicken. Fill your belly."
> > "Have some food....Are you full? yes your full. All done."
> >
> >
> > Now all of these are recorded, and the if you knew "NOTHING" what would
> > you say for your 1st words?
> > "Want some" "want" "want chicken" "eat"
> >  One of these would probably be what you speak 1st, but what about the
> > overall learning process?
> >  Well we recorded all of the above (say a hundred examples).
> >  After we ate each time we felt better (filled up).
> >  Our reward and how much we like eating is rated as very high compared
> > to when we do not eat.
> >  When we are finished eating we might say "full"
> >
> > So, nothing else in the universe matters or exist, except for this
> > example.
> > No other words were ever spoken that are not in this list.
> >  Make an AI program to tell you when it is hungry.
> >  After that us accomplished, add TIME to your AI program and ask to eat
> > when you are hungry.
> >  Secondly, make it more realistic by how much was eaten and figure this
> > into the TIME frame.
> >  Next, to make it more real what type of food was eaten and figure this
> > into the quantity and time frame.
> >
> >
> > Taking this example, I believe that we always remember (or record)
> > everything we hear even though we may not be aware of it.
> > So, I would always keep this list, and build onto it in a level 1
> > database.
> > The level 1 database is just a recording of the actual input.
> > In this case it was audio (word of mouth). The AI program could record
> > all keyboard input as "word of mouth" and store it as audio.
> >  Each source of input and output would be recorded in a level 1
> > database.
> > A level 1 database would be the actual, unmodified recording.
> >
> >  The list in this example is the only thing in existence.
> >  Process it now.......
> >  Ok, so what words were spoken when it was time to eat?
> >  Because we know this topic is eating, we store a copy in the eating
> > table.
> >  If we ever want to eat, or any eating topics are recorded in the
> > future we will copy them to the eating table.
> >
> >  (Note you could use an index instead of copying, but I am keeping it
> > simple for explaining it)
> >
> >   The next step after making a copy to the correct topic(s) is to do
> > another level of processing.
> >  This could be any processing you could imagine, but lets do it my way:
> >  We take the eating table and do a word count. The most frequently used
> > words are stored for later usage.
> >  Each word is copied and indexed into the vocabulary table.
> > If the word exist another index is added to the eating table.(remember
> > this)
> >
> > When it is time to eat I came up with the previous example:
> > "Want some" "want" "want chicken" "eat"
> >  "want" would be the highest rated word. When it is time to eat "want"
> > would be spoken.
> >  Which word is spoken next? The next highest rated word.
> >  Now that I just told you  what would be said, figure that it might not
> > be!
> >  You have to recall that (say what I say --Do what I do) would tell the
> > AI to say
> >  "want" because it is the most common word, but then to determine the
> > next word
> >  it would *probably* be a word that followed "want..." which might not
> > even be close to the
> >  secondly highest word, but would be the highest ranking word following
> > "want.." in the eating table.
> >
> > Ok, so eating is all done right? no way! Expand the dialog to include
> > washing dirty hands, chew with mouth closed, etc...
> >
> > This is they way I am thinking right now. I use to have a Linux box and
> > MySQL database server running and my own C CGI program that I used to
> > interface with my experiments. I think I am going to use Liberty BASIC3
> > and BCX this time and use comma delimited files for the database
> > tables.
> >
> > Any comments?
> >
> > Thanks
> > John
> >
> >
> >
> > __________________________________________________
> > Do You Yahoo!?
> > Yahoo! Tax Center - online filing with TurboTax
> > http://taxes.yahoo.com/
> >
> >
>
>



Other related posts: