以下是2个最近爆火的人工智能工具,
DeepSeek:DeepSeek
Kimi: Kimi - 会推理解析,能深度思考的AI助手
1、提示词:
你能帮我生成一个知识图谱吗,等一下我会给你一篇文章,帮我从内容中提取关键要素,然后以Neo4j的语法的形式构建知识图谱
2、待处理文字:
喂给它的文字是从 https://www.zhihu.com/question/361137050/answer/3186161914 复制的一段,(此段文字可以是任意的,不需要理解,复制即可)。
3、DeepSeek生成的Cypher代码:
4、把DeepSeek生成的Cypher 代码插入到Neo4j中
先删除所有节点: match (n) detach delete n;
把DeepSeek生成的Cypher 代码插入到Neo4j中。
节点分散,如下图:
5、Kimi生成的Cypher代码:
// 创建实体节点 CREATE (ng:NebulaGraph {name: "NebulaGraph", description: "开源图数据库"}) CREATE (gd:GraphDatabase {name: "图数据库", description: "存储图形网络的数据库"}) CREATE (cpp:ProgrammingLanguage {name: "C++", description: "编程语言"}) CREATE (java:ProgrammingLanguage {name: "Java", description: "编程语言"}) CREATE (python:ProgrammingLanguage {name: "Python", description: "编程语言"}) CREATE (go:ProgrammingLanguage {name: "Go", description: "编程语言"}) CREATE (apache:License {name: "Apache 2.0", description: "开源许可协议"}) CREATE (github:Platform {name: "GitHub", description: "代码托管平台"}) CREATE (ldap:Protocol {name: "LDAP", description: "轻量级目录访问协议"}) CREATE (studio:Tool {name: "NebulaGraph Studio", description: "原生工具"}) CREATE (console:Tool {name: "NebulaGraph Console", description: "原生工具"}) CREATE (exchange:Tool {name: "NebulaGraph Exchange", description: "原生工具"}) CREATE (spark:Product {name: "Spark", description: "大数据处理框架"}) CREATE (flink:Product {name: "Flink", description: "流处理框架"}) CREATE (hbase:Product {name: "HBase", description: "分布式存储系统"}) CREATE (tencent:Company {name: "腾讯", description: "科技公司"}) CREATE (meituan:Company {name: "美团", description: "科技公司"}) CREATE (jd:Company {name: "京东", description: "科技公司"}) CREATE (kuaishou:Company {name: "快手", description: "科技公司"}) CREATE (qihoo:Company {name: "360", description: "科技公司"}) CREATE (fraud:Application {name: "欺诈检测", description: "应用场景"}) CREATE (recommendation:Application {name: "实时推荐", description: "应用场景"}) CREATE (kg:Application {name: "知识图谱", description: "应用场景"}) CREATE (social:Application {name: "社交网络", description: "应用场景"}) CREATE (ng)-[:IS_A]->(gd) CREATE (ng)-[:WRITTEN_IN]->(cpp) CREATE (ng)-[:SUPPORTS]->(java) CREATE (ng)-[:SUPPORTS]->(python) CREATE (ng)-[:SUPPORTS]->(go) CREATE (ng)-[:FOLLOWS]->(apache) CREATE (ng)-[:HOSTED_ON]->(github) CREATE (ng)-[:SUPPORTS]->(ldap) CREATE (ng)-[:INCLUDES]->(studio) CREATE (ng)-[:INCLUDES]->(console) CREATE (ng)-[:INCLUDES]->(exchange) CREATE (ng)-[:INTEGRATES_WITH]->(spark) CREATE (ng)-[:INTEGRATES_WITH]->(flink) CREATE (ng)-[:INTEGRATES_WITH]->(hbase) CREATE (tencent)-[:USES]->(ng) CREATE (meituan)-[:USES]->(ng) CREATE (jd)-[:USES]->(ng) CREATE (kuaishou)-[:USES]->(ng) CREATE (qihoo)-[:USES]->(ng) CREATE (ng)-[:APPLICABLE_FOR]->(fraud) CREATE (ng)-[:APPLICABLE_FOR]->(recommendation) |
6、把Kimi生成的Cypher代码插入到Neo4j中
先删除所有节点: match (n) detach delete n;
把Kimi生成的Cypher代码插入到Neo4j中,节点分散,如下图:
7、两幅图不同的原因
在使用Cypher语言生成图数据时,即使使用相同的文字数据,最终生成的图可能会有巨大的不同,这主要是由于以下几个原因:
-
布局算法:不同的布局算法会导致节点和边的排列方式不同。Cypher本身不负责布局,布局通常由图可视化工具(如Neo4j Browser、Gephi等)完成。不同的工具或同一工具中的不同布局算法可能会导致图的视觉表现差异很大。
-
节点和边的属性:如果节点和边的属性不同(例如,权重、标签、颜色等),即使使用相同的数据,布局算法可能会根据这些属性来调整节点的位置和边的显示方式。
-
数据模型:数据模型的设计(例如,节点之间的关系类型、节点的属性等)也会影响图的生成。不同的数据模型可能会导致不同的图结构。
-
图的复杂性:如果图非常复杂(例如,包含大量的节点和边),布局算法可能会采用不同的策略来避免节点重叠或边交叉,从而导致不同的视觉效果。
-
参数设置:布局算法通常有一些参数可以调整,例如节点之间的距离、边的弯曲程度等。不同的参数设置会导致不同的布局结果。
-
随机性:某些布局算法可能包含随机性,这意味着每次运行时生成的图可能会有所不同。
注:随着时间的变化,在之后再次向大语言模型询问相同问题时,给出的代码表现效果相比实验记录时优化了很多,相关模型都在飞速提升。