Skip to content

Commit 3946805

Browse files
committed
This ought to fix one tree in PTB3.... weirdly it changes several others
1 parent 8880cc6 commit 3946805

File tree

1 file changed

+17
-1
lines changed

1 file changed

+17
-1
lines changed

src/edu/stanford/nlp/trees/CoordinationTransformer.java

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,10 @@ public Tree transformTree(Tree t) {
164164
if (VERBOSE) {
165165
debugLine("After rearrangeNowThat: ", t);
166166
}
167-
167+
t = mergeYodaVerbs(t);
168+
if (VERBOSE) {
169+
debugLine("After mergeYodaVerbs: ", t);
170+
}
168171
return t;
169172
}
170173

@@ -182,6 +185,19 @@ private static Tree rearrangeNowThat(Tree t) {
182185
}
183186

184187

188+
private static final TregexPattern mergeYodaVerbsTregex =
189+
TregexPattern.compile("VP=home < VBN=vbn $+ (VP=willbe <... {(__=will < will|have|has) ; (VP < (__=be << be|been))})");
190+
191+
private static final TsurgeonPattern mergeYodaVerbsTsurgeon =
192+
Tsurgeon.parseOperation("[createSubtree VP vbn] [move will >-1 home] [move be >-1 home] [prune willbe]");
193+
194+
private static Tree mergeYodaVerbs(Tree t) {
195+
if (t == null) {
196+
return t;
197+
}
198+
return Tsurgeon.processPattern(mergeYodaVerbsTregex, mergeYodaVerbsTsurgeon, t);
199+
}
200+
185201
private static final TregexPattern changeSbarToPPTregex =
186202
TregexPattern.compile("NP < (NP $++ (SBAR=sbar < (IN < /^(?i:after|before|until|since|during)$/ $++ S)))");
187203

0 commit comments

Comments
 (0)