본문으로 건너뛰기

평가 코퍼스 설계 프레임워크

버전: 1.0
상태: 초안
목적: 유효하고 신뢰할 수 있으며 언어학적으로 의미 있는 번역 품질 평가를 도출하는 평가 코퍼스를 구축하기 위한 체계적인 방법론이에요. 이 문서는 Champollion 평가 데이터셋을 설계, 구축, 유지 관리하는 방법에 대한 단일 진실 공급원(source of truth)이에요.


1. 설계 원칙

1.1 — 왜 공개 벤치마크를 쓰지 않나요?

공개 병렬 코퍼스(FLORES+, Tatoeba, WMT 테스트 셋, OPUS)는 개발과 디버깅용으로 사용할 수 있지만 공식 리더보드 평가에서는 제외돼요. 그 이유는 간단해요:

오염(Contamination). 프런티어 LLM은 방대한 웹 스크랩 데이터로 학습돼요. 공개적으로 존재해 온 병렬 텍스트라면 — 특히 큐레이션되고 널리 인용된 벤치마크 데이터셋이라면 — 학습 데이터에 포함되어 있을 가능성이 높아요. GPT-4o를 FLORES+로 평가했을 때 chrF++ 85점을 받는다면, "모델이 번역을 잘한다"와 "모델이 이 특정 문장 쌍을 암기했다"를 구별할 수 없어요. 이는 이론적인 우려가 아니에요 — 연구를 통해 MT 벤치마크에서 측정 가능한 오염 효과가 입증되었어요.

Champollion에게 이 문제가 특히 중요한 이유는:

  • 저희 리더보드는 주로 LLM 기반 방법을 비교해요
  • 저희의 가치 제안은 정직하고 엄격한 평가예요
  • 저희의 대상 사용자(언어 공동체)는 이 점수를 기반으로 배포 결정을 내려요

1.2 — 핵심 요구사항

모든 Champollion 평가 코퍼스는 다음을 충족해야 해요:

요구사항근거
인간 작성합성 데이터 금지. 모든 원문과 참조 번역은 인간이 작성해야 해요. LLM은 정렬과 포맷팅을 보조할 수 있지만 절대 콘텐츠를 생성할 수 없어요.
병렬 형태로 공개되지 않음원문은 공개될 수 있고, 참조 번역도 공개될 수 있지만, 특정한 쌍 짓기는 다운로드 가능한 병렬 코퍼스로 존재해서는 안 돼요.
출처 추적모든 항목은 출처가 문서화되어야 해요: 원본 문서, 번역자, 라이선스, 날짜.
언어학적 기반커버리지는 무작위 샘플링이 아니라 유형론적 특징에 의해 결정되어야 해요.
도메인 계층화항목은 통제된 표현으로 정의된 텍스트 도메인에 걸쳐 있어야 해요.
난이도 계층화항목은 구조적 복잡성을 기준으로 난이도 등급(1~5)이 부여되어야 해요.
버전 관리코퍼스 버전은 콘텐츠 해시로 관리돼요. 점수는 동일한 버전 내에서만 비교할 수 있어요.
공동체 검토 가능참조 번역은 언어 공동체 구성원이 검토할 수 있어야 해요.

2. 원문 선택

2.1 — 도메인 분류 체계

Champollion은 학술적 연습이 아니라 실제 배포 상황을 위한 번역을 평가해요. 도메인 분류 체계는 번역 사용자가 마주치는 실제 텍스트 유형을 반영해요:

도메인코드설명예시 출처
소프트웨어 UIui버튼 레이블, 메뉴 항목, 오류 메시지, 툴팁, 온보딩 플로우오픈소스 앱 문자열, 문서 포털
공식/행정admin정부 문서, 법적 고지, 양식, 정책 성명공공 정부 간행물, 지방자치단체 문서
교육edu교과서 콘텐츠, 수업 자료, 교육용 텍스트출판된 교육 자료, 교사용 지침서
서사/문학lit이야기, 문화 텍스트, 구술 역사 전사출판된 책, 문화 아카이브(허가받은 경우)
대화conv대화, 채팅형 교류, 비공식 서면 커뮤니케이션출판된 대화 코퍼스, 시나리오, 인터뷰 전사
기술techAPI 문서, README 파일, 기술 사양오픈소스 프로젝트 문서
건강/의료health환자 대상 의료 정보, 공중 보건 메시지정부 보건 간행물
뉴스/저널리즘news뉴스 기사, 보도자료, 시사공동체 신문, 원주민 미디어 매체

