Inari Listenmaa
2015-08-21 18:08:20 UTC
Hello!
I'm finally going to implement a properly working C mode for my SAT-CG. ^_^
(In case you weren't at the Nodalida CG workshop and are wondering who is
this crazy person, see paper
<http://www.hf.uio.no/iln/om/organisasjon/tekstlab/aktuelt/arrangementer/2015/nodalida15_submission_91.pdf>
& code <https://github.com/inariksit/cgsat>).
I'll likely have more questions later on, but let's start with a simple
one: the interaction of NOT and C mode.
Is there any difference between the following rules:
REMOVE (a) IF (NOT 1 (b)) ;
REMOVE (a) IF (NOT 1C (b));
I would've thought that there is a difference. A context that matches 1C
(b) also matches 1 (b) but not vice versa, thus there should be more cases
that match NOT 1C (b) than NOT 1 (b).
matches NOT 1C (b):
1C (b) | 1C (^b)
-------|--------
1 (b) | 1 (^b)
matches NOT 1 (b):
1C (b) | 1C (^b)
-------|--------
1 (b) | 1 (^b)
However, when I was testing with the following rules and input
http://pastebin.com/JNjjZdSH, the result was identical. Is this the
intended behaviour? Is there some kind of intuition for negating a careful
context?
I grepped from all the CGs in Apertium repo that I had, and found 127
occurrences of NOT + C mode (in total >8000 occurrences of NOT), so it
seems not to be used that much anyway.
Note that I'm not requesting to change the behaviour, I just want to make
sure that I have the correct interpretation. I was reading this
http://beta.visl.sdu.dk/cg3.html but didn't find comments on that.
Cheers,
Inari
I'm finally going to implement a properly working C mode for my SAT-CG. ^_^
(In case you weren't at the Nodalida CG workshop and are wondering who is
this crazy person, see paper
<http://www.hf.uio.no/iln/om/organisasjon/tekstlab/aktuelt/arrangementer/2015/nodalida15_submission_91.pdf>
& code <https://github.com/inariksit/cgsat>).
I'll likely have more questions later on, but let's start with a simple
one: the interaction of NOT and C mode.
Is there any difference between the following rules:
REMOVE (a) IF (NOT 1 (b)) ;
REMOVE (a) IF (NOT 1C (b));
I would've thought that there is a difference. A context that matches 1C
(b) also matches 1 (b) but not vice versa, thus there should be more cases
that match NOT 1C (b) than NOT 1 (b).
matches NOT 1C (b):
1C (b) | 1C (^b)
-------|--------
1 (b) | 1 (^b)
matches NOT 1 (b):
1C (b) | 1C (^b)
-------|--------
1 (b) | 1 (^b)
However, when I was testing with the following rules and input
http://pastebin.com/JNjjZdSH, the result was identical. Is this the
intended behaviour? Is there some kind of intuition for negating a careful
context?
I grepped from all the CGs in Apertium repo that I had, and found 127
occurrences of NOT + C mode (in total >8000 occurrences of NOT), so it
seems not to be used that much anyway.
Note that I'm not requesting to change the behaviour, I just want to make
sure that I have the correct interpretation. I was reading this
http://beta.visl.sdu.dk/cg3.html but didn't find comments on that.
Cheers,
Inari
--
You received this message because you are subscribed to the Google Groups "Constraint Grammar" group.
To unsubscribe from this group and stop receiving emails from it, send an email to constraint-grammar+***@googlegroups.com.
To post to this group, send email to constraint-***@googlegroups.com.
Visit this group at http://groups.google.com/group/constraint-grammar.
For more options, visit https://groups.google.com/d/optout.
You received this message because you are subscribed to the Google Groups "Constraint Grammar" group.
To unsubscribe from this group and stop receiving emails from it, send an email to constraint-grammar+***@googlegroups.com.
To post to this group, send email to constraint-***@googlegroups.com.
Visit this group at http://groups.google.com/group/constraint-grammar.
For more options, visit https://groups.google.com/d/optout.