I have a number of questions about whether I can constrain certain MRSs that I have (with variable properties or otherwise) to reduce the number of outputs each the ERG generates for each one.
Note that for each MRS in order to actually generate results with the ERG I do a “preparation” step where I quantify the top level x variable and then add the unknown predicate to make the whole MRS have an e-type index. The MRSs I show don’t have this preparation step done for simplicity, but in order to actually get the strings that I show this step is applied.
Prevent modifiers between nouns in a compound noun
I have an MRS that I’m intending to use to generate strings like “the black car key.” I do get those results out, but I also get things like “the car black key.”
Here is the MRS:
[ TOP: h13
INDEX: x1
RELS: < [ _black_a_1 LBL: h13 ARG0: i14 ARG1: x1 ]
[ compound LBL: h13 ARG0: e10 ARG1: x1 ARG2: x3 ]
[ udef_q LBL: h8 ARG0: x3 RSTR: h6 BODY: h7 ]
[ _car_n_1 LBL: h4 ARG0: x3 ]
[ _key_n_1 LBL: h13 ARG0: x1 ] >
HCONS: < h6 qeq h4 > ]
When I parse the string “the black car key” with the ERG I get the one I expect:
but I also get others that don’t feel to me like they’re grammatical:
to be fair I don’t know what the syntax rules being shown actually mean, but I can’t personally accept “the [[black car] key]” as a noun phrase. Maybe another example would clarify what this construction is meant to be for, but my instinct is that a modifier in front of a compound noun would always be modifying the whole compound noun and not the just first member of the compound.
So my questions here are:
- Why is the parse where the modifier modifies only the non-head noun acceptable?
- Is there a way to constrain the MRS in such a way that it won’t generate strings like “the car black key”?
Constraining passive participles
The next MRS I have is one that I want to generate strings like “the locked car, west of the green bush.”
Here is the MRS:
[ TOP: h19
INDEX: x1
RELS: < [ loc_nonsp LBL: h19 ARG0: i16 ARG1: x1 ARG2: x13 ]
[ def_implicit_q LBL: h30 ARG0: x13 RSTR: h28 BODY: h29 ]
[ _west_a_1 LBL: h15 ARG0: i12 ARG1: x13 ARG2: x22 ]
[ def_udef_a_q LBL: h25 ARG0: x22 RSTR: h23 BODY: h24 ]
[ _green_a_2 LBL: h11 ARG0: i9 ARG1: x22 ]
[ _bush_n_1 LBL: h11 ARG0: x22 ]
[ place_n LBL: h15 ARG0: x13 ]
[ _lock_v_cause LBL: h19 ARG0: e3 ARG1: i4 ARG2: x1 ]
[ _car_n_1 LBL: h19 ARG0: x1 ] >
HCONS: < h23 qeq h11 h28 qeq h15 > ]
In addition to the strings I want, I am also getting things like the following:
The car locked west of the green bush
The car to lock west of the green bush
The car west of the green bush locked
The car west of the green bush to lock
- Is there a way to eliminate the “to lock” ones? I’m hoping there’s some tense constraint I can use.
- Is there a way to prevent the modifier of car from moving after it? This seems to be similar to the issue I was having with the MRS in the previous example
Constraining subject relative clauses
The last MRS I have (for this post…) contains a subject relative clause. I want it to generate strings like “the person who ate the cookie.”
[ TOP: h11
INDEX: x12 [ x NUM: sg ]
RELS: < [ _eat_v_1 LBL: h11 ARG0: e1 [ e TENSE: tensed ] ARG1: x12 ARG2: x5 [ x NUM: sg ] ]
[ def_udef_a_q LBL: h10 ARG0: x5 RSTR: h8 BODY: h9 ]
[ _cookie_n_1 LBL: h6 ARG0: x5 ]
[ _person_n_1 LBL: h11 ARG0: x12 ] >
HCONS: < h8 qeq h6 > ]
Here is a sample of the strings I get out:
The person that the cookie was eaten by
The person that the cookie was eaten by.
The person which the cookie was eaten by
The person by who the cookie was eaten.
The person by which the cookie was eaten.
The person by who the cookie was eaten
The person by which the cookie was eaten
The person who the cookie was eaten by
The person which the cookie was eaten by.
The person who the cookie was eaten by.
The person who ate the cookie
The person the cookie was eaten by
The person that ate the cookie
The person the cookie was eaten by.
The person which ate the cookie
The person who ate the cookie.
The person that ate the cookie.
The person which ate the cookie.
Is there a way to get rid of the ones with “The person which”? Or is there no animacy in the ERG?
Thanks in advance ![]()

