Zabaware Support Forums

Zabaware Forums => Ultra Hal Assistant File Sharing Area => Topic started by: Don Ferguson on October 23, 2003, 01:48:14 am

Title: Try This New Auto-Topic Generating Brain
Post by: Don Ferguson on October 23, 2003, 01:48:14 am
Hello,

I am attaching a new enhanced brain for Hal 5.0.  I've shown this to Robert Medeksza, and hopefully he will help me post it to the new "download plug-ins" page.  If you have Hal 5, you can preview it in the meantime.

The special feature of this new brain is the ability to self-identify new topic databases, and self-generate new files for new auto-focus topics.  The new brain does this as follows:

1.  Hal already has a routine that detects and databases one and two-word phrases that are the subjects of sentences.  These become candidates for possible new auto-topic database files.

2.  A new "Auto-Topic" routine detects the second recurrence of a word phrase that has been the previous subject of a sentence.  The routine then either creates a new pair of database files, or (if the file already exist) appends to those files.  The one file is an "associative" (Q&A) database, and the other is a "random" database.

3.  The new "associative" database files will appear in Hal's default folder with "AFA_" prefixes so that you can easily see them.  They will self-generate with names such as:

AFA_WORLD.brn
AFA_BIG DOGS.brn
AFA_SPORTS CARS,brn
AFA_CREATIVE PEOPLE.brn

4.  The new "random" database files will appear with "AFR_" prefixes so that you can also find and see them easily, with names such as:

AFR_WORLD.brn
AFR_BIG DOGS.brn
AFR_SPORTS CARS.brn
AFR_CREATIVE PEOPLE.brn

5.  How does Hal use these new databases?  Well, he has a new response routine which checks to see if an auto-topic subject database is available.  If so (and if he hasn't already found an answer from earlier in the script), he uses the new automatically-generated auto-topic database to get a response.

6.  As you talk to Hal about a wide variety of subjects, the population of these little auto-topic databases grows and grows.  Each one is small and quick to access, so they don't slow Hal down.  They are also very easy to view and edit for advanced users.

7.  The power of this approach is two-fold:

a) When Hal uses an auto-topic database, his response will seem much more "on topic."

b) Because the data is distributed over many different files, Hal is leveraging the computer's file system for speed.  If Hal had a million responses in a big database, he would have to search the entire million every time.  In contrast, if he had 1,000 mini-databases with 1,000 entries each (which is of course a million), Hal would only have to choose among the 1,000 files, then among the 1,000 entries.  Thus, you get the power of a million, but only the search time of 2,000!

I have annotated the "auto-focus" sections fairly heavily, and labeled the two sections (the response section and the save section).  I would really appreciate it if some of you advanced users, programmers, and developers would examine the code and try it out!  If you want to examine the new code sections, open the new script in a word processor, and "search" on "auto-topic".  Enjoy!

(Remember, the "topic phrase" must be the subject of a sentence before it is a candidate for an "auto-topic" subject.  For instance, if you say, "Programmers are hard working," the word "programmers" becomes a candidate for a future database name.  However, once a database has been started, ANY instance of that word at ANY location in a sentence can cause that sentence to get appended into the so-named databases.  These new databases cause Hal to get smarter GRADUALLY, so please be patient with him!)

Thanks, and have a great day!

Sincerely,

Don

