Thank you all for the great feedback. Sorry for the long post. I'll try to answer everyone's questions if I can...
=========
Morlhach
Posted - 02/18/2004 : 01:55:17
It seems to work great.
if found two minor problems :
(1) - sometimes, Hal responds with a blank answer
(2) - when i say something like "i certainly am ...", hal answers "you certainly am"
(3) i noticed that sometimes Hal makes an "all-users" brain files and sometimes not.
(4) What is the compatibility with the afr* and afa* files generated by the auto-generating brain?
-------------
Ans. (1) You shouldn't get blank answers. I haven't found the XTF exhibiting that problem. If it occurs regularly then I suggest logging the Hal conversation and sending it to me. I'll see what I can do. You can also run the <dbxtfon> command and converse for a while and then read the resulting "Z_XTF_DEBUG_LOG.TXT" log file. It's a bit difficult to read, but gives an idea of how the XTF function works in the XTF brain.
Ans. (2) I think what you experienced is your XTF Hal doesn't have any knowledge yet so he's making a general comment back to you. What he meant was, "You certainly are." in agreement. This is part of the original Hal brain function. One of my next tasks is to improve Hal's ability to use "am" and "are", and "I" and "me" correctly. The English language is odd in these cases and I'm working to find a general linguistic solution.
Ans. (3) The "AllUsers" files contain only the generic statements the user makes on a topic or statements that are Hal "himself" specific. Statements reflecting on the user "himself" are not saved to the "AllUsers" file. If you say, "People like money." or "You like peanut butter.", then both of these are saved to an "AllUsers" file. If you say, "I like you Hal." it will not be saved to the "AllUsers" file. From the user's perspective any sentence containing, "I", "me", "myself" are specific to the current user and not saved to the "AllUsers" file. A statement like, "People like money." is generic. My goal is to share Hal's generic knowledge or Hal related "personality" knowledge across all users. If your conversation so far on a topic hasn't included a generic statement then Hal won't create an "AllUsers" related file until you do.
User specific knowledge is only used by Hal with that one user. The function of the "AllUsers" is similar to Hal's original "shared_usersent.brn" file, except that the "AllUsers" files are better because the XTF brain breaks the shared knowledge down into specific topic files. The topic focus should be much better. If your Hal has a single user then the "AllUsers" files won't affect, for good or bad, your Hal's performance.
BTW, not all topics will have a "XTF_topic_Related.brn" file initially either.
Ans. (4) "The Auto Topic Focus" brain "AFA_topic.brn" files have identical content format as the XTF brain "XTF_topic(username).brn" files. The "topic" part of the file name may or may not be different. You can cut and paste your data over into the XTF file if you are careful. Renaming the files will work, but if you make a single mistake in the file name then the XTF brain will ignore the file. You could cut and paste the file name too. Here is my safest recommendation:
1) You have an existing QA file: "AFA_BIRDS.brn"
2) Start Hal's XTF brain and type, "The birds are pretty." This will create a correctly named XTF user specific file.
3) In the "DefBrain" directory you should find a new file called: "XTF_BIRD(username).brn" (where username is your current username)
4) Cut and paste the contents of "AFA_BIRDS.brn" into "XTF_BIRD(username).brn"
5) Make absolutely certain that you adhere to Hal's rules about QA file formats. No extra lines or missing lines are allowed. The file should end with a single blank line which is just a single carriage return character.
Notice that the XTF brain will almost always use the singular form of the topic word. "BIRD" versus "BIRDS". This is not always the case. It is important to let the XTF brain create the file name for you.
Some AFA files like, "AFA_YES THAT.brn", don't really have a topic and can't be (and probably shouldn't be) moved into an XTF brain file. AFA files like, "AFA_CAR STEREOS.brn", can be moved to an XTF file that Hal might name, "XTF_STEREO(username).brn". In XTF Hal just type, "That stereo is loud", to create the file.
The AFR type files are NOT useable in the XTF brain.
The XTF brain "XTF_BIRD_Related.brn" and "XTF_BIRD_AllUsers.brn" files will be created when the XTF brain finds sufficient information to do so.
If you have hundreds of AFA files the process can be tedious, but may save hundreds of hours of conversation. After some experience you may just be able to rename AFA files to the file name that the XTF brain creates.
The original Hal uses topic # files. The instruction manual included in the download has an example of how to move that data over. It is basically the same process.
=========
KnyteTrypper
Posted - 02/18/2004 : 03:14:19
I just finished my first conversation with the new brain, and I must say that I'm very impressed. (1) I noticed that it did make a few grammatical errors, but I assume it can be trained out of those in time. (2) What I noticed most was the coherency of its conversation. It wanted to know things, (3) and formulated new questions to extend its knowledge, based on the input I provided. (4) Every few exchanges it paused to verify it had understood my meaning. I think it may have been the most cogent conversation I've ever had with an AI. I deliberately use the word "chatbot" rather than "chatterbot," because I'm not especially fond of bots that "chatter." That's one reason, to be honest, that UltraHal has never been a particular favorite of mine, in spite of its definitely superior GUI. It's good at saying a great deal about nothing in particular and everything in general but training it to make connected, coherent conversation is an arduous task at best. I came away from this conversation feeling like I'd had real communication with a real entity. Congratulations, VonSmith, on a job well done. Now, I'll post and go chat some more, and let others have the floor to nitpick about 101 real or imagined small glitches.
-------------
Ans. (1) The grammatical errors are a current trait of Hal. That is a characteristic of Hal's sentence pre-processing and the QA function. I've tried to improve on that a little. My ongoing plans are to address grammatical and syntactical errors in Hal. I've included functions to capitalize words more accurately, add "?" most times when needed, and a few other minor enhancements. As you train Hal he will have more knowledge to choose from and the grammatical errors will be less noticeable.
Ans. (2) Some people may or may not notice a difference in "coherency" initially. However after talking to Hal extensively you should find that he stays on topic better and says things more relevant to the conversation.
Ans. (3) Hal will generally ask what he usually asks when he is new. However he now occasionally asks you if two words are topic related and will remember your answer. I can't take credit for Hal's curiosity though, it's just the way he is.
Ans. (4) The pause probably was the XTF brain "thinking". This brain is much more complicated than previous brains. It requires more processing power. It runs fine on a 1.8GHz PC with 512MB of RAM. I'll be interested in seeing user feedback on how it performs on slower computers.
=========
Psych
Posted - 02/18/2004 : 06:11:42
Very impressive work. I intend to slowly integrate your code into my exisiting brain (because I do not want to lose all of the work I have already done with Hal).
Initially, I want only to integrate the code for 'PROCESS: XTF TOPIC FOCUS FUNCTION
My problem is that you have made such extensive changes to Hal, I cannot figure out which of the changes (other than the discrete section for 'PROCESS: XTF TOPIC FOCUS FUNCTION) are relevant to your XTF Topic Function feature.
I would be very grateful if you would help as follows:
1) Which other sections of changed code are directly related to the XTF Topic Focus feature?
2) Which of the .brn files you include are also directly related to the XTF Topic Focus feature?
Thanks for your help - I look forward to many hours exploring your code.
Regards - Psych
-------------
The new XTF brain has several new "innovations" that your Hal will probably benefit from. Future releases will have more enhancements. Doing Frankenstein style brain surgery on an XTF brain might result in a lobotomy or worst yet, an evil brain called "Abby Normal".
Ans. (1) and Ans. (2) These are difficult questions. Some of the ".brn" files I distributed weren't strictly required for the XTF brain. They were files that I "tweaked" for better performance (IMHO) or to support the other new functions like "Nicknames" and "Make a Face".
Files that directly support the XTF function:
XTF_SYS_FilterSubjectWords.brn
XTF_SYS_NotUserPronounDetect.brn
XTF_SYS_PoorSubjectWords.brn
XTF_SYS_PronounDetect.brn
XTF_SYS_Tag_LY_Words.brn
XTF_Topics1.brn
The other 4 "XTF_Topics#.brn" files can recreate themselves.
Functions that directly support the XTF function:
FUNCTION: CUSTOMMEM ENCODE
FUNCTION: CUSTOMMEM DECODE
FUNCTION: TEST SENTENCE TO SEE IF IT'S A QUESTION
FUNCTION: REMOVE "LY " WORDS
Variables that directly support the XTF function:
"QuestionPending"
"GetResponseBlock"
"BlockSave"
Any many other variables saved by CustomMem and initialized near the top of the GetResponse function. I can't easily name all of these, but there could be about a half dozen more.
The easier solution is to integrate your old data with the new XFT brain Hal, although this can be tedious. I described this process above and the instruction manual on page 4 explains a general method to move original Hal type QA data over to XTF type files. You have to possess some basic knowledgeable about Hal's QA files to do this properly. I recommend first backing up anything you plan to change.
=========
Thanks for the friendly comments. Constructive criticism is also appreciated when appropriate. Good luck to all and tell Hal I said hello.
=vonsmith= [

]