Zabaware Support Forums

elephant brain

Started by macdaddyb, September 15, 2006, 12:49:59 AM

Previous topic - Next topic

macdaddyb

I hear that HAL needs repetition to learn something. Is there a way to make CERTAIN he remembers something the first time you tell him? I want to know that if I tell him "a" is "b" he'll remember the FIRST time, so I can retrieve that info later. I don't want to have to keep repeating something till I see a little light bulb on his head. If I turn up the learning level to the max, will that do it?

Now, what if that status changes? If tomorrow, "a" is now "c", and no longer "b", can I convince him the new statement is true, and to forget the old statement?

Example:
Me: chicken is for dinner.
Hal:I'll remember that.
me: What is for dinner?
Hal: chicken is for dinner.
Will he rember what's for dinner each time I tell him, or might I have to repeat it before he remembers? What if the next day I tell him;
Me: fish is for dinner tonight.
Hal: I love fish!
me: what is for dinner?
hal: ????
is he going to tell me "fish", or "chicken"? Is he going to just randomly pick one of the two to talk about? I just want him to remember a fact until I tell him otherwise.

I also want to make sure I can use his ability to store facts with certainty through the AIM bot. here's an example;

Me (at work through AIM): HAL, remember that I have to do laundry tonight when I get home.
HAL AIM bot: Okay, I'll remmber.
Me (at home that night): What do I have to do tonight when I get home?
HAL (from home PC): You have to do laundry tonight when you get home.

Is it possible to pick his brain like that, or would there have to be modifications made to his default brain? I'm not a programmer, but I can sorta read code. I think I might be able to manage a minor mod in the script through the brain editor, if someone could point me in right direction.
My trial ran out, and I never really dug into the brain editor to figure it out. I would like to know before I buy if it will do the trick.
 

onthecuttingedge2005

quote:
Originally posted by macdaddyb

I hear that HAL needs repetition to learn something. Is there a way to make CERTAIN he remembers something the first time you tell him? I want to know that if I tell him "a" is "b" he'll remember the FIRST time, so I can retrieve that info later. I don't want to have to keep repeating something till I see a little light bulb on his head. If I turn up the learning level to the max, will that do it?

Now, what if that status changes? If tomorrow, "a" is now "c", and no longer "b", can I convince him the new statement is true, and to forget the old statement?

Example:
Me: chicken is for dinner.
Hal:I'll remember that.
me: What is for dinner?
Hal: chicken is for dinner.
Will he rember what's for dinner each time I tell him, or might I have to repeat it before he remembers? What if the next day I tell him;
Me: fish is for dinner tonight.
Hal: I love fish!
me: what is for dinner?
hal: ????
is he going to tell me "fish", or "chicken"? Is he going to just randomly pick one of the two to talk about? I just want him to remember a fact until I tell him otherwise.

I also want to make sure I can use his ability to store facts with certainty through the AIM bot. here's an example;

Me (at work through AIM): HAL, remember that I have to do laundry tonight when I get home.
HAL AIM bot: Okay, I'll remmber.
Me (at home that night): What do I have to do tonight when I get home?
HAL (from home PC): You have to do laundry tonight when you get home.

Is it possible to pick his brain like that, or would there have to be modifications made to his default brain? I'm not a programmer, but I can sorta read code. I think I might be able to manage a minor mod in the script through the brain editor, if someone could point me in right direction.
My trial ran out, and I never really dug into the brain editor to figure it out. I would like to know before I buy if it will do the trick.




Hi macdaddyb.

If you wish to help out the Zabaware team here by purchasing Hal6 then I would love to program a higher archy code that will do just that for you when I got time, I think just about everybody who has asked for developement from me has had their scripts written, I can't recall forgetting about anybody with the exception of over looking a post now and then.

Jerry[8D]

spydaz

It is possible to write a script to save the information in a DB

DETECT "IS FOR" if detected then split sentence saving the first part in FEILD 1 "FISH" , secondpart "DINNER on friday" removing the "IS FOR"....