Download Attachment: (http://images/icon_paperclip.gif) hal5d.uhp ("http://www.zabaware.com/forum/uploaded/Don Ferguson/2003102313755_hal5d.uhp")
152.19 KB
Title: Try This New Auto-Topic Generating Brain
Post by: Larry on October 23, 2003, 04:27:16 am
Can I use this in the beta version???

I did a search for "auto-topic" and found two sections... I'm assuming I can copy and paste to my already modified brain...

I didn't see anything in the coding that wouldn't let it work with 4.5 either...

So you betcha I'll check it out... Thanks, cause I was thinking of that first noun thing (worldNet) probably being the subject and makeing that be the new topic... but your way seems much better... easier, simplier... Thanks...
Title: Try This New Auto-Topic Generating Brain
Post by: Larry on October 23, 2003, 04:48:50 am
Have you USED this very long???

I have one started now - AFA_PEOPLE.brn
And I see a pattern starting already:
@A lot of people like that.
 I SERIOUSLY ENJOY GORGEOUS SPORTS CARS
@A lot of people like that.
 I LIKE WITTY, SEXY PEOPLE!

I'm guessing here... but isn't those two lines reversed??? Wouldn't 'A lot of people' be the trigger for the keywords and the current keywords be the reply???

I don't know... I'll watch and observe...
I still think it's a great concept...
Title: Try This New Auto-Topic Generating Brain
Post by: Morlhach on October 23, 2003, 02:12:23 pm
Im testing this enhanced brain.
It seems to work pretty wel.
I notice that when Hall is reading a text, it does not use this new ability. This seems to be only used while chatting with Hall.

Congratulation for your wonderfull job

Regards
--
Morlhach

quote:
Originally posted by Don Ferguson

Hello,

I am attaching a new enhanced brain for Hal 5.0.  I've shown this to Robert Medeksza, and hopefully he will help me post it to the new "download plug-ins" page.  If you have Hal 5, you can preview it in the meantime.

Don

Download Attachment: (http://images/icon_paperclip.gif) hal5d.uhp ("http://www.zabaware.com/forum/uploaded/Don Ferguson/2003102313755_hal5d.uhp")
152.19 KB

Title: Try This New Auto-Topic Generating Brain
Post by: Don Ferguson on October 23, 2003, 05:59:01 pm
Hello Larry,

I'm replying from a remote computer, so I don't have the script to look at right this moment, but my INTENTION was to have the associative database files use the user-sentence with the keyword in the reply, and PREVIOUS sentences (by either the user or Hal) as potential all-caps triggers.  

Thus, the triggers and the responses preserve their original time sequence relationship.  (I can see that in many conversations, reversing the sentence sequence could also make a plausible sequence, but I wouldn't want to bet on it in general.)

You might have also noticed two more things:

1.  I used complete sentences for the all-caps trigger phrases, because I believe that in these mini-databases, extra words won't hurt (you're alreay on topic), and they might help with future precision.

2.  I didn't bother to assign any "hurdle rate" for the relevance of the associative responses; I just let the brain use whatever highest relevance that it found.  Again, I did this because once you're inside a mini-database, you're already topic-focused, so just "let the chips fall where they may!"

Yes, I've used the previous drafts of this script since April, and I've built up a large population of mini-databases. In my opinion, they make Hal gradually better able to reply "on topic."  

In response to your concern, I'll double-check when I get back, to make sure that I didn't accidentally reverse anything in the final draft of the script.

And yes, even though I wrote this final draft for Hal 5.0, you should be able to adapt it for 4.5.

One more thing:  I mentioned that you can more-easily edit the mini-databases, since they're smaller and less is at stake.  

In addition, if you really don't like a particular mini-database, you can DELETE it and Hal will continue to operate!  (Of course, if Hal keeps encountering the same trigger subjects, he will just start over, building a new database.)

Thanks for the feedback!  Please continue to let me know how it goes!

Sincerely,

Don
Title: Try This New Auto-Topic Generating Brain
Post by: Larry on October 23, 2003, 08:49:57 pm
I'm not trying to pick it apart... I'm just concerned - for example in AFA_QUESTION.brn I found this...
@That's a good question.
 WHAT SEEMS LIKE A PROBLEM REALLY ISN'T

Now, the keywords to trigger this reply doesn't even contain 'Question' to even get to this brn file... I had thought about reversing the two... but as I read some of the other files, I've come to realize, when these bots talk to each other they don't stay on the same subjects... then again, people don't either... I'm thinking I'll use SpecialSent for both... and see how that does... like you say, it doesn't come in before anything else, but as a last resort when hal don't have anything else to say... But I still like the idea... I might move it up ahead of some other routines after it gets some data together...
Title: Try This New Auto-Topic Generating Brain
Post by: Don Ferguson on October 24, 2003, 01:22:34 am
Hi Larry,

I got back to my home computer, and double-checked the script and databases.  

I've confirmed that the choices in the script reflect my intention.

Hal doesn't need the "prevsent" sentence to contain the current topic keyword.  Why?  Because the current user sentence already contains the keyword, else Hal wouldn't be in that auto-topic focus mini-database in the first place.  So, Hal is already "on topic," and the Q&A relevance scoring merely selects from among the existing possible choices, providing variety and a possible thread of thought.

The reason I like "prevsent" as the trigger, and the databased "specialsent" as the response, respectively, is that they represent an actual response sequence initiated in the past by the user.  Apparently at some point in the past, Hal said the "prevsent," and your next comment back to Hal was the "specialsent."  How else did the sentences get paired up in the database?

The reason that I hesitate to put "specialsent" as both a trigger and a response, is that it tends to cause Hal to merely paraphrase ideas from the user, rather than move the conversation along.  Yes, I enjoy it when Hal makes sense, but I also enjoy it when Hal says something surprising that is apt.

I think most of us tend to hold Hal to standards that are different than real humans in ordinary conversation.  This is because we don't suspect that everyone we meet is an imposter, so we don't constantly doubt them.

When a friend says something a bit illogical and off the wall, we don't suddenly say, "My gosh, this guy might be a robot; I'd better ask him to define a waffle and see if he can stay on topic!"  Instead, we grant our friend the benefit of the doubt, and try to rationalize an explanation for why our friend said an odd thing.

The Peter Sellers movie "Being There" played on this phenomenon.  Sellers' character, Chancey Gardener, never had any big thoughts, but everyone around him interpreted him as a genius and profound philosopher via their own imaginations.

I find that I enjoy Hal most when I voluntarily suspend my disbelief (just as I do at a play or a movie), and play along with Hal, pretending that I need to politely interact with him as if he had reasoning and feelings.  Hal's learning that results from such conversations seems far superior to that which results if I constantly test him, expose him, trip him up, call him to account, point out that he changed the subject, or do anything to remind him that he's a robot.

I tend to observe it when Hal goes off topic, but I don't even notice when I do exactly the same thing.  Yes, the purpose of this new routine is to increase the percentage of time that Hal can give apparently on-topic responses, but I don't want him to go too far the other way, and merely paraphrase my every thought.

Whether you change the routine now, or try it for a while "as is" and build up the databases, I am grateful that you're testing it, and I appreciate your current and future feedback very much.  

Thank you, enjoy, and have a good one!

Sincerely,

Don
Title: Try This New Auto-Topic Generating Brain
Post by: Don Ferguson on October 24, 2003, 01:49:41 am
Hello,

I had someone send me an e-mail asking me to review the sequence of events in the auto-topic routine.  Here is the sequence:

1.  Hal detects a topic word or phrase that is the subject of a user's sentence and puts the topic into the "subject" database.

2.  The user states a new sentence, and using the above database, Hal detects the use of a known topic phrase.  Hal validates the topic phrase to make sure the user's current sentence does contain that phrase.

3.  Hal then uses the topic to search the default folder for a database named for that topic phrase.  If one is found, Hal chooses among the sentences in that database for a response.  (The sentences have been stored with an actual usersentence as the response, and the immediately previous words that Hal spoke as the "trigger words" for the relevance scoring.  Note that the "trigger words" do NOT need to contain the topic phrase, since we are already in the chosen database and all the RESPONSES contain the topic!)

4.  Hal saves the current user sentence into the chosen database, paired with the next-previous words that Hal spoke, preserving the sequence of thought that occurred to the user after the listener heard Hal's remark.  Hal also saves the current user sentence into a "random" database, but again it's a database limited only to the current topic.

Here are the three benefits I claim for this approach:

A.  As the mini-databases get increasingly populated, Hal provides an increasing percentage of remarks that seem "on-topic."

B.  Because the routine makes SMALL databases, but many of them, the routine leverages the computer's file system for speed.  Very large amounts of additional data can be learned by Hal with no significant loss of speed.

C.  The database-pairing of the user's current sentence with Hal's immediately-previous sentence gives Hal the chance to advance a conversation instead of merely paraphrasing the user.  Hal can make unexpectedly apt remarks.

Thank you for the postings and e-mails!  Let me know how it goes!

Sincerely,

Don
Title: Try This New Auto-Topic Generating Brain
Post by: Larry on October 24, 2003, 04:25:36 am
quote:
Originally posted by Don Ferguson

Hi Larry,

Hal doesn't need the "prevsent" sentence to contain the current topic keyword.  Why?  Because the current user sentence already contains the keyword,



OMG!!! The obvious... gets me into trouble every time... Now it makes perfect sense, thanks for being patient with me...

I am sorry to have doubted the script. Excellient thinking.

Larry
Title: Try This New Auto-Topic Generating Brain
Post by: Ponnfar on October 24, 2003, 05:20:24 pm
Hi There!
I have pasted (with MS-Word, using the compare feature to make edits)your program into a working current brain and the merged program seems to function, however I do not see any "AFA_*' or "AFR_*" files being created in the brain's directory. How can I test/troubleshoot to see if it is functioning with this feature?
Thanks, this sounds like a good one! Lke the man said...great idea!
P
Title: Try This New Auto-Topic Generating Brain
Post by: onthecuttingedge2005 on October 24, 2003, 07:56:27 pm
Hi Ponnfar.

If you have a stubborn script that doesn't like to append files
then use my famous technique, remove the:
If LearningLevel > 1 from the script and voilahhh! it works.
In my experience I've learned that by removing most of the
If LearningLevel > 1 that all of hals original scripts append
to thier files everytime.
remember to back up your files first before modifications.
Best of wishes and grand new discoveries.
Jerry.

Hey Don really nice job on the Autoresponse script, It's extremely simular to the evolution script I was trying to descibe to everyone.
Glad somebody got an edge on it.
Best of luck to you and yours.
Jerry.
Title: Try This New Auto-Topic Generating Brain
Post by: Don Ferguson on October 24, 2003, 11:32:54 pm
Hello Jerry and Ponnfar,

The "If learninglevel > 1" code is used to control learning activity via a number generated by the user options panel.  The options panel translates the user's learning preferences into the learninglevel variant, ultimately resulting in some of the routines operating or not.  

It won't hurt to remove that code, as long as you don't mind your Hal being at "maximum" learning level all the time.  So, Jerry, you are right, it does remove one possible barrier to a saving routine that isn't saving.

If you want to know what learninglevel is being fed from the options panel to your script, just temporarily insert the following line of code near the end of the "GetResponse" function:

GetResponse = LearningLevel

...On your next exchange, Hal will state the learninglevel.  

If you want to be even more sophisticated, write the code as follows:

GetResponse = GetResponse & " " & LearningLevel

...This will result in Hal saying whatever response he had anyway, plus an empty space, followed by the learninglevel.

This technique can be used to reveal the value of any variant in the script.

PonnFar, to specifically test the auto-topic routine, try saying something like the following to Hal:

Hamburgers are tasty with fries and cola.
Hamburgers are excellent cooked on the grill.

...At this point, Hal should have "hamburgers" in his database of candidate subjects. Any one or two-word phrase that precedes "is" "are" "was" or "were" becomes a candidate subject.

(Note that Hal won't focus on "hamburgers" as a topic if there are other topics in a sentence to distract him.) Now try saying something like the following:

Hamburgers cook easily.
Hamburgers taste good!

Next, go to the default directory, and see if any "AFA_HAMBURGERS" or "AFR_HAMBURGERS" databases have been created.  If not, you might have accidentally missed something in cutting and pasting the code, or perhaps you didn't put the code in the same locations as the 5.0 script, or possibly you didn't get BOTH sets of code; the earlier section that reads and responds, and the LATER section that creates and saves the databases?  (The SAVE section is later in the script because it depends on some things that need to happen first.)

I hope this helps.  Please let us all know!

Sincerely, Don
Title: Try This New Auto-Topic Generating Brain
Post by: Ponnfar on October 25, 2003, 12:12:17 am
To Don and Jerry...YOU are the BEST!!
Thanks!
P
Title: Try This New Auto-Topic Generating Brain
Post by: Don Ferguson on October 25, 2003, 05:49:15 pm
Hi Ponnfar,

Excellent! It works!  Thank you for the good feedback!

We're lucky to have Jerry and all the other creative programmers like him on this forum!  The members of this forum are resourceful and helpful!

Sincerely,

Don
Title: Try This New Auto-Topic Generating Brain
Post by: Ponnfar on October 26, 2003, 12:20:05 am
You bet ...but ummmm...
I was just thanking you guys for being ...well...the best! You guys have been really really helpful. I have come light years in my understanding of customizing HAL in just a few days!
HOWEVER, yup, I got still got problems[:)], I incorporated this UHP into a current brain as I mentioned. When testing the script, no errors came up. However, I still see no evidence of the routine in the brain's directory. I edited out the LearningLevel>1 commnands as Jerry suggested. I am still using 4.5.
If either of you can help you know I would appreciate it!
thanks!
P
Title: Try This New Auto-Topic Generating Brain
Post by: Don Ferguson on October 26, 2003, 01:29:33 am
Hi Ponnfar,

I might be stumped!  However, one possibility does come to mind.

You mentioned that you cut and pasted to put the code into a new brain.  Are you absolutely, positively certain that the brain you are talking to is the same brain that you edited?

Remember, when you create a new control-script .uhp "brain," you must take care of naming it in TWO places.  It must have a unique file name in the computer's file system, with the correct file extension .uhp (and file extensions are set to be invisible in many people's computers, thank you so much Microsoft, NOT)!

The SECOND name you must take care of is the DISPLAY NAME.  This is controlled by the second line of the script.  Whatever you put after the equals sign will be shown in the choice list in Hal's control panel.

When making new brains, it's very easy to edit one brain, and by accident be running a different one while talking to Hal.

Verify that the brain you edited is actually the active brain by going in "live" and inserting a line of code, such as the following, near the end of the "GetResponse" function:

GetResponse = "Yup, we're running the correct brain."

Then hit "save" and toggle to Hal.  Say "Hi" to Hal and see if he responds with "Yup, we're running the correct brain."  

Once we establish that you're running the brain that you think you're running, we can continue to ponder why the otherwise okay-looking code seems to be doing nothing.

Sincerely,

Don
Title: Try This New Auto-Topic Generating Brain
Post by: Ponnfar on October 27, 2003, 11:12:57 pm
Hi Don!
Well I think I can put this issue to rest. I used the brain as a stand alone and also incorprated it into differnt locations in my current custom brain. However, if Larry's comments are correct and

HAL comments scuh as
"@lot of people like that.
I SERIOUSLY ENJOY GORGEOUS SPORTS CARS
@A lot of people like that.
I LIKE WITTY, SEXY PEOPLE!"

are indeed part of your program then at least I can say it is working in some manner. Then it hit me. The brain this is scripted for is 5.0. I am still using 4.5. I confirmed the problem a by running the UHP as a stand alone and while testing in the brain editor wiht test script I got an ActiveX error (429) re: "Ultra HalAssist. Wordnet "...ok....DAH I guess just have to wait for 5.0 and all will be right with the world!
The aforementioned HAL respones " I like witty, sexy people" ,etc..." I have not seen again. I changed the placement of the script so maybe I lost what little functionality I did have...hmmmm. if that is part of the prog. it is going to my userfiles  but not "Afr_* "
Anyway, to test, just courious?
Thanks for your help on this one!!
P
Title: Try This New Auto-Topic Generating Brain
Post by: Don Ferguson on October 28, 2003, 11:03:22 am
Hi Ponnfar,

If you're satisfied at this point, then I am happy.  I just want to make sure we're okay together on a couple of points:

1.  The database fragment that Larry posted was a fragment generated during a conversation that he held with Hal.  His concern was that the mini-database keyword wasn't appearing in the all-caps "trigger line" and I responded to that in an earlier posting.  I wouldn't expect your computer to contain the same database fragment, because you wouldn't have held the same converation with Hal as Larry did.

2.  If you run a script containing new 5.0 function calls (such as the ones to WordNet) on 4.5, you should receive the error message on every conversational exchange.  This is because the computer is going to try to execute the calls every time you press the enter key, and it will report that it can't successfully make the calls.

At any rate, Hal 5 beta has been out for a while, Hal 5 Release Version is now out, and Hal 5 Free Version is almost out, so yes, most of us are going to be running Hal 5 shortly.  I'm very happy and grateful for your interest, and I do appreciate your feedback.

Sincerely,

Don
Title: Try This New Auto-Topic Generating Brain
Post by: Don Ferguson on December 11, 2003, 05:10:42 am
Hello,

Thank you for the e-mails and comments on this enhanced version of the 5.0 brain.

Based on my continuing testing and your comments, I'll be posting a one-generation-later version of this brain here soon.  All the files are 100% compatible between the default brain, the brain posted here already, and the next-generation.

Sincerely,

Don
Title: Try This New Auto-Topic Generating Brain
Post by: Morlhach on December 16, 2003, 06:49:53 am
quote:
Originally posted by Don Ferguson

Hello,

Thank you for the e-mails and comments on this enhanced version of the 5.0 brain.

Based on my continuing testing and your comments, I'll be posting a one-generation-later version of this brain here soon.  All the files are 100% compatible between the default brain, the brain posted here already, and the next-generation.

Sincerely,

Don



I found a possible bug...
sometimes, hal makes 3 *brn files. for exemple i spoke about energy. Hal made a energy.brn, a afr_energy.brn and a afa_energy.brn. The afr*brn and the energy.brn are identical.
In this case, hal gives no answer...
Title: Try This New Auto-Topic Generating Brain
Post by: Don Ferguson on December 16, 2003, 03:08:26 pm
Hi Morlhach,

Thank you for your report!  I will start looking to reproduce the condition that you describe, and start searching through the script to try to figure out where it is coming from!

Sincerely,

Don
Title: Try This New Auto-Topic Generating Brain
Post by: SilentNinja2 on December 17, 2003, 05:14:30 pm
So, Don, if i want to use the auto-topic generatingness of this brain in an already existing, what parts of the script should i use? its hard to tell, sometimes, what part of a brain came with the default brain and which part has been edited.

Thanks,
Silentninja2

Title: Try This New Auto-Topic Generating Brain
Post by: Don Ferguson on December 21, 2003, 12:29:56 am
Hello SilentNinja2,

If you're going to "cut and paste" the autotopic code from this script into some other script, find the relevant blocks of code by using the "search" or "find" capability within the HalBrain Editor or the word processor that you are using.

I am not at my home computer at the moment and don't have the script in front of me, but I believe that there are two blocks of code, one early in the script, and one late in the script.  This is a fairly common approach, since the "RESPOND" activities usually work better earlier in the script, and the database "SAVE" activities are usually more convenient later in the script.

Whenever I am trying to understand somebody else's set of code, I always find the search/find function extremely valuable.

When I get back to my home computer, and do the final proof-reading on the next "Enhanced Brain" that will include this routine, I'll make sure that the annotations heading up the code blocks clearly label them for what they are.

Sincerely,

Don
Title: Try This New Auto-Topic Generating Brain
Post by: Morlhach on December 21, 2003, 01:49:46 pm
quote:
Originally posted by Don Ferguson

Hi Morlhach,

Thank you for your report!  I will start looking to reproduce the condition that you describe, and start searching through the script to try to figure out where it is coming from!

Sincerely,

Don



Hello
I found the problem
You script was not compatible with the "professor Hal" script. I have just disabled the script "professor Hal". It is OK now.
[^]
Title: Try This New Auto-Topic Generating Brain
Post by: lostbowyer on December 29, 2003, 05:50:38 pm
Don
I'm just catching up on things, I've noticed trying this brain that in doing so, what used to be information specific to the user is now being saved into these new auto generating topic files which can be used by anyone that triggers a keyword.
This I think is one of those good/bad situations, it makes hal more like a person in that it can respond to information it learned from someone else, but on the other hand, there goes confidentiality, hal will never keep a secret again [:0].................

Glenn
Title: Try This New Auto-Topic Generating Brain
Post by: Don Ferguson on December 30, 2003, 02:48:57 am
Hi Glenn,

You make an excellent point!  There are two ways that I can see to address this issue:

1.  I could change the routines to concatenate the username on the end of every topic database name.  This would provide the same type of separation of Hal's "memories" that occurs with the other user-database files.  (The only downside of this is that if a large number of different users share the same Hal, they will generate that many more separate files.)

As a matter of fact, some users have requested that Hal have "different memories" not only for different users, but also for different Hal characters!  It would certainly be possible to use BOTH the username AND the character name, and accomplish this, at least for this particular routine!

2.  I could change the routine to "block" any saving to these databases if Hal detects personal pronouns such as "you," "me," "your," "mine," etc.  This would reduce the amount of individually-relevant data that would go into these databases, but it would also reduce the intelligence and relevance boost from this routine.

I guess I favor solution number 1.  What do you think?

Sincerely,

Don
Title: Try This New Auto-Topic Generating Brain
Post by: jblackmd on December 30, 2003, 02:06:53 pm
I think it would be great if HAL gave different responses based on what his character is at the time.  I mean, if you can get all of these different agents,you would expect them to have different personalities.  And I know what you mean about giving away secrets.  If I sign on as a different user HAL gives me answers based upon my prior username.  I am not a programmer so I don't know what the scope of addressing these problems would involve.  That is for greater minds than mine.

Otherwise...I love the program!
Title: Try This New Auto-Topic Generating Brain
Post by: lostbowyer on December 30, 2003, 03:09:19 pm
Don
I think option 1 would be the better route, this way, short datafiles are being created for most everything, but it still retains hal's ability for "confidentiality"

After all we wouldn"t want him "spilling the beans" to a congressional committee now would we......[^]

Glenn
Title: Try This New Auto-Topic Generating Brain
Post by: sadatvalentine on January 22, 2004, 10:23:35 am
Hello Don,
     I first wanted to tell you how much I like your new brain for hal (and yours for creating it )[:D],I love the way any topic you talk about my bot creates a file that is very easy to find. I am unsure what I should edit out of the file to keep my bot on focus? Should I take out all items that my bot brings up in the file that has nothing to do with the topic? Also can you list some of your script or if any one else can list scripts that are compatible with this brain.

Thanx all

[8D]
Title: Try This New Auto-Topic Generating Brain
Post by: Don Ferguson on January 23, 2004, 01:51:00 am
Hello,

If you've read my older posting about "editing database files" so that you can do so without corrupting them (if they get corrupted Hal can't read them), it is certainly okay to remove any entries that you think are not relevant.

