摘要

知识图谱作为结构化知识的重要载体,正逐渐成为各领域智能化应用的核心。春节期间,DeepSeek 的横空出世引发了广泛关注。DeepSeek 作为一款强大的语言模型,具备先进的自然语言处理能力,能够从文本中提取关键信息并生成知识图谱的结构。而 NebulaGraph 作为一款高性能的分布式图数据库,能够高效存储和管理大规模图数据。

作为一名图爱好者,让人忍不住想试一试 DeepSeek 在构建知识图谱的能力,并通过一系列实验验证其在知识提取、图谱融合以及无中生有构建图谱方面的表现。实验结果表明,DeepSeek 在知识图谱构建和融合方面表现出色,但也存在一些技术细节需要优化。

开测之前,我们先对整体思路做一个梳理,我们需要确定以下几个问题:

1. 能否通过一篇文章,准确构建知识图谱

2. 能否对不同来源的文章进行知识融合

3. 如果不提供文章,只描述所建图谱的大概内容,能否快速构建图谱

在确定了思路之后,开整。

▌一、顺手牵羊

实验的第一步是通过单篇文章验证 DeepSeek 的知识提取能力。我们选择了一篇关于开源图数据库 NebulaGraph 的文章[1],并要求 DeepSeek 从文章中提取关键要素,生成 nGQL 代码以构建知识图谱。

你能帮我生成一个知识图谱吗,等一下我会给你一篇文章,帮我从内容中提取关键要素,然后以 nGQL 代码的形式构建知识图谱

在跟 DeepSeek 打好招呼之后,从网上捞一篇文章,这里用的是:如何评价开源图数据库 Nebula Graph?内容直接往上贴,简单粗暴。

# Schema定义(TAG类型)``CREATE TAG IF NOT EXISTS product(name string, description string);``CREATE TAG IF NOT EXISTS company(name string);``CREATE TAG IF NOT EXISTS feature(name string);``CREATE TAG IF NOT EXISTS tool(name string);``CREATE TAG IF NOT EXISTS scenario(name string);``CREATE TAG IF NOT EXISTS language(name string);``CREATE TAG IF NOT EXISTS auth_service(name string);``CREATE TAG IF NOT EXISTS ecosystem(name string);``   ``# Schema定义(EDGE类型)``CREATE EDGE IF NOT EXISTS has_feature();``CREATE EDGE IF NOT EXISTS used_by();``CREATE EDGE IF NOT EXISTS provides_tool();``CREATE EDGE IF NOT EXISTS supports_language();``CREATE EDGE IF NOT EXISTS applicable_scenario();``CREATE EDGE IF NOT EXISTS compatible_with();``CREATE EDGE IF NOT EXISTS supports_auth();``CREATE EDGE IF NOT EXISTS integrates_with();``   ``# 数据插入 - 核心产品``INSERT VERTEX product(name, description) VALUES` `"NebulaGraph":("NebulaGraph", "开源的分布式图数据库,支持千亿点万亿边数据集");``   ``# 数据插入 - 产品特性``INSERT VERTEX feature(name) VALUES``"high_performance":("高性能"),``"open_source":("开源"),``"scalability":("易扩展"),``"flexible_modeling":("灵活数据建模"),``"read_write_balance":("读写平衡"),``"compatibility":("查询语言兼容性");``   ``/* ... 此处省略 n多数据 */

扫了一眼脚本语法上没什么问题,在相同表的写入中,还将多条数据合并到一条语句,效果很好。将得到的脚本执行到数据库中,效果如下:

可以看到以 NebulaGraph 为中心,辐射出了各种紧密相关的事物。

▌二、桃园结义

为了验证 DeepSeek 在知识融合方面的能力,我们提供了另一篇关于 NebulaGraph 的文章,并要求其在现有图谱基础上进行融合。

接下来,我会给你另一篇文章。请尽可能使用现有的表结构,对图谱进行融合。如果涉及到表结构变更,请使用 ALTER 进行表结构的修改

只有一篇文章,看起来有些单调。于是从百度百科中,查了下【NebulaGraph】及图中节点【360】的词条,并将概述部分输入,得到以下回应:

NebulaGraph 词条

-- 结构变更1:为product标签增加版本和时间属性``ALTER TAG product ADD (license string, current_version string, release_date string, last_updated string);``   ``-- 结构变更2:新增开发关系类型``CREATE EDGE IF NOT EXISTS developed_by();``   ``-- 数据更新 - 补充产品属性``INSERT VERTEX product(name, description, license, current_version, release_date, last_updated) VALUES` `"NebulaGraph":("NebulaGraph", "分布式图数据库", "Apache 2.0", "v3.3.0", "2019-05-15", "2022-11-14");``   ``-- 新增开发公司(复用company标签)``INSERT VERTEX company(name) VALUES``"Yueshu":("杭州悦数科技有限公司");``   ``-- 新增特性(复用feature标签)``INSERT VERTEX feature(name) VALUES``"acl_mechanism":("ACL机制"),``"linear_scaling":("线性扩容"),``"data_recovery":("数据恢复"),``"htap":("HTAP混合负载"),``"nGQL_language":("nGQL查询语言");``   ``-- 关系建立(复用已有关系类型)``INSERT EDGE has_feature() VALUES``"NebulaGraph"->"acl_mechanism":(),``"NebulaGraph"->"linear_scaling":(),``"NebulaGraph"->"data_recovery":(),``"NebulaGraph"->"htap":(),``"NebulaGraph"->"nGQL_language":();``   ``-- 新增开发关系``INSERT EDGE developed_by() VALUES``"NebulaGraph"->"Yueshu":();

360 词条

