首页 > 数据库 >20221024&20221025 图数据库/知识图谱/AI/Neo4j入门

20221024&20221025 图数据库/知识图谱/AI/Neo4j入门

时间:2022-10-25 20:14:08浏览次数:94  
标签:存储 知识 java AI 图谱 20221025 20221024 数据库

起源/Outline

图数据库 Graph DB

计算机科学中,图数据库(英语:graph database,GDB[1])是一个使用图结构进行语义查询数据库,它使用节点和属性来表示和存储数据。该系统的关键概念是,它直接将存储中的数据项,与数据节点和节点间表示关系的的集合相关联。这些关系允许直接将存储区中的数据链接在一起,并且在许多情况下,可以通过一个操作进行检索。图数据库将数据之间的关系作为优先级。查询图数据库中的关系很快,因为它们永久存储在数据库本身中。可以使用图数据库直观地显示关系,使其对于高度互连的数据非常有用。[2]

https://zh.wikipedia.org/zh-cn/图数据库

根据存储和处理模型不同,市面上图数据库也有一些区分。

比如: 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

图数据库

https://zhuanlan.zhihu.com/p/112689382

知识图谱

知识图谱(Knowledge Graph),是结构化的语义知识库,用于以符号形式描述物理世界中的概念及其相互关系。其基本组成单位是“实体-关系-实体”三元组,以及实体及其相关属性-值对,实体间通过关系相互联结,构成网状的知识结构。知识图谱可以实现Web从网页链接向概念链接转变,支持用户按主题而不是字符串检索,真正实现语义检索。基于知识图谱的搜索引擎,能够以图形方式向用户反馈结构化的知识,用户不必浏览大量网页即能准确定位和深度获取知识。[1]

知识表示中,知识图谱是一种知识库,其中的数据通过图结构数据模型拓扑整合而成。知识图谱通常被用来存储彼此之间具有相互联系的实体。[2]1980年代后期,格罗宁根大学特文特大学联合启动了一个名为知识图谱的项目。GoogleBingYahoo搜索引擎均已引入知识图谱并在搜索界面的右侧显示。

https://zh.wikipedia.org/zh-cn/知識圖譜

三元组是知识图谱的一种通用表示方式,即 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

解压并运行

  1. cd Downloads/Neo4j/bin 
    ./neo4j start

    进入bin目录执行
    后台启动:./neo4j start
    前台启动:./neo4j console
    查看状态:./neo4j status
    停止:./neo4j stop
    重启:./neo4j restart
  2. 报错信息为

    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)
  3. 要求使用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

启动成功

xRXwp4.png

xRXqN8.png

 

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

相关文章

  • git合并分支时出现“Please enter a commit message to explain why this merge is ne
    1,有的时候我们在进行项目分支合并gitmerge时会出现如下错误  解决步骤:按键盘上的“i”键可进入插入模式这时可以修改最上方的黄色部分,改成你想写的合并原因按......
  • jcenter(JCEntertainment)
    jcenter里的androidstudio微信sdk是哪个如果你只是要跑起来微信分享的demo,暂时使用它demo里边的debug.keystore就行,具体设置在window-preferences-android-build,在custom......
  • AI视频融合平台EasyCVR视频广场分组列表高亮标识的增加
    EasyCVR平台是我们支持协议最全面的视频平台,它能支持标准协议,包括:国标GB/T28181、RTMP、RTSP/Onvif协议,以及厂家的私有协议与SDK,如:海康Ehome协议、海康SDK、大华SDK等。平台......
  • Unable to import maven project: See logs for details
    Maven3.6.3版本兼容问题错误信息如下:测试范围如下图:注意:针对一些老项目还是尽量采用3.6.3版本,针对idea各个版本的兼容性就很兼容0.IDEA2022兼容maven3.8.1及之前的......
  • Noval Ai 作者 tag
    保罗·赫德利byPaulHedley,保罗·赫德利 样片  清水裕子byYukoShimizu,清水裕子是居住美国的日本插画师.她所绘制的插画帶有日本古老风格,尤其是她所......
  • Noval AI 水墨风 生成作品
                              ......
  • AcWing 216. Rainbow的信号
    题目链接:​​传送门​​将权值转化成二进制来看,最多30位枚举每一位并且枚举一个右端点通过这个右端点判断有多少个左端点符合条件,累计贡献要注意单独讨论左端点等于右端......
  • 趁热打铁!一起来看下Airtest1.2.7新增的那些断言API
    1.前言先前我们放出了1.2.7版本的Airtest,其中,一个很重要的功能是,我们新增了非常丰富的断言API,今天我们就来详细看一下新版Airtest都有给我们提供哪些断言语句。2.旧......
  • 20221025 英文单词
    1、arbitrate仲裁;公断  2、aisle 3、accounting  4、admit  5、admittance进入权   6、applause  7、applaud  8、appetizer ......
  • vite+vue3使用tailwindcss
    vite+vue3使用1.通过npm安装Tailwindnpminstall-Dtailwindcss@latestpostcss@latestautoprefixer@latest2.创建您的配置文件npxtailwindcssinit这将会在......