I’m in the middle of trying to make my library work without any specialized phrase types. I’ve got head-adj-int doing most things just fine, but it breaks down when it comes to possessor pronouns. Like other pronouns, I’ve made my possessor pronouns go through a bare-np rule to pick up their quantifier. However, when I have the possessor pronoun acting as the non-head daughter in an adj-head-int phrase, it is showing up both with and without going through the bare-np rule. When I had a specialized phrase type for possessives, I could just require that its non-head daughter be SPR <> to solve this problem. Anyone have ideas of how to require that a possessor pronoun go through bare-np before acting as a modifier? I tried putting the SPR <> on the non-head daughter of head-adj-int directly, and that led to predictably awful results for the adj library.
At what point does the noun become a possessor? Do you have a non-branching rule that puts something on the MOD list. If so, can that rule be constrained to have a daughter that is SPR < >? Then bare-np would have to fire before the unary rule. This wouldn’t work if it’s a lexical rule puts something on the MOD list though… I’m not sure what to do in that case.
So in this case it’s a lexical item that isn’t going throuhg bare-np, so those suggestions which would work well in other cases (and which I may end up using …) won’t work because it’s a possessor ‘out-of-the-gate’
SPR < > on adj-head-int’s non-head daughter breaks because adjectives have non-empty SPR lists?
Sorry, Emily, didn’t see this till now. Yeah, that’s the problem – basic-adjective-lex can take adverbial specifiers.
So we need to do something a bit clever — I think you want to say that the SPR value on the non-head daughter is either the empty list or the thing on it is [ HEAD adv ]. These constraints should do it:
adv-list := list.
adv-cons := olist & cons &
[ FIRST [ LOCAL.CAT.HEAD adv ],
REST adv-list ].
adv-null := adv-list & null.
Then the non-head daughter can be SPR adv-list.
So here’s an update on what I’ve got:
I tried this implementation, and oddly it’s still causing the adjective tests to crash. I’m working on figuring out why.
But in the meantime, I also realized that basic-head-mod-phrase-simple and its daughters all have the non-head daughter constrained to be [ SPR olist ] already. I think that this works for adjectives because basic-adjective-lex doesn’t specify if this adverbial specifier is [OPT +] or [OPT -], so it it can unify with something constrained to be [ SPR olist ].
So since making the non-head-daughter [SPR olist] doesn’t solve things, I realized the problem is actually slightly different than I had thought: in order to go through bare-np, the possessor pronouns need to be [ SPR…OPT + ], which means they unfortunately unify with [ SPR olist ]. The constraint that was keeping them out of the possessive-specific rules was to make the non-head daughter [ SPR <> ], not [ SPR olist ].
Interesting — so we’ve already got a parameterized list type there & we can’t just put in another one without clashes. One way to make this work would be to create a doubly parameterized list type — so in the code above, rather than having list, cons & null as the supertypes, use olist, ocons, and onull. (I see there’s a stray olist there anyway which should actually be adv-list.)
Thanks for the clarification! I’ve now added the below to matrix.tdl, and constrained the NON-HEAD-DTR…SPR on isect-mod-phrase to be adv-list, and the adjective tests all pass fine. Unfortunately, the issue with possessor pronouns being SPR < [OPT +] > persists, so this hasn’t get gotten my possessors to stop showing up in adj-head-int without first going through bare-np. One solution would be to make possessor pronouns carry their own quantifier and not need to go through bare-np – that’d work for this case, but wouldn’t do anything for cases where pronouns that aren’t marked as possessive can appear as possessors (in possessum-marking languages, for example, like Fijian).
adv-list := olist.
adv-cons := adv-list & ocons &
[ FIRST [ LOCAL.CAT.HEAD adv ],
REST adv-list ].
adv-null := adv-list & onull.
That’s surprising — does the noun actually require [ HEAD det ] on its SPR?
No, it doesn’t – when any head-spec strategy is invoked in the adnominal possession, the head type is on the SPR of nouns is changed to +npd, to accomodate the fact that possessums need to be able to take nouns and/or adpositions as their specifiers.
But +npd shouldn’t unify with [ HEAD adv ]. Can you poke around in the parse and see which option the non-head daughter is ending up with? And verify that the SPR value of the non-head daughter of adj-head is in fact adv-list?
I think I was misunderstanding things, but I got them fixed! So, adv-list unifies with anything that is [HEAD adv] and [ SPR…OPT + ], but not with things that are just [ SPR…OPT +]. So the fix for this was to put a head type on the SPR value of the possessor pronoun. So, now my possessor pronoun has this constraint:
SPR < [ LOCAL.CAT.HEAD det,
OPT + ] >
So that means it goes through bare-np fine (because it’s [SPR…OPT +]) but doesn’t go through adj-head till it is genuintely SPR <>, because it’s not [SPR…HEAD adv].