I know I could inspect the parses, but in this case they are so numerous that I thought I’d start with asking if someone has intuition about this:
How can adding the LOCAL.AGR constraint in the type below increase ambiguity? (The one added is the SYNSEM.LOCAL.AGR one; the SUBJ and COMPS were already in.) One thing is, I do not see any infinitives in the affected sentences.
In general, adding constraints should only decrease ambiguity — unless the previous grammar made the search space so big that not all parses could be found. (But I think in that case, the processor would return nothing, rather than a subset.)
The treebanking tool can be informative for determining sources of ambiguity, without inspecting individual parse trees. Maybe try with both the old & new grammars?
Also, worth diffing the two grammars to make sure there aren’t other differences behind this.
The number of readings being shown is large. I would suspect search space may have something to do with it. At least with ACE it is very possible to run out of memory but still return some results; check for messages about running out of memory while parsing the sentences in question?
The intuition here could be that a more constrained grammar results in a smaller search problem, so more of it fits under the given constraints on the search space, resulting in more readings found. That could happen even if the raising verb lexeme in question doesn’t show up in any readings, provided it is at play in the chart somewhere using up search space. If it’s not even in the chart, it’s hard to see how this change should produce the result you observe. Perhaps check carefully to see if this lexical type is being thrown into the chart for those sentences?
Yeah, something is going on with these three sentences. No matter what change I make in the grammar, actually, I just get a different number of parses for those. It’s gotta be something related to search space, then.
LKB resource limits work differently: you don’t get any parses if you exceed one of the relevant thresholds (e.g. *maximum-number-of-edges*, *unpack-edge-allowance*), so that might be a way of probing this issue.