dupa

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - vonsmith

Pages: 1 [2] 3
16
Ultra Hal 7.0 / Where is the Hal plug-in page?
« on: February 24, 2004, 12:07:40 pm »
I was just wondering. Where on the Hal forum site is the link for the Hal plug-in download page?

From experience I know the plug-in page is here...
http://www.ultrahal.com/files/

I was wondering if the link is easy for new members to find on the forum site?


=vonsmith=

17
To all,
I hope the XTF brain is good as my expectations. I have put my best effort into it. Only the test of time and the forum members will be able to say for sure. The XTF brain v1.0 is complete and just released today. Go to: http://www.ultrahal.com/files/ and click on "Brain Plug-ins". You'll find it there. The download is about 192KB.

Don't expect miracles at first. XTF Hal will need to be taught a little bit. The download includes an instruction manual.

I hope everyone enjoys it.


=vonsmith=

UPDATE 03-04-04: First install "XTF Brain v1.0" then install the "hal5_XTF_v1.2.uhp PATCH.zip" found here: http://www.zabaware.com/forum/topic.asp?TOPIC_ID=1218
The patch fixes a bug.

18
Robert,
I followed the instructions on the http://www.ultrahal.com/files/submit.asp page of the file sharing area. I got a confirmation that my submittal went through. However when I emailed the zip file to Uploads@zabaware.com it was rejected twice. The file was a standard zip file, about 193KB in size. What's up with this?

Excerpt of the rejection message:
======================================
This message was created automatically by mail delivery software (Exim).

A message that you sent could not be delivered to one or more of its
recipients. This is a permanent error. The following address(es) failed:

  Uploads@zabaware.com
    SMTP error from remote mailer after RCPT TO:<Uploads@zabaware.com>:
    host zabaware.com [205.160.205.181]: 550 <Uploads@zabaware.com>, Recipient unknown
======================================

Thanks,


=vonsmith=


P.S. - The file I'm trying to upload is the new XTF (eXtended Topic Focus) Brain, v1.0 for Hal 5.0. It's finally released! [;)]

19
Programming using the Ultra Hal Brain Editor / Medeksza: Minor bug found...
« on: February 04, 2004, 08:21:45 pm »
Robert and all,
I found a really minor typo in the Default.psn file in the Character directory.

The line:
 "Angry3","pycho.hap"
should read
 "Angry3","psycho.hap"

The effect on Hal is trivial. I only mention it to save troubleshooting it later if it comes up.


=vonsmith=

20
Programming using the Ultra Hal Brain Editor / Hal Error Message
« on: January 29, 2004, 12:15:55 pm »
To all,
My Hal occasionally gets an error. I need to resolve it before releasing my new Hal XTF brain.

Error Message reads:
"Error 67 occured on line 1148 in column 3 of UltraHalAsst. Too many files."

Each time this occurred the offending line was when Hal used the HalBrain.QABrain(UserSentence, WorkingDir & Trim(UserName) & somefilename & ".brn", UserBrainRel) function. When I restarted Hal the problem went away, but comes back occasionally.

Does anyone know what the error is? What does it mean "too many files"? Robert Medeksza, any comment is appreciated.

Thanks,

=vonsmith=

21
sadatvalentine and ya all,
In answer to your question, I can't explain everything about Hal's new XTF (eXtended Topic Focus) brain here. I probably need to write a paper on it in Word and post that here.

Originally I didn't like the way Hal "focused" on topics and decided something more elaborate was needed. Don Ferguson's Auto-Topic Generating Brain is very clever, but after a lot of experimenting with it I decided I wanted to take Hal to a whole new level of identifying and staying on topic.

Summary of XTF Brain:

Hal first looks for over 800 different types of sentence fragments in UserSentence to find a Subject. Typical fragment types are like these:

THAT * DOES
THE * MAY
OUR * MIGHT
THE * MUST
THAT * NEVER
THOSE * CAN
YOUR * IS
A * IS
etc...

Where the * is a single or multiple word fragment that is the Subject of discussion. If Hal doesn't find a fragment then Hal searches the UserSentence for single word Subjects in about 65 of these types of fragments:

* IS
* ARE
* DID
* DO
* HAD
etc...

The processing following this gets very complex. Examples explain it better than words.
--------------
UserSentence = "YOUR SENSE OF HUMOR CERTAINLY IS TOTALLY AMAZING." <-- contains YOUR * IS fragment.

