基于知识图谱的医疗垂直领域多轮问答

总体设计

  • ​ 垂直领域知识图谱 归纳医疗诊断垂直领域问题->设计语义槽
  • ​ 单轮多轮对话 语义检索

  • ​ 语义检索问答

  • ​ 知识计算

  • ​ 对话管理交互


知识图谱

1. 基本知识

  • 基于图的数据结构
  • 节点(实体)+边(关系)
  • <实体,关系,实体> or <实体,属性,属性

2. schema定义

3. 环境配置

link desc
https://blog.csdn.net/qq_41873673/article/details/108027074 jdk
https://blog.csdn.net/huanxuwu/article/details/80785986 neo4j
https://blog.csdn.net/weixin_40575457/article/details/81625169 jdk报错
https://zhuanlan.zhihu.com/p/59401605 知识图谱
https://cloud.tencent.com/developer/article/1387695 python链接neo4j
https://blog.csdn.net/weixin_43788143/article/details/108388520 neo4j导入数据
https://www.w3cschool.cn/neo4j/neo4j_building_blocks.html cql语句

启动

​ 命令行输入 -> 登录(初始账号密码均为neo4j,初次登录可修改密码) -> 登录成功页

neo4j.bat console


知识图谱构建

  1. 清空neo4j数据

    命令
    match (n) detach delete n
    效果

  2. 执行build_kg_utils.py 脚本

    程序入口
    if __name__ == '__main__':
        path = "./data/graph_data/medical.json"
        #print_data_info(path)
        extractor = MedicalExtractor()
        extractor.extract_triples(path)
        extractor.create_entitys()
        extractor.create_relations()
        extractor.set_diseases_attributes()
        extractor.export_entitys_relations()

    小结:

    ① 从.json医学垂直领域数据文件提取信息
    ② 构建 < 实体, 关系, 属性 > 三元组
    ③ 知识图谱映射: 创建并设置节点+边
    ④ 连接并导出至neo4j