Working on an older grammar and I got some new sentences parsing. However, I have now noticed that after the application of my head-filler rule (below), the RELS and HCONS list from the head are lost while the filler’s is preserved (bizarrely, the INDEX is still inherited from the head). Here is my rule:
left-dislocated-arg-phrase := basic-head-filler-phrase & head-final &
[ SYNSEM.LOCAL.CAT.VAL.SUBJ < >,
HEAD-DTR.SYNSEM.LOCAL.CAT [ VAL [ SUBJ < >,
COMPS < > ],
HEAD verb ],
NON-HEAD-DTR.SYNSEM.LOCAL [ CAT.VAL [ SPEC < > ],
CONT.HOOK [ ICONS-KEY focus-or-topic,
INDEX.COG-ST fam-or-more ] ] ].
I’ve stared at this for a while, and I don’t see what could be causing the issue, any help would be appreciated.
Below is the MRS of the head:
The MRS of the filler:
And the MRS after the above rule:
This usually happens because a diff-list is underspecified somewhere. What I usually do is look node by node in the LKB (local AVM) until I find some where any diff-list (either under CONT or under NON-LOCAL) seems underspecified (e.g. just says diff-list instead of something like 0-dlist). Often times it is some lexical entry, for example, so, newer, less usual entries are often culprits. In the older version of the Matrix some auxiliaries were underspecified with respect to ICONS, for instance (that is now fixed in the Matrix trunk but wouldn’t be in your version).
Occasionally phrase structure rules have something underspecified as well, but that’s less common, because all old rules would inherit from something proper. If you have a newer rule, see if it actually inherits from something that specifies all the CONT/C-CONT and NON-LOCAL features properly (CONT/C-CONT in your case, I think). basic-filler should, I think, but it is also worth checking.
Yes, I tried looking for this and could find no such broken diff-list, which is why I was confused. However, there was this one issue, where the head’s SLASH list is a 0-1-dlist (see below) that is also oplus null. I assumed this was OK but it looked strange. I am not sure if this is the issue.
To make it clear as possible, I pared it down to a minimal example of this behavior: A verb with a left-extracted object.
Here’s the MRS & NON-LOCAL of the head (verb):
Here’s the MRS, NON-LOCAL, & C-CONT of the filler (it is the result of a bare-np rule):
Here’s the MRS and NON-LOCAL after application of left-dislocated-arg-phrase. The SLASH list looks weird to me:
I would actually expect ICONS and HCONS of the verb to be specified to empty diff-lists; they look underspecified. Maybe that’s the issue? Is that a regular verb, inherits from one of the major types?.. Or is it a custom one?
My verbs inherit indirectly from basic-verb-lex, transitive-lex-item, and non-mod-lex-item, and I don’t mess around with ICONS or HCONS in this verb.
That is fine.
Strange that those HSCONS and ICONS have just diff-list though. They should be empty, if the type inherits from transitive-lex-item.
Do you want to send me the grammar (and the sentence)? I can try to spot something.
Sure thing. I will send it to your email. I am really baffled by this issue!
Looks like the appends are broken after the application of the plural-object-suffix lexical rule.
But I am equally baffled as to why, because that rule is a add-only-no-ccont rule, which means it definitely properly specifies all the CCONT features.
How about verbal-classifier-lex-rule as a possible culprit? Maybe it should be saying something about the CONT/CCONT features. The fact that the structure still looks healthy after it’s applied may in fact be accidental (I understand).
I tried saying verbal-classifier specifies empty C-CONT features, and it helped with the broken append where I first saw it (at the third lexical rule), but the result is still broken so there is probably more lexical rules that could be fixed?
It is confusing because apparently, a diff-list may look healthy when it actually isn’t, for a while, in the tree. So you need to check each rule…
I also don’t really know what you want in terms of HCONS and ICONS, on those rules. I suppose just saying everything is empty isn’t necessarily what you want or what should work, given it is an information structure kind of rule at the top. But my debugging strategy would be looking at each lexical rule which is involved and figuring out whether it is leaving HCONS/ICONS/RELS underspecified.
The problem is with the noun, not the verb. The screen cap @davinman give of the result of the bare-np rule already has a LIST that is unterminated. Where it says (+) list at the end there it should be . So, look to the nouns + any inflection rules that apply to them.
Could you explain so I understand better; by unterminated, do you mean the $oplus$ list thing?
By unterminated, I mean there is no pointer to the notional end of the list. After the $oplus$ there should be an identity tag…
…or null, right?
But, it’s list for both the noun and the verb, how do you know the problem isn’t the verb also?
Sorry, yes, the verb has that same problem.
I guess you might see null with diff-lists where the max length is constrained somewhere, but that’s emphatically not the case for RELS.
I found the issue. The alienably possessed lexical rule I added was not inheriting from no-ccont (infl-add-only-lex-rule instead of infl-add-only-no-ccont-lex-rule). So it was, as Emily points out, the noun causing the problem.