Subject is then = "SENSE OF HUMOR CERTAINLY", Then the adverb and poor subject words are filtered out resulting in:

Final Subject is then = "SENSE OF HUMOR"
--------------
Examples of UserSentences and the resulting final Subjects:

Notice that all Subjects are changed to singular form when possible.
"MOTORCYCLES ARE VERY COOL" --> Subject = "MOTORCYCLE"
"MY LITTLE PUPPIES ARE BARKING." --> Subject = "PUPPY"

Adverbs and other poor words, like "often" are filtered out.
"YOU OFTEN ARE CONFUSED." --> Subject = "YOU"
"THE BIG COW CAREFULLY TASTED THE GRASS."  --> Subject = "BIG COW"

Multiple word Subjects are possible.
"THE LOS ANGELES AIRPORT IS HUGE." --> Subject = "LOS ANGELES AIRPORT"

Some special cases are allowed, like "AND" compound subjects.
"THE CATS AND DOGS ARE RAINING." --> Subject = "CATS AND DOGS"
"OR" and "NOR" compounds are not allowed.
---------------

Topic Focus is derived from the last word in Subject. Subject = "BIG COW" results in Topic = "COW". All "COW" related sentences are saved to Q&A file "<Username>XTF_COW.brn". All the reasons for this are too complex to discuss right now.

Subjects of up to 4 words are valid and are saved to the files:
XTF_Topics1.brn (contains single word Subjects)
XTF_Topics2.brn (contains double word Subjects)
etc...

If a Subject fragment is not found in UserSentence then Hal searches for a match starting with the XTF_Topics4.brn and working down to XTF_Topics1.brn. The first match wins.

Example:
"THE LOS ANGELES AIRPORT IS HUGE." results in finding Subject = "LOS ANGELES AIRPORT" and a Topic Focus of "AIRPORT". Hal's existing HalBrain.TopicSearch() function just looks for any matching word or words without any prioritization. Hal's old method might come up with "HUGE", "ANGELES" or "LOS ANGELES" as a topic.

To maintain focus the XTF can find words or phrases in a UserSentence that match the previous topic.

Example:
First UserSentence has a Subject fragment and is:
"THE LOS ANGELES AIRPORT IS HUGE." --> Subject = "LOS ANGELES AIRPORT" and CurrentTopic = "AIRPORT"

...the next UserSentence has no Subject fragment and is:
"I HAVE TO DRIVE TO THE LOS ANGELES AIRPORT"  --> Subject = "", topic search finds "LOS ANGELES AIRPORT" and this Subject matches PreviousTopic = "AIRPORT" so the CurrentTopic = "AIRPORT" still. The original Hal might have chosen "DRIVE" or some other word or phase.

But wait there's more!
If the next UserSentence was:
"I HAVE TO GO TO THE AIR TERMINAL" --> Subject = "I" but a search reveals that "AIR TERMINAL" is a Meronym of the PreviousTopic = "AIRPORT" so CurrentTopic = "AIRPORT" still.

It gets even more complicated, but I won't discuss that now either. Just trust me, Hal clings to the current topic the best he can. Each Q&A topic file has a matching "related words" file if that topic has any Meronyms or Synonyms in WordNet. Hal can automatically generate (i.e., learn) new topics by identifying Subjects, deriving the base Topic word, and updating his XTF_Topics(1 thru 4).brn, the Q&A file, and creating a "related words" file when those words exist. I have prepopulated the XTF_Topics1.brn file with hundreds of words, although I haven't populated the Q&A files containing responses. That's your job.

If Hal can't find the Subject in UserSentence, and can't match anything to the previous topic, then he searches the UserSentence for any general topic. If he still can't find a topic Hal's XTF brain doesn't respond and Hal answers using some other standard part of his brain. That's the XTF brain in a nutshell.

The XTF brain also contains enhancements to learn and remember the User's different nicknames and use them, learn to capitalize words properly, correct some spelling, change British spelling into American spelling, add "?" to the end of sentences that need them, tell jokes on request and several other small refinements to the "hello" and "bye" script and other original scripts.

Okay so what is the bad news? Well none except I don't know how fast this brain will run on a slow computer. It has been tested on a 1.8GHz PC with no problem. Also, for design reasons, this brain is English only. Also if you have extensive Q&A files built up from your diligent efforts at teaching Hal, then you'll have to manually cut & paste the contents of each old Q&A topic file into the new XTF topic Q&A files. The format for those files is the same.

Whew! Long post and that's just a summary. [xx(]