2.2 — 도메인 분포

표준 평가 코퍼스는 다음 분포를 목표로 해야 해요. 정확한 비율은 대상 공동체에 가장 관련성 높은 텍스트 유형에 따라 언어 쌍마다 달라질 수 있어요:

도메인목표 %근거
소프트웨어 UI25%champollion CLI 사용자의 주요 배포 상황
공식/행정15%법적 영향을 미치는 고위험 번역
교육15%언어 부흥을 위한 핵심 사용 사례
서사/문학10%문화적 뉘앙스와 문학적 어조를 테스트
대화10%비공식 어조와 자연스러운 화법 패턴을 테스트
기술10%정밀성과 용어 일관성을 테스트
건강/의료10%고위험, 도메인 특화 어휘를 테스트
뉴스/저널리즘5%현대 어휘와 중립적 어조를 테스트

2.3 — 원문 선택 기준

새 코퍼스를 위한 원문을 선택할 때:

  1. 라이선스 호환성. 원문은 평가 코퍼스에서의 사용을 허용하는 라이선스 하에 있어야 해요. CC BY, CC BY-SA, 또는 퍼블릭 도메인을 선호해요. 라이선스를 문서화하세요.

  2. 최신성. 지난 10년 이내에 출판된 텍스트를 선호해요. 언어는 진화하니까요 — 특히 기술, 거버넌스, 의학과 관련된 어휘는 더욱 그래요.

  3. 어조 다양성. 각 도메인 내에서 서로 다른 격식 수준의 텍스트를 찾으세요. 정부 보도자료(격식)와 정부 소셜 미디어 게시물(비격식)은 둘 다 admin 도메인이지만 어조는 달라요.

  4. 문화적 관련성. 원주민 언어와 소수 언어의 경우, 우연히 병렬로 존재하는 텍스트보다 공동체에 중요한 텍스트 — 토지 관리 문서, 해당 언어로 된 교육 자료, 문화 보존 텍스트 — 를 우선시하세요.

  5. 기계 번역된 원본 금지. 원본을 Google Translate에 돌린 후 사후 편집하여 "병렬" 문서를 만들었다면, 이는 참조 번역으로 받아들일 수 없어요. 참조는 독립적인 인간 번역이어야 해요.


3. 난이도 계층 시스템

3.1 — 계층 정의

모든 항목은 (방법에 따라 달라지는) 번역 난이도가 아니라 원문의 구조적 복잡성을 기준으로 난이도 등급(1~5)이 부여돼요.

계층레이블구조적 특징
1초급단순 문장. 단일 절. 현재 시제. 일반적인 어휘. 관용구 없음. 내포 구조 없음.
2중급복합 문장. 접속사로 연결된 두 개의 절. 과거/미래 시제. 일부 도메인 어휘.
3고급복잡한 문장. 종속절, 관계절. 혼합 시제. 도메인 특화 용어. 수동태.
4전문가다중 내포 절. 법률/기술 어조. 조건 구조. 추상적 개념. 문화적 참조.
5극도다중의 동시적 난제를 가진 밀도 높은 산문: 중첩된 종속, 모호한 대명사 참조, 문화적 관용구, 혼합 어조, 희귀 어휘.

3.2 — 언어학적 기반의 난이도 요인

구조적 복잡성을 넘어, 난이도는 원문과 대상 언어 사이의 유형론적 거리에 따라 조정돼요. 이 요인들은 WALS 유형론적 특징과 언어 카드의 분류 데이터에서 가져온 거예요:

요인낮은 난이도높은 난이도
어순동일한 기본 어순(예: SVO→SVO)다른 기본 어순(예: SVO→SOV)
형태론적 유형유사한 유형(예: 분석어→분석어)다른 유형(예: 분석어→포합어)
문법적 성동일한 체계 또는 성 없음원문에 성이 없고 대상에 복잡한 성이 있음
경어/어조어조 표시 없음대상에 복잡한 어조 체계가 있음(예: 일본어, 한국어)
문자동일한 문자다른 문자(음역 필요)
유정성유정성 구별 없음대상에 유정성 기반 일치가 있음(예: 크리어)
증거성증거성 없음대상이 정보 출처를 문법적으로 표시함

3.3 — 계층 분포

표준 코퍼스는 대략 다음을 가져야 해요:

계층목표 %근거
115%기준선 확립 — 나쁜 방법도 이 정도는 처리할 수 있어야 해요
225%일상적이고 실용적인 번역
330%방법의 품질 차이가 드러나는 지점
420%좋은 방법과 훌륭한 방법을 구분
510%천장 테스트 — 이를 잘 처리할 방법은 극히 드물어요

