Normalize answer for comparison
(answer: str)
| 68 | |
| 69 | |
| 70 | def normalize_answer(answer: str) -> str: |
| 71 | """ |
| 72 | Normalize answer for comparison |
| 73 | """ |
| 74 | if answer is None: |
| 75 | return "" |
| 76 | |
| 77 | # Convert to string and lowercase |
| 78 | answer = str(answer).strip().lower() |
| 79 | |
| 80 | # Remove extra whitespace |
| 81 | answer = re.sub(r'\s+', ' ', answer) |
| 82 | |
| 83 | # Remove common LaTeX formatting |
| 84 | answer = answer.replace('\\', '') |
| 85 | answer = answer.replace('$', '') |
| 86 | answer = answer.replace('{', '').replace('}', '') |
| 87 | |
| 88 | return answer |
| 89 | |
| 90 | |
| 91 | def compare_answers(predicted: str, ground_truth: str) -> bool: |