公司动态
79万条中文医疗对话数据集:构建智能医疗助手的技术基石与实战指南
79万条中文医疗对话数据集构建智能医疗助手的技术基石与实战指南【免费下载链接】Chinese-medical-dialogue-dataChinese medical dialogue data 中文医疗对话数据集项目地址: https://gitcode.com/gh_mirrors/ch/Chinese-medical-dialogue-data在医疗人工智能快速发展的今天高质量的中文医疗对话数据成为制约AI医疗助手发展的关键瓶颈。传统医疗AI训练往往面临数据稀缺、专业性强、隐私保护严格等多重挑战导致模型难以真正理解医患交互的复杂语境。中文医疗对话数据集的出现为这一困境提供了突破性的解决方案——一个包含79万条真实医患对话的专业语料库覆盖内科、外科、妇产科、儿科、男科和肿瘤科六大核心医疗领域。医疗AI的数据困境与技术突破当前医疗AI面临的核心挑战在于数据的专业性和真实性。通用对话模型难以理解医疗领域的专业术语、诊断逻辑和医患沟通模式。中文医疗对话数据集通过收集来自真实医疗咨询场景的对话记录构建了一个覆盖22万条内科对话、18万条妇产科对话、10万条儿科对话的庞大语料库总计79万条高质量问答对。每个对话记录都遵循标准化的四字段CSV格式department科室、title问题标题、ask患者详细描述、answer医生专业建议。这种结构化设计不仅便于数据处理更重要的是保留了医疗对话的专业性和完整性。数据架构与处理流程项目采用分层目录结构组织数据每个科室对应独立的CSV文件确保数据的专业性和可维护性。以内科数据为例文件Data_数据/IM_内科/内科5000-33000.csv包含了从心血管科到内分泌科的丰富病例。数据处理脚本Data_数据/IM_内科/数据处理.py展示了数据清洗和格式转换的核心逻辑asklist [] answerlist [] with open(内科5000-33000.csv) as f: for i in range(0,5000): lin f.readline()[0:-1].split(,) if i0: continue if len(lin) 4: if len(lin[1],lin[2])200 and len(lin[3])200: asklist.append(lin[1],lin[2]) answerlist.append(lin[3]) with open(内科.txt,w) as f: for i in range(len(asklist)): f.write(asklist[i]\nanswerlist[i]\n\n\n)这个脚本实现了关键的数据质量控制过滤过长或过短的对话确保训练数据的质量和一致性。通过设置文本长度限制200字符既保留了对话的核心信息又避免了冗余内容对模型训练的干扰。实战应用从数据到智能医疗助手场景一医疗问答系统构建基于该数据集开发者可以快速构建专业的医疗问答系统。以下是一个简单的数据加载和预处理示例import pandas as pd import numpy as np # 加载内科数据 def load_medical_data(file_path): # 处理GBK编码的CSV文件 data pd.read_csv(file_path, encodinggbk) # 数据清洗 data data.dropna() # 删除空值 data data[data[ask].str.len() 10] # 过滤过短描述 data data[data[answer].str.len() 20] # 过滤过短回答 # 构建训练样本 samples [] for _, row in data.iterrows(): instruction f现在你是一个{row[department]}医生请根据患者的问题给出建议 samples.append({ instruction: instruction, input: row[ask], output: row[answer] }) return samples # 加载数据 medical_data load_medical_data(Data_数据/IM_内科/内科5000-33000.csv) print(f加载了 {len(medical_data)} 条医疗对话样本)场景二大语言模型微调实践数据集特别适配于ChatGLM-6B等大语言模型的微调。项目提供了标准化的微调格式便于开发者快速上手# 微调数据格式示例 training_samples [ { instruction: 现在你是一个神经脑外科医生请根据患者的问题给出建议, input: 癫痫病能吃德巴金吗错觉有时候感觉看到的和听到的不太一样。, output: 巴金是广谱抗病药物主要作用于中枢神经系统对动物的药理研究发现德巴金对各种癫痫的实验模型全身性和部分性均有抗惊厥作用对人的各种类型癫痫发作有抑制作用作用机理可能与增加γ-氨基丁酸的浓度有关。主要是治癫痫药物。建议在医生的知道下用药祝您身体早日康复。 }, { instruction: 现在你是一个生殖医学科医生请根据患者的问题给出建议, input: 男性输精管堵塞的症状会出现什么男性输精管堵塞的症状会出现什么输精管堵塞的症状会有哪些, output: 输精管堵塞的症状一\n输精管道的先天性梗阻先天性输精管缺如或闭塞、先天性附睾发育不良、附睾与睾丸不连接、先天性精囊缺如或射精管缺如。\n输精管堵塞的症状二\n输精管道的感染这一输精管堵塞的症状有结核、淋病及血丝虫病当结核杆菌侵及输精管壁使输精管壁增厚输精管变硬变粗呈串珠状病变可沿输精管蔓延到附睾尾然后波及整个附睾和睾丸。球菌感染主要破坏附睾尾部很少侵及附睾头输精管也常常受累。丝虫病感染侵及输精管、附睾时同样可造成其阻塞而不通。当感染侵及前列腺、精囊时输精管道梗阻症状可表现 } ]场景三多科室医疗知识图谱构建数据集的分科室结构天然支持构建专业医疗知识图谱import json from collections import defaultdict def build_medical_knowledge_graph(data_dir): knowledge_graph defaultdict(list) # 遍历所有科室数据 departments [内科, 外科, 妇产科, 儿科, 男科, 肿瘤科] for dept in departments: dept_path f{data_dir}/{dept}_文件夹路径 # 加载并处理数据 # 提取症状-诊断-建议的关系 # 构建知识图谱节点和边 return knowledge_graph # 构建知识图谱 kg build_medical_knowledge_graph(Data_数据) print(f构建了包含 {len(kg)} 个疾病类别的知识图谱)技术架构与性能优化数据质量保障体系项目通过三重机制确保数据质量长度过滤自动过滤过长或过短的对话保持训练数据的质量一致性格式标准化统一的CSV格式便于批处理和机器学习框架集成隐私保护所有数据经过脱敏处理保护患者隐私的同时保持医疗建议的专业性模型微调性能对比在ChatGLM-6B上的微调实验显示即使使用少量数据1/30的数据量也能显著提升模型在医疗领域的表现评估指标原始模型P-Tuning V2 (p64)LoRA (r8)LoRA-INT8 (r8)BLEU-43.213.554.213.58Rouge-117.1918.4218.7417.88Rouge-23.072.743.563.10Rouge-l15.4715.0216.6115.84训练参数占比/0.20%0.06%0.06%生态整合与应用扩展与现有AI框架的兼容性数据集设计考虑了与主流AI框架的兼容性支持Hugging Face Transformers可直接用于训练医疗专用模型LangChain构建医疗对话链式应用FastAPI部署医疗问答API服务Gradio快速构建医疗咨询演示界面多模态医疗AI扩展虽然当前数据集以文本为主但其结构化格式为多模态扩展奠定了基础。开发者可以结合医学影像数据将对话记录与相关医学影像关联集成电子病历构建更完整的患者健康档案实时健康监测连接可穿戴设备数据提供个性化建议部署实战构建端到端医疗助手步骤一环境准备与数据获取# 克隆项目仓库 git clone https://gitcode.com/gh_mirrors/ch/Chinese-medical-dialogue-data # 安装依赖 pip install pandas numpy torch transformers步骤二数据预处理与增强# 数据增强策略 def augment_medical_data(samples): augmented [] for sample in samples: # 同义词替换增强 augmented.append(synonym_replacement(sample)) # 句式变换增强 augmented.append(sentence_rewriting(sample)) # 专业术语标准化 augmented.append(term_normalization(sample)) return augmented步骤三模型训练与评估from transformers import AutoModelForCausalLM, AutoTokenizer, TrainingArguments # 加载预训练模型 model AutoModelForCausalLM.from_pretrained(THUDM/chatglm-6b) tokenizer AutoTokenizer.from_pretrained(THUDM/chatglm-6b) # 配置训练参数 training_args TrainingArguments( output_dir./medical-chatbot, num_train_epochs3, per_device_train_batch_size4, gradient_accumulation_steps8, warmup_steps500, logging_steps100, save_steps1000, evaluation_strategysteps, eval_steps500, load_best_model_at_endTrue, metric_for_best_modeleval_loss, )未来演进与社区贡献技术发展方向数据规模扩展计划扩展到更多专科领域如中医、康复医学等质量持续提升引入专家审核机制提升数据的专业准确性多语言支持扩展英语、日语等多语言医疗对话数据实时更新机制建立数据动态更新管道保持时效性社区贡献路径项目采用开源协作模式欢迎开发者通过以下方式参与数据贡献提交经过脱敏处理的医疗对话数据质量改进参与数据清洗和标注工作模型优化贡献医疗专用模型的训练和微调代码应用开发基于数据集开发创新的医疗AI应用开启医疗AI创新之旅中文医疗对话数据集为医疗人工智能研究提供了坚实的基础设施。无论是学术研究、工业应用还是医疗实践这个包含79万条专业对话的语料库都能为您的项目提供强有力的数据支撑。通过简单的数据加载和模型微调开发者可以在几天内构建出具备专业医疗知识的智能助手。数据集的分科室结构、标准化格式和真实对话场景使其成为医疗AI领域不可多得的宝贵资源。立即开始探索这个数据集将您的医疗AI创意转化为现实应用共同推动智能医疗技术的发展为改善医疗服务体验贡献力量。【免费下载链接】Chinese-medical-dialogue-dataChinese medical dialogue data 中文医疗对话数据集项目地址: https://gitcode.com/gh_mirrors/ch/Chinese-medical-dialogue-data创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考