def _read_reach_rule_regexps():
    """Load in a file with the regular expressions corresponding to each
    reach rule. Why regular expression matching?
    The rule name in found_by has instances of some reach rules for each
    possible event type
    (activation, binding, etc). This makes for too many different types of
    rules for practical curation of examples.
    We use regular expressions to only match the rule used for extraction,
    independently of what the event is.
    """
    reach_rule_filename = \
        os.path.join(os.path.dirname(os.path.abspath(__file__)),
                     'reach_rule_regexps.txt')
    with open(reach_rule_filename, 'r') as f:
        reach_rule_regexp = []
        for line in f:
            reach_rule_regexp.append(line.rstrip())
    return reach_rule_regexp
Load in a file with the regular expressions corresponding to each
    reach rule. Why regular expression matching?
    The rule name in found_by has instances of some reach rules for each
    possible event type
    (activation, binding, etc). This makes for too many different types of
    rules for practical curation of examples.
    We use regular expressions to only match the rule used for extraction,
    independently of what the event is.