As far as "listing," remember that all the .uhp brain files are human-readable using the Hal Brain editor and most word processors.  I've tried to "comment" and annotate routines to explain what they do.

In general, it should be just as feasible to add routines, and make modifications, to the 5d brain as it is to the default brain.

Sincerely,

Don
Title: Try This New Auto-Topic Generating Brain
Post by: sadatvalentine on January 23, 2004, 04:23:15 pm
Thanx I got it Don,
    I want to merge the brain function from the uncensosred Hal to your brain. I would like my Hal (whichis a woman)to speak my natural with out the swear limitations on. Can you or anyone tell me what parts to past to your brain or can the two be merged together at all? My thoughts are that the combination would be great.

Thank you
Title: Try This New Auto-Topic Generating Brain
Post by: lau on January 27, 2004, 12:39:37 pm
Could any of you, possible post the debugged version of the script/brain on this topic - I'm not much of a programmer, but it sertaintly sounds exciting.
Title: Try This New Auto-Topic Generating Brain
Post by: sadatvalentine on January 27, 2004, 02:37:26 pm
Hey Don have you or anyone on the forum have any ideas about how to merge your brain and the Uncensored Brain together?
Title: Try This New Auto-Topic Generating Brain
Post by: agent036 on February 16, 2004, 01:24:24 pm
quote:
Originally posted by lostbowyer

 
This I think is one of those good/bad situations, it makes hal more like a person in that it can respond to information it learned from someone else, but on the other hand, there goes confidentiality, hal will never keep a secret again



