起源/Outline
图数据库 Graph DB
在计算机科学中,图数据库(英语:graph database,GDB[1])是一个使用图结构进行语义查询的数据库,它使用节点、边和属性来表示和存储数据。该系统的关键概念是图,它直接将存储中的数据项,与数据节点和节点间表示关系的边的集合相关联。这些关系允许直接将存储区中的数据链接在一起,并且在许多情况下,可以通过一个操作进行检索。图数据库将数据之间的关系作为优先级。查询图数据库中的关系很快,因为它们永久存储在数据库本身中。可以使用图数据库直观地显示关系,使其对于高度互连的数据非常有用。[2]
根据存储和处理模型不同,市面上图数据库也有一些区分。
比如: Neo4J
就是属于原生图数据库,它使用的后端存储是专门为Neo4J这种图数据库定制和优化的,理论上说能更有利于发挥图数据库的性能。
而JanusGraph
不是原生图数据库,而将数据存储在其他系统上,比如Hbase。
① 图存储
一些图数据库使用原生图存储
,这类存储是经过优化的,并且是专门为了存储和管理图而设计的。并不是所有图数据库都是使用原生图存储,也有一些图数据库将图数据序列化,然后保存到关系型数据库或者面向对象数据库,或其他通用数据存储中。
关系型数据库和面向对象数据库-以社交关系为例
关系型数据库:在关系数据库中,通常有两个用于存储社交关系的表格:一个表格保存用户信息,另一个用于保存用户的朋友关系
面向对象数据库:继承、多态、封装;面向对象数据库以对象作为存储的基本单位,多个类型相同的对象的集合成为一个类。现实世界的任一实体都被统一地模型化为一个对象,每个对象有一个唯一的标识,称为对象标识。
② 图处理引擎
原生图处理(也称为无索引邻接
)是处理图数据的最有效方法,因为连接的节点在数据库中物理地指向彼此。非本机图处理使用其他方法来处理CRUD操作。
https://www.cnblogs.com/mantoudev/p/10414495.html
https://www.jianshu.com/p/1c7099ed9675
https://blog.csdn.net/weixin_42034217/article/details/84574822
图数据库
知识图谱
知识图谱(Knowledge Graph),是结构化的语义知识库,用于以符号形式描述物理世界中的概念及其相互关系。其基本组成单位是“实体-关系-实体”三元组,以及实体及其相关属性-值对,实体间通过关系相互联结,构成网状的知识结构。知识图谱可以实现Web从网页链接向概念链接转变,支持用户按主题而不是字符串检索,真正实现语义检索。基于知识图谱的搜索引擎,能够以图形方式向用户反馈结构化的知识,用户不必浏览大量网页即能准确定位和深度获取知识。[1]
在知识表示中,知识图谱是一种知识库,其中的数据通过图结构的数据模型或拓扑整合而成。知识图谱通常被用来存储彼此之间具有相互联系的实体。[2]1980年代后期,格罗宁根大学和特文特大学联合启动了一个名为知识图谱的项目。Google、Bing和Yahoo等搜索引擎均已引入知识图谱并在搜索界面的右侧显示。
三元组是知识图谱的一种通用表示方式,即 G =(E, R, S),其中 E 是知识库中的实体,R 是知识库中的关系,S 代表知识库中的三元组。三元组的基本形式主要包括实体1、关系、实体2和概念、属性、属性值等。实体是知识图谱中的最基本元素,不同的实体间存在不同的关系。概念主要指集合、类别、对象类型、事物的种类,例如人物、地理等;属性主要指对象可能具有的属性、特征、特性、特点以及参数,例如国籍、生日等;属性值主要指对象指定属性的值,例如中国、1988-09-08等。每个实体(概念的外延)可用一个全局唯一确定的ID来标识,每个属性-属性值对(attribute-value pair, AVP) 可用来刻画实体的内在特性,而关系可用来连接两个实体,刻画它们之间的关联。[4]
市场上主要的三种知识图谱类别领域:领域知识图谱、外部感知图谱和 自然语言处理 (NLP)图谱
自然语言处理(Natural Language Processing)知识图谱
区分于计算机语言,自然语言是人类发展过程中形成的一种信息交流的方式,包括口语及书面语,反映了人类的思维,都是以自然语言的形式表达。
自然语言处理(NLP)知识图谱包含关于人类语言的复杂性和细微差 别的知识。 NLP知识图 谱需要了解公司的特定技术术语、产品名称、行业首字母缩略词、部件号甚至常见的 拼写错 误。这是分析师创建知识图谱以映射含义和构建本体的地方,在此基础上进一步改进搜索并 提供更相关的结果
使计算机具有人类对于自然语言的纠错能力
NLP基本分类
NLP里细分领域和技术实在太多,根据NLP的终极目标,大致可以分为自然语言理解(NLU)和自然语言生成(NLG)两种。
NLU侧重于如何理解文本,包括文本分类、命名实体识别、指代消歧、句法分析、机器阅读理解等。
NLG则侧重于理解文本后如何生成自然文本,包括自动摘要、机器翻译、问答系统、对话机器人等。两者间不存在有明显的界限,如机器阅读理解实际属于问答系统的一个子领域。
图数据库是一种知识图谱,知识图谱是一种图数据库?
最受欢迎的图数据库——Neo4j配置
官网下载coummunity edition的Neo4j
解压并运行
-
cd Downloads/Neo4j/bin
./neo4j start
进入bin目录执行
后台启动:./neo4j start
前台启动:./neo4j console
查看状态:./neo4j status
停止:./neo4j stop
重启:./neo4j restart -
报错信息为
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/neo4j/server/startup/Neo4jCommand has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:756)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:473)
at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:601) -
要求使用jdk-11,对安装的高版本jdk进行卸载
weiwei@weiweideMacBook-Air ~ % ls /Library/Java/JavaVirtualMachines/
jdk-11.0.16.1.jdkjdk-19.jdk
weiwei@weiweideMacBook-Air ~ % sudo rm -rf /Library/Java/JavaVirtualMachines/jdk-19.jdk //此处19即是上一步查看到的版本号
sudo rm -fr /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
sudo rm -fr /Library/PreferencePanes/JavaControlPanel.prefPane
sudo rm -fr ~/Library/Application\ Support/Java
启动成功
AI/AI和图数据库的关系
之前在IELTS练习题里面看到过对于AI的初步介绍
人工智能 (AI) 的定义
简单来说,人工智能 (AI) 是指可模仿人类智能来执行任务,并基于收集的信息对自身进行迭代式改进的系统和机器。AI 具有多种形式。例如:
-
聊天机器人使用 AI 更快速高效地理解客户问题并提供更有效的回答
-
智能助手使用 AI 来解析大型自由文本数据集中的关键信息,从而改善调度
-
推荐引擎可以根据用户的观看习惯自动推荐电视节目
AI 更多的是一种为超级思考和数据分析而服务的过程和能力,而不是一种格式或功能。在不少人看来,AI 意味着高功能的类人机器人接管世界。事实上,AI 的初衷并不是要取代人类,而是大幅增强人的能力和贡献。这一特点使它成为了现代企业的一项非常宝贵的资产。
https://www.oracle.com/cn/artificial-intelligence/what-is-ai/
人工智能技术有三大类,每种类别都以不同的方式解决问题。 人工智能是一个总括性术语, 包括机器学习(ML)和深度学习(DL)的各个子集。
AI 是一类计算机过程,通过学习和模仿人类决策的方式解决问题。 请注意,这不需要具有实际智能。 然而,它确实为许多问题打开了大门,以执行人类智能所 特有的任务。AI是解决方案的目标,机器学习本质上是实现它的一种方法。
机器学习 (ML) 使用算法帮助计算机学习特定任务的示例、实现渐进式改进,而无需显式编 程。 “训练”AI涉及向算法提供大量数据,以使其能够学习如何处理这 些信息 。 机器学
习的“学习”部分意味着相关算法通过迭代以优化目标函数,例如实现最小化误 差或损失。 机器学习同时是动态的,能够在呈现更多数据时自行修正。
深度学习 (DL)使用以神经网络为模型的级联处理层来学习数据 表示,例如特征或分类。深度 学习的“深层”部分是指多个隐藏的抽象层。这些图层实现了具有层次结构的特征集,例如 向水果类别添加形状、大小和气味。
https://go.neo4j.com/rs/710-RRC-335/images/Neo4j-ai-graph-technology-white-paper-ZH.pdf
AI与图数据库
接着阅读前面一篇neo4j对于AI和图数据库的介绍
知识图谱增强机器学习:领域知识提高运行效率
知识图谱提供了提高效率的领域相关内容,因为它将数据连接起来,从而在关系上实现了多 个分离度、有利于大规模快速遍历和分析。从这一意义上说,图加速了机器学习的效果。
关系特征: 领域知识提高准确度
当前的机器学习方法通常依赖于从表构建输入数据 。这意味着尝试抽象、简化并且(有时)则 完全遗漏了大量的预测关系和领域相关知识。通过将关联的数据和关系存储为图,可以更直接地提取关系的特征、并更轻松地包含所有重要信息。
关系特性可以在许多行业中使用,尤其在调查欺诈和洗钱等金融犯罪领域。在这些案例中,犯罪分子经常试图通 过多层次混淆和复杂网络关系来隐藏犯罪活动 。传统方法可能无 法检测到这种行为,而这 正是图在提取关系特征方面所擅长的领域。
可解释的人工智能: 领域知识提供可信度
在应用AI的过程中一个最大挑战是理解AI究竟是何做出特定决策的.可解释的人工智能是一个还在逐步形成的领域。然而已经有相当多的研究表明,图使人工智能预测更易于追踪和解释。
标签:存储,知识,java,AI,图谱,20221025,20221024,数据库 From: https://www.cnblogs.com/noobwei/p/16826136.html