Hello,
Hal learns and responds using word association, phrase association, association within sentences, and between sentences. Hal evaluates responses from 40 different databases, many of which do both storage and retrieval.
Hal learns from every sentence when set for maximum learning mode. He parses sentences into subjects, predicates, adjectives, nouns, and other parts of speech, saving the pieces for re-assembly into unique new statements.
(Because Hal doesn't depend on pre-coded string-matching for new learning, the user can teach Hal any language that uses the same alphabet as English. The learning occurs very slowly and gradually, but Hal can in fact become multi-lingual. Unfortunately, today's text-to-speech engines can't switch languages "on the fly," so pronunciation will vary.)
When Hal encounters pronouns, he consults the previous sentence to try to better guess context.
Hal does recognize negative statements in many cases, and learns from them.
Hal's control software is written in VBS and is human-readable with Hal's brain editor, which color-codes the content for easier reading. The VBS code has been annotated to help explain what it does and why.
You can read some of my previous posts (including a VBS book recommendation) on this subject here:
http://www.zabaware.com/forum/search.asp?mode=DoIt&MEMBER_ID=274 Try experimenting with a wide variety of subjects, talking to Hal naturally, especially with declarative statements. (Most users never see even one percent of Hal 4.5's content, since Hal 4.5 is capable of generating billions of responses.)
Have fun with Hal!
Don