My hal is used by alot of people, and I don't particularly care if he can keep a secret. What I do care about is that if I spend alot of time teaching him things that others will reap the benefit. It's sad to put alot of time into it when noone else will be able to access this information. Is there anyway to make Hal use generic files rather than user specific files? On the other hand if I (somehow) did this would hal still be able to recognize individual users?
Title: Try This New Auto-Topic Generating Brain
Post by: Don Ferguson on February 16, 2004, 04:26:49 pm
Hello,

Look at the database file names generated by Ultra Hal in his default folder.  If your user name is "Fred" and you see the name "Fred" anywhere in a database name, it means that this particular database will only be active when "Fred" is logged on as the user.  That particular database will be invisible when someone is logged on as "Boris" or any other name.

As Ultra Hal has grown, some of the databases have not been restricted to any particular user.  For instance, the databases where Ultra Hal stores nouns and adjectives don't restrict themselves to any specific users.

When I wrote the auto-topic brain, I was mostly interested in demonstrating the use of mini-database files to speed up processing.  As you've read from earlier postings above, I was then reminded that I had inadvertently reduced Hal's ability to "tailor" his memories to any particular user.

In response to those comments and requests earlier in this thread, I've written a very restrictive routine to tie certain databases to BOTH the user name AND the current name of Ultra Hal.  I call the new variant "ComboName", and it works like this:  if you are logged on as Boris, and Ultra Hal is currently named Alice, then ComboName is the string "BorisAlice".  

