@@ -139,14 +139,21 @@ private UniversalEnglishGrammaticalRelations() {}
139139 * <br>
140140 * Example: <br>
141141 * "Reagan has died" → {@code aux}(died, has)
142+ * <br>
143+ * For any pattern in AUX_MODIFIER, AUX_PASSIVE_MODIFIER, and COPULA
144+ * where the target is not the verb itself, but rather the enclosing
145+ * constituent, there is a tregex named variable:
146+ * =aux
147+ * Please make sure to maintain this. Those tags are used in
148+ * UniversalPOSMapper to update the tags
142149 */
143150 public static final GrammaticalRelation AUX_MODIFIER =
144151 new GrammaticalRelation (Language .UniversalEnglish , "aux" , "auxiliary" ,
145152 DEPENDENT , "VP|SQ|SINV|CONJP" , tregexCompiler ,
146153 "VP < VP < (/^(?:MD|VB.*|AUXG?|POS)$/=target)" ,
147154 "SQ|SINV < (/^(?:VB|MD|AUX)/=target $++ /^(?:VP|ADJP)/)" ,
148155 // add handling of tricky VP fronting cases...
149- "SINV < (VP=target < (/^(?:VB|AUX|POS)/ < " + beAuxiliaryRegex + ") $-- (VP < VBG))" );
156+ "SINV < (VP=target < (/^(?:VB|AUX|POS)/=aux < " + beAuxiliaryRegex + ") $-- (VP < VBG))" );
150157
151158
152159 /**
@@ -156,15 +163,17 @@ private UniversalEnglishGrammaticalRelations() {}
156163 *
157164 * Example: <br>
158165 * "Kennedy has been killed" → {@code auxpass}(killed, been)
166+ * <br>
167+ * See AUX_MODIFIER for an explanation of the =aux named nodes
159168 */
160169 public static final GrammaticalRelation AUX_PASSIVE_MODIFIER =
161170 new GrammaticalRelation (Language .UniversalEnglish , "aux:pass" , "passive auxiliary" ,
162171 AUX_MODIFIER , "VP|SQ|SINV" , tregexCompiler ,
163172 "VP < (/^(?:VB|AUX|POS)/=target < " + passiveAuxWordRegex + " ) < (VP|ADJP [ < VBN|VBD | < (VP|ADJP < VBN|VBD) < CC ] )" ,
164173 "SQ|SINV < (/^(?:VB|AUX|POS)/=target < " + beAuxiliaryRegex + " $++ (VP < VBD|VBN))" ,
165174 // add handling of tricky VP fronting cases...
166- "SINV < (VP=target < (/^(?:VB|AUX|POS)/ < " + beAuxiliaryRegex + ") $-- (VP < VBD|VBN))" ,
167- "SINV < (VP=target < (VP < (/^(?:VB|AUX|POS)/ < " + beAuxiliaryRegex + ")) $-- (VP < VBD|VBN))" );
175+ "SINV < (VP=target < (/^(?:VB|AUX|POS)/=aux < " + beAuxiliaryRegex + ") $-- (VP < VBD|VBN))" ,
176+ "SINV < (VP=target < (VP < (/^(?:VB|AUX|POS)/=aux < " + beAuxiliaryRegex + ")) $-- (VP < VBD|VBN))" );
168177
169178 /**
170179 * The "copula" grammatical relation. A copula is the relation between
@@ -173,6 +182,8 @@ private UniversalEnglishGrammaticalRelations() {}
173182 * Examples: <br>
174183 * "Bill is big" → {@code cop}(big, is) <br>
175184 * "Bill is an honest man" → {@code cop}(man, is)
185+ * <br>
186+ * See AUX_MODIFIER for an explanation of the =aux named nodes
176187 */
177188 public static final GrammaticalRelation COPULA =
178189 new GrammaticalRelation (Language .UniversalEnglish , "cop" , "copula" ,
@@ -182,7 +193,7 @@ private UniversalEnglishGrammaticalRelations() {}
182193 // matches (what, is) in "what is that" after the SQ has been flattened out of the tree
183194 "SBARQ < (/^(?:VB|AUX)/=target < " + copularWordRegex + ") < (WHNP < WP)" ,
184195 // "Such a great idea this was"
185- "SINV <# (NP $++ (NP $++ (VP=target < (/^(?:VB|AUX)/ < " + copularWordRegex + "))))" );
196+ "SINV <# (NP $++ (NP $++ (VP=target < (/^(?:VB|AUX)/=aux < " + copularWordRegex + "))))" );
186197
187198 /**
188199 * The "conjunct" grammatical relation. A conjunct is the relation between
0 commit comments