带你走进知识图谱的世界

简介: 知识图谱最开始是Google为了优化搜索引擎提出来的,推出之后引起了业界轰动,随后其他搜索公司也纷纷推出了他们的知识图谱。知识图谱发展到今天,不仅是应用在搜索行业,已经是AI的基础功能了。那到底知识图谱是什么?有什么能力?怎么应用?这就是本文想要讨论的内容。

知识图谱的介绍

知识图谱最开始是Google为了优化搜索引擎提出来的,推出之后引起了业界轰动,随后其他搜索公司也纷纷推出了他们的知识图谱。知识图谱发展到今天,不仅是应用在搜索行业,已经是AI的基础功能了。那到底知识图谱是什么?有什么能力?怎么应用?这就是本文想要讨论的内容。

01 什么是知识图谱

1. 定义

官方定义:知识图谱是一种基于图的数据结构,由节点(point)和边(Edge)组成,每个节点表示一个“实体”,每条边为实体与实体之间的“关系”,知识图谱本质上是语义网络。

实体指的可以是现实世界中的事物,比如人、地名、公司、电话、动物等;关系则用来表达不同实体之间的某种联系。

img

由上图,可以看到实体有地名和人;大理属于云南、小明住在大理、小明和小秦是朋友,这些都是实体与实体之间的关系。

通俗定义:知识图谱就是把所有不同种类的信息连接在一起而得到的一个关系网络,因此知识图谱提供了从“关系”的角度去分析问题的能力。

2. 可视化表现

如果我们在百度搜索“周杰伦的老婆”的时候,搜索结果不是周杰伦,而是直接返回了昆凌的信息卡片,为什么呢?

img

因为底层知识图谱已经有了周杰伦和昆凌是夫妻关系,所以可以理解到你要找的是昆凌,而不是周杰伦,这也说明了知识图谱有理解用户意图的能力。

img

02 知识图谱构建的关键技术

知识图谱构建的过程中,最主要的一个步骤就是把数据从不同的数据源中抽取出来,然后按一定的规则加入到知识图谱中,这个过程我们称为知识抽取

数据源的分为两种:结构化的数据和非结构化的数据。

结构化的数据是比较好处理的,难点在于处理非结构化的数据。而处理非结构化数据通常需要使用自然语言处理技术:实体命名识别、关系抽取、实体统一、指代消解等。

我们先来看下把这段文字变成知识图谱的方式表达的结果:

img

上图左边的文案就是一个非结构化的文本数据,就需要经过一系列的技术处理,才能转化为右边的知识图谱。具体是怎么实现的呢,接下来一一讨论。

1. 实体命名识别

img

提取文本中的实体,并对每个实体进行分类或打标签,比如把文中“1984年12月30日”记为“时间”类型;“克利夫兰骑士”和“迈阿密热火”记为“球队”类型,这个过程就是实体命名。

2. 关系抽取

img

关系抽取是把实体之间的关系抽取出来的一项技术,其中主要是根据文本中的一些关键词,如“出生”、“在”、“转会”等,我们就可以判断詹姆斯与地点俄亥俄州、与迈阿密热火等实体之间的关系。

3. 实体统一

img

在文本中可能同一个实体会有不同的写法,比如说“LBJ”就是詹姆斯的缩写,因此“勒布朗詹姆斯”和“LBJ”指的就是同一个实体,实体统一就是处理这样问题的一项技术。

4. 指代消解

img

指代消解跟实体统一类似,都是处理同一个实体的问题。比如说文本中的“他”其实指的就是“勒布朗詹姆斯”。所以指代消解要做的事情就是,找出这些代词,都指的是哪个实体。

指代消解和实体统一是知识抽取中比较难的环节。

03 知识图谱的存储

知识图谱主要有两种存储方式:一种是基于RDF的存储;另一种是基于图数据库的存储。

1. RDF(Resource Description Framework)

