Source code for decomp.semantics.predpatt.rules.helpers
"""Helper functions for rule application.This module contains utility functions used by rules to determinewhen certain rules should be applied."""from__future__importannotationsfromtypingimportTYPE_CHECKINGifTYPE_CHECKING:from..parsing.udparseimportDepTriplefrom..utils.ud_schemaimportDependencyRelationsV1asUniversalDependencies
[docs]defgov_looks_like_predicate(e:DepTriple,ud:UniversalDependencies)->bool:"""Check if the governor of an edge looks like a predicate. A token "looks like" a predicate if it has potential arguments based on its POS tag and the dependency relations it participates in. Parameters ---------- e : DepTriple The dependency edge to check. ud : UniversalDependencies The UD schema containing relation definitions. Returns ------- bool True if the governor looks like a predicate. """# import here to avoid circular dependencyfrom..utils.ud_schemaimportpostag# if e.gov "looks like" a predicate because it has potential argumentsife.gov.tagin{postag.VERB}ande.relin{ud.nmod,ud.nmod_npmod,ud.obl,ud.obl_npmod}:returnTruereturne.relin{ud.nsubj,ud.nsubjpass,ud.csubj,ud.csubjpass,ud.dobj,ud.iobj,ud.ccomp,ud.xcomp,ud.advcl}