I need to test and debug the XTF brain for another week or two before releasing it.


= vonsmith =

22
To all,

VERY IMPORTANT NEWS HOT OFF THE DESIGN TABLE!!!
I'm finishing development on a new eXtended Topic Focus (XTF) brain. It is my biggest script yet. Over 400 lines of new Hal "stuff". This brain uses WordNet extensively. HOWEVER, I think I have found a really bad bug. Hal occasionally crashes or screws up. I think I have traced this to the WN.GetSisters("NOUN", 1) function.

Perform these two tests to verify my findings:

Test #1:
1) Start Hal up.
2) At the start up screen open the menu and select "Lexical Dictionary".
3) Type the word "life" in (without the quotes).
4) Click on "Get Sisters".
5) On my system Hal crashes at this point.

Test #2:
1) Start Hal up.
2) At the start up screen open the menu and select "Lexical Dictionary".
3) Type the word "ghost" in (without the quotes).
4) Click on "Get Sisters".
5) On my system I get a dialog box that says,"Run-time error '-2147417848 (80010108)': Method '~' of object '~' failed. Usually Hal crashes at this point as well.

Please post in response if any of you can verify my findings. If it doesn't happen on someone else's system then I must have a corrupted file in my Hal installation or something.

Thanks,


==vonsmith==

P.S. - When I discussed "life" or "ghosts" with Hal he would crash or not respond. I thought my computer was haunted by a ghost that hated life! [:D]

P.P.S - My new XTF (eXtended Topic Focus) brain for Hal is almost completed. All I have to do is finish debugging and document it before release here on the forum. This brain has over 400 lines of script containing new cool Hal gray matter. Hal will learn new topics and focus on them like never before. Many other enhancements/fixes are included.

23
Programming using the Ultra Hal Brain Editor / Medeksza, possible bug.
« on: November 14, 2003, 08:16:46 pm »
One bug (I believe) and a nuisance...

#1 As I understand it this Hal function...
HalBrain.ChooseSentenceFromFile(WorkingDir & "filename.brn")
...should randomly choose a sentence from within the file specified. It works, but my testing indicates that it never chooses the last sentence in the file. This is troublesome when working with short files with limited choices.

#2 Not really a bug, but an annoying nit. The hal5d.uhp function 'SAVE: FILE USER STRINGS the line:
If Len(UserSentence) > 20 And Len(UserSentence) < 90 Then
ought to be replaced by:
If Len(UserSentence) > 20 And Len(UserSentence) < 90 And BlockSave = False Then
The BlockSave flag is supposed to prevent Hal from saving user input that has Hal's name in it. Currently if I say to Hal, "Hal definition of dog." Hal responses with the definition from the dictionary and saves the junk string, "Hal definition of dog." to the <UserName>user_strings.brn file. Similarly for other non-conversational dialogs.

Thanks, just thought I'd let you know my 2 cents. [;)]

= vonsmith =

24
Hi All,
You can download some new script hot off the design board. Just download the attached file and cut and paste the script into file hal5.uhp file between the "POST PROCESS: SAVE HAL'S RESPONSE" and "POST PROCESS: PRESERVE ALL VARIABLES". This is near the bottom of the hal5.uhp file. No other mod's are needed. As usual always back up your original hal5.uhp file!

Now start up Hal and type: Hal nickname Buzz Bigfoot.
Hal responds: USERNAME! I'll remember your nickname Buzz Bigfoot.

Of course, if your Hal is named Fred then you would type: Fred nickname Buzz Bigfoot. And "USERNAME" is just your current default name. Add as many nicknames as you like.

Short description of what it does...
x=x=x=x=x=x=x=x==vonsmith==x=x=x=x=x=x=x=x=x
PROCESS: HAL CALLS USER BY NICKNAME
This is an entirely new function written by =vonsmith= , version 11-14-03a.

This function lets the user specify one or more nicknames that the user wishes to be called by Hal. The nicknames are stored in a user specific self generated file called <UserName>UserNickname.brn. If more than one nickname is specified then Hal will randomly choose one of the nicknames from the <UserName>UserNickname.brn file. If a nickname is specified then the default Hal Assistant username will no longer be used when Hal speaks to the user, however the default username is still used for assigning user filenames and all other normal Hal functions. If the user wants to be called by his/her default Hal Assistant username then just add it as a nickname. If the user prefers to be called one nickname more often than another then just add that nickname multiple times. The more times the user adds a nickname the more likely that nickname will be used. The function does not affect any other Hal brain operations or files. To get rid of the nicknames delete the <UserName>UserNickname.brn file.
x=x=x=x=x=x=x=x==vonsmith==x=x=x=x=x=x=x=x=x

