基于知识图谱的医药领域问答项目QABasedOnMedicaKnowledgeGraph

陈嘉荣
2023-12-01

windows系统
项目运行方式
一、配置要求:要求配置neo4j数据库及相应的python依赖包。neo4j数据库用户名密码记住,并修改相应文件。
1.安装neo4j,neo4j 依赖java jdk 1.8版本以上
java jdk安装方法可参考Java最新JDK和API下载(持续同步更新于官网)
配置JDK环境变量(详细图文教程)
2.安装neo4j可参考博文:win10环境下Neo4j社区版安装(含neo4j安装包,超详细),下载地址:https://neo4j.com/download/other-releases/
二、知识图谱数据导入
根据neo4j 安装时的端口、账户、密码配置 设置项目配置文件:answer_search.py & build_medicalgraph.py (github下载项目时根据个人需要也可使用git),导入的数据较多,估计需要几个小时。
三、启动问答:python chat_graph.py
项目目录 具体参考博文

.
├── README.md
├── __pycache__      \\编译结果保存目录
│   ├── answer_search.cpython-36.pyc
│   ├── question_classifier.cpython-36.pyc
│   └── question_parser.cpython-36.pyc
├── answer_search.py
├── answer_search.pyc
├── build_medicalgraph.py    \\知识图谱数据入库脚本
├── chatbot_graph.py    \\问答程序脚本
├── data
│   └── medicaln.json \\本项目的全部数据,通过build_medicalgraph.py导neo4j
├── dict
│   ├── check.txt    \\诊断检查项目实体库
│   ├── deny.txt      \\否定词库
│   ├── department.txt  \\医疗科目实体库
│   ├── disease.txt    \\疾病实体库
│   ├── drug.txt      \\药品实体库
│   ├── food.txt      \\食物实体库
│   ├── producer.txt    \\在售药品库
│   └── symptom.txt    \\疾病症状实体库
├── document
│   ├── chat1.png    \\系统运行问答截图01
│   ├── chat2.png      \\系统运行问答截图01
│   ├── kg_route.png    \\知识图谱构建框架
│   ├── qa_route.png    \\问答系统框架图
├── img    \\README.md中的所用图片
│   ├── chat1.png
│   ├── chat2.png
│   ├── graph_summary.png
│   ├── kg_route.png
│   └── qa_route.png
├── prepare_data
│   ├── build_data.py    \\数据库操作脚本
│   ├── data_spider.py    \\网络资讯采集脚本
│   └── max_cut.py      \\基于词典的最大向前/向后脚本
├── question_classifier.py    \\问句类型分类脚本
├── question_classifier.pyc    
├── question_parser.py    \\问句解析脚本
├── question_parser.pyc

其他:
1.使用pycharm使用过程中遇到问题 PackagesNotFoundError
2.python | 读文件编码问题 | UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0x80 in position 34: illegal mu
3.基于医疗知识图谱的问答实践中遇到的问题
问题1:ahocorasick安装失败
问题2:gbk编码报错
问题3:配置问题
问题4:构建知识图谱时的问题
问题5:问答时的查询问题
问题6:import问题
4.项目启动流程

neo4j启动,cmd下执行如下命令:

D:
cd D:\ProgramFiles\neo4j-community-3.5.5\bin
neo4j.bat console

neo4j清空所有数据命令如下:

MATCH (n)
OPTIONAL MATCH (n)-[r]-()
DELETE n,r

Neo4j忘记密码
本机neo4j密码为123456

浏览器下访问http://localhost:7474/browser/

pycharm中answer_search.py & 数据导入build_medicalgraph.py
启动问答:python chat_graph.py
至此,该项目结束。

 类似资料: