Press "Enter" to skip to content

知识图谱的感性认识

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

定义

 

知识图谱可以分割为知识和图谱。知识包含实体和实体之间的联系,

 

图谱就是用图的方式把实体和它们之间的关系用图表示出来。

 

例如微信,我和我的朋友以好友的关系而关联起来,而我的朋友又有他们的朋友圈,进而把整个关系群以一个网络的方式关联起来。

 

 

用途

 

智能问答

如果拥有了一个知识图谱,就可以构建一个智能问答系统

例如如果输入是:我感冒了应该看什幺科

系统通过查找感冒和科室的关系,就可以找到科室应该为呼吸内科

系统就可以回答:呼吸内科

 

 

反欺诈

在风控领域,数据一般以人为单位,人跟人存在一种关系,人跟消费记录,行为记录,网上浏览记录形成了另外的一些关系,那幺风控团队就获得了一张非常大的网络图

当需要对某人进行风控分析,可以使用Graph embedding对每个人的图进行向量化,然后放入机器学习的模型进行训练和预测,从而得出欺诈的预判

 

 

不一致性检验

例如借款人张三说李四是他的父亲,王五是他的朋友;而同时王五说李四是他的父亲,张三是他的朋友。那幺通过分析知识图谱,并进行推理,朋友的父亲不可能一样,引发不一致。此时就可以检测出,借款人有异常

 

 

智能搜索

例如Google,百度搜索

 

知识推理

 

 

存储

 

对于知识图谱,需要存储所有信息只有实体和实体之间的关系

 

一般来说市面上有非常多的图数据库引擎可以使用

 

例如最热门的neo4j

 

图数据库与传统关系性数据库

 

大家可能有疑问,对于实体和实体之间的关系,是可以通过关系性数据库来存储的。

 

为什幺需要图数据库?

 

按我的理解

-关系型数据库更多的关注实体和实体的属性,对关系的描述并不大看重,虽然有外键
在关系行数据库定义实体,表的数量会随着实体的数量而线性递增,如果单从实体和关系的角度分析,模型过于复杂
关系型数据库难以分布式存储,难以承受大数据
图数据库模型非常简单,就是实体和关系
图数据可以对这种简单的模型使用图算法更好的存储和检索数据
图数据非常容易做到分布式,适合大数据的存储

融合(构建)

 

需要构建知识图谱,首先需要数据的导入

 

一般来说数据源都是非结构化的,例如网络上爬取下来的网页,音频文件,视频文件,图片

 

需要使用到的技术有NLP,图片信息抽取,音频转文本等技术

 

此篇只关注NLP技术,其他技术,只是在信息提取的细节不一样,对于融合到知识图谱的过程,是一致的。

 

NLP信息融合

 

NLP目前市面上有非常多的第三方库可以使用,在避免重复造轮,我们在应用上,应该更多的使用市面上的库,而不是自己写,对于NLP的理论知识,后面会有一篇博文分享。

 

对于此篇,我们关注NLP库给我们提供了什幺,我们可以基于这些库,可以做什幺。

 

pyltp的功能

 

库的使用如下:

 

https://pyltp.readthedocs.io/zh_CN/latest/api.html

分句

分词

词性标注

命名实体识别

依存句法分析

语义角色标注

OK!有了上面对pyltp的感性认识,相信大家如果收到一份文本,通过使用以上的API,就可以轻而易举地分析出文本的信息。

 

关键词提取

 

例如我们要构建一个医疗问答系统,我们需要的信息如下:

病名
药名
科室
症状
可以吃的食物
不可以吃的食物

那幺我们拿到一份非结构化的医疗报告,我们改怎幺把非结构化的报告转化为知识图谱呢?

定义关键词
对文本进行NLP提取
匹配关键词,确定实体和关系
存入图数据库

例如病名,由于病名的数量是确定的,此时我们可以从某个医学的语料库找到大部分的病名,并定义为关键词

 

例如食物,一般来说食物前的动词时吃,食等动词,通过找到动宾结构,匹配动词,就可以确定谓语是食物

 

例如科室,通过命名实体识别找到所有的实体,并匹配是否包含关键词 ‘科’ ,就可以找到科室的名字

 

。。。。

 

功能

 

到目前为止,我们有了知识图谱,那幺基于它,可以做什幺呢?

 

成为其他机器学习输入参数

 

有了实体,有了关系,有了图,有了属性。

 

此时可以通过提取实体在图中的特征,并转化为vector特征,就可以对实体进行任何机器学习模型的输入参数

 

并进行更深度的数据挖掘。

 

 

Graph2vec

 

通过分析图的特征,并转化为vector的方法有很多,以下跟大家介绍Deepwalk

 

Deepwalk

 

每个节点都有一个向量w
对u进行随机游走t次
那幺就可以得到对u节点的1个序列(u,w1,w2, w3…wt)
通过skip-gram得出向量

 

知识抽取

 

有了知识图谱在图数据库中

 

我们就可以各实体之间的关系。

 

例如我问系统:苏格拉底死了没有?

 

Be First to Comment

发表评论

电子邮件地址不会被公开。 必填项已用*标注