知识图谱开发实战:搭建上市公司知识图谱
Posted ZSYL
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识图谱开发实战:搭建上市公司知识图谱相关的知识,希望对你有一定的参考价值。
搭建上市公司知识图谱(一)
1. 目录
- 知识图谱技术简介
- 使用Neo4j搭建知识图谱开发环境
- 使用Cypher语言探索知识图谱
- 获取上市公司原始数据
- 设计知识图谱数据库
- 知识图谱数据库查询实战
- 总结
2. 准备知识
- Python
- Linux 命令行操作
3. 课程目标
- 了解知识图谱技术
- 搭建Neo4j开发环境
- 设计知识图谱数据库
- 使用Cypher语言探索知识图谱数据库
4. 知识图谱技术简介
-
知识图谱技术来源于 Google
-
目标是将原有基于关键词的搜索模型升级到基于语义的搜索模型
-
例如:
知识图谱技术的原理 -
描述真实世界中各种关系
-
例如:
- 中医的疾病与药方
- 药方与中药之间的关系
- 上市公司与上市公司之间的关系
知识图谱技术在搜索技术上带来的优势
-
通过“关系” 可以推导出用户可能想要知道的信息
- 例如: 我在浏览器中搜索 Python怎么样,浏览器会根据我以前的搜索历史确定Python不是蟒蛇,而是一种编程语言。
-
通过“关系”提供相关信息
- 例如:搜索 知识图谱, 在右侧会出现一些相关的图书与技术术语 , 不会出现无关的例如娱乐网红之类
-
让搜索更有价值
- 例如:搜索影视明星邓超会在右侧出现与邓超合作过的其他明星
知识图谱技术在企业中的运用
- 利用 知识图谱 + 用户画像 判断最适合用户的产品、服务人员
- 利用企业知识库搭建知识图谱让客服机器人更加智能
- 利用知识图谱 + 爬虫自动从社交网络提取人际关系网络
知识图谱的主要开发工具
- 图数据库:负责存储、查询、可视化图数据
- 图数据库世界排名第一:Neo4j
5. Neo4j搭建知识图谱开发环境
1.下载安装 Neo4j Desktop 桌面版开发环境:
- 支持:MacOS 10.10 (Yosemite)+, Windows 7+, Ubuntu 12.04+, Fedora 21, Debian 8
- 下载安装 Neo4j community 社区版开发环境(推荐):
请参考:【2021/8/28-最新教程】Windows 安装配置Neo4j图数据库
6. 实战:搭建Neo4j Desktop 知识图谱开发环境
-
启动 Neo4j
-
打开 Neo4j Browser
-
导入 Movies 数据
:play moviles
- 执行导入数据语句
- 完成后查看数据
请参考: Neo4j 小白必看的电影知识图谱(Movie Graph:Try Neo4j with live data)
7. Cypher 语言基础概念
Cypher 语言基础概念
-
(a) 代表实体,a可以有若干属性,例如:
- (a) 是电影实体,可以有标题,年份,时长,评分等属性
- (a) 是演员实体,可以有姓名,年龄、生日,性别等等
-
[c] 代表关系,关系必须有方向,关系也可以有属性,例如:
- [c] 是表演关系,(演员) –[表演]-> (电影),关系的属性:角色姓名
- [c] 是导演关系, (演员) –[导演]-> (电影),关系可以没有属性
-
{name: ‘john’’}:代表name属性值为john.
8. Cypher 语言实战
查看图数据库结构: call db.schema
查看所有影视数据节点:
- 第一种方法:左侧Node Labels 处选择 Movie
- 第二种方法输入语句:
match (m:Movie) return m
查看所有导演关系:
- 第一种方法
- 语句:
match (p:Person)-[r:DIRECTED]->(m:Movie) return r,p,m
where 增加过滤条件
- 搜索2008年电影 :
match (m:Movie) where m.released = 2008 return m
- 搜索2001-2005年电影:
match (m:Movie) where m.released >=2001 and m.released <=2005 return m
- 搜索 tom hanks 出演过的电影:
match (p:Person)-[r:ACTED_IN]->(m:Movie) where p.name="Tom Hanks" return m.title, m.released order by m.released
高级查询:聚合计算
- 搜索2000年以来出演电影最多的演员:
match (p:Person)-[r:ACTED_IN]->(m:Movie) where m.released>=2000 return p, count(p) order by count(p) desc limit 1
9. 总结
- 知识图谱技术简介
- 使用Neo4j搭建知识图谱开发环境
- 使用Cypher语言探索知识图谱
内容来源:博学谷-知识图谱公开课
加油!
感谢!
努力!
以上是关于知识图谱开发实战:搭建上市公司知识图谱的主要内容,如果未能解决你的问题,请参考以下文章