参考datawhale开源组织:https://github.com/datawhalechina/team-learning-nlp/blob/master/KnowledgeGraph_Basic/task02.md
最近新接了个项目,开始忙了,只把图谱系统跑了一下,有些坑还没填,后期会更新
基于医疗知识图谱的问答系统操作介绍
一,引言
-
该项目主要分为两部分:
- 第一部分:构造知识图谱。该部分的具体讲解将在Datawhale知识图谱组队学习之道。Task 3 Neo4j图数据库引入数据进行介绍;
- 第二部分:启动问答测试。内置一个简单的基于知识图谱的对话系统,该部分的具体讲解将在Datawhale知识图谱组队学习之任务4用户输入->的查询语句和Datawhale知识图谱组队学习之任务5 Neo4j图数据库查询进行分别介绍;
本节的核心目标是从上方的对项目的运行过程进行介绍和讲解;学习者能够跑通整个项目。
二,运行环境
- python3.6及以上
- neo4j 3.5.2及以上
- jdk15.0.0
三,构建知识图谱
运行该过程,请确保已经安装好neo4j和jdk
运行以下命令:
python build_graph.py
注:由于数据量比较大,所以该过程需要运行几个小时
运行介绍之后,打开浏览器进入网址:http:// localhost:7474 / browser /,可以看到我们引入的数据的知识图谱,如下:
四,启动问答测试
运行以下命令:
python kbqa_test.py
运行结果如下图所示:
五,代码目录介绍
- 数据:存放数据
- img:存放readme里的图片
- 型号:存放训练好的tfidf模型和意图识别模型
- build_graph.py:构建图,详见task03
- entity_extractor.py:提取问句中的实体和识别正确,详见task04
- search_answer.py:根据不同的实体和构造构造cypher查询语句,查询图数据库并返回答案,详见task05