4. 참조 번역 품질

4.1 — 번역자 요구사항

참조 번역은 다음과 같은 인간이 작성해야 해요:

  1. 대상 언어의 유창한 화자(L1 또는 그에 준함)
  2. 원문과 대상 언어 모두에 대한 문해력
  3. 해당 텍스트의 도메인에 대한 도메인 인식(건강 텍스트는 의료 번역자 등)
  4. 독립성 — 번역자는 번역 중에 동일한 텍스트에 대한 어떤 MT 출력에도 접근해서는 안 돼요

4.2 — 번역 브리핑

모든 번역자는 다음을 포함하는 브리핑을 받아요:

  • 사용할 어조(격식, 대화체 등)
  • 대상 독자(일반 대중, 전문가, 어린이 등)
  • 언어 공동체에 특화된 용어 관례
  • 명시적 지침: "단어가 아니라 의미를 번역하세요. 자연스럽게 들리는 번역이 직역보다 더 가치 있어요."

4.3 — 품질 보증

  1. 이중 번역. 이상적으로는 각 항목이 서로 다른 번역자에 의한 두 개의 독립적인 참조 번역을 가져요. 이것이 불가능한 경우, 계층 4~5에 대해 이중 번역을 우선시하세요.

  2. 공동체 검토. 참조 번역은 그 번역을 작성하지 않은 최소 한 명의 추가 화자가 검토해야 해요.

  3. 허용 가능한 변형. 각 참조에 대해 알려진 허용 가능한 변형(어순, 정서법 관례, 방언 형태)을 문서화하세요. 이것들은 equivalent_match_rate 메트릭에 반영돼요.

4.4 — 나쁜 참조란 무엇인가

문제평가를 무효화하는 이유
기계 번역 후 사후 편집사후 편집은 MT 구조를 보존해요; 더 자연스러운 번역을 생성하는 방법에 불이익을 줘요
유창한 화자가 아닌 학습자가 번역참조에 오류가 있어 올바른 MT 출력에 불이익을 줄 수 있어요
지나친 직역자연스러운 번역이 직역 참조에 비해 낮은 점수를 받아요
모호한 원문에 대한 단일한 유효 해석유효한 대안적 해석에 불이익을 줘요

5. 오염 방지

5.1 — 오염 위협 모델

위협설명완화책
학습 데이터 중첩LLM이 병렬 코퍼스로 학습됨병렬 코퍼스를 공개적으로 게시하지 않기
퓨샷 누출방법 작성자가 평가 항목을 퓨샷 예시로 사용핑거프린트 검사: 프롬프트에 포함된 항목을 탐지하고 표시
간접 오염원문이 LLM 학습 데이터에 존재(단일 언어)허용 가능 — 단일 언어 원문은 예상되는 거예요. 쌍 짓기가 새로워야 해요.
크라우드 오염공동체 검토자가 항목을 공개적으로 공유라이선스 조건이 병렬 코퍼스의 재배포를 금지

5.2 — 코퍼스 비밀 등급

등급가시성용도
공개 개발 셋완전 공개방법 개발, 디버깅, 회귀 테스트. 점수는 리더보드에 게시되지 않아요.
홀드아웃 평가 셋원문은 공개, 참조는 비공개공식 리더보드 평가. 방법은 원문을 받고 번역을 반환하며, 채점은 서버 측에서 이루어져요. 참조는 방법에 절대 노출되지 않아요.
골드 스탠더드 셋완전 비공개, 공동체 통제공동체 검증 평가. 거버넌스 조직이 관리해요. "Community Validated" 검증 등급에 사용돼요.

5.3 — 순환 정책

평가 코퍼스는 주기적으로 순환되어야 해요:

  1. 코퍼스가 12개월 동안 사용된 후, 대체 코퍼스 구축을 시작하세요
  2. 오래된 코퍼스를 "개발 셋" 상태(공개)로 은퇴시키세요
  3. 새 코퍼스를 "홀드아웃 평가 셋"으로 승격시키세요
  4. 이는 고정된 목표에 대한 반복적 최적화를 통한 점진적 오염을 방지해요

6. 코퍼스 구축 워크플로

6.1 — 단계별 프로세스

Step 1: Language Pair Selection
└─ Identify target language, read language card
└─ Review typological features (WALS), contact influences, scripts
└─ Identify which difficulty factors apply

