[developers] MRS "constant" arguments

Woodley Packard sweaglesw at sweaglesw.org
Thu Sep 12 20:54:20 CEST 2013

Dear developers, perhaps especially Ann,

Mike Goodman recently uncovered an interesting situation: an EP-describing AVM from the ERG whose ARG2 was of type *top*.  It was a bug in the grammar, which Dan has since fixed, but it brought to light a difference in the MRS readout code in ACE vs LKB/PET.  ACE decided that, since the value was not a subtype of semarg, it must not be an MRS variable, and hence must be a constant requiring no further processing (like CARG), resulting in [ ARG2 *top* ] on the MRS.  LKB and PET both have special grammar-defined settings specifying which features correspond to constant arguments (only CARG, in both cases), so they allowed the *top* to be passed through the VPM, which conveniently had a "* >> u" line, resulting in [ ARG2 u ] on the MRS.

1. What is the formal status of these "constant" arguments?  Are they to be interpreted as part of the predicate itself, or objects in their own right?  More to the point, is it conceivably legal for an EP to have more than one of them?

2. What is the meaning of a node in an MRS-describing AVM whose type is not subsumed by "semarg"?  Is it meaningful to try to read anything into the relationship between those nodes' types and "semarg"?

I believe there was a time when ACE behaved more like the LKB and PET, but something prompted me to change that -- most likely compatibility with some other grammar.  It could have been that I simply didn't feel like adding another configuration parameter indicating what CARG was in that grammar.  It would be nice to not require each grammar to specify that feature name, but if it's necessary, it's necessary.  It also would be nice to be able to warn grammarians of potential bugs when a node that seems like it should be a semarg isn't.

Does anybody have any illuminating ideas about this?

More information about the developers mailing list