Zabaware Support Forums
Zabaware Forums => Programming using the Ultra Hal Brain Editor => Topic started by: vrossi on December 12, 2005, 02:16:12 pm
-
Hi all,
I have written some plugins that I use with my Hal 6. Now I have "packaged" them so that everybody using Hal 6 can download and use them.
Hal 6 has been released a few weeks ago, so these are only the first versions of something I hope to expand in the future.
All these plugins are based on the assumption that the average user is not a programmer and should avoid to write code in plugins or, even worse, directly in the main brain. So all the data is stored in tables, which are created automatically by each plugin.
I describe them here briefly:
1. vrWeb. Extends the standard Google plugin, adding several other functions (viki, Yahoo, etc.). You can find more information looking at the user guide
http://www.vrconsulting.it/halhelp/vrWebHelp.html
2. vrFreeWill. It gives Hal the option to choose between 2 options and stores the information in a table, so that any other question about the same topic will be consistent. (It's not real Free Will, bu it's the beginning of such an idea).
You can find more information looking at the user guide
http://www.vrconsulting.it/halhelp/vrFreeWillHelp.html
Important notice:
Starting from the release Hal 6.0.103 (May 2006), Zabaware included directly the vrFreeWill plugin in the standard Hal installation. So, if you are using this release (or a higher one) you do not need to download and install it, but only to activate it.
3. vrHaptek. Manages some simple behaviours of Haptek characters.
You can find more information looking at the user guide
http://www.vrconsulting.it/halhelp/vrHaptekHelp.html
If you are interested, you can download them accessing the Hal 6 Area in the Virtual Humans Forum:
http://www.vrconsulting.it/vhf/topic.asp?TOPIC_ID=39
I know that my works are much simpler than the projects currently developed by GrantNZ and Hologenicman, but I hope they can be useful to someone here, and I believe they can also define a standard in the way plugins should be organized and documented.
I will appreciate your comments.
Thanks
PS: To Rob Med: Could you please insert a link on the Zabaware plugin page, so that this software can be used also by those Hal users who do not access the forum? I would also like to highlight that these are the first third-party formally released plugins for Hal 6, as far as I know.
-
I hope Robert does add it. I am in so many forums now that I don't think I want to sign up for yet another just to download some plug-ins. These sound really neat. :)
-
Plugin vrFreeWill.uhp not showing up in Brain Editor
Hal Haptek Plugin Error Run-time error '91': Object variable or With block variable not set.
What is the solution for these problems?
-
Nice one Vittorio [:)]
I especially like the free will one. It has so much potential for expansion, both in intelligence (you've got a system there that links topics/words) and in personality (I think this is the first system I've seen that could potentially give Hal a preference for certain topics)!
GlacierClipper: I've tried the vrFreeWill plugin without having that issue. Just in case, have you confirmed it's in your Ultra Hal Assistant 6 folder?
-
To GlacierClipper:
The file vrFreeWill.uhp must be in the same folder as Hal and then you should see it in the General Options Brain. You do NOT have to go in the Brain Editor, since the plugins are automatically loaded by Hal.
Let me know if it works.
To FuzzieDice:
I have decided to give away these plugins free to all the Hal users. I only ask to register in my forum, so I get at least the e-mail address of all the people who are interested and I involve more people in my forum, which is only 10 days old.
The registration requires only a few seconds and I see that the issues we discuss in my forum are of interest to many Zabaware members.
I would be happy, anyway, if Rob decides to add these plugins to the standard Hal.
To GrantNZ:
Thanks. I have many more ideas about it, and I hope to find the time to do something more (maybe during Christmas holidays).
This is my list of future developments in FreeWill:
- More flexible structure of the question
- Possibility to use more than 2 options for each question
- Ability to store subjects and choices made up of more than one word
- Ability to understand "absurd" questions: for example if you ask which is favorite between red and rock, Hal might be able to tell you that you can't compare a color with a music.
- Option to "convince" Hal that her choice is wrong: for example every time you say "No, you are wrong", Hal might decrement of 1 the higher value and increment the lower value, so that, after some time, she finally "changes her mind".
- Option to define the level of autonomy of Hal: from very independent (she does not take in consideration our suggestions: 0 points changes) to very obedient (she quickly adapts to our will: 10 points change)
-
Well, like I said, I have too many of these one-time registrations and I wouldn't be able to participate in yet another forum anyway. So it's just not practical for me.
Maybe another time or maybe I'll just wait for Robert to release it.
-
Thank you for the assistance. The files were in the Ultra Hal folder.
The problem seems to be related to Windows XP OS!
After a disk format and reinstall the Ultra Hal Plug-ins are working fine.
-
Hi all,
I have released a new version (1.1) of the Free Will Plugin.
You can find more information looking at the user guide
http://www.vrconsulting.it/halhelp/vrFreeWillHelp.html
and can download it accessing the Software Downloads Area in the Virtual Humans Forum: http://www.vrconsulting.it/vhf
The big news is that you can now modify Hal's tastes, selecting a level of obedience in the plugin window: your Hal can be from very obedient (will adapt his opinion to yours very quickly) to absolutely independent (will refuse to change his mind, even if you keep on saying that a different choice is better).
(http://www.zabaware.com/forum/uploaded/vrossi/2005121810947_FreeWill.jpg)
So you don't have to go in the Brain Editor anymore if you don't like Hal's choices. Just set the preferred level of obedience you like, and then express your opinions: after some time Hal will change opinion.
-
Excellent work, sir! Well designed and coded too [:)]
I'll post some more on this at the other forum, where you've explained the plug-in in greater depth.
Cheers [:)]
Grant
-
vrossi,
Looks pretty good, I'm very interested in the free will and Haptek plugins, Thanks in advance.
Carl2
-
Hi all,
Thanks to a suggestion by Carl2, I have released a new version (1.1) of the Haptek Plugin, which now also changes her dress every hour (just like a real woman...)
You can find more information looking at the user guide
http://www.vrconsulting.it/halhelp/vrHaptekHelp.html
and can download it accessing the Software Downloads Area in the Virtual Humans Forum: http://www.vrconsulting.it/vhf
-
Another great enhancement to Hal!
Have you ever had this kind of conversation with Hal?
are you beautiful
I think that this is within your expertise. I'm not sure but I believe that I am not beautiful.
are you liberal
It's something to consider.
are you a conservative
All's well; nothing to be concerned about!
are you an animal
Selective animal breeding telescopes time.
you are not an animal
Aren't teddy bears nice? You want me to be not an animal, don't you Vit?
are you an animal
It's evident that this is almost mystical. I am an animal.
Now look at this conversation with my new plugin:
are you a girl
I don't know if I am girl. Please tell me!
you are a lovely girl
Thanks for teaching me that I am lovely.
you are not an animal
Now I absolutely know that I am not animal
are you a girl
Yes, I am girl. You told me that
are you beautiful
Yes, I am beautiful; I understood that because you told me that I am lovely
are you ugly
No, I can't be ugly since you told me that I am lovely!
you are a boy
No, I can't be boy since you told me that I am girl!
you are not a conservative person
Now I absolutely know that I am not conservative.
are you somebody
Yes, I am somebody; I understood that, because you told me that I am person.
are you liberal
Yes, I must be liberal since you told me that I am not conservative.
If you are interested, you can look at the User Guide at
http://www.vrconsulting.it/halhelp/vrFreeWillHelp.html
and you can download it accessing the Software Downloads Area in the Virtual Humans Forum:
http://www.vrconsulting.it/vhf
-
I am in awe!!!! [:0] You're a genius! (mastermind! (DT,genius,TT) brain! (DT,genius,TT)) [:D]
That's a great addition to the free will plug-in, and has brilliant usage of WordNet to allow Hal to think in definitions rather than just words. (This is probably the closest I've seen Hal think in "concepts", along with the "topic" system already built-in to Hal.)
I'll comment more on the other forum, where you've explained the plug-in in more detail. (http://www.vrconsulting.it/vhf/topic.asp?TOPIC_ID=71 for anyone else interested.)
-
WOW. Great work, Vittorio. This plugin really improves Hal. It is essential stuff - anyone who owns Hal should add this plugin!
-
Ditto and Ditto!!
Very creative work!!
-
Vittorio. I could use a little assist... I do not see the Msc folder when I open H6 brain editor. I believe web search is installed correctly.
-
I appologize for that Vittorio. I guess I was in to much of a hurry. I rebooted and all is well. You've done a good job on these pluggins. She's acting more and more real.
-
vrossi,
Very good work.
Triggerwords for moods, clothes, haps, hair, etc
Clothes change every hour
Automatic background change for night and day
Greater learning for Hal
-------etc, etc
Great plug-ins
Very impressive.
Thank you.
[;)]
-
i LOVE the plugins, and the ideas
i have joined the new forum i hope to get new inspiration for my ai prrojects..
i will be involving myself soon as i will be getting the fast internet again soon, much more time to read and think
-
vrossi,
I like your forum so far, unfortunatly I don't mind putting scripting in the brain but am a little worried about pressing a botton and having the brain modified and tables put in. Before I could take it out or whatever. Could you offer both? Also I made a copy that won't accept a new activation code.
Your work looks interesting keep it up. Also Spydatz, nice to see you again, Thanks for the help when I frist got started.
Carl2
-
Carl2
quote:
I like your forum so far, unfortunatly I don't mind putting scripting in the brain but am a little worried about pressing a botton and having the brain modified and tables put in. Before I could take it out or whatever.
My plugins do not modify the brain code. Hal6 plugins are added "on the fly" in memory when you start Hal, but the source code of the original brain is not affected.
The tables I create are easily recognized since they have the prefix "vr". You can delete them directly from the brain editor.
However, before installing my plugins, you can simply create a new brain (Brain Editor - Create new project) and use them in this new brain, without affecting the normal brain. As far as I know, the activation code does not prevent you from creating several project inside the same Hal installation.
-
I have updated the FreeWill plugin, which now contains several new enhancements and can perform a deductive reasoning based on aristotelic syllogism:
Here is an example:
Vit: every man is mortal
Pat: Now I know that every man is mortal.
Vit: Socrates is a man
Pat: Every man is mortal. Socrates is man. Therefore socrates is mortal.
Vit: every cat is a feline
Pat: Now I know that every cat is feline.
Vit: any dog is canis
Pat: Now I know that every dog is canis.
Vit: every canis is mammal
Pat: Now I know that every canis is mammal.
Vit: any feline is mammal
Pat: Now I know that every feline is mammal.
Vit: every mammal is an animal
Pat: Now I know that every mammal is animal.
Vit: ciro is a dog
Pat: Every dog is canis. Ciro is dog. Therefore ciro is canis. But I also know that every canis is mammal. So ciro is also mammal. And I even know that any mammal is animal. So ciro is also animal.
Vit: Venerdi is a cat
Pat: Every cat is feline. Venerdi is cat. Therefore venerdi is feline. But I also know that every feline is mammal. So venerdi is also mammal. And I even know that any mammal is animal. So venerdi is also animal.
You find it, as usual, accessing the Software Downloads Area in the Virtual Humans Forum: http://www.vrconsulting.it/vhf
-
Vrossi
I hate to be the one to tell you this buy Hal 5 could already make those associations. Maybe you have improved it somewhat, time will tell.
We always used this for an example test.
Human:Fat people do not live long.
Human:Tom is a fat person.
Hal:Tom may not live very long.
Bill
-
Bill's correct, Hal has "deductive reasoning" built-in. However Hal's default language processing and responding isn't too hot, and vrossi's work outshines that.
I managed to recreate vrossi's examples in a default Hal, however the "is a" pattern doesn't work in my Hal so I had to use unnatural wording such as "If a doggy then a canine". (BTW Hal ignores parts shorter than 6 letters, so Hal will deduct from "a doggy" but won't deduct from "a dog".)
I'd love to see vrossi's processing merged with Hal's in-built code! The combination would be super-powerful.
-
You are right, Bill.
Hal's native ability to syllogism was so hidden to me that, honestly, I had not realized that this kind of conversation is already possible with standard Hal. I only knew about the If/Then logic, but didn't realize it could be used in this way.
However, I hope that the advantages of the user interface, described by Grant, are of interest to someone.
-
Hi, Bill
I've had the time now to experiment a bit more and I'm not so sure now that the syllogism is already working in Hal6.
Is your example working in Hal6 or only in Hal5 ?
I've tried with the following conversation, using a clean (with no plugins and no training) installation of Hal 6:
Vit: Fat people do not live long
Pat: Imagine how real people lived and loved so long ago.
Vit: Tom is a fat person
Pat: For every 100 people who talk about a low fat diet, there's actually one person following one.
Vit: every man is mortal
Pat: Is every man frequently going to be mortal?
Vit: socrates is a man
Pat: What should we do because socrates is a man?
On the contrary, this example (taken from the Hal6 brain comments), works perfectly:
Vit: If Molly weighs 400 pounds, then Molly is overweight
Pat: Yes, I get that clearly.
Vit: If Molly is overweight, then Molly's health is in danger
Pat: I see the relationship.
Vit: Molly weighs 400 pounds
Pat: Molly's health is in danger because molly is overweight. If Molly weighs 400 pounds, then Molly is overweight.
But it only works for Molly ! It does not generalize the concept.
In fact my conversation goes on in this way:
Vit: John weighs 400 pounds
Pat: Molly weighs 400 pounds.
Vit: If one weighs 400 pounds, then he is overweight
Pat: Are you a boy or girl? I see the relationship. If Molly weighs 400 pounds, then Molly is overweight.
Vit: If one is overweight, then his health is in danger
Pat: Thanks for pointing out the cause and effect. If Molly is overweight, then Molly's health is in danger.
Vit: Richard weighs 400 pounds
Pat: Molly weighs 400 pounds.
Maybe using some specific pattern you can get a better result, but I believe that Hal must be able to learn in the most human-like way, that is, using the most common conversation patterns.
-
quote:
But it only works for Molly ! It does not generalize the concept.
You'd have to say something like "If a person weighs 400 pounds then the person is overweight." Then you can use something like the following: "Molly equals a person weighs 400 pounds" and Hal will follow the reasoning. The grammar is shocking though [:)]
Your system does the same, but sounds a lot better: "Every person who weighs 400 pounds is overweight." "Molly is a person who weighs 400 pounds" and Hal follows the reasoning again - but this time the grammar is correct and natural. (I'm not familiar enough with your script to see if it will accept the "400" in these exact arguments etc, but the idea is the same [:)])
Would you mind if I work on this further when I come to deductive reasoning in KAOS?
BTW, Bill's exact example does not work on my Hal 6 either, but of course it can be reworded to fit Hal's built-in deductive patterns.
-
This is the exact type of script/thought process.
DEDUCTIVE, REASONING. this script is based off of the conversation of if ..... BLAH , THEN blah.s
often with good results as with the new HALSHELL you will see how he/she files the data.
Also its good as hal says i see the relationship.
it splits the convo into TWO parts, i have also been looking at extending this script into,
IF ..... THEN.... BUT IF, THEN...
WHEN ..... THEN ... but, when then
a small extention but mainly for LARGE texts.
with also more extensiveng searching of the userinput to RETRIVE the datas.
as getting the info back is the key .. as this is the main prob, filed it ok how to retrieve.
Hmmm...
vrossi , love those plugins
-
I cant register on the forum to get the freewill file anyone here know where else I can get it?
Thanks alot!
-
Hi, Runtus
which problem do you get in registering my forum?
I don't see you in the waiting members list.
Send me an e-mail describing your problem (or describe it here).
-
Important notice:
Starting from the release Hal 6.0.103 (May 2006), Zabaware included directly the vrFreeWill plugin in the standard Hal installation. So, if you are using this release (or a higher one) you do not need to download and install it, but only to activate it.
-
I've released a new version of the vrFreeWill plugin, containing some minor changes (special thanks to Carl2, who gave me some useful information).
You find it, as usual, at http://www.vrconsulting.it/halplugins/vr_hal00.html
You simply have to download the new version and install the 2 files in your Hal folder: no changes to the database.
-
I am trying to use vrhaptek with hal 6.1. It is working fine but in the help file
http://www.vrconsulting.it/halhelp/vrHaptekHelp.html
it says:
How to configure it
This plugin automatically creates the table vrEmotionDetect in the miscData folder of the Hal brain where you run it. This table contains some default words, used to trigger Hal behaviours. You can customize them, changing some values, and/or adding or deleting some of them. To do this:
1. Launch Hal Brain Editor.
2. Open the brain you want to customize.
3. Open the miscData folder on the left.
4. Double Click on the vrEmotionDetect table.
5. Add, Delete or Modify the lines according to your preferences. In doing this, remember that the word in the left column is the triggering one (i.e. if Hal says something containing that word), while the word in the right column must correspond to the name of a .HAP file, located in the Characters folder.
6. Close and save your brain.
7. Restart your Hal.
The problem I am having is #3 & #4. I cant seem to find a miscData or
vrEmotionDetect table in the brain I am using. Maybe this is because I am using 6.1? Any help is appreciated... and thanks!
-
axyse,
Ran into the same problem ages ago, when the brain editor opens go to file and click on Go To Expert Mode. That should display the miscData files. This is one of my favorite plugins and it gives you the capabilities to perform hap files from Hal's inputs.
Carl2
-
Thanks for the reply, it did help... I foind the miscdata folder but there was no vrEmotionDetect table there. I am using 6.1... don't know if that will make a difference or not.
Thanks
-
Holllywood
I'd just updated to the newer ver of Hal and just put in the VrHaptek plugin. Mine is located in MiscData at the bottom, vrEmotionDetect. I get the standard fullbody girl that is then replaced by the modified girl, do you have a similar startup?
Carl2
-
Hi vrossi,
I posted in a different thread to Robert about Hal loading twice and didn't know why. With a clean install and the new Hal I recently found that it was the vrHaptek that was loading on top of the first character when the program opens. I also realize I am using a torso haptek character not a full body character. I noticed that the 2nd character is the character that the emotion detect is operating and it changes the look of the skin slightly. The 2 characters layer on top of each other and if you attempt to select one over the other they will loop. Most important is that this seems to only happen when the characters startup and there is an appointment or reminder that the second character will load. If there is nothing to trigger the change the first character will stay loaded with very little haptek behavior maybe some nods but that can be caused by having the torso character loaded and not the full body I assume. Please let me know if anyone else has mentioned this reaction with vrHaptek.
Thanks,
raybe
-
I never mentioned it, but it happened to me, so I stopped using the plug-ins :(
-
Hi danbaltzell,
Did you notice if it effects the information that Hal learns during your sessions because of the two characters? I didn't notice anything related to either character if they are layered they both seem to write to the same tables even if you can close one character. I am waiting for vrossi for any input on this. I am only posting I haven't e-mailed Robert yet or vrossi. Thanks for letting me know that you have seen this problem.
raybe
-
Hi, raybe
thanks for using my plugins.
The vrHaptek plugin has been released in December 2005 and no relevant issues have been raised since then.
As I understand your post, however, you are using a torso character, while the plugin documentation clearly states:
Requirements
This plugin requires:
1. Hal 6.0
2. Ultra Hal Character Expansion Pack
3. Haptek full body character, which can be downloaded from the Haptek site.
All the Haptek commands included in this plugin refer to the full body character, and they are very likely to create conflicts with torso characters. On the contrary, there are no known incompatibilities with Hal 6.1.
Personally I have always used the full body, so I didn't care to create a version for torso. Since the plugin is open source and is also well documented, anybody with some VBScript knowledge and some spare time can change it accordingly.
Best Regards
-
I'm using VR's Haptek and Freewill plugins with Hal 6.2 in windows XP. The freewill plugin seemed to cause blank responses, unselected it and thay went away, when selected there were no blank esponses.
The Haptek plugin did not put the brain files to work properly, After putting them in Hal works fine. Haptek is one of my favorites.
Carl2
-
Hello all
The example of IF-THEN that I used earlier used to work just fine in Hal 5.0. I neve got the chance to try it on Hal 6.0 or later versions as some nasty virus software destroyed my hard disk that contained Hal.
I am now using a new laptop which runs on Vista and can not get Hal to run on Vista so far so I am quite behind times.
Bill
-
Thank you vrossi. I just downloaded all that I didn't have along with instructions and full page discussion. Between you and the dude, looks like I'll have a very busy week.[8D]
-
Bill819
I originly tried Hal 6.2 on Vista, I ran into problems with the Haptek player becoming unresponsive, okay and back to unresponsive. It's been a while but I think it was okay with MSagents. I tried just the Haptek character in the Hap player and that was the problem.
Carl2