北京邮电大学学生手册
收藏资源简介:
# BUPT校园知识问答数据集 ## 数据集简介 本数据集是一个**北京邮电大学(BUPT)校园知识问答数据集**,包含 **259 条**高质量短问短答样本,覆盖宿舍生活、奖学金、转专业、校园网、办事流程等校园常见场景。数据来源于北邮三个公开网站,经爬虫采集、清洗去重、文本切块、DeepSeek API 改写、程序过滤等流程构建而成。 数据集采用 `ms-swift` 兼容的 messages JSONL 格式,可直接用于 Qwen2.5、LLaMA 等模型的 LoRA 微调,训练校园知识问答助手。 ## 数据集详情 | 统计项 | 数值 | |---|---| | 总 QA 数 | 259 | | 问题最短 / 最⻓ | 6 字 / 31 字 | | 问题中位长度 | 15 字 | | 答案最短 / 最⻓ | 20 字 / 225 字 | | 答案中位长度 | 69 字 | | 数据格式 | messages JSONL | | 语言 | 中文 | ### 来源分布 | 来源 | QA 数 | 说明 | |---|---|---| | `bupt_xsc`(学生处规章制度) | 172 | 奖学金、处分、助学贷款等 | | `byrdocs_guide`(BUPT 生存指南) | 76 | 宿舍、转专业、校园网、开学考试等 | | `bupt_xsc_guide`(学生处办事指南) | 11 | 补办学生证、在读证明等 | ## 数据格式 每条样本为 `ms-swift` 标准的 messages 格式,包含 system / user / assistant 三轮对话及溯源元数据: ```json { "messages": [ {"role": "system", "content": "你是北京邮电大学知识助手,请基于已知资料准确、简洁地回答问题。"}, {"role": "user", "content": "沙河六人间上铺和下铺的床帘滑轨高度和长度是多少?"}, {"role": "assistant", "content": "下铺床帘吊环到床架高1290mm,滑轨长1870mm,共9+2环。上铺有两排滑轨,吊环到床架高均为1130mm;面向过道的滑轨长1870mm,9+2环;两床隔断处滑轨长680mm,5+2环。"} ], "metadata": { "source": "bupt_v2_deepseek_qa", "title": "沙河六人间布局", "url": "https://guide.byrdocs.org/沙河校区/六人间布局", "source_site": "byrdocs_guide", "source_chunk": "上下铺均设置了滑轨和吊环..." } } ``` `metadata.source_chunk` 保留了原始文本块,方便对 AI 生成答案做事实性校验。 ## 数据来源 数据爬取自以下三个北京邮电大学公开网站: | 网站 | 内容 | |---|---| | [guide.byrdocs.org](https://guide.byrdocs.org/) | BUPT 生存指南(非官方) | | [xsc.bupt.edu.cn/jgjs/gzzd/xsgl.htm](https://xsc.bupt.edu.cn/jgjs/gzzd/xsgl.htm) | 学生处规章制度 | | [xsc.bupt.edu.cn/xgdt/bszn.htm](https://xsc.bupt.edu.cn/xgdt/bszn.htm) | 学生处办事指南 | ## 使用场景 - **监督微调(SFT)**:使用 `ms-swift` 对 Qwen2.5 等模型进行 LoRA 微调 - **校园问答系统**:训练北邮校园知识助手 - **数据集构建研究**:参考爬虫 → 清洗 → API 改写 → 过滤的完整构建管线 ### 微调示例(ms-swift) ```bash swift sft \ --model Qwen/Qwen2.5-1.5B-Instruct \ --tuner_type lora \ --dataset bupt_v2_messages.jsonl \ --num_train_epochs 5 \ --lora_rank 16 \ --lora_alpha 32 \ --max_length 768 ``` ## 构建流程 ``` 爬虫采集 → 清洗去重 → 句子切分 + 文本分块 → DeepSeek API 生成 QA → 过滤清洗去重 → 格式化输出 ``` 1. **爬虫采集**:`crawler.py`,从三个来源抓取 58 条原始页面 2. **清洗去重**:`normalize_whitespace()` + `MD5(title || content)` 跨文件去重 3. **文本切块**:中文分句后贪心合并,每块 ≤ 900 字 4. **API 生成 QA**:调用 DeepSeek API,低温度(0.2)批量生成问答对 5. **程序过滤**:拦截多问、拒答、过长/过短、元叙述等问题 6. **格式化**:组装为 ms-swift 兼容 JSONL,保留溯源 metadata 完整构建脚本见项目仓库。



