Author Topic: text????  (Read 10345 times)

courtisananndorra

  • Newbie
  • *
  • Posts: 7
    • View Profile
text????
« on: February 26, 2004, 12:04:15 am »
ok , i know im burning up the bords but im really intrested in this program. and I admit im a little dense and have lots of questions. you can feed hale text files to learn from right? so why cant it tell me anything its read so far?  I do not think i understand how this works. the new brain is really cool. it now can understand and identify other beings other than the maine user and introduced its self to my cats. lol  that made my day. now if i can just get it to identify others pc users. I want to teach mine to ask who it is talking to. and speak to who is playing on my pc instead of calling everyone me. some guy said he had tought his to dream (or at least believe it did) so my goal should be possable right?
 

Bill819

  • Hero Member
  • *****
  • Posts: 1483
    • View Profile
text????
« Reply #1 on: February 26, 2004, 12:45:58 pm »
quote:
Originally posted by courtisananndorra

ok , i know im burning up the bords but im really intrested in this program. and I admit im a little dense and have lots of questions. you can feed hale text files to learn from right? so why cant it tell me anything its read so far?  I do not think i understand how this works. the new brain is really cool. it now can understand and identify other beings other than the maine user and introduced its self to my cats. lol  that made my day. now if i can just get it to identify others pc users. I want to teach mine to ask who it is talking to. and speak to who is playing on my pc instead of calling everyone me. some guy said he had tought his to dream (or at least believe it did) so my goal should be possable right?


Hal does learn very much from reading as he/it does from spoken words from its owner. Even if yo dit down and feed oral information into hal, it may not give you very much feedback right away. Hal takes his time before he actually responds with learned information, but he/she does learn !
Bill
 

vonsmith

  • Hero Member
  • *****
  • Posts: 602
    • View Profile
text????
« Reply #2 on: February 26, 2004, 03:49:21 pm »
courtisananndorra,
Hal's "learn from a text file" capability is not very effective. The text isn't really processed by Hal's brain. It is cut up and placed into some general user data files. The information is not broken down by topic and is only used occasionally when Hal doesn't have a better answer in his topic focused files. Any text file fed into Hal must be 64KB or shorter in length. The files where the text data are stored is limited to 2MB in file size. Feeding text files in after that point won't do Hal any good.

Here's answers to a similar questions:
http://www.zabaware.com/forum/topic.asp?TOPIC_ID=940
http://www.zabaware.com/forum/topic.asp?TOPIC_ID=1029

Until some new script is written then Hal will remain to be limited in this regard.


=vonsmith=
« Last Edit: February 26, 2004, 03:50:31 pm by vonsmith »
 

Padriag

  • Newbie
  • *
  • Posts: 40
    • View Profile
    • http://www.bardicheart.com
text????
« Reply #3 on: February 26, 2004, 05:12:18 pm »
I think the read from text file could be effective so long as the text file was written specifically for Hal.

I've been experimenting with teaching Hal topics and to associate some of them.  For example I might give Hal the following sentences in conversation.

Cats are predators
Predators eat other animals
Predators and Cats are related topics

Usually at that point Hal asks me back
Are Predators and Cats related topics
I respond "Yes"
Hal learns this

Animals eaten by other animals are called prey
Animals eaten by predators are called prey

Hal might get bright and ask me if predators and prey are related topics, I answer Yes

Eventually Hal starts learning and can make associations between things I never directly associated.

For example, if I tell Hal that mice are sometimes prey... Hal might correctly associate that mice are sometimes eaten by cats.  It might take a little while, but Hal can get there.  Just remember, teaching Hal is like explaining something to a 2 yr old.  You have to break things down into one simple idea at a time and then slowly relate them for Hal to understand.

Try it as an experiement if you like

