<div dir="ltr"><div><div><div><div><div><div><div><div><div><div>Glenn and I have identified a bug in generation in Agree that seems to result from of combination of unusual circumstances. When generating from a parse of &quot;You are not permitted to look.&quot;, we generate a large number of erroneous sentences similar to &quot;are not permitted to look you.&quot;, &quot;&#39;re not permitted to look you&quot;, etc.  <br>
<br></div>Steps we have identified that allow these realizations include:<br></div><br>1. The input mrs contains an EP with &quot;_look_v_1_rel&quot; which has arguments LBL, ARG0. ARG1.  ARG1 is coreferenced to HOOK.XARG. The &quot;correct&quot; LE to look up would be &quot;look_v1&quot; which has an EP with that same PRED and argument signature. However there is also an LE &quot;look_v4&quot; that has an EP with &quot;_look_v_1_rel&quot;, and an additional ARG2 argument position. Despite the extra argument position, however, the EP successfully unifies with the EP in the MRS so we add this LE to the chart. LBL, ARG0, and ARG1 end up skolemized because there were skolems in those positions in the input MRS EP, but ARG2 remains unskolemized because the input MRS contained no information with which to specialize it.<br>
<br></div>2. The chart will have an edge for &quot;you&quot; added because of a &quot;pron_rel&quot; and &quot;pronoun_q_rel&quot; with &quot;ARG0 [ PNG [ PN 2 ] ].&quot;  This ends up skolemized to the same skolem constant as HOOK.XARG and ARG1 of the &quot;_look_v_1_rel&quot; EP. Generally, this skolemization should make sure that it can only be used where appropriate/intended, but because ARG2 on the EP in &quot;look_v4&quot; is not skolemized, it can combine with an edge with any skolem. In fact, we see the edge for &quot;you&quot; combine with &quot;look_v4&quot; to form &quot;look you&quot;, which ultimately appears in several root realizations.<br>
<br></div>3. If accept fragment root symbols, we get the aforementioned VP-fragment root realizations such as &quot;are not permitted to look you.&quot;  Each EP is accounted for, as the EP&#39;s that should have been used in the subject of the sentence are instead used in an argument of &quot;look.&quot;  Strangely, we end up with two variables (sets of equivalence classes) that have the same skolem.  ARG1 of &quot;look&quot;, ARG2 of &quot;permit&quot;, ARG2 or &quot;parg_d_rel&quot;, and HOOK.XARG share the same variable which is not ARG0 of any EP, while ARG0 of pron_rel and pronoun_q_rel have the same skolem but are not coreferenced (except to each other).<br>
<br></div><br>Clearly we are missing a constraint in one or more parts of our generation pipeline. There are fixes we have thought of, but we are not sure if they would have unintended consequences and possible block some valid realizations in other circumstances:<br>
<br></div>1. Final subsumption check.  We are not currently performing this, and it should in principle rule out these realizations as there are coreferences in the input MRS that are not present in the MRS of these generated trees. However, ideally we would like to avoid generating all of these edges rather than simply rejecting the derivation at such a late step.<br>
<br></div>2. During PRED lookup we could require that the number and names of arguments in candidate LEs matches exactly with those in the input MRS EPs. In this case, we would not even add &quot;look_v4&quot; to the chart in the first place. However, could there be cases where this sort of underspecification in number of arguments be valid and meaningful?<br>
<br></div>3. We could generate and assign skolems for argument positions not constrained by the input MRS (e.g. ARG2 on &quot;look&quot;) This would prevent that edge from combining with &quot;you&quot; as their skolems would not unify. This seems potentially safer than what is suggested in (2), as it does not completely rule out the use of such LEs, but merely prevents them from using edges that should be reserved for other parts of the tree. I can imagine some control structure rule that might want to legitimately coreference that argument to some other part of the tree, and this would be disallowed by such skolemization, but perhaps this simply doesn&#39;t occur?<br>
<br><br></div>Anyway, thanks to anyone who has made it through this incredibly long-winded email. If you have ideas about what the correct way to fix this bug, suggestions would be greatly appreciated.<br><br></div>Spencer<br>
<div><div><div><div><div><div><div><div><br></div></div></div></div></div></div></div></div></div>