Hi, I've been playing with both vislcg2 and vislcg3 executables and have different results with MAP rules. Using the following (testing) text: #--------------------------------------------------------------------------------------- "<$SENTo$>" "<Word1>" "word" DET "<word2>" "word" A "word" N "<word3>" "word" N "<word4>" "word" V "<word6>" "word" ADV "<.>" "." PUNCT STOP t0 "<$SENTc$>" #--------------------------------------------------------------------------------------- and the following grammars for CG-2: #--------------------------------------------------------------------------------------- DELIMITERS = "<$SENTc$>"; SETS LIST DET = DET ; LIST A = A ; LIST N = N ; LIST V = V ; CONSTRAINTS MAPPINGS MAP (@DN>) DET IF (*1C N BARRIER V) ; #--------------------------------------------------------------------------------------- I get the DET mapped to @DN> with CG-2 but not with CG-3 (I am using version 0.9.3.3356). Is there any difference in the evaluation of contextual looks and careful mode between CG versions? Thanks in advance, --Fernando Sánchez
Just to support the design decision made for CG-3 from a linguistic
point of view:
It is important to make the distinction between the 2 cases (*1C and
**1C), since both address real grammatical needs. The first (*1C) is
useful for close context checks, like np's (where it would be weird to
instantiate a test just because there is a safe N very far away in
anouther subclause), the second (**1C) is useful for the uniqueness
principle in a more global context especially with REMOVE rules (for
instance removing VFIN readigs in the presence of [safe] other VFIN.
More precise rule tailoring can be achieved by using BARRIERs, for
instance if **1C is to be used for np-chunking, as in the example given:
**1C N BARRIER CLB OR PRP OR VFIN, for instance. In English, e.g., nouns
can be both np-heads and prenominals, so "jumping" ambiguous nouns to
find a safe np-head makes sense.
Best regards,
Eckhard Bick
Tino Didriksen wrote:
> G'day...
> CC'ed to http://groups.google.com/group/constraint-grammar as this is
> an important compatibility issue.
>
> Instead of
> MAP (@DN>) DET IF (*1C N BARRIER V) ; # Single *
> you want
> MAP (@DN>) DET IF (**1C N BARRIER V) ; # Double **
>
> The CG-2 spec dictates that for a test (*-1C A):
> "There is a cohort to the left containing a reading which has a tag
> belonging to the set A. The _*first such cohort*_ must have a tag
--
Eckhard Bick,
cand.med., dr.phil.
University of Southern Denmark
e-mail: eckhar...@mail.dk
web: http://beta.visl.sdu.dk