知识图谱在大数据中的应用

随着移动互联网的发展,万物互联成为了可能,这种互联所产生的数据也在爆发式地增长,而这些数据恰好可以作为分析关系的有效原料。如果说以往的智能分析专注在每一个个体上,在移动互联网时代则除了个体,这种个体之间的关系也必然成为我们需要深入分析的很重要一部分。在一项任务中,只要有关系分析的需求,知识图谱就“有可能”派的上用场。

说到关系的重要性,我们先来看一个有意思的理论,六度分隔理论(英语:Six Degrees of Separation),相信大家也都听说过,这个理论认为世界上任何互不相识的两人,只需要很少的中间人就能够建立起联系。

哈佛大学心理学教授斯坦利·米尔格拉姆于1967年根据这个概念做过一次连锁信实验,尝试证明平均只需要6步就可以联系任何两个互不相识的美国人。这种现象,并不是说任何人与人之间的联系都必须要经过6步才会达到,而是表达了这样一个重要的概念:在任何两位素不相识的人之间,通过一定的联系方式,总能够产生必然联系或关系。知识图谱为我们打开了一个全新的认识事物的思维方式。

知识图谱是什么

知识图谱用一句话说就是用图的形式去存储和表示知识。知识图谱本质上是语义网络,是一种基于图的数据结构,由节点(Point)和边(Edge)组成。在知识图谱里,每个节点表示现实世界中存在的“实体”,每条边为实体与实体之间的“关系”。

知识图谱是关系的最有效的表示方式,它用图的形式描绘了我们的现实世界。下面我用知识图谱表示了日本著名动画导演宫崎骏和他的作品以及他的作品和演员之间的关系。从图中可以看出,宫崎骏导演了包括《龙猫》在内的多部电影,而电影《龙猫》的演员有高木均等。这样千千万万个导演,演员和电影联系在一起,就形成了一个电影的知识图谱。


该图是用Neo4j展示的

知识图谱的由来

知识图谱是由Google公司在2012年提出来的一个新的概念。知识图谱,即一种特殊的语义网络,它利用实体、关系、属性这些基本单位,以符号的形式描述了物理世界中不同的概念和概念之间的相互关系。

知识图谱旨在通过建立数据之间的关联链接,将碎片化的数据有机的组织起来, 让数据更加容易被人和机器理解和处理,并为搜索、挖掘、分析等提供便利,为人工智能的实现提供知识库基础。

Google为了提升搜索引擎返回的答案质量,推出了知识图谱概念。有知识图谱的辅助,搜索引擎能够根据用户查询背后的语义信息,返回更准确、更结构化的信息。Google知识图谱的宣传语“things not strings”道出了知识图谱的精髓:不要无意义的字符串,需要文本背后的对象或事物。

以罗纳尔多为例,当用户以“罗纳尔多”作为关键词进行搜索,没有知识图谱的情况下,我们只能得到包含这个关键词的网页,然后不得不点击进入相关网页查找需要的信息。有了知识图谱,搜索引擎在返回相关网页的同时,还会返回一个包含查询对象基本信息的”知识卡片“,如果我们需要的信息就在卡片中,就无需进一步操作了。也就是说,知识图谱能够提升查询效率,让我们获得更精准、更结构化的信息。


当然,这只是知识图谱在搜索引擎上的一部分应用场景。举这个例子也是为了表明,知识图谱这样一种概念或者技术,它的诞生是符合计算机科学、互联网发展潮流的。

知识图谱的存储

知识图谱主要有两种存储方式:一种是基于RDF的存储;另一种是基于图数据库的存储。它们之间的区别如下图所示。RDF一个重要的设计原则是数据的易发布以及共享,图数据库则把重点放在了高效的图查询和搜索上。其次,RDF以三元组的方式来存储数据而且不包含属性信息,但图数据库一般以属性图为基本的表示形式,所以实体和关系可以包含属性,这就意味着更容易表达现实的业务场景。


根据最新的统计(2018年上半年),图数据库仍然是增长最快的存储系统。相反,关系型数据库的增长基本保持在一个稳定的水平。同时,我们也列出了常用的图数据库系统以及他们最新使用情况的排名。 其中Neo4j系统目前仍是使用率最高的图数据库,它拥有活跃的社区,而且系统本身的查询效率高,但唯一的不足就是不支持准分布式。相反,OrientDB和JanusGraph(原Titan)支持分布式,但这些系统相对较新,社区不如Neo4j活跃,这也就意味着使用过程当中不可避免地会遇到一些刺手的问题。如果选择使用RDF的存储系统,Jena或许一个比较不错的选择。


知识图谱的应用

从一开始的Google搜索,到现在的聊天机器人、大数据风控、证券投资、智能医疗、自适应教育、推荐系统,无一不跟知识图谱相关,它在技术领域的热度也在逐年上升。下面我们简单介绍下几个典型的应用。

反欺诈

知识图谱在反欺诈作用非常大,反欺诈最终目的是识别坏人,把坏人跟其他的未知人群的关系找出来,从而认定其他未知人群是否是坏人,这个跟信用模型是很不一样的,如果原来只能看一层的关系,现在可以看两层三层四层,效果就完全不一样了,很多团伙、中介实际上是要看很大规模的一张网,看很多层关系,关系之间还有强关系、弱关系。

下图是我们将知识图谱应用于反欺诈中的示例图:



目前将用户信息,设备信息及社交关系构建了一个异构网络,并将该异构网络图应用在用户关联分析及反欺诈检测场景。根据数据图我们可以对用户做以下调查分析,来确定特定的用户是不是欺诈用户或者是不是与欺诈用户有关联:

  • 通过特定规则筛选可疑用户
  • 查看与可疑用户有特定关联的用户
  • 查看与可疑用户有特定关联的所有用户组成的子网的网络特征及用户特征
  • 分析特定用户可以通过什么样的关联关系关联在一起
  • 可分析多层关联关系的数据

通过该方式,我们大大减少了调查过程中的工作量,整体提升效率。

智能搜索

智能搜索的功能类似于知识图谱在Google, Baidu上的应用。也就是说,对于每一个搜索的关键词,我们可以通过知识图谱来返回更丰富,更全面的信息。

推荐引擎

通过知识图谱,查询某节点的消费情况可为其推荐关联度高的可能消费的商品。

精准营销

一个聪明的企业可以比它的竞争对手以更为有效的方式去挖掘其潜在的客户。在互联网时代,营销手段多种多样,但不管有多少种方式,都离不开一个核心——分析用户和理解用户。知识图谱可以结合多种数据源去分析实体之间的关系,从而对用户的行为有更好的理解。比如一个公司的市场经理用知识图谱来分析用户之间的关系,去发现一个组织的共同喜好,从而可以有针对性的对某一类人群制定营销策略。

总结

本文主要介绍了下知识图谱相关概念和在大数据分析中的一些应用。知识图谱为互联网上大数据表达、组织、管理以及利用提供了一种更为有效的方式,使得网络的智能化水平更高,更加接近于人类的认知思维,塑造出了反欺诈、智能营销、商品推荐等应用场景,给我们提供了更多思考和分析问题的方法。

推荐阅读:
强烈推荐极客时间王争老师的《数据结构与算法之美》课程,目前已有8万多人购买,应该是极客时间购买人数最多的课程,有需要的可以扫下面二维码购买。质量绝对优质,反正我读了受益匪浅。比如讲Redis的有序集合底层数据结构为什么用跳表时,老师会从二叉搜索树,B+树开始讲起,让你同时了解了这三种数据结构的异同和应用场景。

image

推荐阅读更多精彩内容