Zabaware Forums > General Discussion

[red]I am not sure which way to go[/red]

(1/2) > >>

dmacdonald111:
Can anyone help me. I am not sure which way to go about teaching Hal (the name I have given to Robby the robot). Do I try and teach him by sticking to the same subject until he has grasped it, or follow him when he changes subjects. Some things he seems to learn straight away and other things he just doesn't pick up but I cannot see any definate pattern as to how he is learning this.

Any help would be gratefully appreciated.

Dan

markofkane:
I believe as a FAQ, you tell Hal things, like:

"The sky is blue"
"My favorite color is blue"
"Your favorite color is pink"
"My favorite food is pizza"

You have to feed Hal information. I usually ignore Hal if he changes the subject, unless I cannot think of anything to say.

But someone with more experience than I could probably tell you how to train Hal better than I could.

vonsmith:
dmacdonald111,
The answer to all your questions are here in the forum. Use the 'Search' function near the top right part of the forum page. You will be amazed at the wealth of information previously discussed in the forum.

Here are some results of a search I did on your topic:

http://www.zabaware.com/forum/topic.asp?TOPIC_ID=1933&SearchTerms=how,to,teach,hal,sentences,if,then

By the way, which Hal brain are you using? If you are using the XTF Brain then just converse with Hal normally. You can nudge, but don't force Hal to stick to one subject. Don't feed him knowledge from a list by rote. The original Hal and especially the XTF Brain learn from normal conversation. Use good grammar and spelling. Avoid slang during Hal's early training. If Hal asks questions then answer them accurately. In general use single sentences, not multiple sentences, when conversing with Hal.

=vonsmith=

onthecuttingedge2005:
quote:Originally posted by dmacdonald111

Can anyone help me. I am not sure which way to go about teaching Hal (the name I have given to Robby the robot). Do I try and teach him by sticking to the same subject until he has grasped it, or follow him when he changes subjects. Some things he seems to learn straight away and other things he just doesn't pick up but I cannot see any definate pattern as to how he is learning this.

Any help would be gratefully appreciated.

Dan


Hi Dan.

In My studies of programming with Hal I know that one line per brain file is usually appended per statement.

It is this one line appending which sometimes makes Hal less responsive, For some reason when Hal searches for a proper response the bot will search an enormous collection of information, Hal has more than one possible response that it thinks it has to choose from so the response you expect may be 1 out of a possible hundred responses that are similiar.

I also understand that files with less lines of collected information are called upon rarely and may be rarely used until the file gets larger, Files with less than 1 meg are usually retarded from being responsive.

I have noticed a key number through my research for better responses is that if 3 appending lines are saved inside the same file the file becomes less retarded and will be called on more often.

an example:
@Cats have long tails.
CATS HAVE LONG TAILS

compared to:
@Cats have long tails.
CATS HAVE LONG TAILS
@Cats have long tails.
CATS HAVE LONG TAILS
@Cats have long tails.
CATS HAVE LONG TAILS

The set of 3 QA responses gets found easier by QA and has 3 times more response power.

This also works for newly created files such as topic search and choose sentence from file.

Having only a single line appending requires repetive teaching to build up at least 3 of the same sentence to make it responsive in memory.

From my experience it is better to just append the 3 lines instead of having to tell the bot 3 times before it's picked up.

A file with 0kb with only 1 line in it will "never" be used in a response.

This is what I have learned and wanted to share it with you.

Jerry.

vonsmith:
onthecuttingedge2005,
Interesting thoughts. It's possible that the HalBrain.QABrain() search function created by Zabaware may not handle .brn files with one response in them correctly. This is only a suspicion since I haven't specifically tested it recently. I think this may also be related to the need for an extra carriage return character at the end of most .brn files. Fortunately it is very rare for a .brn file to have a single response for very long. I'm pretty sure the HalBrain.ChooseSentenceFromFile() function has a problem with files with only one response line. This is why the XTF Brain Nickname function places two identical lines per user nickname in the XTF_SYS_UserNickname(username).brn file.

I am skeptical about your observations about the repetition of the same responses in the QA format .brn files. I've worked with the HalBrain.QABrain() function extensively and haven't observed this characteristic. I wish I had Zabaware's source code to check it out. The XTF Function within the XTF Brain actually tries not to add repetitive responses into QA format .brn files to keep those files from becoming overly large. The XTF Brain still chooses the correct response even if the response only occurs only once in a .brn file. The XTF Brain also relies on some XTF specific .brn files that are designed to have one, and only one, occurrence of a response.

However adding extra identical lines to .brn files accessed by the HalBrain.ChooseSentenceFromFile() *will* increase the likelyhood of that response being chosen. The XTF_SYS_UserNickname(username).brn operates that way. The more frequently a nickname appears in that file the more likely it will be chosen. This is just a statistical probability.

For those who haven't tried the XTF Brain nickname function out just try this:

User: My nickname is Mud.
Hal: May I call you "Mud" sometimes?
User: Yes.
Hal: Okay, I'll call you "Mud" as a nickname.

You can enter as many nicknames as you want this way. The more times a nickname is entered the more often it will be used in lieu of the other nicknames. To remove a nickname you have to manually delete the nickname line from the "XTF_SYS_UserNickname(yourusernamehere).brn" text file in the DefBrain directory. Hal will use your new nickname infrequently in any case.


=vonsmith=

Navigation

[0] Message Index

[#] Next page

Go to full version