# 结构变更1:为company标签增加创始人、成立时间和收入属性``ALTER TAG company ADD (founder string, founded_date string, revenue double);``   ``# 结构变更2:新增事件类型TAG``CREATE TAG IF NOT EXISTS event(type string, date string, amount double, details string);``   ``# 数据更新 - 补充360公司信息``INSERT VERTEX company(name, founder, founded_date, revenue) VALUES` `"360":("奇虎360", "周鸿祎", "2005-09", 116.15);``   ``# 数据插入 - 产品生态(复用product标签)``INSERT VERTEX product(name) VALUES``"360_Security_Guard":("360安全卫士"),``"360_Browser":("360安全浏览器"),``"360_Cloud":("360安全云");``   ``# 数据插入 - 重大事件(使用新增event标签)``INSERT VERTEX event(type, date, amount, details) VALUES``"acquisition_360.com":("域名收购", "2015-02-04", 1700.0, "1.1亿人民币收购360.com"),``"privatization":("私有化", "2015-12", 9300.0, "93亿美元私有化交易");``   ``# 关系建立 - 复用developed_by边连接产品``INSERT EDGE developed_by() VALUES``"360_Security_Guard"->"360":(),``"360_Browser"->"360":(),``"360_Cloud"->"360":();``   ``# 新增事件关联(复用has_feature边表达事件关联)``INSERT EDGE has_feature() VALUES``"360"->"acquisition_360.com":(),``"360"->"privatization":();``   ``# 复用used_by边表达合作伙伴关系``INSERT VERTEX company(name) VALUES``"Internet_Society_China":("中国互联网协会");``   ``INSERT EDGE used_by() VALUES``"360"->"Internet_Society_China":();

从脚本上看,在当前步骤中,product 表、company 表的字段不够用,DeepSeek 也遵照了我们的指令,在原有基础上做了表结构的修改。有点缺陷的是注释符 – 不符合语法结构,手动批量替换成 #。

同样执行到数据库中,效果如图:

在以上两步的试验中,基本上确定了 DeepSeek 在图谱生成及知识融合方面已经能够做到很不错的效果。整体输出效率提高但也有花时间的点:服务太火爆,服务器无法响应的问题;另一个花时间的是,schema 是异步生效,两个层次的脚本执行之间,需要有一段等待。

▌三、无中生有

在没有具体文章的情况下,我们要求 DeepSeek 根据给定的主题(农业)生成知识图谱。此时新开了一个对话,也新开了一个图空间。当前任务主要是空手套白狼,啥文章都不给。生成的代码基本上都差不多就不贴了,一会儿直接看效果。

我想要构建一个农业相关的知识图谱。用的数据库是 NebulaGraph,请帮我生成 nGQL 脚本。表名用大驼峰,属性名用小驼峰。为了规避使用到关键字导致语法错误,schema 的名称需要使用``进行包裹。至少需要生成 3000 个节点。

这边碰到的问题是,一次生成 3000 个节点,他拒绝了我的请求,并丢给了我一段 python 导入 csv 的代码。其中这次依然产生了注释符出错的问题,于是单独把这个问题单独拎出来说,

注释需要使用 #,另外我不希望提供出 python 代码,现在也不要求 3000 个节点了。给我 50 个节点的全部 ngql 脚本

果然有问题不憋着,整个人都神清气爽。

#=======================================``# 创建图空间``#=======================================```CREATE SPACE `Agriculture` (vid_type = FIXED_STRING(32));````USE `Agriculture`;`````#=======================================``# 定义标签 Schema(大驼峰命名)``#=======================================```CREATE TAG IF NOT EXISTS `Crop` (``  `` `cropId` int, ``  `` `cropName` string, ``  `` `growthPeriod` int, ``  `` `suitableTemp` string, ``  `` `yieldPerMu` float ```);``   ``   ``/* 此处省略好多脚本 */

请对已经有的数据进行补充,尽可能使得现有数据之间的关联性更强

请帮我将【界门纲目科属种】这些分类组织成图谱

请对现有作物,找出一些轮种的禁忌跟有增益的农作物

请结合图谱中的作物出发组织数据,并按之前的形式,给我一些 nGQL 脚本

聊着聊着,DeepSeek 有点串台了,INSERT 语句使用了 MATCH WHERE INSERT 形式的 cypher 语法。

上述插入语句并不符合 nGQL 语法哦,请再改一改,并重新组织。DDL 放前面,DML 放后面

关于轮作的正负向数据再帮我多生成一些,重点罗列常见的经济作物。

关于轮作的正负向数据再帮我多生成一些,这次主要集中在家常菜

经过几轮用大白话的沟通之后,得到了以下数据量:

随便展开了几个节点之后的效果:

我们单以临期种植的增产组合为例,效果如下:

▌四、总结与展望

通过上述实验,我们验证了 DeepSeek 在知识图谱构建和融合方面的能力。实验结果表明:

1. 知识提取能力:

  • DeepSeek 能够高效地从文本中提取关键信息,并生成符合要求的 nGQL 脚本。其语言理解能力较强,能够准确识别实体、关系和事件。

2. 知识融合能力:

  • 在多篇文章的知识融合方面,DeepSeek 表现出色。它能够根据新文章内容对现有图谱进行扩展和更新,确保图谱的完整性和准确性。

3. 无中生有构建图谱:

  • 在没有具体文章的情况下,DeepSeek 也能根据主题生成知识图谱。虽然在生成过程中存在一些语法问题,但经过调整后能够生成符合要求的脚本。

4. 技术细节:

  • 在实验过程中,我们发现 DeepSeek 生成的脚本存在一些语法问题,如注释符不符合 nGQL 规范等。此外,生成大量节点时可能会出现服务器响应延迟的问题。这些问题需要在实际应用中加以优化。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

在这里插入图片描述

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