Author Topic: "How to..." document  (Read 2431 times)

barryc

  • Newbie
  • *
  • Posts: 4
    • View Profile
"How to..." document
« on: October 23, 2006, 09:39:49 pm »
Hello

I am new to this forum and Hal is new to me. I am a Hal newby and a I.A. newby.

Is there a list of "How to,s", similar to Linux "How to's". For example: How to - teach Hal "facts"; How to - teach Hal "syllogisms"; How to - teach Hal "about a book" (I'm thinking of summarizing notes from text books); How to - teach Hal "to correct my spellling".

Could Hal, keep a list of user's problems and the solutions to those problems and generate "How to's", from those lists?

Regards
Barry
 

Bill DeWitt

  • Hero Member
  • *****
  • Posts: 650
    • View Profile
"How to..." document
« Reply #1 on: October 23, 2006, 11:08:29 pm »
Hi, Barry.

   I'm really new too, but I have been looking at the code for Hal, and although I don't think it will do what you ask now, I believe it would be fairly simple to make it happen.

   Do you have any programming skills?


Bill819

  • Hero Member
  • *****
  • Posts: 1483
    • View Profile
"How to..." document
« Reply #2 on: October 24, 2006, 12:51:49 am »
Hello Newbies
You teach Hal just as you would a young kid of about  4 or 5 years old. Hal does not learn by just giving it the facts only once so try to repeat what you want it to learn by repeating the message several times. As you talk to Hal it will slowly learn what you like and don't like and adapt those same feelings for itself.
However, there is another script for those who have the paid version, well I think it only works for the paid users and that is the one written by 'onthecuttingedge'. It should be titled 'learn from text' or something similair. I don't recommend that you try to mess with some of these advance features until you have used Hal for an extened amount of time. It is really easy to mess up its brain.
Bill
 

Bill DeWitt

  • Hero Member
  • *****
  • Posts: 650
    • View Profile
"How to..." document
« Reply #3 on: October 24, 2006, 07:37:37 am »
I think, although I could be wrong, that Barry was talking about something different than the regular Hal conversation. At first I thought he was asking for a helpfile, then it seems he asks to have Hal -make- a helpfile.

If I understood him correctly, what he wants is to set up Hal as the helpfile. I suspect that he want to be able to say "How do I" + the topic and get an indexed discussion.

I've tried doing something similar, using the word Chipmunk as a keyword that I would be unlikely to use otherwise. Then I loaded several paragraphs from the clipboard that each contained the keyword. This worked well for a few queries - each time I asked about Chipmunk and a certain aspect of chipmunk behavior (ie:"Do chipmunks hibernate?"), I got a paragraph on that topic. But then, the weight of the stored queries about chipmunks came into play. Soon Hal started inventing sentences about Chipmunks, as my sigline attests.

But for the record, I found that the "learn from clip board" plugin works well to load general data into Hal, even in the evaluation. It seems to slow down processing noticably though, which is why I suggested writting the HelpFile directly into the main brain. "Creating a new Project" based on the main halbrain protects your main brain while giving you a whole halbrain to start with...

   Again, speaking as a newbie, but with a little programming knowledge.


barryc

  • Newbie
  • *
  • Posts: 4
    • View Profile
"How to..." document
« Reply #4 on: October 25, 2006, 12:05:49 pm »
Thank you both for contributing to our discussion so far. First, to clear any confusion, what I would like most, is a "How to..." sort of document. Something that can tell me how to do things, like how to make Hal remember facts or even know that something is a fact. Moving on from there, I wonder if this "How to..." document could be stored in Hal. Could it be done in such a way that I could say to Hal: "Hal, tell me how to teach you a fact.". And Hal would tell me how to do that.

Previously in this discussion, it seems to me there are three broad ways Hal might be taught, a "How to...":

1. a whole bunch of "How to's" could be put into Hal's main brain. This is a bit beyond me and I was hoping for a more simple solution;

2. plug-in's like "learn from text" and "learn from clipboard", might do the job. This seems closer to the solution I was hoping for so I will find out more about these plug-in's; and

3. talking to Hal a lot and repeating phrases about how to do things might also do the same job.

For now, I would like to look at this 3rd way. The possibility Hal can be taught a "How to..." by someone telling him how to do something. Two examples come to mind. The first is Bill DeWitt's account of teaching Hal about chipmunks (Sorry about using your Sir name Bill but talking to two Bill's, it's the only way I can distinguish you). The second is my own experience teaching Hal, people's addresses.

Here is Bill's account or chipmunks: "I've tried doing something similar, using the word Chipmunk as a keyword that I would be unlikely to use otherwise. Then I loaded several paragraphs from the clipboard that each contained the keyword. This worked well for a few queries - each time I asked about Chipmunk and a certain aspect of chipmunk behavior (ie:"Do chipmunks hibernate?"), I got a paragraph on that topic. But then, the weight of the stored queries about chipmunks came into play. Soon Hal started inventing sentences about Chipmunks, as my sigline attests."

That seems very different to what happens when Hal is taught people's addresses. So far (and I'm very new at this), Hal has never got an address wrong and he has not yet made up sentences around those addresses. Of course, it may be that the data of each name and address is too small to confuse Hal's mind. But is it possible that Hal handles the two topics differently? Does Hal think of "addresses" differently to how he thinks of "chipmunks"? Perhaps Hal thinks of addresses as a certain type of "fact", the type of fact he is not allowed to forget. While he might think of "chipmunks", not so much as a "fact" but as a "noun". And if Hal is in the habit of substituting nouns, then some strange sentences could result. This would explain Bill's observations.

