问诊系统
把中医问诊从固定问卷,做成能判断疾病和证型、走错了还能改问的提问系统




PC 问诊工作台把对话和辨证摊在同一屏:左侧继续提问,右侧实时更新主诉、伴随症状,以及八纲、病位、病性的推理。
问诊能力成熟前,先用可维护的模板和选项收集症状,降低用户组织语言的成本。
问完关键不适后接入面舌拍摄。问诊是四诊的入口,不是一份孤立问卷。
体质辨识前先处理怀孕、过敏等边界情况,再进入拍摄,避免把不适合的用户送进模型。
这个系统在做什么
中医看病要回答两件不同的事。辨病是判断可能是什么病;辨证是判断这个病当前属于寒、热、虚、实中的哪种情况,也叫证型。同一声咳嗽,风热犯肺和寒邪伤肺的调理完全不同。如果系统只输出「咳嗽」,对用户和后面的模型都不够用。
这套问诊能力用在平安健康的中医自助诊断产品「每日素问」里。同一套辨证逻辑同时落到小程序和 PC 问诊工作台:手机侧重边问边采,PC 把对话和推理路径摊在同一屏。用户用语音或文字描述不适后,系统要问出足够信息,给出疾病和证型,并支持 9 类体质辨识。我负责提问如何组织、下一问如何决定,以及辨病、辨证如何从医学理论变成可维护的规则。
原先为什么不好用
早期问诊依赖固定模板:一个病种一套问卷。扩展新病成本高,规则更新慢。真实用户也不会按模板说话——有人会直接说「我感冒了」,把病名当成主诉。一旦系统走进错误模板,后续提问很难跳出,一次问诊会被锁在错误路径上。
关键产品判断
- 先缩小疾病范围,再判断证型。 主诉和伴随症状先筛候选疾病;证型只在该病的证型表里匹配,而不是对全部证型做一次黑盒分类。
- 下一问由已经拿到的信息决定,而不是写死整条路径。 不同中医流派的提问习惯不同,不能把一种顺序当成唯一标准。
- 说错了必须能改问。 用户把病名当主诉、中途发现走错方向,都要能纠偏。否则准确率再高,也处理不了真实对话。
- 证型要用医生对得上的知识表。 寒热虚实、病因、病位都应对应典型症状,结论才能被核对,而不是只给一个模型分数。
辨病和辨证如何变成提问规则
我把临床顺序收成四步,做成可扩展规则,而不是为每个病单独堆问卷。
收集主诉。 先告诉用户:主诉是「最难受的症状 + 持续时间」,并给出正确示例,支持语音、文字和选项。如果识别到用户说的是病名(例如「我感冒了到现在还没好」),系统会改问具体症状,避免假主诉带偏后面整条链。
收集伴随症状。 其余不适是分辨寒热和病因的重要依据。用户可以录音描述,系统同时做语义理解和闻诊(听声音是否异常);录完后允许补充。不方便录音时可以改用文字,但会提示可能少采集到声音信息。
辨病。 用主诉和伴随症状与已覆盖疾病计算相似度,给出候选名单。主诉直接命中的疾病优先;若最高相似度低于阈值,就判断可能不在覆盖范围内,而不是强行给一个病名。
辨证。 先看寒、热、虚、实,再看病性(风、寒、湿、火一类病因)和病位(主要看心、肝、脾、肺、肾等脏腑)。三部分结果与该病的证型表比对,得到具体证型。一条完整例子是:咳嗽 + 口渴、身热、黄涕、舌苔黄 → 热;恶风 → 风;病位在肺 → 咳嗽—风热犯肺。
同一套结构也要能容纳多流派辨证:提问顺序和鉴别要点可以按流派配置,不必为每个医生习惯重做一整套问卷。症状看起来互相打架时,也不能直接当成识别错误——有的证型本身就是寒热夹杂,有的是病情正在转化。这类情况要留给报告去解释,而不是在提问阶段强行抹平。
我的工作
- 把固定模板的限制拆成三类产品问题:新病难以扩展、规则难以更新、走错路径后无法跳出。
- 主导辨病辨证的计算路径,将 50 种常见病、9 类体质的提问与匹配逻辑组织成可维护规则。
- 设计主诉引导和假主诉纠偏,让动态提问建立在可用的输入上,而不是默认用户会按医生的方式说话。
- 与医学专家、算法和研发一起核对辨证结果,把效果收敛到可验收口径。问诊能力成熟前,先用可维护的模板流程过渡,再迭代到按已有信息动态决定下一问。
结果与边界
问诊系统覆盖 50 种常见病、9 类中医体质,辨证准确率达到 90%;四诊合参体质辨识较平安健康原方案提升 30%。这些数字用于说明路径改写后的项目效果。
MY CONTRIBUTION / 个人贡献
- 把中医「先辨病、再辨证」写成可计算路径:用主诉和伴随症状筛疾病,再用寒热虚实、病因、病位匹配证型
- 识别固定模板扩展性差、用户把病名当主诉会带偏诊断、进入错误路径后无法跳出的问题
- 主导可动态决策提问的问诊规则,覆盖常见病与体质辨识,而不是为每个病种单独写死问卷
PROJECT OUTCOME / 项目结果
- 覆盖 50 种常见病、9 类中医体质,辨证准确率达 90%
- 四诊合参体质辨识较平安健康原方案提升 30%
口径说明:覆盖范围与准确率为项目整体结果;个人贡献聚焦问诊路径、辨病辨证逻辑与纠偏机制。