RDF一个重要的设计原则是数据的易发布以及共享,另外,RDF以三元组的方式来存储数据而且不包含属性信息。

2. 图数据库

图数据库主要把重点放在了高效的图查询和搜索上,一般以属性图为基本的表示形式,所以实体和关系可以包含属性。

3. RDF和图数据库的主要特点区别

img

关于知识图片的存储方式的内容比较专业,且没有实际操作过比较难理解,所以我就不在此展开讨论了,大家简单知道知识图谱有这么一项内容就行,若有需要的可以自行研究下。

下面我们把重点放在知识图片在金融领域的一些应用。

04 知识图谱在金融领域的应用

知识图谱在各行各业中的应用是比较普及的,并且有很重要的地位。下面我们跟大家一起讨论的是知识图谱在金融领域的一些应用,希望能通过这些例子给大家一点启发。

1. 反欺诈

假设银行要借钱给一个人,那要怎么判断这个人是真实用户还是欺诈的呢?

img

我们需要以人为核心,展开一系列的数据构建,比如说用户的基本信息、借款记录、工作信息、消费记录、行为记录、网站浏览记录等等。把这些信息整合到知识图谱中。从而整体进行预测和评分,用户欺诈行为的概率有多大。当然这个预测是需要通过机器学习,得到一个合理的模型,模型中可能会包括消费记录的权重、网站浏览记录的权重等等信息。

2. 不一致性验证

img

比如说不同的两个借款人,却填写了同一个电话号码,那说明这两个人中至少有一个是可疑的了,这时就需要重点关注了。

img

更复杂点的,可能需要知识图谱通过一些关系去推理了。比如说“借款人”跟小明和小秦都是母子关系,按推理的话小明跟小秦应该是兄弟关系,而在知识图谱上显示的是朋友关系,就有可能有异常了,因此也需要重点关注。

3. 客户失联管理

img

如果借款人失联了,通过知识图谱,是不是可以联系他的朋友,或兄弟,甚至是兄弟的妻子,去追踪失联人。

因此在失联的情况下,知识图谱可以挖掘更多失联人的联系人,从而提高催收效率。

4. 知识推理

img

如上左图(注意这里的箭头方向),小秦是大秦的儿子,大秦是老秦的儿子,从这这样的关系,我们就可以推理出,小秦是老秦的孙子,这样就能使知识图谱更加完善了。

img

如上左图,小明在腾讯上班,小秦也在腾讯上班,从这样的关系,我们可以推理出,小明和小秦是同事关系。

推理能力其实就是机器模仿人的一种重要的能力,可以从已有的知识中发现一些隐藏的知识。当然这样的能力离不开深度学习,而随着深度学习的不断成熟,我相信知识图谱的能力也会越来越强大。

graph - embedding 图编码

图数据库 Neo4j

neo4j 下载: https://neo4j.com/download-center/

Neo4j Demo https://grapheco.org/InteractiveGraph/dist/examples/example1.html

为什么用 neo4j ?用的人最多, 模板好找, 报错能查,就这么简单

官网 : neo4j.com

Neo4j 教程 https://www.w3cschool.cn/neo4j/neo4j_need_for_graph_databses.html

JDK安装 :https://www.oracle.com/java/technologies/downloads/

不支持 低版本的jdk 必须是10以上

启动 neo4j.bat console

网页访问localhost:7474

在这里插入图片描述