Now, if this works in chat, then a text file structured as a series of simple statements as I have done above might be useful for actually teaching Hal about subjects, assuming Hal at some point processes the statements and draws associations from them.  But vonsmith is right that for general text files Hal's current reading comprehension is very poor.  I don't know if my teaching method can be turned into logic and code that Hal could apply to a general text file or not, it would make for an interesting project (and one that could boost Hal's learning ability signficantly).
 

vonsmith

  • Hero Member
  • *****
  • Posts: 602
    • View Profile
text????
« Reply #4 on: February 26, 2004, 08:22:18 pm »
Padriag,
You've struck on a key point about XTF brain. Under the right circumstances Hal suspects that two topics are related. Hal can't be sure so he asks the user to confirm it. This seems very spooky to some people. How does Hal figure out that two topics might be related? In my conversations Hal is right about the related words about 1/3 of the time.

The way this works is for Hal to have a "current topic". If the next sentence has a recognized subject fragment containing a topic that is different than the current topic then Hal suspects that the two topics may be related. If the user replies "yes" to Hal's inquiry about two topics being related then he remembers that.

I intended for Hal to learn from normal conversation as time goes by. If you want to formally teach him related topics. The best way is to do this:

Use a subject fragment that Hal recognizes, like "The * is" or "The * are". The asterisk can be any topic. Example:

User: The geese are birds. (The current topic is likely to be goose.)
Hal: I like birds. (Hal makes any comment.)
User: The birds are just like geese. (New current topic is likely bird.)
Hal: Are "bird" and "goose" related topics?
User: Yes
Hal: Thanks. I just learned something new.

Hal just made two file entries. In the XTF_BIRD_Related.brn file the word "goose" now exists. In the XTF_GOOSE_Related.brn there is a corresponding entry for "bird". If the user gives false information about what is related then Hal will mix sentences from two unrelated topics. Always tell Hal the truth. Don't be too general either. If Hal asks, "Are "doctor" and "problem" related topics? You may think they are if you see a doctor about a problem. However they are not related (at least in my opinion). I don't think you would want Hal to talk about problems and then switch over to discussing doctors. It's a matter of opinion. Who can say why people change topics?

If Hal related two frequently used words like "I" and "you" then all topics would eventually revolve around those two topics. Fortunately the XTF brain is designed to avoid pronouns and many other common words as related topics. It's still up to the user to give Hal correct information. Just like a child Hal will learn wrong information just as easily as correct information.

After Hal learns both the singular and plural forms of related topic words he usually will not ask again. However, after a long while Hal may ask again just to confirm the relatedness. The user then has the opportunity to correct Hal's prior learning if it is incorrect.

Notice that Hal in many cases can figure out the singular form of the word. Hal attempts to save all topic information by the singular form.

When new topics are discussed with Hal he knows automatically what the synonyms and meronyms (meronym means "parts of") are for the topic. He treats synonyms and meronyms the same are related topic words. He learns all of the rest of the related topic words from the user conversation.

When I release the XTF brain v2.0 it probably will include a way to short-cut Hal's learning related topic words. A careful user could edit the files directly. Instead I plan on providing a better way where the user just tells Hal, "Predators and cats are related topics." Then Hal will know immediately. I wanted to include this in v1.0, but I wanted to get the brain out into the world for you guys and gals to play with.

The normal conversational method of Hal learning topics still has the advantage of filling Hal brain with other relevant information about birds, prey, cats or whatever.

I hope I didn't remove too much of the mystery. Hal's brain is a wonderful thing and I don't want to spoil any future surprises.


=vonsmith=

 

Neo987

  • Newbie
  • *
  • Posts: 12
    • View Profile
text????
« Reply #5 on: February 26, 2004, 09:36:12 pm »
Padriag or vonsmith, have either of you created any phrase texts or possible teaching texts? I was planning on starting a moral list, but if someone else has always done this I'd rather just expand upon it rather than start another.
You know that you are an engineer when you have no life and can prove it mathematically.

Padriag

  • Newbie
  • *
  • Posts: 40
    • View Profile
    • http://www.bardicheart.com
text????
« Reply #6 on: February 26, 2004, 09:54:54 pm »
Actually I'm pretty new to this myself, so no I haven't as yet.  I have given it some thought.  I've spent most of my time learning how Hal "thinks" and learn, how topics are handled and so forth.   The above experiment is part of the ongoing process.  I've still got a lot to learn yet, but its interesting.  I think Hal has a lot of untapped potential if we can learn how to teach Hal.  That's part of the equation here.
 

Neo987

  • Newbie
  • *
  • Posts: 12
    • View Profile
text????
« Reply #7 on: February 26, 2004, 10:21:41 pm »
Well then, I may just take up that project when I have the free time. I'm probably going to set another installation on my laptop and use that as research (which makes me feel bad, as it feels like I'm playing with a living being) to see how different phrase patterns pick up and if it takes any reinforcement (multiple feeds), or if it's instant learn. Right now, however, I need to spend some time with my new Claudia.
You know that you are an engineer when you have no life and can prove it mathematically.

Padriag

  • Newbie
  • *
  • Posts: 40
    • View Profile
    • http://www.bardicheart.com