Step 2: Source Text Curation
└─ Identify candidate source documents per domain
└─ Verify licenses
└─ Extract candidate sentences/segments
└─ Classify by domain and preliminary difficulty tier

Step 3: Segment Selection
└─ Sample segments to match domain distribution (§2.2)
└─ Sample segments to match difficulty distribution (§3.3)
└─ Ensure linguistic phenomenon coverage (§6.2)
└─ Target minimum corpus size (§6.3)

Step 4: Reference Translation
└─ Assign segments to qualified translators
└─ Provide translation brief
└─ Collect translations
└─ Dual-translate Tier 4–5 entries

Step 5: Quality Assurance
└─ Community review of references
└─ Document acceptable variants
└─ Flag and resolve disagreements

Step 6: Metadata & Packaging
└─ Assign final difficulty tiers
└─ Add provenance metadata per entry
└─ Content-hash the corpus for versioning
└─ Package as corpus JSON per harness spec

Step 7: Registration
└─ Register in Supabase datasets table
└─ Add to ATTRIBUTION.md if new sources used
└─ Document in arena website

6.2 — 언어 현상 커버리지

모든 코퍼스는 언어 쌍과 관련된 특정 언어 현상을 테스트하는 항목을 포함해야 해요. 이것들은 언어 카드의 linguisticChallengescontactInfluences 필드에서 가져온 거예요:

보편적 현상(모든 언어 쌍):

  • 대명사 해소(모호한 선행사)
  • 부정(단일, 이중, 범위)
  • 양화사(전부, 일부, 없음, 대부분)
  • 시간 표현(상대적 날짜, 기간)
  • 명명된 개체(사람, 장소, 조직)
  • 숫자와 측정값
  • 목록과 열거

쌍 특화 현상(언어 카드에서):

  • 포합어 대상의 경우: 복잡한 동사 형태론, 포합
  • 성을 가진 대상의 경우: 성 일치, 중립적/포괄적 참조
  • SOV 대상의 경우: 절 말미 동사, 후치사
  • 성조 언어의 경우: 성조 의존적 의미 구별
  • 경어 언어의 경우: 어조 표지, 사회적 맥락
  • 접촉 언어의 경우: 코드 스위칭 경계, 차용어 통합

6.3 — 최소 코퍼스 크기

통계적 신뢰성을 위해서는 최소 항목 수가 필요해요. 이는 페어드 부트스트랩 신뢰구간 요구사항(significance.py에서)을 기반으로 해요:

목적최소 항목 수권장
개발 셋50100~200
홀드아웃 평가 셋100200~500
골드 스탠더드 셋200500+
도메인당 최소1025+
계층당 최소1020+

왜 평가에 최소 100개인가요? 약 100개 미만의 항목으로는 페어드 부트스트랩 유의성 검정(1,000회 리샘플링)이 약 5 chrF++ 점수보다 작은 차이를 신뢰성 있게 탐지할 수 없어요. 200개 이상의 항목으로는 p<0.05에서 약 2점 차이를 탐지할 수 있어요.


7. 코퍼스 JSON 형식

모든 코퍼스 항목은 하니스 사양을 따라요:

{
"id": "edtekla-dev-v1-042",
"source": "The school board will meet on Tuesday to discuss the new curriculum.",
"reference": "ᑭᓯᑭᓄᐦᐊᒫᑐᐏᓐ ᑲ ᐃᔑ ᐱᒥᐸᔨᐦᑕᐦᒃ ᑭᔅᑭᓄᐦᐊᒫᑐᐏᓇ ᐁ ᐃᔑ ᒫᒥᑐᓀᔨᐦᑕᐦᒃ ᐅᔥᑭ ᑭᔅᑭᓄᐦᐊᒫᑫᐏᓂᔭ ᓂᔓ ᑭᔑᑲᐤ",
"acceptable_variants": [
"ᑭᔅᑭᓄᐦᐊᒫᑐᐏᓐ ᓂᔓ ᑭᔑᑲᐤ ᑲ ᐃᔑ ᒫᒥᑐᓀᔨᐦᑕᐦᒃ ᐅᔥᑭ ᑭᔅᑭᓄᐦᐊᒫᑫᐏᓂᔭ"
],
"domain": "edu",
"difficulty": 3,
"phenomena": ["temporal_expression", "named_entity", "future_tense"],
"provenance": {
"source_doc": "EdTeKLA Module 4, Unit 7",
"source_license": "CC BY-NC-SA 4.0",
"translator": "anonymous-speaker-001",
"translator_qualification": "L1 Plains Cree, certified translator",
"translation_date": "2025-11-15",
"reviewer": "anonymous-speaker-002",
"review_date": "2025-12-01"
}
}

