基于Python和Neo4j搭建知识图谱医药问答系统

2024-04-13

基于Python和Neo4j搭建知识图谱医药问答系统

本项目是一个基于Python和Neo4j的知识图谱医药问答系统。通过构建医药知识图谱,系统能够回答用户关于疾病、药品、症状等方面的查询。

项目简介

本项目使用Python编程语言和Neo4j图数据库,构建了一个医药知识图谱,并实现了自动问答功能。用户可以通过输入问题,系统会根据知识图谱中的数据,返回相关的答案。

主要功能

  1. 知识图谱构建
    • 从数据文件中读取医药相关信息,构建知识图谱的节点和关系。
    • 支持多种类型的节点,如药品、食物、检查、科室、生产商、疾病、症状等。
    • 创建节点之间的关联关系,如疾病与症状的关系、疾病与药品的关系等。
  2. 自动问答系统
    • 用户输入问题后,系统会自动分类问题类型,并解析问题。
    • 根据解析结果,在知识图谱中查找相关信息,返回准确的答案。

使用方法

  1. 启动Neo4j
    • 按照教程启动Neo4j数据库。
    • 运行项目前,清空Neo4j数据库:MATCH (n) DETACH DELETE n
  2. 安装依赖库
    • 安装py2neo库:pip install py2neo
  3. 连接Neo4j
    • 使用Python连接Neo4j数据库,地址为:"bolt://localhost:7687"
  4. 运行程序
    • 运行build_medicalgraph.py文件,导入数据并构建知识图谱。
    • 运行answer_search.py文件,启动自动问答系统。

注意事项

  • 在运行程序时,可能会遇到编码问题,建议在读取文件时指定编码为utf8
  • 构建知识图谱时,数据量较大,可能需要较长时间。

项目贡献

本项目参考了刘焕勇老师的个人项目,并在此基础上进行了扩展和优化。欢迎大家提出改进建议和贡献代码。

联系我们

如有任何问题或建议,请联系项目维护者。

下载链接

基于Python和Neo4j搭建知识图谱医药问答系统