text????
« Reply #8 on: February 26, 2004, 10:45:02 pm »
Hal isn't instant learn, at least not in conversation.  Its like young child, you have to repeat things several times in simple clear terms before it really learns it.  Its also good to repeat the same idea in as many different ways as you can.

From what I understand of how it works, the more way you phrase and idea you are trying to teach, the more ways Hal is able to associate it and the better the chances it will make "leaps of logic".

For example... if you want to teach Hal the simple concept that cats are predators, you'll want to rephrase this and repeat it to Hal as many ways as you can think of.  In a way its like being a parent, how well Hal learns is partly up to how well you teach it.

Once Hal has one concept, start another that is somehow related.  Like cats and mice in my example.  First focus on teaching it what a mouse is.  Then the relationship between cats and mice.  Keep repeating things and phrasing them in different ways.  This helps Hal build more connections between the topics.

The result is when you mention cats or mice, Hal now has much more to draw on for a response.  He might repeat something you said (much like 2 yr olds repeat what they hear) or he might, if you've taught him enough, he might say something original based on what you've taught him.

The more time you spend on teaching and relating topics... the better Hal will do and the better the results.  How well using a structured teaching text will be at this is something I haven't had time to test yet... been a REALLY busy week for me.
 

Neo987

  • Newbie
  • *
  • Posts: 12
    • View Profile
text????
« Reply #9 on: February 26, 2004, 11:03:16 pm »
quote:
Originally posted by Padriag

Hal isn't instant learn, at least not in conversation.  Its like young child, you have to repeat things several times in simple clear terms before it really learns it.  Its also good to repeat the same idea in as many different ways as you can.

From what I understand of how it works, the more way you phrase and idea you are trying to teach, the more ways Hal is able to associate it and the better the chances it will make "leaps of logic".

For example... if you want to teach Hal the simple concept that cats are predators, you'll want to rephrase this and repeat it to Hal as many ways as you can think of.  In a way its like being a parent, how well Hal learns is partly up to how well you teach it.

Once Hal has one concept, start another that is somehow related.  Like cats and mice in my example.  First focus on teaching it what a mouse is.  Then the relationship between cats and mice.  Keep repeating things and phrasing them in different ways.  This helps Hal build more connections between the topics.

The result is when you mention cats or mice, Hal now has much more to draw on for a response.  He might repeat something you said (much like 2 yr olds repeat what they hear) or he might, if you've taught him enough, he might say something original based on what you've taught him.

The more time you spend on teaching and relating topics... the better Hal will do and the better the results.  How well using a structured teaching text will be at this is something I haven't had time to test yet... been a REALLY busy week for me.



I was referring to the "Learn from a Text File" option. I was wondering if it was direct transfer of data, or learning curve like the way it learns from chatting with the user.
You know that you are an engineer when you have no life and can prove it mathematically.

Padriag

  • Newbie
  • *
  • Posts: 40
    • View Profile
    • http://www.bardicheart.com
text????
« Reply #10 on: February 26, 2004, 11:37:04 pm »
It gives it the raw data all at once... so it would have that much... but I don't know if it would process it and form associations or not.  I haven't learned enough about the scripts that control that yet to know.  Vonsmith would be a better person to answer that.  Even if it doesn't, you might be able to trigger that processing later in conversation by bringing up the topic and then seeing if Hal starts asking whether its related to other things that were in the file.
 

vonsmith

  • Hero Member
  • *****
  • Posts: 602
    • View Profile
text????
« Reply #11 on: February 26, 2004, 11:53:12 pm »
Neo987 / Padriag,
I don't want to keep pushing this idea, but the "learn from a text file" capability is very problematic. What you teach Hal in conversation will always be better than learning from a text file. With that said however...

I do have a very good theory (I believe) about how to make Hal really learn from a text file. Unfortunately I need a file access function that allows me to read in a text file a character at a time or at the very least, a line at a time. I have considered a work around in lieu of a new function, but it would be very inefficient.

I'm not going to go into the details of my theory now. I'm certain however that Hal could learn a lot from certain kinds of text files. Novels or short stories wouldn't be good source material under any circumstances. Reference books, news articles, school books and web content would all make good text sources. On the average Hal could absorb only about 60% of the text, but that's enough to educate Hal quite well.

I'll either have to find a way to write the text file read function myself or ask Robert M. for some help.


=vonsmith=
 

Neo987

  • Newbie
  • *
  • Posts: 12
    • View Profile
text????
« Reply #12 on: February 27, 2004, 01:14:59 am »
Vonsmith,