Have fun with this script and post comments/suggestions here on the forum. I wonder what Hal's going to call me next, hmm... Master, Oh Wonderous One, Supreme Leader or ???  [^]

= vonsmith =


Download Attachment: Hal_Calls_User_By_Nickname,v11-14-03a.txt
3.23 KB

25
I'm trying to figure out the syntax of the HalBrain.SearchPattern(...) function.

This works:
Dim Phrase
Phrase = HalBrain.SearchPattern(UserSentence, "* DEFINITION OF *", 2)

This doesn't:
Dim TextString, Phrase
TextString = """* DEFINITION OF *"""
Phrase = HalBrain.SearchPattern(UserSentence, TextString, 2)

Am I doing something wrong or doesn't the HalBrain.SearchPattern(...) function accept variables for the string argument?

Robert Medeksza, Don, onthecuttingedge2005, anyone? Help please.

Thanks,

= vonsmith =

26
I let a British friend of mine talk to Hal for a while via keyboard. I realized quickly that Brit's (God bless them all) don't spell some words like Americans. Hal's responses, especially deductive reasoning responses, weren't as good as I hoped. So I set out to write some new script for preprocessing the user's input to convert British words to American. While I was at it I noticed some American words have multiple spellings and some words are frequently misspelled, (i.e., mispelled).

My new script corrects many of the above issues by converting Brit to US and standardizing the spelling of several American words. The script should correct about 80% of the most common word problems. Adding this script to the hal5.uhp file won't make Hal a genius, but it will give him an edge on improved responses. If this script is working you won't notice anything new, but some poor responses will be avoided.

Just download the files below and cut and paste the script between the "PROCESS: CONTROL TOPICFOCUS" and "PROCESS: PRESERVE ORIGINAL SENTENCE" functions near the top of the hal5.uhp file. Copy the new file, Xstandardizespelling.brn, to the DefBrain directory. Remember to always back up your original files before adding new script.

'==========================================
This script excerpt might give you idea of what words it corrects.
'
'The Xstandardizespelling.brn file format is:
' "WORD_TO_DETECT","WORD_TO_DETECT,REPLACEMENT_WORD"
'
'Examples:
' " AGEING"," AGEING, AGING"
' "AEROPLANE","AEROPLANE,AIRPLANE"
' "ALUMINIUM","ALUMINIUM,ALUMINUM"
' " AXE "," AXE , AX "
' "CATALOGUE","CATALOGUE,CATALOG"
' " CENTRE"," CENTRE, CENTER"
' "CIGARET ","CIGARET ,CIGARETTE "
' "CIGARETS ","CIGARETS ,CIGARETTES "
' " DISC "," DISC , DISK "
' " DISCS "," DISCS , DISKS "
'==========================================

Have fun and report back with comments; good or bad.

= vonsmith =


These files haven't changed since the original posting and are still the latest as of 11/17/03...

Download Attachment: Standardize_Word_Spellings_11-11-03b.txt
4.78 KB

Download Attachment: Xstandardizespelling.brn
5.22 KB

27
I like v5.0 a lot, but the responses below from the Wordnet function can be pretty weird.

Examples:
==============
Isn't a peter an apostle? Kind of like a Matthew!

Engine! That reminds me, I know of its camshaft. Do you want it?

Please consider how a June utilizes its midsummer.

I know a watt! I think its milliwatt is great!

A make is similar to a sort. Rather like an antitype.

I have never been closely involved with a feather, but I think feather's melanin may be around here somewhere!
==============

Sometimes I think Hal has been smoking some wacko weed or something. Maybe some rescripting is in order? Any volunteers/ideas/comments?

Thanks,

= vonsmith =

28
Here's a description of my latest creation.