相关实践学习
阿里云图数据库GDB入门与应用
图数据库(Graph Database,简称GDB)是一种支持Property Graph图模型、用于处理高度连接数据查询与存储的实时、可靠的在线数据库服务。它支持Apache TinkerPop Gremlin查询语言,可以帮您快速构建基于高度连接的数据集的应用程序。GDB非常适合社交网络、欺诈检测、推荐引擎、实时图谱、网络/IT运营这类高度互连数据集的场景。 GDB由阿里云自主研发,具备如下优势: 标准图查询语言:支持属性图,高度兼容Gremlin图查询语言。 高度优化的自研引擎:高度优化的自研图计算层和存储层,云盘多副本保障数据超高可靠,支持ACID事务。 服务高可用:支持高可用实例,节点故障迅速转移,保障业务连续性。 易运维:提供备份恢复、自动升级、监控告警、故障切换等丰富的运维功能,大幅降低运维成本。 产品主页:https://www.aliyun.com/product/gdb
目录
相关文章
|
C语言 C++ 容器
[数据结构] 用两个队列实现栈详解
我们上篇文章讲述了用两个栈实现队列 ,用过对上篇文章的学习后,我们再去学用两个队列实现栈就变得相对来说容易了很多。本篇文章会对用两个队列实现栈进行详解,希望会对你有所帮助。
420 0
|
5月前
|
存储 数据采集 NoSQL
什么是数据仓库?数据库与数据仓库有什么关系?
数据仓库与数据库有何区别?数据仓库主要用于存储历史数据,支持企业分析决策;而数据库则负责管理实时业务数据,保障日常运作。两者在数据来源、处理方式、存储结构等方面差异显著,但又相辅相成,共同助力企业高效管理数据、提升运营与决策能力。
|
存储 NoSQL 搜索推荐
知识图谱(Knowledge Graph)根本概念
知识图谱(Knowledge Graph)根本概念
1137 0
|
存储 NoSQL 数据库
知识图谱之图数据库如何选型:知识图谱存储与图数据库总结、主流图数据库对比(JanusGraph、HugeGraph、Neo4j、Dgraph、NebulaGraph、Tugrapg)
知识图谱之图数据库如何选型:知识图谱存储与图数据库总结、主流图数据库对比(JanusGraph、HugeGraph、Neo4j、Dgraph、NebulaGraph、Tugrapg)
知识图谱之图数据库如何选型:知识图谱存储与图数据库总结、主流图数据库对比(JanusGraph、HugeGraph、Neo4j、Dgraph、NebulaGraph、Tugrapg)
|
12月前
|
机器学习/深度学习 人工智能 API
【AI系统】昇腾异构计算架构 CANN
本文介绍了昇腾 AI 异构计算架构 CANN,涵盖硬件层面的达·芬奇架构和软件层面的全栈支持,旨在提供高性能神经网络计算所需的硬件基础和软件环境。通过多层级架构,CANN 实现了高效的 AI 应用开发与性能优化,支持多种主流 AI 框架,并提供丰富的开发工具和接口,助力开发者快速构建和优化神经网络模型。
883 1
|
机器学习/深度学习 自然语言处理 监控
命名实体识别(Named Entity Recognition, NER)
命名实体识别(NER)是自然语言处理的重要任务,旨在从文本中识别并分类特定实体,如人名、地点、组织等。通过BIO等标注模式,利用HMM、CRF及深度学习模型如RNN、LSTM、Transformer等进行实体识别。预训练模型如BERT显著提升了NER的性能。NER广泛应用于新闻分析、生物医学等领域,是信息提取、知识图谱构建等任务的基础。
1536 3
|
存储 NoSQL 关系型数据库
第5章:知识存储:概述、方法、实战
第5章:知识存储:概述、方法、实战
第5章:知识存储:概述、方法、实战
|
SQL Oracle 关系型数据库
实时计算 Flink版产品使用问题之Oracle数据库是集群部署的,怎么进行数据同步
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
自然语言处理 搜索推荐 机器人
阿里巴巴的通义千问大模型
阿里巴巴通义千问是基于Transformer的大型语言模型,预训练于多样化数据集,支持18亿至720亿参数规模。在多模态英文任务中表现出色,且具备多语言对话及图片文本识别能力。可应用于搜索引擎、问答系统和对话交互,提供智能体验。然而,模型在逻辑题和指令理解上存在不足,需在特定领域进行优化。
4689 1