File size: 4,038 Bytes
9fce90e
b6512d2
 
 
 
 
98f1b98
8bc974d
b6512d2
 
98f1b98
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
---
title: Chart QA Review System
emoji: 📊
colorFrom: blue
colorTo: purple
sdk: gradio
sdk_version: "5.9.1"
python_version: "3.10"
app_file: app.py
pinned: false
---

# 📊 图表问答数据集审核系统

一个基于 Gradio 的人工审核系统,用于审核图表问答数据集中的问题和答案是否合理正确。

## 功能特点

- 📊 **图表展示**:支持 HTML 格式的交互式图表展示
- 📁 **目录导航**:按 Source → Chart Type → Chart → Model 层级浏览
-**审核操作**:支持正确、错误、需修改、待定四种状态
- ✏️ **内容编辑**:可修改问题和答案,添加评论备注
- 📈 **统计面板**:实时显示审核进度和统计信息
- 📥 **数据导出**:一键导出审核记录为 JSON 格式
- ⌨️ **快捷键**:支持键盘导航和状态选择

## 目录结构

```
project/
├── app.py              # 主应用
├── data_manager.py     # 数据管理模块
├── requirements.txt    # 依赖列表

├── dataset/            # 数据集目录(需要自行放置)
│   ├── web/            # 图表 HTML 文件
│   │   └── {source}/
│   │       └── {chart_type}/
│   │           └── *.html
│   ├── label/          # 图表标签信息
│   │   └── {source}/
│   │       └── {chart_type}/
│   │           └── *.json
│   └── question_answer/  # QA 数据
│       └── {source}/
│           └── {chart_type}/
│               └── {model}/
│                   └── *.json

└── reviews/            # 审核记录(自动创建)
    └── reviews.json
```

## 数据格式

### Label JSON 格式
```json
{
  "Number": "0001",
  "Type": "bar",
  "Source": "Apache Echarts",
  "Weblink": "https://example.com/chart",
  "Topic": "Weather Statistics by City",
  "Describe": "The chart compares...",
  "Other": ""
}
```

### QA JSON 格式
```json
{
  "id": "chart_0001_bar_q1",
  "chart": "chart_0001_bar",
  "question": "Weather Statistics图表中,三个城市在Showers天气下的总天数是多少?",
  "answer": "203"
}
```

### 审核记录格式
```json
{
  "review_id": "uuid",
  "chart_id": "chart_0001_bar",
  "qa_id": "chart_0001_bar_q1",
  "source": "Apache Echarts",
  "chart_type": "bar",
  "model": "gpt-4",
  "original_question": "...",
  "original_answer": "...",
  "status": "correct",
  "modified_question": "",
  "modified_answer": "",
  "issue_type": "",
  "comment": "",
  "reviewer": "default",
  "review_time": "2024-01-01T00:00:00"
}
```

## 快速开始

### 1. 安装依赖

```bash
pip install -r requirements.txt
```

### 2. 准备数据集

将你的数据集放置到 `dataset/` 目录下,按照上述目录结构组织。

### 3. 启动应用

```bash
python app.py
```

应用将在 `http://localhost:7860` 启动。

## 快捷键

| 按键 | 功能 |
|------|------|
| ← | 上一个图表 |
| → | 下一个图表 |
| 1 | 标记为正确 |
| 2 | 标记为错误 |
| 3 | 标记为需修改 |
| 4 | 标记为待定 |

## 部署到 Hugging Face Spaces

### 方法 1:通过网页界面上传

1. 在 Hugging Face 创建一个新的 Space
2. 上传所有文件:`app.py``data_manager.py``requirements.txt``README.md`
3. 在 Files 标签页创建 `dataset/` 目录结构
4. 上传你的数据集文件

### 方法 2:通过 Git 推送

```bash
# 克隆 Space
git clone https://huggingface.co/spaces/YOUR_USERNAME/YOUR_SPACE_NAME
cd YOUR_SPACE_NAME

# 复制项目文件
cp /path/to/app.py .
cp /path/to/data_manager.py .
cp /path/to/requirements.txt .
cp /path/to/README.md .

# 创建数据集目录并上传数据
mkdir -p dataset/web dataset/label dataset/question_answer

# 提交并推送
git add .
git commit -m "Initial commit"
git push
```

## 注意事项

- 免费版 Spaces 有存储限制
- Spaces 重启后审核记录会丢失,请定期导出
- 大数据集建议使用 Hugging Face Datasets 存储

## 许可证

MIT License