Hi Boomer,
Please check out the following response:
http://www.zabaware.com/forum/topic.asp?TOPIC_ID=858 ----------------------
Now, specifically with regard to "dog" and "animal" as you mentioned above:
"Dog" is to "animal" as "chair" is to "furniture" in that "dog" and "chair" can be thought of as "percept words" (in which the word maps one-for-one to a physical reality); they are subcategories respectively of "animal" and "furniture," which are "concept words" (they describe a mental construction, and do not map one-for-one to physical objects).
You bring up an excellent idea for Hal to think of individual categories as subgroups of larger categories. For most of his history, Hal has not used any such mental constructions to simulate conversation. His dominant strategy has been to search for words and phrases in similar sequences to previous conversations, and to come back with a response similar to the comment-response sequences given by the user in the past.
However, two new Hal features do go into the direction you are asking about:
1. TOPIC FOCUS:
"Topic focus" began in some work I did with Robert Medeksza. I had read in an applied psychology book that most "small talk" conversation pertained to the weather, personal health, politics, religion, music, and sports. I created a "topic focus" routine which would populate separate databases when any of a number of trigger words within those categories were detected. As the databases grew, Hal stayed obviously more "on topic" when talking about sports, music, weather, etc. (At one time, I thought of naming these databases "schemas" instead of "topic focus.")
Robert Medeksza has always worked to make Hal as modular as possible. So, he re-wrote and improved the control-script and the "topic focus" routine so that users could go into the brain editor and create additional topics. He also drastically improved my code, making it faster, compact, and more efficient. That was a huge step forward.
Later yet, I came up with the idea of letting Hal detect topics by searching past noun-phrases in sentences. For instance, if the user had previously said, "Large poodles are not as cute as toy poodles," Hal would detect and store the subject phrase "large poodles" as a potential topic-focus. If the user talked about "large poodles" in the future, Hal would populate a database dedicated to "large poodles" and show remarkable ability to remain focused on that topic.
VonSmith then created a brain he calls the XTF brain to make the creation and management of topic databases much more sophisticated. You can read the user reactions on these various forums, and VonSmith has consistently obtained excellent user reviews.
In the meantime, in response to user requests, I've been working on a brain that further partitions the groups of topic databases according to both the user's name and the character's name. This allows one character to "know" things that another Hal character does not. I am basing this on my previous auto-topic brain, but since we Hal developers improve each other's work, VonSmith can hopefully see if any of the construction would be useful in his XTF brain.
2. WORD NET:
Robert Medeksza added the WordNet database to Hal 5.0. The WordNet database allows Hal to define any word, to identify any word as to its part of speech, to look up synonyms, and to identify relationships to other words representing similar meaning, subgroups, and many other functions.
Hal 5.0 exploits quite a bit of WordNet's power, but I am sure that we developers will find a lot of new ways in the future that WordNet can be exploited to make Hal "smarter." One idea that I've been mulling over, is to generate related words using WordNet, and then "seed" the related words into the trigger word sets flowing into Hal's Q&A databases. It might work something like this:
OLD SYSTEM:
@I enjoy all kinds of wildlife. [A possible Hal response]
YOU ENJOY DEER [Trigger words generated by conversation]
POSSIBLE NEW SYSTEM:
@I enjoy all kinds of wildlife. [A possible Hal response]
YOU ENJOY DEER ANIMALS [Trigger words generated by conversation, with additional trigger word invisibly "seeded" via WordNet auto-lookup]
So far, all our exploitation of WordNet has focused on the response-side of Hal, but I think we can get some mileage also from the "database triggers" side of Hal! I am going to look into this when I get time, but in the meantime, all developers, especially VonSmith, and Robert Medeksza, are certainly encouraged to mull this over and experiment with it!
Boomer, I hope that this further helps your questions. As I've mentioned previously, the old postings on this forum are also a rich resource for information along the lines of your questions. They are definitely worth checking out.
Have a great day!
Sincerely,
Don