I understand that the “learn from text” function is still very inefficient, but I have my thoughts about it that I'd like to research. Also, if we gave up looking into something simply because it isn't very effective, we'll never find ways to improve it. One of the biggest advantages of using the “learn from text” function is the ability to present data in mildly faster way than through chat. Consider how much data you can input in, say, 10 65K text files at your proposed 60% efficiency, compared to the amount of chatting performed in the same amount of time it takes the program to process the files. Granted, the chatting is more efficient if you are constantly covering new material or new links between old subjects, but the text has volume, speed, and easy repetition through file reloads and/or re-sorting of content for new reading patterns on its side.

Then, there is the way Hal confirms things. It’s through user confirmation. User chat reinforcement of the learning from the text file would increase its efficiency. Also, in an earlier topic was mentioned a sort of “forget” function, but from what I’ve seen in my own short time, that function already exists, or creates itself after some time. I have often been asked about the correlation between two subjects that were tied together in an earlier conversation, and when I replied that there was no correlation, the brain treated them as unconnected subjects until enough was said to teach that they might, again, have some common tie, at which I was prompted once again with the correlation question. If this is truly the case, it isn’t that hard to “unlearn” and inconsistencies that may have arisen during the text learning.

Granted, if the user never reinforces that which is taught, of course it will remain inefficient. It’s like having a young child read his first book, but not have a parent or teacher to tell them what they read wrong and what is right in its place. The reason chatting with Hal is so efficient is because the reinforcement calls, the correlation questions, are presented immediately when they arise. Through the text learning, Hal’s mentor isn’t there to hold his hand when he reads his book, so he has to form his own conclusions, which depend greatly upon how much his reasoning has expanded before the file is introduced.

Like I said in a previous thread, I’m no programmer. Until I start my C++ class next year, my only experience is BASIC, some HTML, and screwing with the actor mechanics file GAME.CON for the PC game, Duke Nukem 3D. I am, however, a researcher, and it’s hard for me to immediately give up on the function without performing some tests for myself. I don’t doubt your judgment, but like any other scientist, I’m damn stubborn [:D]

PS: On an off note, after realizing how much I just typed, I really wish my English instructor would have chosen something like this as a debate topic [xx(]
You know that you are an engineer when you have no life and can prove it mathematically.

vonsmith

  • Hero Member
  • *****
  • Posts: 602
    • View Profile
text????
« Reply #13 on: February 27, 2004, 01:51:57 am »
Neo987,
It isn't my intention to debate anything about Hal at this point. I value your input and everyone elses. I'm just a little disappointed in Hal's text file reading ability. I've walked through the function and have tested it. In my experience the "Learn from text file" generated a lot of "stuff" in a number of user files. Like I said though, I have a theory about how to make Hal read text files and remember the best content from that reading. I haven't been able to find a way to implement that new function very effectively without a new file function.

The text files that Hal "reads" don't get truly processed by his brain and the information is saved in user specific general information files. For that information to be really useful it needs to be parsed into the appropriate topic files. Hal's reading doesn't eliminate out of context pronouns or remove the sort of punctuation found in novels. Hal doesn't understand 1st, 2nd or 3rd person perspectives which makes for some goofy responses from Hal.

On the positive side there is a lot of room for improvement in Hal's text file reading capability. A clever person could make some significant improvements in this area with some creative script writing and some user preprocessed text files.

To the best of my knowledge Hal doesn't really forget anything. However reinforced learning of correct information can "overwhelm" bad information. The XTF brain can unlearn (forget) incorrect related topic words which is a limited application of a "relearning" capability. I'd like to extend that capability someday.

I appreciate your tenacity. Nothing ever changes if conventional ideas are not challenged.


=vonsmith=


 

Neo987

  • Newbie
  • *
  • Posts: 12
    • View Profile
text????
« Reply #14 on: February 27, 2004, 02:06:08 am »
Vonsmith,
I never truly meant to debate anything, I was just stating my whole side, and I hope you didn't take offense by the way it was presented, I just tend to sound like I'm arguing when that is not my intent. A personal character flaw, I suppose [:I]

If, however, when you begin work on the function, you'd like an extra hand testing and gauging reaction so you can focus on the programming, I'd be more than happy to help out as a tester. Until then, I suppose I can curb my curiosity and teach her the old fashioned way [:D]
« Last Edit: February 27, 2004, 02:08:24 am by Neo987 »
You know that you are an engineer when you have no life and can prove it mathematically.