I suggest using the auto-idle method to get Hal to learn the new knowledge (setting the increment value to a suitable number so that Hal will be finished processing the previous sentence before starting the next one).
I wouldn't suggest having Hal digest the knowledge directly. It must be filtered for nonsensical remarks, spatial statements, situational statements, etc.
Try this for filtering:
If InStr(DBLtestlearn, "Another way to say " & Chr(34)) > 0 Or InStr(DBLtestlearn, "Spatial concept:") > 0 Or InStr(DBLtestlearn, "The statement " & Chr(34)) > 0 Or InStr(DBLtestlearn, "The story " & Chr(34)) > 0 Or InStr(DBLtestlearn, "In the event ") > 0 Or InStr(DBLtestlearn, "Something that might happen") > 0 Or InStr(DBLtestlearn, "To understand the event") > 0 Or InStr(DBLtestlearn, "Situation:") > 0 Or InStr(DBLtestlearn, "Things that are often found together are:") > 0 Or InStr(DBLtestlearn, "Picture description:") > 0 Or (InStr(DBLtestlearn, "topic") > 0 And InStr(DBLtestlearn, "contains") > 0) Or IsNumeric(Mid(DBLtestlearn, 1, 1)) = True Then
It will take care of most of the useless reponses, such as;
'The statement "people use some animals to make food for people" is true because vegetarians would have you believe meat is murder, but it is not.'
BTW If anyone is interested, I downloaded the knowledge I am posting from;
http://commonsense.media.mit.edu/cgi-bin/download.cgiHappy coding [

]