select last rule
Browse files
VerifiableRewardsForScalableLogicalReasoning.py
CHANGED
|
@@ -249,11 +249,10 @@ def extract_ilp_from_text_v2(text, target_predicate=None, allow_multiple_rules=F
|
|
| 249 |
# Pre-process: collapse code blocks to single lines
|
| 250 |
text = re.sub(r'\n\s*', ' ', text) # crude: flatten all to one line
|
| 251 |
# Rule pattern, across newlines
|
| 252 |
-
# rule_pattern = re.compile(rf'({target_predicate}\([^()]*\)\s*:-.*?\.)')
|
| 253 |
rule_pattern = re.compile(rf'({target_predicate}\([^()]*\)\s*:-.*?\.)')
|
| 254 |
rules = list(rule_pattern.findall(text))
|
| 255 |
if len(rules) > 1 and not allow_multiple_rules:
|
| 256 |
-
logger.warning(f"Found multiple rules in text, but allow_multiple_rules is set to False. Using only the last match.")
|
| 257 |
rules = rules[-1:]
|
| 258 |
# Remove rules that are also captured as facts
|
| 259 |
p_code = ''
|
|
|
|
| 249 |
# Pre-process: collapse code blocks to single lines
|
| 250 |
text = re.sub(r'\n\s*', ' ', text) # crude: flatten all to one line
|
| 251 |
# Rule pattern, across newlines
|
|
|
|
| 252 |
rule_pattern = re.compile(rf'({target_predicate}\([^()]*\)\s*:-.*?\.)')
|
| 253 |
rules = list(rule_pattern.findall(text))
|
| 254 |
if len(rules) > 1 and not allow_multiple_rules:
|
| 255 |
+
# logger.warning(f"Found multiple rules in text, but allow_multiple_rules is set to False. Using only the last match.")
|
| 256 |
rules = rules[-1:]
|
| 257 |
# Remove rules that are also captured as facts
|
| 258 |
p_code = ''
|