[MRC 평가] 평가 스크립트 내 정규 표현식
silencio94 opened this issue · 0 comments
silencio94 commented
Abstract(요약) 🔥
MRC 평가에서 텍스트 내의 구두점들을 제거하기 위해서 쓰여진 정규 표현식이 적절치 않습니다.
아래 코드에서 정규표현식 r"['"《》<>〈〉]()\‘\’"는 의미상
'"《》<>〈〉 중 하나로 시작하고 ()\‘\’ 로 끝나는 텍스트
인데 정답 텍스트 중에는 이런 텍스트가 없어서 정규표현식이 아무 역할을 하지 않고 있습니다.
결과적으로 line 22 는 lowercasing 만 수행하고 있습니다.
한편 이 정규표현식이 커버해 줄 수 있는 케이스가 적진 않아서 적절한 평가를 위해 수정하면 좋을 듯 합니다.
결론적으로, 코드 맥락 상 정규표현식이 r"['"《》<>〈〉()‘’]" 이렇게 바뀌는게 맞는 것 같습니다.
KLUE-baseline/klue_baseline/metrics/utils.py
Lines 8 to 25 in 8a03c94
How to Reproduce(재현 방법) 🤔
import re
NORMALIZE_CHAR_PATTERN = re.compile(r"[\'\"《》<>〈〉]\(\)\‘\’")
text = "\'\"《》<>〈〉‘’()"
print(f"before:\n{text}")
text = NORMALIZE_CHAR_PATTERN.sub(" ", text) # .lower()
print(f"after:\n{text}")
실행결과:
before:
'"《》<>〈〉‘’()
after:
'"《》<>〈〉‘’()
How to solve (어떻게 해결할 수 있을까요) 🙋♀
😭
line 8: NORMALIZE_CHAR_PATTERN = re.compile(r"[\'\"《》<>〈〉]\(\)\‘\’")
🥰
line 8: NORMALIZE_CHAR_PATTERN = re.compile(r"[\'\"《》<>〈〉()‘’]")