Identifying HEAD Type


#1

For the nominalization lexical rule that Olga and I are creating for nominalized clauses, we need to change the case frame of the verb (it is common for example form nominalized verbs to require a genitive subject instead of an accusative). We’ve created a lexical rule that identifies the INDEX of the daughter’s subject with the mother’s subject and also copies up all of the HEAD information for that subject except the CASE.

The problem we are having now is actually copying up the HEAD type. Is there any way to do this? If not, it looks like I’ll have to look at the choices file for the verb type and find out what the HEAD type of the subject should be. Has anyone tried this before? Is that the only option?


#2

Not possible to copy up HEAD without copying up what’s inside it.


#3

Actually, it doesn’t look like non-noun subjects are even supported in the matrix. Is that right? In that case, would it be appropriate to just hard-code HEAD noun? Non-noun objects are supported for copulas, but we decided that we’d copy up the object unless the morphological rule included a change to the object’s case (which would only be relevant for nouns), so perhaps we can hard code that as well?


#4

[Sorry for short replies … replying quickly during LSA talks.]

PP subjects should be supported. Look at the grammar from the Japanese sample choices file.


#5

Thanks- The Japanese grammar got me a little closer. It appears that adposition subjects are supported for auxiliaries. So far, I only find this in auxiliaries.py:

def add_subj_tdl(aux, auxcomp, ch, mylang):
“”"
A function to add subject related tdl to type definition if the complement
is either a V or a VP.
Called by def_arg_str_and_valency().
typename = supertype variable in def_arg_str_and_valency()
type = current definition of supertype including arg-str()
“”"
typename = set_supertypename(auxcomp)
subj = aux.get(‘subj’,’’)
subjc = aux.get(‘subj_case’,’’) #TODO: verify _-delimited key
cases = case.case_names(ch)
subjcase = case.canon_to_abbr(subjc, cases)

if subj == 'adp':
    subjtype = typename + ' := [ ARG-ST.FIRST.LOCAL.CAT.HEAD adp ].'
else:
    subjtype = typename + ' := [ ARG-ST.FIRST.LOCAL.CAT.HEAD noun ].'
    if subj == 'np-comp-case':
        scasetype = typename + ' := [ ARG-ST < [ LOCAL.CAT.HEAD.CASE #case  ], \
      [ LOCAL.CAT.VAL.SUBJ < [ LOCAL.CAT.HEAD.CASE #case ] > ] > ].'
        mylang.add(scasetype)
    elif subj == 'np-aux-case':
        scasetype = typename + ' := [ ARG-ST.FIRST.LOCAL.CAT.HEAD.CASE ' + subjcase + ' ].'
        mylang.add(scasetype)

mylang.add(subjtype)

But what’s weird is that the choices file for that Japanese grammar (which does have ARG-ST.FIRST.LOCAL.CAT.HEAD +np on both the intransitive-verb-lex and transitive verb lex) doesn’t have subj=apd in the choices file. It has: aux1_subj=np-comp-case

So I will keep looking.


#6

Look in the case library — it’s connected to case-marking adpositions.


#7

Thanks! I did find it in case.py under customize_verb_case. I should be able to use this same logic to put the right head type into the lexical rule.