Datawhale 知识图谱组队学习 之 Task 1 知识图谱介绍

一、知识图谱简介

1.1 引言

知识图谱用于机器聊天,大数据风控,医疗和证券投资等等,越来越多的领域在应用知识图谱

1.2 什么是知识图谱呢?

知识图谱可以理解为一种关系图,就像家族网络一般互相链接延展,抽象上说:“知识图谱就是语义网络的知识库”

1.2.1 什么是图(Graph)呢?

**图由节点(note)和边(edge)构成,如果你是理工科毕业,可以理解为电路中的节点和边:

                               Note(节点)表示:人,地名,概念,药物,公司等等。
                                边(edge)表示:不同之间实体间的相关联系:

1.2.2 什么是 Schema 呢?

Schema:即知识图谱数据的格式;相当于某个领域内的数据模型,包含了该领域内的重要属性(列如:概念,类型),其主要作用为了规范结构化数据表达,即一条数据必须满足Schema预定好的实体对象及其类型,才能被添加到知识图谱中。

                     **DataType**限定了知识图谱**节点值**的类型为文本、日期、数字(float浮点型与int整型)
                       **Thing**限定了**节点**的类型及其属性

1.3 知识图谱的价值在哪呢?

  • 可以寻找漏洞,比如金融风控等
  • 增加关系的白哦大能力
  • 向人类一样去做分析
  • 知识学习和高速反馈

二、怎么构建知识图谱呢?

2.1 知识图谱的数据来源于哪里?

数据来源于不同的数据源,并从其中抽取 举个列子:

1.从数据库表并以结构化的方式存储。通过系统自动录入
2.从网络中抓取数据(这些数据通常是以王爷的形式存在是非结构化的数据,需要NLP自然语言的处理)

2.2 信息抽取的难点在哪里?

信息抽取的难点在于处理非结构化数据
是一种不规则和不完整的的数据结构,没有预定义数据模型,比如办公文档,文本,图片等等。

2.3 构建知识图谱所涉及的技术?

  • 实体命名识别(Name Entity Recognition)
  • 关系抽取(Relation Extraction)
  • 实体统一(Entity Resolution)
  • 指代消解(Coreference Resolution)

2.4、知识图谱简单的具体构建技术展示?

2.4.1 实体命名识别(Named Entity Recognition)

实体命名识别(英语:Named Entity Recognition),简称NER

2.4.2 关系抽取(Relation Extraction)

关系抽取(英语:Relation Extraction),简称 RE
比如实体“hospital”和“ambulance”之间的关系为“in”;“hospital”和“roadside”的关系为“near”等等。

2.4.3 实体统一(Entity Resolution)

实体统一(英语:Entity Resolution),简称 ER
比如“BS”和“England”表面上是不同的字符串,但其实指的都是英国这个国家,需要合并
实体统一不仅可以减少实体的种类,也可以降低图谱的稀疏性

2.4.4 指代消解(Disambiguation)

文本中出现的“it”, “he”, “she”这些词到底指向哪个实体,比如在本文里两个被标记出来的“it”都指向“hospitall”这个实体

三、知识图谱的存储

四、Neo4J 介绍与安装
4.1 引言

4.2 Neo4J 下载

一、JDK安装
下载:https://www.oracle.com/java/technologies/javase-downloads.html

4.3 Neo4J 安装

在这里插入图片描述
下载完成后,直接解压,安装继续下一步就好,
在这里插入图片描述
现在开始配置变量:
右击我的电脑—属性—高级系统设置—高级—环境变量—新建
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
下一步:
Path变量添加
在这里插入图片描述
填入地址为: B:\JAVA
就是下图Bin的位置
在这里插入图片描述
双击确定,完成安装

NEO4J配置

下载:https://neo4j.com/download-center/
下载好后解压到自己想放的盘里,例如:B:\neo4j-community-4.2.2\

1.电脑-属性-高级系统设置-环境变量-系统变量(用户变量仅该用户可用)
2.新建变量
变量名:NEO4J_HOME
变量值:B:\neo4j-community-4.2.2
在这里插入图片描述

3.Path变量添加
双击Path,打开窗口,点击新建,添加:B:\neo4j-community-4.2.2\bin
在这里插入图片描述
4.使用命令行检验是否配置成功
Windows+R 打开命令提示符cmd,输入:neo4j.bat console

在这里插入图片描述

在这里插入图片描述
打开网址就可以访问了,首次进入密码为:neo4j,可修改密码。
在这里插入图片描述
进入后如下所示
在这里插入图片描述

4.5 Cypher查询语言

Neo4J的声明式图形查询语言,允许用户不必编写图形结构的遍历代码,就可以对图形数据进行高效的查询

五、Neo4J 实战

5.1 引言
5.2 创建节点
在这里插入图片描述
说明:
CREATE(n:Preson {name::‘John’}) RETURN n 创建一个人物

  CREATE表示创建;
  Person标识标签,代表节点(Note);
  花括号{}代表节点属性},类似python的字典;
  这条语句的含义就是创建一个标签为Person的节点,该节点具有一个name的属性,属性是Jhon

5.2 创建节点

在这里插入图片描述
在这里插入图片描述
6个人物节点创建成功

5.4 创建 出生地关系

在这里插入图片描述
可以看到,节点类型为Location,属性包括city和state。

如图 16 所示,共有6个人物节点、5个地区节点,Neo4J贴心地使用不用的颜色来表示不同类型的节点。

5.3 创朋友建关系

在这里插入图片描述
MATCH (a:Person {name:‘Liz’}),
(b:Person {name:‘Mike’})
MERGE (a)-[:FRIENDS]->(b)
说明:[]为关系,FRIEND关系为类型。
在这里插入图片描述
这样,图谱就已经建立好了

5.4 创建 出生地关系

在这里插入图片描述
知识图谱的数据已经插入完毕,可以开始做查询了

5.5 图数据库查询

  1. 查询下所有在Boston出生的人物在这里插入图片描述

  2. 查询所有对外有关系的节点
    在这里插入图片描述

  3. 查询所有有结婚关系的节点
    在这里插入图片描述

  4. 查找某人的朋友的朋友
    在这里插入图片描述

5.6 删除和修改

增加/修改节点的属性
这里,SET表示修改操作在这里插入图片描述
删除节点的属性
在这里插入图片描述
删除属性操作主要通过REMOVE 3. 删除节点
在这里插入图片描述
删除节点操作是DELETE 4. 删除有关系的节点
在这里插入图片描述
这边显示无记录

六、通过 Python 操作 Neo4j

6.1 neo4j模块:执行CQL ( cypher ) 语句
在这里插入图片描述

6.2 py2neo模块:通过操作python变量,达到操作neo4j的目的
在这里插入图片描述
这个结果是啥,怎么这么鬼畜~

#七、通过csv文件批量导入图数据、

没看明白,需要重新看参考资料,由于在期末考试,这部分知识抽空补上。。。。

总结:

  • 一定要注意中英文切换,和一些符号,很容易弄错!

  • 在这里插入图片描述

  • 在对neo4j模块的下载一定要注意安装环境,因为按错了位置,运行的时候一直在报错;

  • py2neo模块也是一样,运行的时候一定要注意安装的位置环境;

  • ``
    g = Graph(“bolt://localhost:7687”, auth=(“neo4j”, “person-economy-answer-carlo-economy-7940”))

**原本是neo4j的正确才对,可是现在报错了,这个问题百度无果,准备上论坛问问**
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210112001014168.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2pqd2FuMTIz,size_16,color_FFFFFF,t_70)
这边登陆显示为neoj4
 - 3
 - 4
 - 

              
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值