使用 Self-Instruct 构建医学问答数据集

使用 Self-Instruct 构建医学问答数据集

一、方法概述

本文档演示如何用 Self-Instruct 的四步循环法(指令生成 → 分类 → 实例生成 → 过滤)来生成医学问答数据集。

核心原则:流程完全遵循标准 Self-Instruct,但在种子质量和过滤环节上做了医学领域的特化加强。

主题示例:心血管疾病


二、第一步:准备医学领域的种子指令

由医学专业人士撰写少量高质量问答种子,作为整个流程的起点。

# instruction input output
1 什么是高血压? 高血压是指在未使用降压药物的情况下,诊室收缩压 ≥ 140 mmHg 和(或)舒张压 ≥ 90 mmHg...
2 请列举冠心病的常见危险因素。 冠心病的常见危险因素包括:高血压、高血脂、糖尿病、吸烟、肥胖、缺乏运动、不健康饮食、过量饮酒、精神压力以及有家族史等。

三、第二步:指令生成

将种子指令作为示例,让模型生成全新的医学指令。

给大模型的提示词

你是一位医学教育专家。请根据以下已有指令,创造 5 条全新的、多样化的医学指令。

已有指令

  1. 什么是高血压?
  2. 请列举冠心病的常见危险因素。

要求

  • 新指令必须与已有指令不同
  • 覆盖病因、症状、诊断、治疗、预防、用药等不同角度
  • 部分指令需要包含具体的 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. 定期回院复查...
相关推荐
小白说大模型16 分钟前
Codex 实战:用 AI 写运维脚本
大数据·运维·网络·人工智能·机器学习·prompt
数字护盾(和中)35 分钟前
和中科技剖析 EDR 绕过全链路,AMSI、ETW 规避技术与防御对策
运维·网络·人工智能·科技·安全·web安全
Demons_kirit1 小时前
PortSwigger网络缓存欺骗(1)
网络·缓存
a187927218311 小时前
从一条直线到大模型输出一个token(九):输出矩阵与多层堆叠
深度学习·ai·transformer·token·注意力机制·deepseek·多层堆叠
初願致夕霞2 小时前
《为什么公网访问不了内网?正向代理、内网穿透与 NAT 打洞一次说清》
linux·网络·tcp/ip·智能路由器
喜欢吃燃面2 小时前
Linux网络编程深度解析:从Socket API到自定义协议设计
linux·网络·arm开发
xxy222412 小时前
Linux 网络编程入门(一):从 OSI 模型到 TCP Socket 编程
网络·tcp/ip·tcp
消失的旧时光-19432 小时前
(KMP-Net进阶)第一篇:AppResult<T>——网络层到底应该 throw,还是返回统一 Result?
网络·ktor·kmp
网安蟹佬霸2 小时前
区块链与智能合约安全实战:从Solidity审计到DeFi漏洞深度剖析
运维·前端·网络·安全·自动化·区块链·智能合约
今夕资源网3 小时前
NapCatQQ:把最难接的 QQ 协议层,变成一组能直接调用的接口
网络·qq·napcat·napcatqq·q协议·qq协议