ko-freshqa-leaderboard / ui /dataset_tab.py
jisubae
docs: dataset_tab λ‚΄ ν…μŠ€νŠΈ μˆ˜μ •
8df96e2
"""
데이터셋 λ‹€μš΄λ‘œλ“œ νƒ­ UI μ»΄ν¬λ„ŒνŠΈ
πŸ’Ύ 데이터셋 λ‹€μš΄λ‘œλ“œ νƒ­μ˜ UI와 λ‘œμ§μ„ κ΄€λ¦¬ν•©λ‹ˆλ‹€.
"""
import gradio as gr
import pandas as pd
def create_dataset_tab():
"""데이터셋 λ‹€μš΄λ‘œλ“œ νƒ­ UI 생성"""
# 데이터셋 미리보기 λ‘œλ“œ (μ΄ˆκΈ°ν™” μ‹œ ν•œ 번만)
try:
dev_preview_data = pd.read_csv("data/public/ko-freshqa_2025_dev.csv").head(5)
test_preview_data = pd.read_csv("data/public/ko-freshqa_2025_test.csv").head(5)
except Exception as e:
print(f"⚠️ 데이터셋 미리보기 λ‘œλ“œ μ‹€νŒ¨: {e}")
dev_preview_data = pd.DataFrame()
test_preview_data = pd.DataFrame()
gr.Markdown("""
### Ko-FreshQA Dataset
- 이 데이터셋 및 λ¦¬λ”λ³΄λ“œλŠ” [FreshQA](https://github.com/freshllms/freshqa)μ—μ„œ μ˜κ°μ„ λ°›μ•„ λ§Œλ“€μ–΄μ‘ŒμŠ΅λ‹ˆλ‹€.
- fact type(fast changing, slow changing, never changing), μ „μ œμ˜ μœ νš¨μ„±, 10개의 도메인에 따라 λ‚˜λ‰˜λŠ” μ§ˆλ¬Έλ“€μ„ 톡해 ν•œκ΅­μ–΄ 지식과 κ΄€λ ¨λœ LLM의 μ΅œμ‹ μ„±μ„ νŒλ‹¨ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
- 검증 및 평가에 ν•„μš”ν•œ 데이터셋은 주기적으둜 μ—…λ°μ΄νŠΈν•  μ˜ˆμ •μž…λ‹ˆλ‹€.
<br>
### Ko-FreshQA 데이터셋은 μ•„λž˜μ™€ 같은 νŠΉμ§•μ„ κ°€μ§€κ³  μžˆμŠ΅λ‹ˆλ‹€.
- **fact type**
- μ‹œκ°„μ˜ 흐름에 λ”°λ₯Έ λ‹΅λ³€μ˜ 변동 κ°€λŠ₯성에 따라 μ§ˆλ¬Έμ€ μ•„λž˜μ˜ μ„Έ κ°€μ§€λ‘œ λΆ„λ₯˜λ©λ‹ˆλ‹€.
- **fast changing** : 닡변이 보톡 1λ…„ λ˜λŠ” κ·Έ 이내에 λ³€ν•˜λŠ” 질문
- **slow changing** : 닡변이 λͺ‡ 년에 걸쳐 λ³€ν•˜λŠ” 질문
- **never changing** : 역사적 사건, μ§„μ‹€κ³Ό 같이 닡변이 거의 λ³€ν•˜μ§€ μ•ŠλŠ” 질문
- **μ „μ œ μœ νš¨μ„±**
- **false premise (T/F)** : μ§ˆλ¬Έμ— ν¬ν•¨λœ μ „μ œ μžμ²΄κ°€ 잘λͺ»λ˜μ–΄ 있으면 True, μ „μ œμ— λ¬Έμ œκ°€ μ—†μœΌλ©΄ False
- **one/multi hop**
- 닡변을 μƒμ„±ν•˜κΈ° μœ„ν•΄ ν•„μš”ν•œ μΆ”λ‘ μ˜ κ°œμˆ˜μ— 따라 μ§ˆλ¬Έμ„ one hop, multi hop으둜 λΆ„λ₯˜ν•©λ‹ˆλ‹€.
- **도메인**
- λͺ¨λ“  질문과 λŒ€λ‹΅μ€ λ‹€μŒ 도메인 쀑 ν•˜λ‚˜λ‘œ λΆ„λ₯˜λ©λ‹ˆλ‹€.
- μ •μΉ˜, 슀포츠, μ—°μ˜ˆ, 날씨, 세계, 경제, μ‚¬νšŒ, IT/κ³Όν•™, μƒν™œ/λ¬Έν™”, UNK
- **λ‚˜λ¨Έμ§€ 메타 정보**
- **effective year** : 질문의 닡변이 λ§ˆμ§€λ§‰μœΌλ‘œ λ³€κ²½λœ 연도
- **next review** : μ˜ˆμƒλ˜λŠ” λ‹€μŒ κ²€ν†  λ‚ μ§œ
- **source** : 질문/닡변에 λŒ€ν•œ 정보λ₯Ό 찾을 수 μžˆλŠ” 좜처
<br>
""")
with gr.Column(elem_classes=["leaderboard-group"]):
with gr.Row():
with gr.Column():
gr.Markdown("### πŸ§ͺ DEV 데이터셋 (개발/κ²€μ¦μš©)")
gr.Markdown("""
**Dev set**: 550쌍
- λͺ¨λΈ 개발 및 검증을 μœ„ν•΄ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
- 정닡을 λΉ„λ‘―ν•˜μ—¬ λͺ¨λ“  메타데이터가 μ œκ³΅λ©λ‹ˆλ‹€.
""")
# DEV 데이터셋 λ‹€μš΄λ‘œλ“œ λ²„νŠΌ
dev_download_btn = gr.DownloadButton(
"πŸ’Ύ DEV 데이터셋 λ‹€μš΄λ‘œλ“œ",
value="data/public/ko-freshqa_2025_dev.csv",
variant="primary",
size="lg"
)
# DEV 데이터셋 미리보기
dev_preview = gr.DataFrame(
value=lambda: pd.read_csv("data/public/ko-freshqa_2025_dev.csv").head(5),
interactive=False,
label=""
)
with gr.Column():
gr.Markdown("### 🎯 TEST 데이터셋 (μ΅œμ’… ν‰κ°€μš©)")
gr.Markdown("""
**Test set**: 3,000개
- λ¦¬λ”λ³΄λ“œ μ œμΆœμ„ μœ„ν•œ ν‰κ°€μš© λ°μ΄ν„°μ…‹μž…λ‹ˆλ‹€.
- model_responseλ₯Ό μ±„μ›Œμ„œ μ œμΆœν•΄μ£Όμ„Έμš”.
""")
# TEST 데이터셋 λ‹€μš΄λ‘œλ“œ λ²„νŠΌ
test_download_btn = gr.DownloadButton(
"πŸ’Ύ TEST 데이터셋 λ‹€μš΄λ‘œλ“œ",
value="data/public/ko-freshqa_2025_test.csv",
variant="primary",
size="lg"
)
# TEST 데이터셋 미리보기
test_preview = gr.DataFrame(
value=lambda: pd.read_csv("data/public/ko-freshqa_2025_test.csv").head(5),
interactive=False,
label=""
)
# λ‹€μš΄λ‘œλ“œ μ•ˆλ‚΄ λ©”μ‹œμ§€
gr.Markdown("""
<br>
### πŸ’‘ λ‹€μš΄λ‘œλ“œ μ•ˆλ‚΄
- μœ„μ˜ λ‹€μš΄λ‘œλ“œ λ²„νŠΌμ„ ν΄λ¦­ν•˜λ©΄ λΈŒλΌμš°μ €μ—μ„œ μžλ™μœΌλ‘œ 파일 λ‹€μš΄λ‘œλ“œκ°€ μ‹œμž‘λ©λ‹ˆλ‹€.
- **DEV 데이터셋**은 λͺ¨λΈ 개발 및 κ²€μ¦μš©μœΌλ‘œ μ‚¬μš©ν•˜μ„Έμš”.
- **TEST 데이터셋**은 μ΅œμ’… 평가 및 λ¦¬λ”λ³΄λ“œ 제좜용으둜 μ‚¬μš©ν•˜μ„Έμš”.
- λ‹€μš΄λ‘œλ“œλœ νŒŒμΌμ€ **CSV ν˜•μ‹**, **UTF-8 인코딩**으둜 μ €μž₯λ©λ‹ˆλ‹€.
<br>
""")
# License & References
gr.Markdown("""
### πŸ“š License & References
- λ³Έ 데이터셋은 **CC-BY-ND-NC 4.0 (μ €μž‘μžν‘œμ‹œ Β· λ³€κ²½ κΈˆμ§€ Β· λΉ„μ˜λ¦¬)** λΌμ΄μ„ μŠ€λ‘œ μ œκ³΅λ©λ‹ˆλ‹€.
- 이 λ¦¬λ”λ³΄λ“œλŠ” IITP의 **β€œμƒμ„±ν˜• μ–Έμ–΄λͺ¨λΈμ˜ 지속가λŠ₯μ„±κ³Ό μ‹œκ°„μ˜ 흐름에 λ”°λ₯Έ μ΅œμ‹ μ„± λ°˜μ˜μ„ μœ„ν•œ ν•™μŠ΅ 및 ν™œμš© 기술 κ°œλ°œβ€** μ‚¬μ—…μ˜ 지원을 λ°›μ•„ μ œμž‘λ˜μ—ˆμŠ΅λ‹ˆλ‹€.
- 이 μ‹œμŠ€ν…œμ€ FreshLLMs ν”„λ‘œμ νŠΈμ˜ **FreshQA 데이터셋과 평가 방법둠**을 기반으둜 κ΅¬μΆ•λ˜μ—ˆμŠ΅λ‹ˆλ‹€.
- 원본 FreshQAλŠ” 링크λ₯Ό μ°Έκ³ ν•΄ μ£Όμ„Έμš”. πŸ‘‰ https://github.com/freshllms/freshqa
- 데이터셋 및 λ¦¬λ”λ³΄λ“œμ— κ΄€ν•˜μ—¬ λ¬Έμ˜μ‚¬ν•­μ΄ μžˆμ„ 경우, taehwan.oh@upstage.ai둜 μ—°λ½ν•΄μ£Όμ„Έμš”.
""")