File size: 2,692 Bytes
f32101e
87937a9
 
f32101e
 
 
a917110
 
f32101e
 
 
 
 
ada2222
8ff8b6d
ada2222
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b91a6bd
ada2222
 
 
 
 
b91a6bd
ada2222
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
---
title: TransDis-CreativityAutoAssessment
emoji: 💡
colorFrom: yellow
colorTo: gray
sdk: gradio
sdk_version: 6.14.0
python_version: "3.11"
app_file: app.py
pinned: false
license: mit
---

## 项目用途

TransDis-CreativityAutoAssessment 是一个用于自动评估发散思维回答的 Gradio 应用。它目前支持两类评分:

- **Originality**:计算每条 `prompt``response` 之间的语义距离,用于估计回答的独创性。
- **Flexibility**:计算同一 `id` + `prompt` 分组内多条回答之间的语义距离,用于估计回答的灵活性。

本应用基于论文 ["Automatic Assessment of Divergent Thinking in Chinese Language with TransDis: A Transformer-Based Language Model Approach"](https://arxiv.org/abs/2306.14790)。

## 输入格式

可以直接在文本框中粘贴 CSV 文本,也可以上传 `.csv` / `.xlsx` 文件。如果同时提供文本框和文件输入,上传文件优先。

`Originality` 任务需要提供:

```csv
id,prompt,response
1,床单,过滤器
1,bedsheet,used as a filter
```

`Flexibility` 任务需要为同一个被试和同一个提示词提供多条回答:

```csv
id,prompt,response
1,床单,过滤器
1,床单,做成渔网捞鱼
1,床单,做成枕头
```

单次请求最多处理 10,000 行数据。

## 模型选择

应用会在下拉菜单中提供多语言、英文和中文 Transformer 检查点,包括多语言 embedding 模型 `Qwen/Qwen3-Embedding-0.6B`。默认模型是:

```text
sentence-transformers/paraphrase-multilingual-mpnet-base-v2
```

可选 pooling 方式主要用于 legacy Transformer 检查点,包括 `mean``cls`。如果使用 `bert-base-chinese`,建议选择 `mean` pooling。选择 `Qwen/Qwen3-Embedding-0.6B` 时,界面会自动切换并锁定为 `last-token`,应用会使用该模型推荐的 last-token pooling 和向量归一化,即使 API 请求传入其他 pooling 值也会被覆盖。

## 本地开发

此 Space 使用 Python 3.11 和 Gradio 6.14.0。Gradio 版本由 README 顶部的 Space metadata 控制,因此不会写入 `requirements.txt````bash
python3.11 -m venv .venv
source .venv/bin/activate
pip install gradio==6.14.0 -r requirements.txt
python app.py
```

安装并运行 pre-commit:

```bash
uvx pre-commit install
uvx pre-commit run --all-files
```

推送前建议运行:

```bash
python3 -B -m py_compile app.py utils/pipeline.py utils/models.py
uvx pre-commit run --all-files
```

## Hugging Face Space

此 Space 由 README 顶部的 YAML 配置:

- `sdk: gradio`
- `sdk_version: 6.14.0`
- `python_version: "3.11"`
- `app_file: app.py`

推送到 Space 仓库后,Hugging Face 会自动重建并重启应用。