This tutorial will introduce you to the learning properties of NL-Soar
(WordNet version).
-
Start up NL-Soar (the Wordnet version) as usual. Note that this assumes
that NL-Soar has no prior experience whatsoever in processing any sentences.
-
Enter the following sentence with the new-sentence
command: the donkey crossed the road .
-
Now run the system with the run
command.
-
Study the system trace and note the following:
-
Words are set up (by default) to enter the system every 350 milliseconds.
As soon as they enter the system, a message prints, such as:
Time has come for EnterWord 350 road...
1450 Soar hears you say: road
This means that 1.45 seconds into the utterance, the word "road" entered
into the system.
-
The processing was very hierarchical, with several layers of goal-directed
behavior.
-
The processing took about 245 decision cycles.
-
You can also use the command stats
to see exactly how much CPU time it took to process this sentence, how
many decision and elaboration cycles it took, how many production firings
were needed, and how many working memory elements were involved. Do this,
and note these figures for future reference.
-
Several chunks were created while processing the sentence. They reflect
what NL-Soar learned during the process.
-
Now initialize the system with the init-soar
command. At this point, all of the chunks are still in the system (init-soar
does not delete them; the command excise
-chunks does this, but don't do it now).
-
Now run the system again, using the same sentence. Note that:
-
This time there is much less goal-directed behavior; instead, the system
behaves recognitionally. In particular: u-constructors and s-constructors
that were learned when processing the sentence deliberately fire when the
system recognizes that they can apply.
-
Many chunks fire as operators participate recognitionally.
-
Words enter into the system as described above; however, this time the
system has much more extra time between words.
-
There is a wait operator that fires
for each decision cycle that the system waits for a new word to enter the
system.
-
Run the stats command again, and
note how the processing statistics differ from the previous run. There
should be a noticable reduction in the number of decision cycles, working
memory, and CPU processing time. This reflects the effects of NL-Soar's
having previously learned how to process the sentence, and applying that
knowledge recognitionally.
-
Imagine what other types of tasks NL-Soar could process as it is waiting
for incoming words.