使用 Self-Instruct 构建医学问答数据集
一、方法概述
本文档演示如何用 Self-Instruct 的四步循环法(指令生成 → 分类 → 实例生成 → 过滤)来生成医学问答数据集。
核心原则:流程完全遵循标准 Self-Instruct,但在种子质量和过滤环节上做了医学领域的特化加强。
主题示例:心血管疾病
二、第一步:准备医学领域的种子指令
由医学专业人士撰写少量高质量问答种子,作为整个流程的起点。
| # | instruction | input | output |
|---|---|---|---|
| 1 | 什么是高血压? | 高血压是指在未使用降压药物的情况下,诊室收缩压 ≥ 140 mmHg 和(或)舒张压 ≥ 90 mmHg... | |
| 2 | 请列举冠心病的常见危险因素。 | 冠心病的常见危险因素包括:高血压、高血脂、糖尿病、吸烟、肥胖、缺乏运动、不健康饮食、过量饮酒、精神压力以及有家族史等。 |
三、第二步:指令生成
将种子指令作为示例,让模型生成全新的医学指令。
给大模型的提示词
你是一位医学教育专家。请根据以下已有指令,创造 5 条全新的、多样化的医学指令。
已有指令:
- 什么是高血压?
- 请列举冠心病的常见危险因素。
要求:
- 新指令必须与已有指令不同
- 覆盖病因、症状、诊断、治疗、预防、用药等不同角度
- 部分指令需要包含具体的 input 字段
- 输出格式:
{"instruction": "...", "input": "..."}(不需要的 input 可以为空字符串)
模型生成的新指令
| # | instruction | input |
|---|---|---|
| 1 | 解释心绞痛的典型临床表现。 | |
| 2 | 根据以下血压值,判断该患者属于哪个高血压分级。 | 患者男,52 岁。连续三次测量血压,平均值为 158/96 mmHg。 |
| 3 | 一位冠心病患者刚植入药物洗脱支架,出院后需要注意什么? | |
| 4 | 列举高血压患者日常生活中应限制摄入的三类食物。 | |
| 5 | 长期服用阿司匹林进行一级预防,主要存在什么风险? | |
| 6 | 判断该症状是否可能为心肌梗死的先兆。 | 患者女,62 岁。最近一周反复出现胸闷,多在快走时发作,每次持续 3-5 分钟,休息后可缓解。 |
四、第三步:分类
判断每条新指令是分类任务还是生成任务,为后续的实例生成做准备。
给大模型的提示词
判断以下指令是"分类任务"还是"生成任务"。
指令:判断该症状是否可能为心肌梗死的先兆。
输出格式:
任务类型, 简要理由
模型输出示例
分类任务,因为需要根据输入的症状给出明确的"是/否"判断。
分类结果汇总
- 指令 1-4:生成任务
- 指令 5-6:分类任务
注意:分类任务虽然被保留,但在后续过滤时需要额外关注其质量与多样性。
五、第四步:实例生成
根据分类结果,为新指令生成对应的答案(output)。
给大模型的提示词(对生成任务)
你是一位资深心血管内科专家。请为以下医学问题生成专业、准确的回答。
问:解释心绞痛的典型临床表现。
答:
模型生成的答案示例
心绞痛的典型临床表现为阵发性的胸骨后压榨性疼痛或憋闷感,可放射至左肩、左臂内侧甚至无名指和小指。疼痛常在体力劳动、情绪激动等心脏负担加重时诱发,休息或含服硝酸甘油后通常数分钟内可缓解。
六、第五步:过滤(医学增强版)
常规过滤
- Rouge-L 相似度过滤:排除与已有指令高度相似的生成结果。
医学特化过滤
- 医学实体校验:检查 output 中出现的药物名、诊断名、检查项目等是否权威、无捏造。例如,模型绝不能编造一种叫"速效救心丸 2 号"的药物。
- 无歧义过滤:医学指令要求极其精准。类似"降压药怎么吃?"这种过于模糊、没有说明是哪一种药的指令,会被直接打回或丢弃。
- 人工抽检:由医学专家对通过自动过滤的数据做最终确认,这是医学数据集的底线保障。
七、最终生成的数据集节选
| # | instruction | input | output |
|---|---|---|---|
| 1 | 什么是高血压? | 高血压是指在未使用降压药物的情况下,诊室收缩压 ≥ 140 mmHg 和(或)舒张压 ≥ 90 mmHg... | |
| 2 | 解释心绞痛的典型临床表现。 | 典型心绞痛为阵发性胸骨后压榨性疼痛,可放射至左肩、左臂,持续数分钟,休息或含服硝酸甘油缓解... | |
| 3 | 根据以下血压值,判断该患者属于哪个高血压分级。 | 患者男,52 岁。连续三次测量血压,平均值为 158/96 mmHg。 | 该患者属于 1 级高血压(轻度)。诊室收缩压在 140-159 mmHg 之间,舒张压在 90-99 mmHg 之间,符合 1 级高血压的诊断标准。 |
| 4 | 一位冠心病患者刚植入药物洗脱支架,出院后需要注意什么? | 1. 务必遵医嘱规律服用双联抗血小板药物,切勿自行停药... 2. 严格控制危险因素,包括血压、血脂、血糖... 3. 定期回院复查... |