Flitto · English Exam Labeling
영어 진단 태깅
작업자 이메일을 입력하세요.
작업 현황
현재 진행 상태
진행률 상세
연동 설정
Google Sheet와 연결할 Apps Script Web App URL을 저장하세요.
이전 라운드(R1/R2) 관리 도구
— 펼쳐서 보기. 지금 라운드(R3)와 무관한 예전 도구입니다.
PM 작업 순서 (How-to, R1/R2 기준)
-
1. 문항 준비
Flitto 벤더 JSON(6필드:
item_id/grade/passage/question/options/answer)이면scripts/convert_vendor_json.pl로 먼저 변환하세요. 이미 cluster JSON 포맷이면 바로 사용 가능합니다. -
2. 문항 업로드
아래 "문항 JSON 업로드" 패널에서 파일을 올린 뒤, Google Sheet의
Items탭에 문항이 들어갔는지 확인하세요. 이 단계는 아직 아무한테도 배정되지 않은 상태입니다. -
3. 작업자 확인
Workers시트에서 이메일·이름·allowed_clusters(M1~M3/H1~H3)·active를 확인하세요. 새 작업자는 이 시트에 직접 행을 추가하면 됩니다. -
4. 회차 일괄 배정
Google Sheet 상단 메뉴 라벨링 툴 관리 > 회차 일괄 배정을 눌러 회차(wave) 값과 작업자 이메일(쉼표 구분)을 입력하세요. 중등/고등처럼 클러스터가 다른 그룹은 따로 실행하는 걸 권장합니다. 이미 배정된 건은 건드리지 않으니 여러 번 실행해도 안전합니다.
-
5. 진행 상황 확인
홈 탭 대시보드에서 전체/작업자별/학년별 진행률을 확인할 수 있습니다.
-
6. 검수
검수 탭에서 작업 완료(
done) 문항을 승인 또는 반려합니다. -
7. (필요 시) 코드북 갱신
코드북이 바뀌면 아래 "코드북 재동기화" 패널에서 새 코드북 JSON을 올리면 됩니다.
회차 일괄 배정
선택한 회차의 문항 전체를 선택한 작업자 전원에게 배정합니다. 이미 배정된 조합은 건드리지 않아 여러 번 실행해도 안전합니다.
어노테이션 자동 지정
선택한 회차에서 문항의 30%를 필수 어노테이션 대상으로 지정합니다. 이미 지정된 필수/선택 문항은 유지하고, 미지정 문항 중 부족분만 채웁니다.
문항 JSON 업로드
기존 툴 JSON은 그대로, 벤더 JSON은 회차 입력 후 자동 변환해 업로드할 수 있습니다.
업로드 규칙
- 기존 cluster JSON은
items배열을 포함해야 합니다. - 벤더 JSON은 업로드 형식에서 벤더 JSON 변환을 선택하고 회차(wave)를 입력하면 자동 변환됩니다.
- Reference JSON은
itemId,question,metadata를 가진 배열 형태도 가능합니다. - 작업 배정은
assigned_worker_name값을 사용합니다. Reference 데이터는 배정 전에도 업로드할 수 있습니다. - 작업자는 이메일로 로그인하며 Workers 시트의 작업자 정보와 매칭됩니다.
코드북 재동기화
코드북 JSON(codebookEntries 포함)을 올리면 문법/독해/어휘/한국어 영향 태그와 정의가 최신 버전으로 교체됩니다.
- Tier 1(대분류/문항 유형/CEFR/인지 수준)은 코드북에 대응 항목이 없어 그대로 유지됩니다.
- 이번에 업로드한 코드북에 없는 기존 태그는 제거됩니다 — 전체 버전 교체용입니다.
R2 데이터 반입
R2-FLITTO-DELIVERY.json(코드북+문항+전문가슬롯+배정계획)을 올리면 4단계로 순차 반영됩니다. 몇 번을 다시 올려도 안전합니다(이미 진행된 작업 상태는 덮어쓰지 않음).
- 순서: 코드북 → 문항 → 전문가 슬롯 → 배정 계획(assignment_plan). 중간에 실패하면 그 단계부터 다시 올리면 됩니다.
- expert_slot_id를 실제 작업자 이메일에 연결하는 건 별도(아래 "R2 전문가 슬롯 바인딩")로 해야 합니다.
R2 전문가 슬롯 바인딩
배정 계획의 expert_slot_id를 실제 작업자 이메일에 연결합니다. 바인딩해야 해당 작업자에게 R2 문항이 노출됩니다. 이미 바인딩된 슬롯을 다시 바인딩하면 새 이메일로 교체되고, 기존에 배정된 문항도 함께 옮겨갑니다.
R2 Acceptance Test 배정
R2-FLITTO-24-ACCEPTANCE-SAMPLE.json을 올리면 지정한 테스터 이메일 1명에게 24개 시나리오 문항만 바로 배정합니다(정식 전문가 큐와 별개). 같은 파일을 다시 올리면 이미 제출한 답은 유지된 채 배정 정보만 갱신됩니다.
현재 회차 설정
작업자는 여기서 지정한 회차의 배정만 열람·작업할 수 있습니다. 이전 회차 데이터는 보이지 않으며, 다음 회차를 지정하기 전까지는 작업자에게 보이는 문항이 없습니다.
현재 회차: 불러오는 중...
선택한 회차의 작업 종료일을 지정하면, 그 날짜(KST 23:59)가 지난 뒤에는 현재 회차로 지정돼 있어도 작업자가 데이터에 접근할 수 없습니다(완료 문항 포함).
종료일: -
Assignments 검증
시트 직접 편집 후 item_id, 작업자, 중복, 상태값, 권한 불일치를 점검합니다.
일반 Export (R1/R2 겸용, 구버전)
— 펼쳐서 보기. 지금 라운드(R3) 납품 파일은 아래 "R3 Export"를 쓰세요.
배정, 제출 결과, 검수 상태를 합쳐 고객 제출/내부 QA용 파일을 생성합니다. R1/R2 시절의 컬럼 선택형 CSV/JSON이라 R3 전용 필드(review_reason_ids 등)는 여기 안 들어갑니다 — R3 납품은 아래 "R3 Export"를 쓰세요.
⚙️ 기본 설정
✂️ 납품 파일 분리
학년·Round 두 기준이 곱해져 조합됩니다 — 체크한 조합 수만큼 파일이 나옵니다.
체크 안 한 Round의 전용 컬럼은 자동 제외됩니다. R3 전용 필드(review_reason_ids 등)는 이 표에 없어 R3만 선택해도 안 나옵니다 — 완전한 R3 스키마는 아래 "R3 Export" 패널을 쓰세요.
📤 컬럼 선택 및 생성
R3 Export (지금 라운드 — 이걸 쓰세요)
Flitto-R3-Annotation-Schema.json과 동일한 24개 필드 구조로 JSON을 내려받습니다. 기본은 작업 완료(done)/승인(approved) 건만 포함합니다. (위쪽 "일반 Export"는 R1/R2 시절 약식 CSV/JSON이라 접어뒀습니다 — R3 납품은 여기서.)
오프라인 패키지
특정 작업자의 배정 문항 + 태그 체계 + 가이드를 JSON 하나로 내려받아 오프라인 라벨링 도구(offline/labeling-tool.html)에 올릴 수 있습니다.
R3 테스트 데이터 초기화
R3 라운드를 처음부터 다시 세팅해볼 때 씁니다. 되돌릴 수 없는 삭제라 각각 확인 창이 한 번 더 뜹니다. 문항 원본(Items)은 지우지 않습니다 — 아래 "R3 데이터 반입"에서 다시 올리세요.
R3 데이터 반입
코드북(Flitto-R3-Codebook-24-Cards.json)과 문항(Flitto-R3-Middle-190.json + Flitto-R3-High-190.json, 두 파일 동시 선택 가능)을 각각 올리면 반영됩니다. 몇 번을 다시 올려도 안전합니다(이미 진행된 작업 상태는 덮어쓰지 않음).
- 각 문항 JSON은
questions배열을 포함해야 합니다(Middle-190.json/High-190.json 원본 형식 그대로). - 각 question 객체가 이미 assignment_id/testlet_id/display_order를 갖고 있어서, 이 한 번으로 Items+Assignments가 함께 채워집니다 — R2처럼 별도 배정 계획 파일이 필요 없습니다.
작업 할당 모드
R3 작업자 화면에서 문항을 순서대로만 풀게 할지, 자유롭게 고를 수 있게 할지 정합니다.
현재 모드: 불러오는 중...
Peer 비교 테스트 배정
같은 문항을 여러 테스트 계정에 겹쳐 배정합니다. 이미 배정된 (문항, 작업자) 조합은 건드리지 않아 여러 번 실행해도 안전합니다.
작업자 등록
새 작업자(가상 작업자 포함)를 등록하거나 기존 작업자 정보를 갱신합니다. 이미 있는 이메일이면 이름·허용 학년만 갱신됩니다.
R3 문항 배정
위 "작업자 등록" 목록에서 체크한 작업자 전원에게, 각자 허용 학년(H/M)의 문항 전체를 동일하게(겹쳐서) 배정합니다 — 같은 문항을 여러 명이 각자 독립적으로 풉니다. 검수 대시보드의 일치/불일치 판정을 쓰려면 중등 3명·고등 4명을 추천합니다. 이미 배정된 (문항, 작업자) 조합은 건드리지 않아 여러 번 실행해도 안전합니다.
작업자 로그인
Workers 시트에 등록된 이메일로 할당 문항을 불러옵니다.
문항을 선택하세요
왼쪽 작업 목록에서 할당 문항을 선택하세요.
보기
검수 대기 목록
작업 완료 문항을 불러와 라벨과 근거를 확인한 뒤 승인 또는 반려합니다.
리뷰어 이메일은 선택 입력입니다 — 비워두고 승인/반려해도 'PM'으로 기록됩니다.
검수 상세
작업자 활동 패턴
제출 시각(KST) 기준 작업자·요일·시간대 분포와 문항당 소요 시간을 비교합니다.
작업자별 소요 시간 요약
| 작업자 | 제출 건수 | 평균(정규화) | 중앙값 |
|---|---|---|---|
| 불러오는 중... | |||
축별 비교
소요 시간은 문항을 연 시점부터 제출까지의 경과 시간이라 중간에 자리를 비운 경우 실제보다 길게 잡힐 수 있어, 상하위 10% 극단값을 제외하고 계산합니다.
불러오는 중...
클러스터별 주요 항목 비교
평균 태깅 수, 어노테이션 작성률, 새라벨 제안률, 한국어 영향 선택률, 재작업 비율을 비교합니다.
| 구분 | 문항수 | 태깅 평균 개수 | 어노 작성률 | 새라벨 제안률 | 한국어영향 선택률 | 재작업 |
|---|---|---|---|---|---|---|
| 불러오는 중... | ||||||
태깅 평균 개수·새라벨 제안률·한국어영향 선택률은 라벨 입력이 가능한(label_status=labelable) 제출 건 기준, 어노 작성률은 전체 제출 건(필수+비필수) 기준입니다. 재작업은 반려 이력이 있는 건 기준입니다.