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 = ''
|