학생 손글씨 풀이에서 오개념 찾기 ⓪ — 대회 개요: 무엇을, 왜, 어떻게 겨루나
Kaggle에서 2026년 10월 6일에 시작한 Misconception Detection in K-12 Student Workings 대회를 소개합니다. 이 시리즈의 출발점이 되는 글이라, 방법론보다는 문제 자체를 정리합니다. 우리 팀의 접근과 결과는 ①편에 있습니다.
대회 데이터는 학생들의 손글씨 학습지 사진이라, 이 시리즈에는 대회 이미지나 실제 풀이 예시를 싣지 않습니다. 아래 수치는 공개된 대회 설명과 학습 데이터를 집계한 값입니다.
1. 한 줄 요약
학생이 손으로 푼 수학 풀이 사진 한 장을 보고, 그 풀이를 틀리게 만든 근원 오개념을 교사가 정한 75개 코드 중에서 고르거나, 틀린 게 없으면
NONE이라고 답한다.
| 항목 | 내용 |
|---|---|
| 주최 | CoLearn (동남아 K-12 학습 앱, 학생 500만 명 이상) |
| 기간 | 2026-10-06 ~ 2026-11-17 |
| 형식 | CSV 제출 (코드 대회 아님), 하루 5회, 최종 2개 선택 |
| 지표 | MAP@3 |
| 수상 조건 | 솔루션을 Apache-2.0으로 공개, 재현 가능해야 함 |
2. 왜 이런 대회를 여나
CoLearn 앱에서 4~12학년 학생들은 손으로 문제를 푼 뒤 사진을 찍어 올리고, AI가 채점합니다. 그런데 교사에게 정말 필요한 건 “틀렸다”가 아니라 “왜 틀렸나”입니다.
- 분수 덧셈에서 분자끼리, 분모끼리 더했는가?
- 행렬 곱셈을 교환 가능하다고 생각했는가?
- 중간값을 구하고 거기서 멈췄는가?
- 문장제를 잘못 읽어서 엉뚱한 연산을 골랐는가?
이유마다 필요한 지도가 다릅니다. 오개념에 이름을 붙이면 빨간 X 표시가 지도할 기회로 바뀝니다. 주최측은 이걸 자동화하고 싶어 합니다.
주최측이 블로그에 공개한 사전 실험이 이 과제의 난이도를 잘 보여줍니다. 손글씨를 이미 글로 옮긴 상태에서 400개 풀이를 평가했을 때:
| 모델 | 정확도 |
|---|---|
| 가장 좋은 상용 모델 | 73% |
| 오픈 웨이트 모델 (그대로) | 45~59% |
| 오픈 웨이트 모델 (약 3,400건으로 파인튜닝) | 63~66% |
전사 텍스트를 줘도 이 정도입니다. 대회에서는 사진에서 직접 읽어야 하므로 더 어렵습니다.
3. 데이터
| 분할 | 행 수 | 주어지는 것 |
|---|---|---|
| train | 1,500 | 사진, 문제, 정답, 사람이 만든 줄 단위 전사, 라벨, 오류 소견(JSON) |
| test | 3,498 (public 1,000 / private 2,498) | 사진, 문제, 정답 만 |
| unlabelled | 50,000 | 사진, 문제, 정답 (라벨·전사 없음) |
- 학생은 인도네시아 4~12학년(약 9~18세)이고, 문제와 풀이는 대부분 인도네시아어입니다. 문제 본문에는 LaTeX 수식이 들어 있습니다.
- 문항은 499개, 단원은 61개입니다(정수·분수·소수, 최소공배수·최대공약수, 거듭제곱·근호, 대수, 함수, 측정, 기하, 통계·확률). 약 18%의 문항에는 그림이 딸려 있습니다.
- 같은 문항을 train과 test에서 서로 다른 학생이 풉니다. 데이터는 학생 단위로 나뉘어 있어서, 문항별 오개념 분포를 사전정보로 쓸 수 있습니다.
- 사진은 휴대폰으로 찍은 실제 공책입니다. 지운 줄, 흐린 연필, 그림자, 기울어지거나 90° 돌아간 사진이 섞여 있습니다. 학습 사진 일부를 직접 확인해 보니 약 13%가 옆으로 돌아가 있었고, 약 1/4은 풀이가 사진의 일부에만 작게 있었습니다.
- 이름, 얼굴, 서명, 학교 정보가 보이는 사진은 주최측이 미리 걸러냈습니다.
train에만 있는 “다리”
train에는 사람이 만든 줄 단위 전사(L1 | …, L2 | …)와 오류 소견이 있습니다. 소견에는 어느 줄의 어느 부분이 어떤 코드의 오류인지, 그 오류가 major인지 minor인지, root인지가 영어 설명과 함께 적혀 있습니다. 주최측은 이것을 “사진→글자 리더와 글자→코드 진단기를 따로 학습할 수 있게 놓은 다리”라고 설명합니다. 채점에 쓰이는 건 root_code 하나뿐입니다.
4. 라벨: 75개 오개념 코드
라벨 체계(taxonomy)는 CoLearn 교사들이 만들었습니다. 75개 코드에는 각각 이름, 설명, 성격, 기본 심각도, 해당 학년대가 붙어 있습니다.
| 성격 | 코드 수 |
|---|---|
| 절차적 (procedural): 계산 절차 실수 | 37 |
| 개념적 (conceptual): 잘못된 개념 | 33 |
| 부주의 (careless): 베끼기·단순 계산 실수 | 3 |
| 메타 (meta) | 1 |
영역별로 보면 고급 주제 12, 교차 영역 12, 자릿값·연산 9, 자료·확률 8, 분수 6, 연산 성질·거듭제곱·비 6, 대수 6, 측정 5, 정수 4, 기하 4, 소수 2, 기타(catch-all) 1개입니다.
“근원(root)”의 정의가 핵심입니다. 근원은 처음 쓴 오류가 아니라 나머지 풀이가 그 오류를 따라간 출발점입니다. 풀이에 큰 오류가 둘 이상이면 그중 정확히 하나가 root로 표시됩니다. NONE은 완전히 맞았거나 결과를 바꾸지 않는 사소한 실수만 있는 풀이이고, 전체의 약 1/3을 차지합니다.
클래스 분포는 일부러 평평하게 만들었습니다. 흔한 범주(정답 풀이, 중간값에서 멈춤, 단순 계산 실수, 문장제 오독 등)는 각각 약 190행으로 잘랐습니다. 그래도 꼬리가 깁니다.
| train 클래스 분포 | 코드 수 |
|---|---|
| 20건 이상 | 17 |
| 2건 이하 | 21 |
| 딱 1건 | 13 |
주최측은 test에 나오는 코드가 train에 최소 한 번은 나온다고 보장합니다. 또 “인접 코드끼리는 숙련된 채점자도 판단이 갈린다”며 라벨 노이즈가 있다고 미리 밝혔습니다. 예로 “문장제를 잘못 읽어 연산을 잘못 고름”과 “중간값을 구하고 멈춤”을 들었습니다.
5. 평가: MAP@3
한 행에 코드를 최대 3개까지 순서대로 냅니다. 정답은 하나입니다.
\[\text{점수} = \begin{cases} 1 & \text{1순위가 정답} \\ 1/2 & \text{2순위가 정답} \\ 1/3 & \text{3순위가 정답} \\ 0 & \text{그 외} \end{cases}\]리더보드 점수는 모든 행의 평균입니다. 주최측은 이 지표를 고른 이유로 두 가지를 듭니다. 교사는 첫 번째 제안만 읽기 때문에 1순위가 가장 중요하고, 인접 코드에 대한 근소한 오답은 부분 점수로 인정하는 게 공정하다는 것입니다. 2024년 Eedi 오개념 대회의 MAP@25를 이 과제에 맞게 줄인 형태이기도 합니다.
참고로 test 전체를 NONE 하나로 채우면 public 0.339가 나옵니다.
6. 지켜야 할 규칙
| 규칙 | 의미 |
|---|---|
| 최종 솔루션에 외부 API 금지 | 주최측이 토론에서 확인했습니다. 학습 데이터 생성이나 의사라벨에는 API를 써도 되지만, 최종 추론은 인터넷 없이 오픈 웨이트 모델로 재현 가능해야 합니다 |
| test 수작업 라벨링 금지 | test 사진을 사람이 보고 답을 다는 행위는 금지입니다 |
| 데이터 재배포 금지 | 대회 외 용도로 쓰거나 공유하면 안 됩니다. 학생 신원 확인 시도도 금지입니다 |
| 외부 데이터·모델 | 누구나 무료 또는 합리적 비용으로 접근할 수 있어야 합니다 |
| 수상 조건 | 학습·추론 코드와 문서를 Apache-2.0으로 공개합니다 |
| 팀 | 최대 5명, 비공개 코드 공유는 금지합니다(포럼과 공개 노트북은 허용) |
7. 이 문제가 어려운 이유
- 두 문제가 겹쳐 있습니다. 손글씨를 읽는 문제(OCR)와 그 풀이를 진단하는 문제(추론)입니다. 두 단계 오류가 곱해집니다.
- 진단의 단서가 하필 “틀린 글자”에 있습니다. 일반 OCR은 애매한 글자를 그럴듯한 쪽으로 읽는 게 장점이지만, 여기서는 학생이 틀리게 쓴 숫자 하나를 고쳐 읽으면 진단이 무너집니다. ①편에서 실제로 이런 현상을 관찰했습니다.
- 라벨이 적고 꼬리가 깁니다. 75개 클래스를 1,500건으로 학습해야 하고, 13개 코드는 예시가 하나뿐입니다.
- “맞게 푼 풀이”도 정확히 맞혀야 합니다. 정답 풀이에 오개념이 있다고 잘못 경보를 내는 모델은 교실에서 쓸 수 없습니다.
- 사진 품질이 제각각입니다. 회전, 그림자, 흐린 연필, 작은 글씨가 섞여 있습니다.
반대로 유리한 점도 있습니다. 같은 문항이 train과 test에 함께 나오고, 정답 키가 주어지며(최종 답이 맞았는지가 NONE 여부를 크게 좌우합니다), 라벨 없는 풀이 5만 장이 제공됩니다.
다음 글
①편에서는 이 문제를 읽기(VLM)와 진단(LLM) 두 단계로 나눈 접근과, 글자를 더 잘 읽는 모델이 오히려 진단을 망친 관찰을 다뤘습니다. 다음 편에서는 사진 전처리(정방향 보정과 풀이 영역 자르기)가 어떤 차이를 만들었는지 정리하겠습니다.