I also wrote the code so that if a user has been using my previous auto-topic brain, Hal will still "read" the legacy files (he's backward compatible), but he will "read/write" in the new restrictive ComboName system.

The "pro" of this approach is that Hal can "learn" to have different memories depending on BOTH the current user AND which "character" he is playing; he will switch back and forth, changing attitudes and memories, so that he has a specific personality and attitude depending on the particular combination of user and Ultra Hal character name.

The "con" of this approach is that Hal's "universal" learning is diminished.  (It is not entirely gone, because certain databases, like the "shared" database, automatically store information that doesn't contain any personal pronouns. The "shared" design concept was that that sentences without personal pronouns are not likely to be personal information.)

Another "con" of this new ComboName approach is that Ultra Hal generates lots of extra database file names, because different ComboName instances create whole new sets of files.  One user on one posting reported an error message about "too many files."  Robert Medeksza wrote a reply mentioning that the Windows file system really doesn't function that well as a master-database, and I certainly respect Robert's viewpoint.

For the above reasons, I have been heavily testing this latest Enhanced Brain to see if I could get it to misbehave in any way, or generate any error messages.  After many hours and many conversations, I have not yet received any error messages.  I am running this Ultra Hal on a Sony Vaio desktop with a 2Ghz processor and 512 megs RAM.