8. 게이밍 방지 조치

8.1 — 코퍼스 무결성

조치구현
콘텐츠 해싱코퍼스 버전 = 정렬된 항목 ID + 참조의 SHA-256. 모든 수정은 새 버전을 생성해요.
항목 핑거프린팅각 항목은 콘텐츠에서 파생된 ID를 가져요. 누군가 수정된 코퍼스에 대해 결과를 제출하면 핑거프린트가 일치하지 않아요.
홀드아웃 적용공식 평가에서 방법은 원문만 받아요. 참조는 절대 노출되지 않아요. 채점은 서버 측에서 이루어져요.
순환 일정코퍼스는 고정된 목표에 대한 장기적 최적화를 방지하기 위해 매년 순환해요.

8.2 — 제출 무결성

조치구현
결정론적 핑거프린트실행 구성(모델, 온도, 프롬프트, 코퍼스 버전)이 해시돼요. 동일한 구성은 동일한 핑거프린트를 생성해요.
체리피킹 탐지제출자는 최고의 실행만이 아니라 모든 실행을 공개해야 해요. 동일한 핑거프린트를 가진 다중 제출은 표시돼요.
오염 검사평가 항목이 방법의 프롬프트나 코칭 데이터에 그대로 나타나면 제출이 자격을 박탈당해요.

9. 기존 코퍼스

9.1 — EDTeKLA 개발 셋 v1

속성
IDedtekla-dev-v1
EN → CRK (Plains Cree, SRO)
항목404 (master_corpus.json: 골드 62 + 교과서 342); 사용 가능 총 548
도메인교육 (100%)
계층1~5 (항목 감사에 따라 분포 TBD)
라이선스CC BY-NC-SA 4.0
상태개발 셋 (공개)

한계: 단일 도메인(교육만). 도메인 계층화 없음. 계층 할당은 감사가 필요할 수 있어요. 작은 코퍼스 크기가 유의성 검정의 통계적 검정력을 제한해요.

9.2 — 계획된 코퍼스

코퍼스상태소유자
EN → TL (Filipino) 커스텀 코퍼스EN → TL계획됨프로젝트 소유자
EN → CRK 홀드아웃 셋EN → CRK향후 (공동체 파트너 필요)공동체 거버넌스 조직

10. 언어 카드 통합

코퍼스 프레임워크는 언어 카드 시스템과 통합돼요:

  1. 도메인 선택은 카드의 linguisticChallenges에 의해 결정돼요 — 언어에 고유한 난제(포합, 성조, 유정성)가 있는 경우, 코퍼스는 이를 테스트하는 항목을 포함해야 해요.

  2. 난이도 보정은 카드의 classification을 사용해요 — 원문과 대상 어족 사이의 유형론적 거리가 "어려움"을 구성하는 요소에 영향을 줘요.

  3. 어조 커버리지는 카드의 registers를 사용해요 — 언어에 정의된 어조(formal-filipino, taglish-professional, taglish-casual)가 있는 경우, 코퍼스는 각 어조 수준의 항목을 포함해야 해요.

  4. 접촉 영향 테스트는 카드의 contactInfluences을 사용해요 — 차용 계층이 많은 언어(Filipino: 스페인어 + 영어 + 아랍어)의 경우, 방법이 차용어를 올바르게 처리하는지 아니면 과도하게 번역하는지를 테스트하는 항목을 포함하세요.

  5. 문자 처리는 카드의 scripts[]을 사용해요 — 다중 문자 언어(Serbian: 키릴 문자 + 라틴 문자)의 경우, 올바른 문자 선택을 테스트하는 항목을 포함하세요.


참고 자료

  • Champollion Scoring Specification — 모든 메트릭, 합성 가중치, 품질 등급을 정의
  • Champollion Benchmark Specification — 평가 프로토콜, 코퍼스 형식, 데이터 주권
  • WALS (World Atlas of Language Structures) — 유형론적 특징 데이터베이스
  • Glottolog — 언어 분류 단일 진실 공급원
  • ISO 639-3 — 언어 식별 표준
  • EdTeKLA — 첫 번째 평가 코퍼스의 출처

이 문서는 살아있는 사양이에요. 새로운 코퍼스가 구축되고 교훈을 얻을 때마다 업데이트하세요.