File size: 6,055 Bytes
5e8f045
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8df96e2
5e8f045
8df96e2
5e8f045
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
04df6bf
5e8f045
 
 
04df6bf
5e8f045
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
"""
데이터셋 λ‹€μš΄λ‘œλ“œ νƒ­ 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
        - 데이터셋 및 λ¦¬λ”λ³΄λ“œμ— κ΄€ν•˜μ—¬ λ¬Έμ˜μ‚¬ν•­μ΄ μžˆμ„ 경우, [email protected]둜 μ—°λ½ν•΄μ£Όμ„Έμš”.
    """)