知识图谱开发实战:搭建上市公司知识图谱

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
  1. 下载安装 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语言探索知识图谱

内容来源:博学谷-知识图谱公开课

加油!

感谢!

努力!

以上是关于知识图谱开发实战:搭建上市公司知识图谱的主要内容,如果未能解决你的问题,请参考以下文章

知识图谱实战开发案例剖析

知识图谱实战开发案例剖析

知识图谱实战开发案例剖析

知识图谱实战开发案例剖析

特定领域知识图谱知识融合方案(实体对齐):商品知识图谱技术实战

知识图谱实战应用1-知识图谱的构建与可视化应用