知识图谱学习笔记 1

今天开始学习知识图谱的相关内容,在这里简单记录一下我的学习过程

1 安装Java SE 11

首先需要保证电脑上安装了Java,一开始我安装的是Java SE 16,后来运行有报错

WARNING! You are using an unsupported Java runtime.
* Please use Oracle(R) Java(TM) 11, OpenJDK(TM) 11 to run Neo4j.....

大概报错是这样,意思是需要安装Java SE 11才可以,官方下载地址点击这里

在oracle官网下载Java SE 11需要注册,如果嫌麻烦的话可以点击这里下载

安装JDK应该都会吧,点击客户端后一直下一步,然后在环境变量的path中添加就可以了,成功后在命令行中输入java -version,查看版本是否正确
在这里插入图片描述

2 安装neo4j

我用的图数据库是neo4j,下的是社区版,下载地址点击这里
下载完成后解压缩,然后点击bin目录下的 neo4j.bat

完成后运行cmd,输入neo4j,效果如下
在这里插入图片描述

3 启动neo4j

这里介绍两种方式启动neo4j

一种是使用管理员身份运行cmd,然后输入neo4j console,结果如图:
在这里插入图片描述
这种方式每次都需要手动启动,比较麻烦。

另一种可以直接运行

neo4j install-service

然后打开服务(win+service),在服务中找到Neo4j Graph Database - neo4j,双击后点击启动
在这里插入图片描述

这样服务就会在每次开机时自动启动了。

如果需要停止/启动服务,也可以在命令行输入

neo4j stop
neo4j start

4 第一次使用neoj4

打开浏览器,输入

http://localhost:7474/

第一次登陆界面如下:
在这里插入图片描述
默认的 host 是 bolt://localhost:7687,默认的用户是 neo4j,默认的密码是:neo4j
第一次成功 connect 到 Neo4j 服务器之后,需要重置密码。

第一次登陆成功后画面如图,点击中间的open guide
在这里插入图片描述
在guide中点击相应代码,代码即会自动复制至输入行,点击运行,即可实现相应操作,如下图,建立了一个关于电影的图:
在这里插入图片描述
代码运用的是cypher语句,具体内容在这里不做详述。
还可以点击下一步查看相关其他操作。
点击code可以查看图谱的具体代码。

5 其他操作

对数据库进行添加、改名等操作。

首先讲一下如何设置默认数据库。

来看一下Neo4j 目录结构:
bin 目录:用于存储 Neo4j 的可执行程序;
conf 目录:用于控制 Neo4j 启动的配置文件;
data 目录:用于存储核心数据库文件;
plugins 目录:用于存储 Neo4j 的插件;

前面的图可以看到我使用的数据库名为neo4j,第一次使用时会自动创建两个数据库,neo4j和system,此时的默认数据库为neo4j,可以在 %neo4j_home%\data\databases 目录下查看。

进入%neo4j_home%\conf目录,打开neo4j.conf,可以看到有一行 #dbms.default_database=neo4j
这里的井号键#是注释,去掉井号键#,在后面修改你想要的数据库名称,然后重启服务,刷新页面即可
在这里插入图片描述
再次进入 %neo4j_home%\data\databases 目录,我们可以看到这里多了一个database.db的文件夹,就是我们新建的数据库,并且这个就是我们的默认数据库。
在这里插入图片描述
如果我们想要将别的数据库里的内容移植过来,只要将数据库copy到这个目录下,并将其名字改为database.db就可以了。

6 简单的Cypher语句使用

6.1 节点的生成

在页面中输入

CREATE (n:Person { name: 'Andres', title: 'Developer' }) return n;

点击运行,即可创建一个name为Andres,title为Developer的Person节点,其中的name和title都是属性,后面是属性的值。可以点击节点修改节点的颜色等。
在这里插入图片描述
可以用这种方式生成多个节点,点击左边的Person就可以查看我们生成的节点了,点击后页面会显示

MATCH (n:Person) RETURN n LIMIT 25

意思是显示n个Person节点中的25个,可以通过修改LIMIT后面的数字控制显示的节点数,也可以去掉LIMIT X来显示全部节点。

6.2 边的生成

边,也就是知识图谱中的关系,在页面中输入下列语句,点击生成:

match(n:Person{name:"Vic"}),(m:Person{name:"Andres"}) create (n)-[r:Friend]->(m) return r;

这句话的意思是,找到一个name为Vic的人,命名为n,找到一个name为Andres的人,命名为m,创建一个Friend关系,这个关系的名字叫r
在这里插入图片描述
点击左边的Friend就可以看到现在的图谱了,需要注意的是这里创建的关系是一个单向的关系,我这边创建了两个关系。
这里我们可以看到点击关系是有如下语句,意思是返回节点到节点间,关系为Friend的图谱:

MATCH p=()-[r:Friend]->() RETURN p LIMIT 25

如果想直接返回整个图谱,也可以直接输入:

MATCH (n) RETURN n

7 知识图谱的应用

知识图谱是把所有的信息都存储成三元组的形式,即a-关系-b,a-属性-b。

搜索引擎很好的运用了这点,在搜索时可以直接对相关信息进行搜索。
如搜索“刘邦的老婆是谁”,则会搜索与刘邦这个节点有夫妻关系的人。
如搜索“北京的面积有多大”,则搜索北京这个节点的面积属性值。

还有例如企查查等网站,也可以看到知识图谱的运用。

在电商的推荐页面,也会通过搜索历史来关联相关内容进行推荐。

还有一些智能QA产品也运用了知识图谱,如苹果siri等。

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
知识图谱是一种用于表示和组织知识的图形模型,它通过将实体、关系和属性等知识元素以图的形式连接起来,形成一个结构化的知识网络。深度学习则是一种机器学习的方法,通过构建多层神经网络模型来进行自动特征提取和学习。PDF(Portable Document Format)是一种跨平台的文件格式,常用于显示和交换电子文档。 知识图谱与深度学习可以结合使用来更好地处理和利用大规模的文本或语义信息。深度学习可以通过对知识图谱进行训练和学习,提取潜在的语义特征和关联信息,从而实现更高层次的表征和推理。同时,知识图谱可以为深度学习提供更丰富的知识背景和语义约束,使得深度学习具备更强的可解释性和泛化能力。 在研究和应用中,知识图谱和深度学习常常结合起来解决实际问题。例如,在自然语言处理任务中,可以将知识图谱作为先验知识来源,结合深度学习技术进行实体识别、关系抽取和问答系统等任务。在推荐系统中,可以通过深度学习从用户行为中学习用户的兴趣和偏好,然后结合知识图谱中的商品属性和关系进行个性化推荐。 总之,知识图谱和深度学习的结合可以将传统的人工知识和机器学习的能力相结合,促进人工智能技术的发展和应用,对于解决复杂的自然语言理解、推理和推荐等问题具有重要作用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值