'PROCESS: REVERSE CERTAIN CONTRACTIONS AND OTHER SUBSTITUTIONS
'This is the version entirely rewritten by =vonsmith= , version 10-30-03a.
'This function improves on the original function in Ultra Hal Assistant v5.0 and
'provides new capability. Just delete the entire original "PROCESS: REVERSE CERTAIN
'CONTRACTIONS AND OTHER SUBSTITUTIONS" in the hal5.uhp file and replace it with
'this script. Always back up the original hal5.uhp file!!!
'
'ORIGINAL CAPABILITY:
'Standardizing on contractions can make Hal sound conversational.
'However, certain sentence constructions don't work well if expressed as
'contractions.  For example:
'"I don't know where it is" becomes "I don't know where it's."
'For another example, "That's how he is" becomes "That's how he's."
'To solve these types of cases we attempt to modify certain contractions, words,
'and phrases at the end of this function, now that Hal's thinking is done.
'
'ADDITIONAL CAPABILITIES:
'Normally Hal converts every user input into all caps to evaluate the sentence
'and create a response. However if Hal parrots back the user input the user's
'capitalization is lost. Example:
'  User: Where is Disneyland?  Hal: Where is disneyland? We must examine this.
'Capitals in names of people and places are lost similarly.
'  User: Do you know Ted and Mark?  Hal: Should I know ted and mark?
'The programmer could edit the corrections.brn file to substitute Mark for mark
'in all cases, but this would erroneously lead to:
'  User: How much should I fill a glass?  Hal: Fill it to the Mark.
'
'This rewritten function will preserve the user's capitalized words in the input
'sentence and replace Hal's uncapitalized words in GetResponse with the correct
'user capitalized versions. Example:
'  User: Where is Ted and Mark?  Hal: I don't know Ted and Mark.
'Hal now takes a clue from the user about capitalization.
'  User: Where is Ted's mark?  Hal: Ted's mark is not here.
'  User: I know ted and mark.  Hal: Where is ted and mark.
'
'In cases where the user always wants a word capitalized, then Hal can save a
'word to the corrections.brn for the user. Example:
'  User: Hal caps Disneyland.
'  Hal: Your input Disneyland is saved as capitalized in the corrections brn file.
'If your Hal is named Betty instead type:
'  User: Betty caps Saint Mary.
'  Hal: Your input Saint Mary is saved as capitalized in the corrections brn file.
'Since Hal's computername appears in the user input this programming type input
'will not be saved to any other brn files or anywhere else in Hal's data base.
'Now for example:
'  User: I hear Saint Mary's bells.  Hal: What is Saint Mary's bells?
'However Hal still takes a clue from the user's input.
'  User: I hear saint mary's bells.  Hal: What is saint mary's bells?
'The phrase "saint mary's" is still lower case even if it is in the corrections.brn
'file. Hal always assumes the user's use of capitalization is correct.
'This method should produce the correct capitalization in almost every case. The
'programmer shouldn't add words like "Mark" or "Hall" to corrections.brn because
'these names can also be used as uncapitalized words. However words like "Fred",
'"God", "Christmas", "Knott's Berry Farm" can be added with reasonable certainty
'that they should always be capitalized. You can add as many words to
'corrections.brn as you like. Duplicated words will not be added to the file.
'
'This function does not handle all capitalized words like acronyms, i.e., DOA, SUV.
'Unfortunately Hal's other functions do not preserve all cap words during the final
'processing of GetResponse.
'
'Have fun with this improved function. =vonsmith=
'
'P.S. - Try this. User: Where is Mark's mark? See if Hal gets it right.


Download it and give it a try. Let me know how it works out.

= vonsmith =


<snip> I deleted the attachment, because a newer version is available. This first version had an intermittment bug that caused a "Function 'Asc' not recognized" error. It is corrected in the new version. Refer to the new posting in this thread.
= vonsmith = 11/11/03

29
Ultra Hal 7.0 / Tried AT&T Natural Voices with Hal v5.0 yet?
« on: October 29, 2003, 09:43:54 am »
Has anyone tried out AT&T Natural Voices with Hal v5.0 yet? I'd like to hear some feedback about how well it works out.

Thanks,

= vonsmith =

30
Ultra Hal 7.0 / Speech recognition problem? Help pls.
« on: October 24, 2003, 12:02:23 pm »
I've had a lot of fun with Hal thus far, but I haven't tried voice recognition until v5.0.55 came out. My XP system has SAPI4 & 5 installed. All the Microsoft and L&H voices are installed. I used the XP wizard to set the headset microphone level. I did about 20 minutes of speech engine training. But something is not working.

When I run Hal and select "Use speech recognition (You speak to Hal)" I can select the Microsoft SR engine, mic settings and training. However when I try to actually talk to Hal no words get entered into the user entry window. If I type something after a few seconds the entry is accepted without the need for a carriage return (enter key).

Am I missing something obvious or what? What links the mic and SR software to Hal's input window?

Thanks in advance,

= vonsmith =

Pages: 1 [2] 3