创新实训个人博客记录(一)——医学诊断知识图谱自动化构建的设计与实现
当前进度我们决定将我们希望完成的面向顺序诊断的知识增强多智能体框架命名为 GraphDx用于体现其以医学知识图谱为基础开展诊断推理与检查规划的核心思路。本阶段我的主要工作聚焦于项目后端核心算法中的知识表示部分当前完成内容是 GraphDx 中医学诊断知识图谱的设计与实现。整个项目面向医院辅助诊疗场景展开系统需要支持症状输入、结构化理解、候选疾病推理、检查推荐以及后续的资源调度与结果反馈。在这一整体框架中医学诊断知识图谱承担的是底层知识组织与推理支撑功能也是顺序诊断算法能够稳定运行的基础。顺序诊断场景对知识表示的要求明显高于普通问答系统。系统不仅需要知道某种疾病会对应哪些症状和体征还需要进一步知道哪些检查可以验证这些特征以及不同检查在成本、侵入性和诊断收益上的差异。因此在 GraphDx 中知识图谱被设计为一个面向诊断过程的结构化图模型节点分为疾病、特征和检查三类边分为“疾病—特征”和“特征—检查”两类。其中特征节点覆盖症状、体征、检查结果和风险因素检查节点则额外关联成本等级与侵入性等级等属性。这样建模之后诊断过程中的关键证据可以直接落到图节点和图边上后续的候选疾病评分与检查推荐也具备了统一的数据基础。图谱构建过程采用了三阶段流程。第一阶段是疾病知识抽取。针对每个疾病系统整理其关键诊断特征并建立对应的验证检查集合。与传统知识整理方式相比这里加入了特征典型性建模用于描述某一特征在特定疾病中的支持强度。为了提升后续计算的稳定性GraphDx 没有直接使用连续概率作为边权重而是采用离散化的典型性分档将疾病—特征关系划分为强阳性、阳性、阴性和强阴性四类。这样的表示方式更适合后续显式证据评分也便于人工校验和规则维护。第二阶段是实体对齐与节点升级。医学术语中存在大量同义词、简称和语义角色变化若直接将抽取得到的术语全部加入图谱图结构会很快出现大量重复节点与语义冲突。为了解决这一问题我在图谱构建中加入了混合对齐机制通过词面匹配、语义相似度检索和判别过程对新术语进行归并判断。若一个概念在不同上下文中发生角色变化例如早期以特征形式出现、后续又被识别为独立疾病系统会对节点类型进行升级并保留其原有关系从而维持图谱结构的一致性和可扩展性。第三阶段是检查属性补全。诊断图谱如果只包含“做什么检查”这一层语义仍然不足以支持顺序诊断中的动作规划。GraphDx 进一步为检查节点补充了成本、侵入性等元数据使图谱不仅能够表达医学关联也能够参与检查效用计算。后续推理阶段会综合这些属性评估某项检查在当前诊断上下文中的信息收益与代价从而支持成本敏感的检查推荐。从当前实现情况来看医学诊断知识图谱已经具备支撑顺序诊断主链路的基础能力。系统可以围绕疾病、特征和检查三类节点组织核心诊断知识并为后续模块提供统一的图接口。这一阶段的重点在于把顺序诊断所需的知识表示从分散文本整理为可计算、可追踪、可扩展的图结构。图谱构建完成之后后续的多智能体系统设计就可以直接建立在这套结构化知识底座之上。图为 GraphDx 中医学诊断知识图谱构建流程的整体设计后续规划这一阶段完成后GraphDx 已经具备了面向顺序诊断的知识表示能力。接下来的工作重心将转向多智能体系统的实现也就是如何将用户输入、图谱推理和动作决策组织成完整的交互闭环。