# myExpertise **Repository Path**: openminds/my-expertise ## Basic Information - **Project Name**: myExpertise - **Description**: 基于《DSM-5鉴别诊断手册》实现的精神障碍鉴别诊断专家系统,使用 CLIPS 规则引擎构建决策树,支持 29 种主诉症状的鉴别诊断。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-27 - **Last Updated**: 2026-06-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: CLIPS, Python, DSM-5 ## README # DSM-5 鉴别诊断专家系统 基于《DSM-5鉴别诊断手册》实现的精神障碍鉴别诊断专家系统,使用 CLIPS 规则引擎构建决策树,支持 29 种主诉症状的鉴别诊断。 ## 项目概述 本系统采用**专家系统**架构,将《DSM-5鉴别诊断手册》(Michael B. First, 2016)中的鉴别诊断决策树转化为 CLIPS 规则,通过交互式问答引导用户完成精神障碍的鉴别诊断流程。 ### 核心特性 - **29 种主诉症状**:覆盖从儿童行为问题到老年认知损害的完整精神障碍谱系 - **决策树驱动**:基于临床诊断逻辑的树状推理流程 - **双语言支持**:规则文件包含中英文对照 - **多输出格式**:支持控制台输出和 JSON 文件输出 - **可打包部署**:支持 PyInstaller 打包为独立可执行文件 ## 技术架构 ```mermaid flowchart TB subgraph 应用层 A["dsm5_expert_system.py
Python 主程序 / 入口"] end subgraph 推理层 B["CLIPS
规则引擎 / 推理核心"] end subgraph 规则层 C["dsm5_expert_system.clp
CLIPS 规则文件 / 29 个子系统 / 鉴别诊断决策树"] end A --> B B --> C ``` ### 技术栈 | 组件 | 技术 | 版本要求 | |------|------|----------| | 规则引擎 | clipspy | - | | 语言 | Python | >= 3.8 | | 打包工具 | PyInstaller | >= 6.21.0 | ## 支持的主诉症状 系统支持以下 29 种主诉症状的鉴别诊断: | 编号 | 主诉症状 | 编号 | 主诉症状 | |------|----------|------|----------| | cc1 | 不良学校表现 | cc16 | 病因涉及创伤或心理社会应激源 | | cc2 | 儿童或青少年中的行为问题 | cc17 | 躯体主诉或疾病/外貌焦虑 | | cc3 | 言语紊乱 | cc18 | 食欲改变或异常的进食行为 | | cc4 | 随境转移 | cc19 | 失眠 | | cc5 | 妄想 | cc20 | 嗜睡 | | cc6 | 幻觉 | cc21 | 女性性功能失调 | | cc7 | 紧张症症状 | cc22 | 男性性功能失调 | | cc8 | 高涨或膨胀的心境 | cc23 | 攻击行为 | | cc9 | 易激惹心境 | cc24 | 冲动性或冲动控制问题 | | cc10 | 抑郁心境 | cc25 | 自伤或自残 | | cc11 | 自杀观念或行为 | cc26 | 过度物质使用 | | cc12 | 精神运动性迟滞 | cc27 | 记忆丧失 | | cc13 | 焦虑 | cc28 | 认知损害 | | cc14 | 惊恐发作 | cc29 | 躯体疾病作为病因 | | cc15 | 回避行为 | | | ## 安装与运行 ### 方式一:Python 源码运行 ```bash # 克隆项目 git clone cd my-expertise # 创建虚拟环境并安装依赖 uv venv uv pip install -e . # 运行系统 python dsm5_expert_system.py ``` ### 方式二:直接运行可执行文件 Windows 用户可直接运行 `dist/dsm5_expert_system.exe`。 ### 方式三:重新打包 ```bash # 安装开发依赖 uv pip install pyinstaller # 打包 pyinstaller dsm5_expert_system.spec ``` ## 使用说明 1. 运行程序后,系统将显示 29 种主诉症状列表 2. 输入症状编号(如 `cc1`)选择主诉症状 3. 根据系统提示,依次回答 `yes/no` 问题 4. 系统根据回答沿决策树推理,最终输出鉴别诊断结果 5. 诊断结果同时保存至 `dsm5_expert_system.json` 文件 ### 输出格式 ```json { "主诉症状": "抑郁心境", "鉴别诊断": "重性抑郁障碍" } ``` ## 项目结构 ``` my-expertise/ ├── dsm5_expert_system.py # Python 主程序 ├── dsm5_expert_system.clp # CLIPS 规则文件(核心诊断逻辑) ├── dsm5_expert_system.json # 诊断结果输出 ├── dsm5_expert_system.spec # PyInstaller 打包配置 ├── pyproject.toml # Python 项目配置 ├── dist/ # 打包输出目录 │ └── dsm5_expert_system.exe └── build/ # 打包中间产物 ``` ## 参考文献 - 《DSM-5鉴别诊断手册》,Michael B. First,北京大学出版社,2016年3月 ## 声明 ⚠️ **重要声明**:本系统仅供**学术研究和学习目的**使用,不能替代专业精神科医生的诊断。精神障碍的诊断需要结合临床访谈、病史采集和专业评估,请务必咨询合格的医疗专业人员。 ## 许可证 MIT License