<div dir="ltr"><div><div>Thanks, Woodley. Indeed, I was trying to use +copy+ in a type definition. Moving that to<br></div>an instance, the grammar now compiles, and the rules don't spin, but they also don't seem<br></div>to apply (the output is still underspecified for mood):<br><br>irrealis-neg-mtr := monotonic_mtr &<br>[ INPUT.RELS <! [ ARG0.E.MOOD mood & #m,<br> LBL #larg ] !>,<br> CONTEXT [ RELS <! [ PRED "neg_rel",<br> ARG1 #harg ] !>,<br> HCONS <! [ HARG #harg,<br> LARG #larg ] !> ],<br> OUTPUT [ RELS <! +copy+ & [ ARG0.E.MOOD irrealis ] !>,<br> HCONS <! !> ],<br> FLAGS.EQUAL < #m > ].<br><br>realis-nonneg-mtr := monotonic_mtr &<br>[ INPUT.RELS <! [ ARG0.E.MOOD mood & #m,<br> LBL #larg ] !>,<br> FILTER [ RELS <! [ PRED "neg_rel",<br> ARG1 #harg ] !>,<br> HCONS <! [ HARG #harg,<br> LARG #larg ] !> ],<br> OUTPUT [ RELS <! +copy+ & [ ARG0.E.MOOD realis ] !>,<br> HCONS <! !> ],<br> FLAGS.EQUAL < #m > ].<br><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Mar 4, 2015 at 5:14 PM, Woodley Packard <span dir="ltr"><<a href="mailto:sweaglesw@sweaglesw.org" target="_blank">sweaglesw@sweaglesw.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div>I don't know exactly how your setup works, but it's worth pointing out that (to my knowledge) +copy+ and the accompanying overrides can only appear in an instance definition, not a type definition. Could that explain the behavior you're seeing? It looks like you might be writing a type rather than a rule.</div><span class="HOEnZb"><font color="#888888"><div><br></div><div>-Woodley</div></font></span><div><div class="h5"><br><div><div>On Mar 4, 2015, at 4:48 PM, "Emily M. Bender" <<a href="mailto:ebender@uw.edu" target="_blank">ebender@uw.edu</a>> wrote:</div><br><blockquote type="cite"><div dir="ltr"><div><div><div>When I tried this with +copy+, I end up with a grammar that doesn't load:<br><br>intrans-irrealis-neg-mtr := monotonic_mtr &<br>[ INPUT.RELS <! [ ARG0.E.MOOD mood & #m,<br> LBL #larg ] !>,<br> CONTEXT [ RELS <! [ PRED "neg_rel",<br> ARG1 #harg ] !>,<br> HCONS <! [ HARG #harg,<br> LARG #larg ] !> ],<br> OUTPUT [ RELS <! +copy+ & [ ARG0.E.MOOD irrealis ] !>,<br> HCONS <! !> ],<br> FLAGS.EQUAL < #m > ].<br><br>Unifications specified are invalid or do not unify<br>Type INTRANS-IRREALIS-NEG-MTR has an invalid constraint specification<br>Error: Problems in type file<br><br><br></div>... I suspect that this is because I'm working with the set up where the transfer grammar<br></div>is actually integrated into the source side monolingual grammar and we use the "Rephrase"<br>option in the LKB. (Because that's how I still have the students do it for their Lab 9 ...<br> I then pull out the transfer rules into separate transfer grammars for the MMT demo.)<br><br></div><div>This isn't a show-stopper though, so I think I'm going to leave it for now.<br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Mar 4, 2015 at 4:43 PM, Woodley Packard <span dir="ltr"><<a href="mailto:sweaglesw@sweaglesw.org" target="_blank">sweaglesw@sweaglesw.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">What +copy+ does is part of the undocumented magic of the transfer formalism... as near as I have been able to reverse engineer, it means to copy everything from the corresponding input EP, and then overwrite parts of it with what is explicitly stated in the OUTPUT section. In the ACE implementation, it has (if I recall correctly) exactly the same effect as making the output EP reentrant to an input EP (except in that case you can mix and match EP orderings).<span><font color="#888888"><br></font></span><div><span><font color="#888888">-Woodley</font></span><div><div><br><div><br><div><div>On Mar 4, 2015, at 1:35 PM, "Emily M. Bender" <<a href="mailto:ebender@uw.edu" target="_blank">ebender@uw.edu</a>> wrote:</div><br><blockquote type="cite"><div dir="ltr">Thanks, Stephan! I'd actually gotten as far as using the FLAGS.EQUAL<br>mechanism but ran into problems because I was trying to identify<div>variables across input and output. I guess whatever +copy+ does</div><div>is what I was missing...</div><div><br></div><div>I'll give it a try,</div><div>Emily</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Mar 4, 2015 at 1:27 PM, Stephan Oepen <span dir="ltr"><<a href="mailto:oe@ifi.uio.no" target="_blank">oe@ifi.uio.no</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">i had to look up some examples from the original LOGON Transfer Matrix<br>
(in SVN) myself, but it would seem that the FLAGS.EQUAL mechanism is<br>
supported for variable properties. thus, something in the following<br>
spirit should work (and not cycle):<br>
<br>
INPUT < [ ARG0 [ MOOD mood & #mood ] ] >,<br>
OUTPUT < +copy+ & [ ARG0 [ MOOD realis ] ] >,<br>
FLAGS.EQUALS < #mood ><br>
<br>
if, for some reason, the above refuses to cooperate, i dimly recall<br>
introducing ‘decorator’ EPs (e.g. ‘plural_noun_mark’ in the Transfer<br>
Matrix) to prevent cyclic rule applications: once the variable<br>
property is refined, one can put a mark on that variable, and<br>
somewhere towards the end of transfer all marks can be dropped ...<br>
<br>
good luck putting it all together! oe<br>
<div><br>
<br>
On Wed, Mar 4, 2015 at 9:43 PM, Emily M. Bender <<a href="mailto:ebender@uw.edu" target="_blank">ebender@uw.edu</a>> wrote:<br>
> Dear all,<br>
><br>
> I'm reaching the end of this year's Ling 567, and this time around we have<br>
> two languages (Bardi [bcj] and Lithuanian [lit]) that contrast realis and<br>
> irrealis<br>
> mood, where irrealis is required in negated sentences but also possible<br>
> elsewhere (with other uses).<br>
><br>
> We typically use VPM to set defaults for various variable properties to keep<br>
> the range of generator outputs down in our MT set up, but can't in this<br>
> case set MOOD to realis by default, since then we don't get any output<br>
> for negated sentences.<br>
><br>
> It seemed tempting to try to create a family of transfer rules that<br>
> specialize<br>
> MOOD on the ARG0 of negated _v_rels (i.e. whose LBL is the LARG of a qeq<br>
> whose HARG is the ARG1 of neg_rel) to [ MOOD irrealis ] and that of<br>
> _v_rels that aren't negated to [ MOOD realis ]. The trouble is, I can't<br>
> figure<br>
> out a way to write this rule that doesn't feed itself.<br>
><br>
> Is there something I'm missing, or (perhaps more likely) is this just not an<br>
> intended use case for the transfer rules/otherwise a bad idea in some way?<br>
><br>
> Thanks,<br>
> Emily<br>
><br>
> --<br>
> Emily M. Bender<br>
> Professor, Department of Linguistics<br>
> Check out CLMS on facebook! <a href="http://www.facebook.com/uwclma" target="_blank">http://www.facebook.com/uwclma</a><br>
><br>
</div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div><div dir="ltr">Emily M. Bender<br>Professor, Department of Linguistics<br>Check out CLMS on facebook! <a href="http://www.facebook.com/uwclma" target="_blank">http://www.facebook.com/uwclma</a><br></div></div>
</div>
</blockquote></div><br></div></div></div></div></div></blockquote></div><br><br clear="all"><br>-- <br><div><div dir="ltr">Emily M. Bender<br>Professor, Department of Linguistics<br>Check out CLMS on facebook! <a href="http://www.facebook.com/uwclma" target="_blank">http://www.facebook.com/uwclma</a><br></div></div>
</div>
</blockquote></div><br></div></div></div></blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature"><div dir="ltr">Emily M. Bender<br>Professor, Department of Linguistics<br>Check out CLMS on facebook! <a href="http://www.facebook.com/uwclma" target="_blank">http://www.facebook.com/uwclma</a><br></div></div>
</div>