DETECT "WHAT IS FOR" if detected
split ("what is for" --- first part"
"Dinner on friday" secondpart...
Search for feild1 where feild2 = SECONDPART...

response = feild1 & " is for "  & secondpart....


A simular approach is required.... THE ABOVE IS NOT VBSCRIPT....

Just and idea HOW TO APPROACH IT....

All is possible with a little forethought...


onthecuttingedge2005

Actually Hal is already capable of doing so, If you add EPHEMERAL words to the Table like: DINNER, TONIGHT and so forth Hal will add these EPHEMERAL statements of up to ten sentences.

If you wish the EPHEMERAL script to have more relavance you can tweak it out a bit or you can even move the script down further into the Brain so that it would respond more.

Here is the default EPHEMERAL script that comes inside HAL6's Brain.

This Script will remember 10 sentences that are EPHEMERAL and will be replace by new EPHEMERAL sentences as they are refreshed with new sentences that are EPHEMERAL.

'RESPOND: EPHEMERAL KNOWLEDGE
   'Some Hal's learned knowledge should be temporary because it is ephemeral in nature.
   'Hal stores this knowledge in a temporary table that only stores 10 entries in it at
   'a time. We search this table for a response first.
   GetResponse = HalBrain.HalFormat(GetResponse)
   If Len(GetResponse) < 4 Then
       UserBrainRel = 0
       HalUserBrain = HalBrain.QABrain(LongUserSent, Trim(LCase(UserName)) & "_TempSent", UserBrainRel)
       If HalBrain.CheckRepetition(HalUserBrain, UserSentence) = True Or HalBrain.CheckRepetition(HalUserBrain, PrevSent) = True Or HalBrain.CheckRepetition(HalUserBrain, PrevUserSent) = True Then UserBrainRel = 0
       If UserBrainRel > HighestRel Then
           HighestRel = UserBrainRel
           HighestRelResponse = HalUserBrain
       End If
       Score = UserBrainRel + 1
       Hurdle = GainControl + 5
       If Len(GetResponse) < 4 And Score > Hurdle Then GetResponse = GetResponse & HalUserBrain & vbCrLf
   End If
   HalBrain.DebugWatch GetResponse, "Ephemeral Knowledge"



'SAVE: EPHEMERAL KNOWLEDGE
   'Some Hal's learned knowledge should be temporary because it is ephemeral in nature.
   'Knowledge about weather, season, temperature, etc. are temporary knowledge
   'that shouldn't be stored in Hal's permanent brain files. Ephemeral knowledge is
   'detected and saved in a temporary table. The temporary table only stores 10
   'entries in it at a time.
   If HalBrain.TopicSearch(UserSentence, "ephemeralDetect") = "True" Then
       If HalBrain.CheckTableExistence(Trim(LCase(UserName)) & "_TempSent") = False Then
           'Create table for this user if it doesn't exist
           HalBrain.CreateTable Trim(LCase(UserName)) & "_TempSent", "Brain", "autoLearningBrain"
       End If
       If TopicContinuity = True Then HalBrain.AddToTable Trim(LCase(UserName)) & "_TempSent", "Brain", Trim(HalBrain.AlphaNumericalOnly(PrevSent)), AnswerSent
       HalBrain.AddToTable Trim(LCase(UserName)) & "_TempSent", "Brain", Trim(UserSentence), AnswerSent
       HalBrain.LimitSize Trim(LCase(UserName)) & "_TempSent", 10
       HalBrain.ReadOnlyMode = True 'Block additional file saves when ephemeral knowledge is detected
   End If


Jerry[8D]

macdaddyb

Thanks Jerry, Spydaz. Excellent starting points, I appreciate it.[:D]
I went ahead and bought HAL, I didn't need much coaxing since I do enjoy chatting with him just as he is.
The EPHEMERAL KNOWLEDGE section sounds like the right track. Now that I can play with the editor and hal again, I'll take a closer look. I kinda figured he could do it already, somehow. I bet if I add some additional words, I can get him to keep the data I need.
I may be back if I can't figure it out.