基于知识图谱的问答系统1【代码学习系列】【知识图谱】【问答系统】

基于知识图谱的医疗领域问答系统1【QASystemOnMedicalKG】

1 代码来源

本代码来源于github项目地址,主要是构建以疾病为中心的具有一定规模的医药领域知识图谱,并以该知识图谱完成自动问答与分析服务。其中知识图谱通过neo4j构建,代码采用python语言。

2 项目组成

项目包括知识爬取、知识图谱构建、问答处理等三部分,其中问答处理可以进一步按照处理流程细分为三个部分,分别为实体意图提取、问答模板匹配和回答语句生成。
QASystemOnMedicalKG软件构成

3 知识图谱构建

知识图谱构建包括知识准备和知识构建两部分,本项目知识准备通过网络爬虫从寻医问药网爬取医学知识,这里不再详细赘述。项目已经准备好了相关数据,data/medical.json,json格式。下面详细说明如何基于medical.json,构建知识图谱。需要的python包为py2neo,json,外部服务为neo4j。

(1)图谱设计

根据医学领域知识,围绕疾病,共设计7类节点(Disease、Drug、Food、Check、Department、Producer、Symptom),11种关系(Disease-(recommand_eat)>Food,Disease-(no_eat)>Food,Disease-(do_eat)>Food,Department-(belongs_to)>Department,Disease-(common_drug)>Drug,Disease-(recommand_drug)>Drug,
Producer-(drugs_of)>Drug,Disease-(need_check)>Check,Disease-(has_symptom)>Symptom,Disease-(acompany_with)>Disease,
Disease-(belongs_to)>Department
)。
知识图谱示例

(2)图谱构建

主要采用py2neo接口,利用neo4j软件,构建知识图谱。

  1. 建立连接
// 建立连接
from py2neo import Graph,Node
g = Graph(host="127.0.0.1",  # neo4j 搭载服务器的ip地址,ifconfig可获取到
            http_port=7474,  # neo4j 服务器监听的端口号
            user="neo4j",  # 数据库user name,如果没有更改过,应该是neo4j
            password="123456")
  1. 建立实体节点
// An highlighted block
node = Node("Disease", name=disease_dict['name'], desc=disease_dict['desc'],
             prevent=disease_dict[
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值