知识图谱task02

知识图谱task02

这次应该算我第四次参加datawhale组队学习了,首先还是要感谢datawhale这个平台,给了我们这样一个学习的机会,好了,废话少说,下面进入正题。

1.知识图谱介绍

这里简要介绍一下知识图谱。知识图谱是由 Google 公司在 2012 年提出来的一个新的概念。从学术的角度,我们可以对知识图谱给一个这样的定义:“知识图谱本质上是语义网络(Semantic Network)的知识库”。但这有点抽象,所以换个角度,从实际应用的角度出发其实可以简单地把知识图谱理解成多关系图(Multi-relational Graph)。
在这里插入图片描述
图有节点和边构成,我们可以理解为节点为实体,可以是具体的人,也可以是某个地名,甚至是某样物品,而边代表着两个实体之间的关系。比如,小王和小李是朋友,小王和老王是父子等。

2.neo4j

知识图谱由于其数据包含实体、属性、关系等,常见的关系型数据库诸如MySQL之类不能很好的体现数据的这些特点,因此知识图谱数据的存储一般是采用图数据库(Graph Databases)。而Neo4j是其中最为常见的图数据库。

首先在 Neo4J官网 下载 Neo4J。
我这里下载的是离线版本,在网址:https://neo4j.com/download-center/#community
进入后下载社区版,并将其解压到相应的目录下,如 D:\Neo4j\neo4j-community-4.2.2
注意,安装neo4j前要先安装 java jdk11及以上版本,并配置环境变量。
然后在环境变量新建名为 NEO4J_HOME 的变量,将解压地址填入。
再在环境变量path中加入 %NEO4J_HOME%\bin
在window下打开命令行,并输入 neo4j.bat console 便可启动
在这里插入图片描述
打开浏览器,输入http://127.0.0.1:7474/browser/,界面如下图所示:
在这里插入图片描述

3.neo4j语句

3.1 创建节点

创建人物节点

 CREATE (n:Person {name:'John'}) RETURN n

创建地区节点

  CREATE (n:Location {city:'Miami', state:'FL'})
  CREATE (n:Location {city:'Boston', state:'MA'})
  CREATE (n:Location {city:'Lynn', state:'MA'})
  CREATE (n:Location {city:'Portland', state:'ME'})
  CREATE (n:Location {city:'San Francisco', state:'CA'})

创建关系

  MATCH (a:Person {name:'Liz'}), 
        (b:Person {name:'Mike'}) 
  MERGE (a)-[:FRIENDS]->(b)

查询下所有在Boston出生的人物

 MATCH (a:Person)-[:BORN_IN]->(b:Location {city:'Boston'}) RETURN a,b

4.创建知识图谱

这个项目地址为:QASystemOnMedicalGraph
首先,在项目跟目录下,运行

python build_graph.py 

运行介绍之后,打开浏览器进入网址:http://localhost:7474/browser/,可以看到我们导入的数据的知识图谱,如下:
在这里插入图片描述

5.启动问答测试

运行 以下命令:

python kbqa_test.py

运行结果如下图所示:
在这里插入图片描述

6.代码目录介绍data:存放数据

| - - img:存放readme里的图片。
| - - model:存放训练好的tfidf模型和意图识别模型。
| - - build_graph.py:构建图,详见task03。
| - - entity_extractor.py:抽取问句中的实体和识别意图,详见task04。
| - - search_answer.py:根据不同的实体和意图构造cypher查询语句,查询图数据库并返回答案。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值