所有项目图谱实验 / 疾病知识图谱问答

疾病知识图谱问答,把病、症、药放进一张图里。

stu-neoj4 的图谱实验。以疾病为中心,接入症状、药物、科室、检查、宜忌食物等 8 类实体和 11 种关系;PaddleNLP 做抽取,GLM 把问句写成 Cypher,再交给带历史的问答链和可调度图谱查询的 Agent。

Neo4jPaddleNLPLangChainCypher
NEO4J / DISEASE GRAPH
DiseaseSymptomDrugFoodDept

它在解决什么

stu-neoj4 是把医疗问答从“关键词匹配”换成“图上推理”的练习。传统检索很难跨实体:一种病连着症状、药物、科室、宜吃和忌吃。把这些写成 Neo4j 里的点和边,再用大模型把自然语言转成 Cypher,问答才有可检查的路径。

图长什么样

图谱以疾病为中心,辐射 8 类实体、11 种关系:

节点 关系
Disease → Symptom DISEASE_SYMPTOM
Disease → Check / Cureway / Drug / Department 检查、疗法、药物、科室
Disease → Food / Dishes 宜吃 DISEASE_DO_EAT、忌吃 DISEASE_NOT_EAT
Disease → Category 分类

建库脚本在 create_data/,节点和关系从 CSV 写入。连接封装在 Util/Neo4jUtil.py。

从问句到回答

练习是按脚本拆开的,不是一上来就做完整服务:

  • PaddleNLP 的 PP-UIE / uie-base 做命名实体识别。
  • GLM 把抽取结果或用户提问写成 Cypher。
  • 一条带历史的问答链:生成查询 → 执行 → 组织回答,并做医疗 / 非医疗意图分流,减少凭空编造。
  • 图谱查询封装成 LangChain Tool,交给 create_agent 自己调度。

它证明“自然语言 → 图查询 → 回答”这条路走得通,但还停在脚本和原型,没有登录、没有前端,也没有后来 MediAtlas 里的证据门槛。

和后面怎么接

MediAtlas 沿用了疾病图谱,但把任意 Cypher 收成参数化只读查询。检索不再只靠图,而是图、BM25 和向量一起走。这个练习留下的是实体关系和“先查图、再说话”的习惯。

MUSIC

Kyoto’s Jam

Mateus Asato

0:004:27

试听流来自 QQ 音乐 · 打开歌曲 ↗

MY MUSIC

我的歌单

赛丽亚的旅馆(ACT.5-大转移前) - gate new

打开原歌单

试试从最近的手记开始

↑↓ 选择Enter 打开Esc 关闭