gyung/korean-bar-exam-moj-multiple-choice
Korean Bar Exam Multiple-Choice Questions and Answers (MOJ) 대한민국 법무부가 공개한 변호사시험 선택형(다지선다) 기출문제와 공식 정답을 문항 단위로 정리한 데이터셋입니다. 이 데이터셋은 해설 데이터가 아니라 문제 -> 정답 번호 학습/평가에 맞춰져 있습니다. SFT에 바로 쓸 파일 SFT에 가장 바로 쓰기 좋은 파일은 다음입니다. data/questions.csv 핵심 컬럼: question_text: 문제 원문과 선택지를 포함한 전체 텍스트 stem: 문제 본문 choices_json: 선택지 배열(JSON 문자열) answer: 공식 정답 번호 round, year, subject, question_no: 회차, 연도, 과목, 문항 번호 source_article_url, source_file_url, source_license: 출처와 라이선스 추적 정보… See the full description on the dataset page: https://huggingface.co/datasets/gyung/korean-bar-exam-moj-multiple-choice.
Korean Bar Exam Multiple-Choice Questions and Answers (MOJ)
대한민국 법무부가 공개한 변호사시험 선택형(다지선다) 기출문제와 공식 정답을 문항 단위로 정리한 데이터셋입니다.
이 데이터셋은 해설 데이터가 아니라 문제 -> 정답 번호 학습/평가에 맞춰져 있습니다.
SFT에 바로 쓸 파일
SFT에 가장 바로 쓰기 좋은 파일은 다음입니다.
data/questions.csv핵심 컬럼:
question_text: 문제 원문과 선택지를 포함한 전체 텍스트stem: 문제 본문choices_json: 선택지 배열(JSON 문자열)answer: 공식 정답 번호round,year,subject,question_no: 회차, 연도, 과목, 문항 번호source_article_url,source_file_url,source_license: 출처와 라이선스 추적 정보
data/answers.csv는 정답표 검증용입니다. 단독 SFT 입력으로 쓰기보다는 questions.csv와 대조하거나 평가셋을 만들 때 사용하세요.
data/documents.csv는 원본 문서 단위 메타데이터입니다.
SFT 포맷 예시
가장 단순한 SFT 목적은 “변호사시험 선택형 문제를 보고 정답 번호만 답하는 모델”입니다.
예시 메시지 포맷:
{
"messages": [
{
"role": "user",
"content": "다음 변호사시험 선택형 문제의 정답 번호만 고르시오.\n\n[문제]\n..."
},
{
"role": "assistant",
"content": "정답: 3"
}
]
}Python 변환 예시:
from datasets import load_dataset
ds = load_dataset(
"gyung/korean-bar-exam-moj-multiple-choice",
data_files="data/questions.csv",
split="train",
)
def to_sft(row):
user = (
"다음 변호사시험 선택형 문제의 정답 번호만 고르시오.\n\n"
f"[회차] 제{row['round']}회\n"
f"[과목] {row['subject']}\n"
f"[문항]\n{row['question_text']}"
)
return {
"messages": [
{"role": "user", "content": user},
{"role": "assistant", "content": f"정답: {row['answer']}"},
]
}
sft_ds = ds.map(to_sft, remove_columns=ds.column_names)정답 번호만 학습시키고 싶으면 assistant 응답을 row["answer"]만 남겨도 됩니다.
{"role": "assistant", "content": row["answer"]}평가용 사용
모델 평가에서는 question_text를 프롬프트로 넣고 모델이 낸 번호를 answer와 비교하면 됩니다.
권장 평가 프롬프트:
다음 변호사시험 선택형 문제의 정답 번호만 출력하시오. 다른 말은 쓰지 마시오.
{question_text}데이터 한계
- 공식 해설은 포함되어 있지 않습니다.
answer는 공식 정답 번호입니다.- 일부 문항은 원문 HWP/HWPX의 서식 때문에
choices_json선택지 분리가 완벽하지 않을 수 있습니다. 그래도 모든 행에는question_text와answer가 들어 있습니다. - QA 기준으로 문제 2,250행과 정답 2,250행이 일치하며, 회차/과목별 문항 수 불일치는 없습니다.
Contents
data/questions.csv: question rows withround,year,subject,question_type,question_no,question_text,choices_json, andanswerwhere an official multiple-choice answer is available.data/answers.csv: parsed official multiple-choice answer rows.data/documents.csv: source document manifest with source URLs and SHA-256 hashes.qa_report.json: parser and count checks.
Covered rounds: 1-15.
Rows:
- Questions: 2250
- Multiple-choice answer rows: 2250
- Source documents: 66
Source and Attribution
Source: 대한민국 법무부 법조인력과, 변호사시험 기출문제 및 선택형 정답
Primary source pages:
- 기출문제: https://www.moj.go.kr/moj/405/subview.do?enc=Zm5jdDF8QEB8JTJGYmJzJTJGbW9qJTJGMTUwJTJGYXJ0Y2xMaXN0LmRvJTNGdGFibGVfY2F0ZV9zZWxlY3QlM0QxNDElMjZiYnNDbFNlcSUzRDE0MSUyNmlzVmlld01pbmUlM0RmYWxzZSUyNmJic09wZW5XcmRTZXElM0QlMjZzcmNoQ29sdW1uJTNEc2olMjZzcmNoV3JkJTNEJTI2
- 정답가안/확정정답 공지: https://www.moj.go.kr/moj/2126/subview.do?enc=Zm5jdDF8QEB8JTJGYmJzJTJGbW9qJTJGMTUxJTJGYXJ0Y2xMaXN0LmRvJTNGYmJzQ2xTZXElM0QlMjZpc1ZpZXdNaW5lJTNEZmFsc2UlMjZiYnNPcGVuV3JkU2VxJTNEJTI2c3JjaENvbHVtbiUzRHNqJTI2c3JjaFdyZCUzRCVFQiVCMyU4MCVFRCU5OCVCOCVFQyU4MiVBQyVFQyU4QiU5QyVFRCU5NyU5OCslRUMlQTAlOTUlRUIlOEIlQjUlRUElQjAlODglRUMlOTUlODglMjY%3D
Each row includes the source article URL, source file URL, file name, and source SHA-256 where applicable.
License
The source content is provided by the Ministry of Justice under Korea Open Government License Type 1 (KOGL Type 1). KOGL Type 1 permits online/offline use, derivative works, and commercial use, provided source attribution is shown and users do not imply endorsement by the public institution.
License summary: https://www.kogl.or.kr/info/licenseType1.do
Dataset packaging and conversion scripts in the originating repository may be Apache-2.0, but the source exam content remains governed by KOGL Type 1 attribution conditions.
Processing Notes
HWP/HWPX files were converted to text using pyhwp (hwp5html) for HWP and XML extraction for HWPX. Multiple-choice answer tables were parsed from the converted XHTML table cells. For rounds 13-15, the Ministry of Justice final-answer notices state that the confirmed answers are the same as the posted provisional answer files; those rows are marked final_notice_same_as_provisional.
QA summary:
{
"attachments": 66,
"documents_by_status": {
"ok": 66
},
"question_rows": 2250,
"answer_rows": 2250,
"question_quality_counts": {
"parsed_with_answer": 2244,
"needs_review_choices": 6
},
"multiple_choice_count_issues": []
}