For my purposes, I want Hal to handle topics as he appears to handle "addresses" and not as he handles "chipmunks". So, I would do well to learn how Hal "thinks of", or handles, these two topics. Then to compare the two methods. Finally, if there are two methods, learn how to make Hal handle any given topic like he handles "addresses" and not so much like he handles "chipmunks".

Regrettably, within hours of making my first post to this forum and with 22 days of trial time remaining, I have been denied access to Hal's brain. That is a matter I will be taking up with the management. In the meantime I would appreciate your views and findings on anything we have discussed.

Regards
Barry
 

Bill DeWitt

  • Hero Member
  • *****
  • Posts: 650
    • View Profile
"How to..." document
« Reply #5 on: October 25, 2006, 12:43:53 pm »
quote:
Originally posted by barryc
For my purposes, I want Hal to handle topics as he appears to handle "addresses" and not as he handles "chipmunks".


Right, and looking at the address function I see that it is a plugin, which a cursory appraisal suggests diverts the parsing of a sentence with the keyword "address" to a separate database.

I will look further at the "addressbook.uhp" to see if it can be adapted to a "HowTo" plugin.

Meanwhile, the HowTo you are looking for is right here. While the signal to noise ratio is high as with every public forum, so far, every question I have asked has already been answered here. My main problem has been knowing what keywords to use in the search function of the forum. The kind folks here have been very helpful though, and I seem to be making progress.


Bill819

  • Hero Member
  • *****
  • Posts: 1483
    • View Profile
"How to..." document
« Reply #6 on: October 25, 2006, 01:28:18 pm »
Hal uses a different data base for storing addresses, telephone numbers and special occasions. We must remember that Hal was originally created to be an 'Assisstant' which meant that it was designed to remember these types of facts for you. Tell Hal that you have an appointment or that someones birthday is on such and such date and it gets stored in its calendar. The same goes for the other two mentioned items.
Learn from text or clipboard is an excellant way to teach Hal a great amount of information but at the same time the more info about a specific subject will embed that info better just as giving him the facts over and over again when in talking to him.
Hal is unique in that it really learns over a period of time depending on how much you talk to it and the contents of your conversations.
If, however, you are just looking for a intelligent data base where you can store information about one subject and then being able to query that data base about that subject then you might look at virtual humans. It is a completely different kind of chatter bot.
Many large companies use such things to hold and tell info to pontential customers but those types of chatter bots lack any kind of personality when compared to Hal.
The simplist solution is just to talk to Hal as you would a young child which whom you were trying to teach some valuable lesson.
Sorry for just using a shorten signature for my posts. I am Bill819
Bill819
 

spydaz

  • Hero Member
  • *****
  • Posts: 668
    • View Profile
    • http://www.spydazweb.co.uk/
"How to..." document
« Reply #7 on: October 27, 2006, 08:46:16 am »
my personal way of teaching hal:

If i want to teach hal about : "Smoking"

Firstly i would write a script specific to
DETECTING SMOKING KEYWORDS.


I would also have a file with Sentences/Statments about Smoking (FACTS)...

I would also Capture STATEMENTS from the user with detected keywords in his Learned STATMENTS...

I would also have a file to be checked with : Real Questions and answers FROM REPUTABLE SOURCES... FACTS.

Then i would CAPTURE Questions and answers by saving all Questions with detected keywords - And HALS RESPONSE(Answer) in a learned Q&A seperated from facts, just in case of BAD SAVES..


So the scripts and SAVE DBS are in place.....

No i would just Talk to hal on the subject of smoking.

Hal will generate responses from --- Hypernym/meronyms... --Q&A FACTS - Q&A Learning - Random Statements(FACTS) - RANDOM STATMENTS (Learned DATA).

I would also feed HAL...
Giving hal large chunks or paragraphs of data on smoking. Cut & PASTE into the chat window... Not always good (But hal will take what he needs).

