[ACT-R-users] Comparing chunk types
Dan Bothell
db30 at andrew.cmu.edu
Wed Mar 26 11:17:19 EST 2003
--On Tuesday, March 25, 2003 4:31 PM -0700 Jerry.Ball at williams.af.mil wrote:
> Conjunctions in English can conjoin almost any linguistic type, but both
> conjuncts must (almost always) be of the same type. I need to be able to
> compare the chunk before the conjunction to the chunk after the conjunction
> to see if they are the same chunk type (e.g. noun, verb, NP, PP, etc.) and
> can be combined. The production that does this doesn't need to know what the
> chunk types are, just that they are the same type. Is there a mechanism in
> ACT-R for comparing chunk types (similar to the mechanism for comparing slot
> values)? If not, would such a mechanism fit in with the current
> architecture? Currently, I have separate productions for conjoining each
> linguistic type, but I would like very much to generalize these productions.
There isn't a specific mechanism built in for doing so, but there's always
!eval!. Here's an example production that would test that the chunk in the
goal buffer is of the same type as the chunk in the retrieval buffer.
(p example-1
=goal>
isa word
=retrieval>
isa word
!eval! (eql (wme-type (get-safe-wme =goal))
(wme-type (get-safe-wme =retrieval)))
==>
)
The one other piece to that is that you have to have a chunk-type hierarchy
such that all words share a supertype, the word chunk-type in the example, but
if the words in question are in slots of the goal for instance that isn't even
really necessary, as shown in example production 2.
(p example-2
=goal>
isa goal
slot1 =a
slot2 =b
!eval! (eql (wme-type (get-safe-wme =a))
(wme-type (get-safe-wme =b)))
==>
)
Those productions only match if the chunk-types of the tested chunks are the
same.
Allowing for the chunk-types (and slot names as well) to be specified with
variables is something that comes up every now and then and is currently one
of the things to be considered for inclusion in ACT-R 6. It adds a lot of
flexibility to the kinds of productions that can be written which seems like a
good thing from the modeling perspective, but the issue to consider is whether
that much flexibility is really a desired situation from the theory stand
point.
Dan
More information about the ACT-R-users
mailing list