diff --git a/opencompass/datasets/smolinstruct.py b/opencompass/datasets/smolinstruct.py index f84eec23..333d3177 100644 --- a/opencompass/datasets/smolinstruct.py +++ b/opencompass/datasets/smolinstruct.py @@ -463,15 +463,16 @@ def smolinstruct_acc_0shot_postprocess(text: str) -> str: r'[Aa]nswer:\s*(yes|no)\b', r'\*\*[Aa]nswer:\*\*\s*(yes|no)\b', r'\*\*[Aa]nswer\*\*:\s*(yes|no)\b', - r'\s*(yes|no)\s*' + r'\s*(yes|no)\s*', + r'^\s*(yes|no)[\.\?!]?\s*$' ] for pattern in patterns: text = text.strip() match = re.search(pattern, text, flags=re.IGNORECASE) if match: answer = match.group(1) # modified - if answer.lower() == 'yes' or answer.lower() == 'yes.': + if answer.lower() == 'yes': return " Yes " - elif answer.lower() == 'no' or answer.lower() == 'no.': + elif answer.lower() == 'no': return " No " return ""