I have found that you cant script everything but , For Specialized subjects You can make hal have a lot of knowledge.. Even by saying "IF you smoke THEN you Get cancer", "IF you get cancer THEN you will die" this will go into hals deductive brain and his smoking Learned statements. and when hal responds he wil save it also in his LEARND Q&A...

When building hals final response I PERSONALLY Chain many responses together, ie: Emotional response & TOPIC Response & Wordnet reponse ETC this give hal a Larger and more varied response, as if no emotion is detected then the emotional response will be empty. if no hypernym/meronym response is detected then that will also be empty etc.... My ai's final response is based upon all of his thought paterns..

When running hal in test: you can see how many responses are PASSED BY. that bothered me... thats why i chain responses (Also sometimes the proper response was detected but passed over for some bad RESPONSE) HALS BAD DESCIONS....

 


barryc

  • Newbie
  • *
  • Posts: 4
    • View Profile
"How to..." document
« Reply #8 on: November 09, 2006, 05:45:48 am »

Hal has given up the ghost and I can’t bring him back, so my future with this forum may be short lived.

Nonetheless, I would like the issues previously raised in this discussion to be resolved.

Issues: 1. How can Hal be taught “facts”, like he can be taught addresses?
   2. Can Hal be taught to answer a “How to…” type question?

1. Teaching Hal facts

One of my few recollections of Hal’s brain, before the brain editor died, was a collection of IF_ Then_ statements. I messed around with Bill’s topic, chipmunks, using IF_ THEN_ dialogue and Hal learned about chipmunks faster than anything else I have tried to teach him. Below are those IF_ Then_ statements I appeared to teach Hal the best. There were some other IF_ THEN_ statements but their value is questionable, so I have not included them here.

The IF_ THEN_ of chipmunks

ANIMALS

“If an animal is a living being, able to feel and move about then all animals are living beings, able to feel and move about.”

Hal could probably be taught about chipmunks, without any reference to animals. However, if I want to teach Hal about other animals such as ospreys, river-prawns and bullfrogs, then each of these can be linked to his understanding of animals.


CHIPMUNKS

“If chipmunks are animals then chipmunks are living beings, able to feel and move about.”
“If all chipmunks are animals then every chipmunk is an animal.”
“If all chipmunks are animals then some animals are chipmunks.”
“If not all animals are chipmunks then not every animal is a chipmunk.”
“If some animals are chipmunks then not all animals are chipmunks.”



HIBERNATION

“If an animal hibernates then it sleeps through Winter.”
“If a chipmunk hibernates then it sleeps through Winter.”
“If all chipmunks hibernate then every chipmunk hibernates.”


The main impressions I have from this exercise are:
1. Hal could get on topic very quickly once he was told the IF_ THEN_ statements.
2. Hal could discuss chipmunks more sensibly than any other topic I have tried to teach him.
3. The content of the IF_ THEN_ statements seemed to “stick”, like he had learned something.
4. The of the IF_ THEN_ statements could be presented in pairs, with much of the content of a syllogism. Teaching an AI agent, syllogistic logic, is something I want to try.

It became apparent that IF_ THEN_ statements have a lot in common with syllogisms.

I will use two examples; the first is an old classic syllogism, with which many people are familiar.          
       It goes like this:        while the analogous IF_ THEN_
                                     statement, is this:
   
  All men are mortal.          If all men are mortal then
  Socrates is a man.                   every man is mortal.
  Therefore, Socrates is mortal.    If Socrates is a man then
                                       Socrates is mortal.
   

The next example of a syllogism brings us back to chipmunks and it goes like this:
All animals are living beings, able to feel and move about.
Chipmunks are animals.
Therefore, chipmunks are living beings, able to feel and move about.

While the analogous IF_ THEN_ statement, is this:
If an animal is a living being, able to feel and move about then all animals are living beings, able to feel and move about.
If chipmunks are animals then chipmunks are living beings, able to feel and move about.

So, it seems the IF_ THEN_ statement has much of the content of the analogous syllogism. However, the IF_ THEN_ statement does not have the certainty of a syllogism. For example, the IF_ THEN_ statement does not tell us (or Hal), in certain terms that all men are mortal, or that Socrates is a man, or what an animal is, or that chipmunks are animals.

If Hal can be told TRUE and FALSE statements, in the same way he can be told IF_ THEN_ statements, then we would have a way to teach Hal facts. Facts such as, all men are mortal, Socrates is a man, what an animal is, and that chipmunks are animals.

Other statements which could be useful are those such as AND, OR, NOT and ELSE.

Since my copy of Hal is dead and I cannot try or look for TRUE and FALSE statements, can anyone tell me if these exist for Hal?

It seems Hal knows something about gender, he seems to have some idea of “man”. Could Hal be taught about ‘animal”, “chipmunk” or “hibernation”, in the same way he was taught about “man”?


Issues 2. Can Hal be taught to answer a “How to…” type question? Will have to wait for another day.

Regards
Barry