您的位置 首页 科技

知识图谱系列:Task 2 基于医疗知识图谱的问答系统操作介绍

感谢DataWhale分享,学习资源地址:https://github.com/datawhalechina/team-learningnlp/tree/master/KnowledgeGraph_Basic

感谢DataWhale分享,学习资源地址:

https://github.com/datawhalechina/team-learningnlp/tree/master/KnowledgeGraph_Basic

1.任务描述

今天的任务分两步,首先要搭建一个知识图谱(详见task03),然后启动问答测试(task04 task05详细讲),构建一个简单的基于 知识图谱 的对话系统。

今天主要是能跑通这两步,能让自己对整个任务有一个整体的认识。

任务的源码在这里:https://github.com/zhihao-chen/QASystemOnMedicalGraph

源码组成部分包括:

data:存放数据

img:存放readme里的图片

model:存放训练好的tfidf模型和意图识别模型

build_graph.py:构建图,详见task03

entity_extractor.py:抽取问句中的实体和识别意图,详见task04

search_answer.py:根据不同的实体和意图构造cypher查询语句,查询图数据库并返回答案,详见task05

2.搭建知识图谱环境

2.1.数据集

数据源:39健康网。包括15项信息,其中7类实体,约3.7万实体,21万实体关系。数据结构如图所示:

知识图谱系列:Task 2 基于医疗知识图谱的问答系统操作介绍

展开全文

知识图谱实体类型

知识图谱系列:Task 2 基于医疗知识图谱的问答系统操作介绍

2.2.搭建过程

因为这次任务目标是先跑通,所以仅简略写下步骤。

要将数据导入Neo4j 图数据库,首先进入 build_graph.py 类中,在类MedicalGraph 中加入 本地Neo4j图数据库的账号和密码;

class MedicalGraph:

def __init__(self):

self.graph = Graph(“http://localhost:7474″, username=”neo4j”, password=”自己的”)

运行:

python build_graph.py

就开始进行数据导入了。由于数据量大,需要的时间很长,要1-2个小时。

终于好了,看下结果,我们有了3w多节点,20多万个关系。

知识图谱系列:Task 2 基于医疗知识图谱的问答系统操作介绍

知识图谱系列:Task 2 基于医疗知识图谱的问答系统操作介绍

3.启动问答测试

运行命令:

python kbqa_test.py

注意:其中一个库名称为ahocorasick,这个直接pip安装找不到,安装时要改为pyahocorasick. 但是程序里面用的时候,还是要改回ahocorasick.

知识图谱系列:Task 2 基于医疗知识图谱的问答系统操作介绍

还有遇到其他的包就碰到哪个装哪个啦。。。

最终的效果是这样

知识图谱系列:Task 2 基于医疗知识图谱的问答系统操作介绍

后续具体分析各个部分源码

本文来自网络,不代表搜索资讯立场,转载请注明出处:http://news.cnsosu.com/97562.html

作者: 搜索资讯

为您推荐

发表评论

电子邮件地址不会被公开。 必填项已用*标注


联系我们

联系我们

18317177702

在线咨询: QQ交谈

邮箱: info@cnsosu.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部