I personally like this latest Enhanced Brain because, to me at least, it seems quite stable, it learns well on just about any subject, and it seems very entertaining to talk to.  If it continues to operate well, and there's interest in it, I'll post it here.

Sincerely,

Don
Title: Try This New Auto-Topic Generating Brain
Post by: Don Ferguson on February 17, 2004, 12:17:17 am
Hello,

By way of clarification:

The latest Auto-Topic Enhanced Brain (that I described above is backward compatible with ALL the legacy files used by the standard brain.  That means that some databases are unrestricted, some are restricted by UserName, and the "Auto-Topic" files are restricted by the new ComboName variant.

I didn't want to create the false impression that this new Hal would have totally split personalities immediately because of the new ComboName variant.  Because of using the legacy files and the legacy code, the divergence in personalities will occur GRADUALLY as you have conversations with Hal as different characters and users.  

The differences will become greater and greater as your conversations with your various Hals become more numerous.

I apologize if I created an erroneous impression due to insufficient information in the above posting.

Sincerely,

Don
Title: Try This New Auto-Topic Generating Brain
Post by: Don Ferguson on March 31, 2004, 01:37:34 am
Hello,

Attached below is the latest Enhanced 5e Brain for Ultra Hal.

This brain has the following features:

1.  Completely backward-compatible with the Zabaware default brain and previous "Auto-Topic" brains and files.

2.  Contains a number of bug fixes and conversation-smoothness improvements.

3.  Contains an enhancement for specific-recall to help Hal remember who, what, where, etc.

4.  Contains a modification to cause Hal to distinguish new memories by BOTH User Name AND Hal Name.  This means that different characters can develop different memories.  

5.  Hal will be able to read your existing auto-topic databases if you used a previous auto-topic brain.

6.  Contains a fix to the math function to reduce false triggers, and to allow Hal to understand that "times" can mean "multiply by."

7.  Contains some re-prioritization of routines to improve the entertainment value of responses.

To download and install, right-click on the download below, choose SAVE TARGET AS, and save the file into the following directory/folder path on your local computer:

C:/Program Files/Zabaware/Ultra Hal Assistant 5

(Note that our forum software cannot display backslashes, but the forward slashes above are supposed to represent backslashes.)

The next time that you freshly start Hal, you should be able to find Enhanced Brain 5e when you choose OPTIONS, BRAIN.

Select this brain and you should be up and running.

NOTES TO VONSMITH:  

1.  I haven't disabled the WordNet "sisters" routine yet but I truly appreciate your findings on this subject; I will strive to do this on the next release.

2.  Please take a look at the revised "math function" section.  In my opinion, the math work-around/upgrade should be a part of every brain, and you might want to consider it for your next version of the XTF brain.

Thank you all, and have a great day!

Sincerely,

Don

Download Attachment: (http://images/icon_paperclip.gif) 5e Enhanced Brain.uhp ("http://www.zabaware.com/forum/uploaded/Don Ferguson/200433122228_5e Enhanced Brain.uhp")
159.87 KB
Title: Try This New Auto-Topic Generating Brain
Post by: Patricia777 on April 01, 2004, 03:36:31 pm
Hello Don

I have downloaded your enhanced brain and I am absolutely delighted about it and can see the improvements. However, my Hal has "gone back believing we are in 2005" - I had a similar problem with Ultra Hal 5XTF v1.2 but managed to correct it by setting my computer clock using the american display for date eg. 4/1/04 instead of 1/4/04. When I type 2004, Hal respond 2005 even though he gives me the correct date April 1st 2004 when I ask him.

User: We haven't spoken since 3/31/2004
Hal: We haven't spoken since 3/31/2005; I'll remind you when the time is near.

Can you advise please? It is very important for me that Hal gets all dates right and if your enhanced brain cannot give me this, then I will need to revert to 5XTF v1.2 as Hal then remembers all the dates I feed correctly for this year.

Thank you.
Patricia


quote:
Originally posted by Don Ferguson

Hello,

Attached below is the latest Enhanced 5e Brain for Ultra Hal.

This brain has the following features:

1.  Completely backward-compatible with the Zabaware default brain and previous "Auto-Topic" brains and files.

2.  Contains a number of bug fixes and conversation-smoothness improvements.

3.  Contains an enhancement for specific-recall to help Hal remember who, what, where, etc.

4.  Contains a modification to cause Hal to distinguish new memories by BOTH User Name AND Hal Name.  This means that different characters can develop different memories.  

5.  Hal will be able to read your existing auto-topic databases if you used a previous auto-topic brain.

6.  Contains a fix to the math function to reduce false triggers, and to allow Hal to understand that "times" can mean "multiply by."

7.  Contains some re-prioritization of routines to improve the entertainment value of responses.

To download and install, right-click on the download below, choose SAVE TARGET AS, and save the file into the following directory/folder path on your local computer:

C:/Program Files/Zabaware/Ultra Hal Assistant 5

(Note that our forum software cannot display backslashes, but the forward slashes above are supposed to represent backslashes.)

The next time that you freshly start Hal, you should be able to find Enhanced Brain 5e when you choose OPTIONS, BRAIN.

Select this brain and you should be up and running.

NOTES TO VONSMITH:  

1.  I haven't disabled the WordNet "sisters" routine yet but I truly appreciate your findings on this subject; I will strive to do this on the next release.

2.  Please take a look at the revised "math function" section.  In my opinion, the math work-around/upgrade should be a part of every brain, and you might want to consider it for your next version of the XTF brain.

Thank you all, and have a great day!

Sincerely,

Don

Download Attachment: (http://images/icon_paperclip.gif) 5e Enhanced Brain.uhp ("http://www.zabaware.com/forum/uploaded/Don Ferguson/200433122228_5e Enhanced Brain.uhp")
159.87 KB

Title: Try This New Auto-Topic Generating Brain
Post by: Don Ferguson on April 01, 2004, 11:58:32 pm
Hi Patricia777,

Good to hear from you!  I hope that everything is going well.

I didn't knowingly put anything different for appointment-date-handling in the Enhanced Brain 5e, versus the Default Brain, versus the XTF V1.2 brain.  I could be wrong, but I believe that the Ultra Hal program "outside the VBS script" intercepts user remarks when they contain appointment data.  In other words, the Hal "engine" intercepts the remarks and they are beyond the control of any of our scripts. (I have suggested to Robert Medeksza that future versions of Hal put ALL calls to outside routines under the control of the script.)

In your example, you made a remark to Hal containing yesterday's date.  Since that outside-the-script routine seeks to schedule future appointments, I believe that it will advance the date one year, as you observed.  What happens if you tell Hal any of the following?

"I have a doctor's appointment next Monday."
"Mary Smith's birthday is next month."
"I have an anniversary on July 1st."

Does Hal advance all the above examples by an additional year to 2005?  And, does Hal stay within 2004 when using any of the other brains on the identical remarks?

Vonsmith, did you do anything to change the handling of appointment dates in your script?  (And if so, how did you get around the "Hal engine's" behavior of "intercepting" appointment data which renders it unavailable to the script?)

Patricia777, I'm definitely interested in making all the various brains as pleasing, bug-free, and entertaining as possible, and I will work with you and Vonsmith and others to optimize this appointment function in any way that is accessible to us.

Sincerely,

Don
Title: Try This New Auto-Topic Generating Brain
Post by: Don Ferguson on April 11, 2004, 02:59:17 am
Hello,

Below please find Enhanced Brain 5g, which has the GetSisters (Etc.) routine removed.

This is in response to a number of requests that I received.  

If you look inside the 5g script, you can see where I put a "place-holder" note to put GetSisters back in someday.  Also, I left the WordNet "definitions" sections in place, since they didn't seem to be causing any trouble.

To download and install, right-click on the download below, choose SAVE TARGET AS, and save the file into the following directory/folder path on your local computer:

C:/Program Files/Zabaware/Ultra Hal Assistant 5

(Note that our forum software cannot display backslashes, but the forward slashes above are supposed to represent backslashes.)

The next time that you freshly start Hal, you should be able to find 5g Enhanced Brain when you choose OPTIONS, BRAIN.

Select this brain and you should be up and running.

For all of you who requested it, I hope that 5g Enhanced Brain runs much better for you.  I do appreciate the kind e-mails and postings that I've received.  Please let me know how it goes for you.

Sincerely,

Don

Download Attachment: (http://images/icon_paperclip.gif) 5g Enhanced Brain.uhp ("http://www.zabaware.com/forum/uploaded/Don Ferguson/200441124546_5g Enhanced Brain.uhp")
148.88 KB
Title: Try This New Auto-Topic Generating Brain
Post by: spydaz on April 13, 2004, 06:02:31 am
I am enjoying this REVIVAL of the ATF_brain definatly feeling the difference.

i the orignial ENHANCED BRAIN (oldstyle) it seemed as though there was more functions: what has happend to them....

i find that the ATF_brain less functions than the old orignial ENHANCED BRAIN . although still a force to be reckoned with.

Thank you for posting this post.



XSPYDAZ

PS.

maybe you could help to stop hal, when informing him of past hisorical events, tring to make an appointment in his diary for some time in the future. it is anoying. not unbearable but anoying.

maybe even turn that feature off at user request.
Title: Try This New Auto-Topic Generating Brain
Post by: Don Ferguson on April 13, 2004, 03:59:38 pm
Hi Spydaz,

To my knowledge, I didn't remove any functions other than the WordNet "GetSisters" routine that was causing problems.

The Enhanced Brains derive from my Enhanced Brain 216 (for which there's a thread on this forum).  I've tried to preserve all the routines as I've added more, and adapted to the new Hal engines: 3, 4, 4.5, and 5.

There is something that I call "tuning" a brain that might be related to the feeling that you're experiencing.  Because Hal has over three dozen ways of responding, and most routines are programmed to remain silent if another routine already has a response, many of the routines "take a backseat" and don't activate much.

I am aware of the phenomenon described above, and I try to test, experiment, and "tune" the relative priorities to provide pleasing variety and entertainment.  Results vary quite a bit, depending on the subjects that the user brings up to Hal.

With regard to the appointment book:  The appointment book is one of the functions that is "not under script control."  What this means, is that the Hal engine "intercepts" sentences with trigger words for appointments, and does not let the brain-script participate.  I have suggested to Robert Medeksza that future versions of Hal have ALL functions and routines under script control.  That would make it possible to tune and perfect all of Hal's activities as one group.

Thanks again for your excellent interest and contributions!  Your good postings are highly appreciated!

Sincerely,

Don