图计算思维与实践 概览

Posted Mr-Bruce

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了图计算思维与实践 概览相关的知识,希望对你有一定的参考价值。

前言

说起图计算,可能很多人能想到的是曾经学过图数据结构、复杂网络等,对于其在工程中的实际应用知之甚少。亦或者,很多人听说过知识图谱,却很少想过它是用一种什么样的方式在解决什么样的问题,能否引入到自己的业务领域里面。

本文的主要内容源自我在项目组的一次分享,主要包含三块:概览、核心概念与算法、在项目中的实践。本意是期望通过分享,能让大家对图计算能有更好的认识,能在合适的业务场景下运用图思维去解决一些实际问题。这里将其整理成博文,期望能对同道中人有所帮助。

另外,本文在概览部分会提及多个产品与应用,这些只是用来阐述要表达的内容,并无广告之意。

一个有趣的App

我们先从一个有趣的App说起。“全历史”,是我在刷知乎时偶然看到别人推荐的一款App,下载后把玩一番,越看越有趣。传统我们了解历史的方式,都是一篇篇文章去阅读,而“全历史”从海量历史信息中将人物、事件、时间、地点等等,以及它们之间的关系进行了提取,构建了知识图谱,让我们有机会从一些不一样的视角去了解历史。其中,“关系图谱”和“AB路径”是两个非常有趣的版块。

在“关系图谱”中,我们可以搜索一个历史人物或者历史事件,返回的结果并不是包含这个关键词的很多文章,而是一张以该人物或事件为中心的图结构。以搜索“汉武帝”为例,返回结果给出了与汉武帝有关联的人物、事件、地点等以及对应的关系。通过这样的图结构,我们可以很直观的了解汉武帝的相关信息,然后有选择性的进行深入阅读。

“AB路径”让我们可以探寻任意两个人物或地点之间的关系,你可以天马行空的输入任何关键词,它总会给出一些有趣的结果。比如,“孙中山”和“汉武帝”,你能想象出他们之间的有什么关系吗?搜索结果给出了很多关联路径,虽然有些看起来比较突兀,却给我们了解历史提供了一些新的视角,帮助我们发现一些不曾想过的信息。

知识图谱与社交网络分析

信息展示直观、探寻潜在的有关联的历史知识,是“全历史”给我的最大的印象,也是知识图谱的威力所在。那么,究竟什么是知识图谱?

当我们在Google中搜索一个东西时,Google看到的是我们输入的一个关键词,它会去全网中查出包含了这个关键词的网页。而从人的视角来看,我们搜索的目的是为了了解一个事物,不是单纯的字符串匹配。为了更好地理解人的搜索意图,提高搜索结果质量,Google在2012年5月提出了知识图谱的概念。“Things, not strings.”,是当时出发点,感兴趣的读者可以进一步阅读《Introducing the Knowledge Graph: things, not strings》。

Google从多个信息源(比如Wikipedia)提取相关领域的人物、事件、时间等元素,以及它们之间的关系,构建图谱。当用户搜索某个关键词时,可以快速提取出与其有关联的元素,并以卡片的形式呈现在搜索页面的右侧。比如,搜索“Donald Trump”,除了返回包含这个关键词的网页,还有右侧的知识卡片,里面有川普的各种基本信息。

知识图谱,由知识(Knowledge)和图谱(Graph)两个词构成,后者是最终的表现形态,而前者是界定这种表现形态的范畴。在Google提出这个技术概念之后,知识图谱很快被衍生应用到很多不同的领域,目前来看,做的好的都是在某些细分特定领域的应用,比如前面提到的针对历史知识的图谱,也就是说大家会在某个范畴内来应用。而对于图谱,其由大量节点、节点之间的关系构成,比如下图关于美国大选知识图谱的一部分,里面的川普、拜登、2020大选、宾西法利亚大学都是节点元素,箭头表达的是他们之间的关系。

在Google提出知识图谱的技术概念之前,学术界已经有很多关于语义网络的研究。语义网络,是通过图对知识进行表达的一种方式,普遍认为是知识图谱发展的理论基础。综合来看,由节点元素和元素之间的关系构成图,由图构成网络,而知识图谱是构建在网络之上的针对某个特定领域的应用。

除了知识图谱,图计算在社交网络分析领域也有着重要的应用。我们今天使用的微信、微博、大众点评等,都有着不同程度的社交信息,由人、事件以及相互的关系构成了社交网络。下图是我在2016年做的一个针对用户在微信端的转发关系以及带来的引流效果的分析,从而给出相应的激励。

图思维

讲到这里,我想整理一下什么是图思维。下图是美剧《越狱》中Michael准备进入监狱营救哥哥之前的画面,他花费了很长一段时间来调查研究,将各种因素贴到墙上,用线串起来,然后一遍又一遍的推演思考。我们在很多其他侦探电视里面也能看到类似的场景。他们为什么要这样做?

这是一种帮助思考、寻找线索的方式,把已知的信息以及信息之间的关系列出来,然后通过关系推理得出新的信息。图思维的核心,在于联系,当我们思考的重点在于事物之间如何联系,或者期望通过联系去产生一些新的发现的时候,其实已经运用了图思维。知识图谱、社交网络分析等都是在运用这样的图思维的方式去解决实际业务中的问题。

我们再来看看,当你期望运用图思维时,需要做哪些事情?如下图所示,主要分为两块:

  • 图构建,即从诸多数据源中提取节点、节点之间的关系。对于结构化和半结构化数据而已,通常有比较明确的结构定义,提取起来会相对容易一些;而对于非结构化数据,则需要利用NLP等方式来进行语义理解,提取所需要的领域知识。对于提取出来的信息,有时还需要进行消歧,比如“李娜”,有歌手、网球运动员等多个人,那么具体对应的是哪个,则需要结合上下文来作出判断。图构建的难易程度,取决于具体的业务场景和已有数据源。
  • 图探索,即利用图与网络中的信息与特性来解决问题。最基本的应用是根据给定的节点或关系进行图数据查询,输出相应的关联信息;其次是网络特征分析,比如寻找有影响力的节点等;最后是知识推理,用于发现新的关系与属性。

更多的应用

最后,我们来看看图计算在其他领域的一些应用。

“企查查”,针对工商领域的企业信息构建知识图谱。我们可以在这里面查到一家公司的核心人物、投资公司等的关系信息,以及基于这些信息的深层挖掘,比如实际控制人、股权穿透等等。

在风控、反洗钱等金融领域的应用。这块并没有形成系统的知识图谱,而是针对某些特定业务的图计算应用,比如在反洗钱方面,通过构建账号、账号之间的交易关系的图谱来寻找异常交易社团。下图所示是我之前看到的一篇非常好的文章,感兴趣的读者可以自行百度查阅。

在网络安全领域,我们在诸多公司的白皮书中有看到基于图计算的核心引擎,比如Crowdstrike的Threat Graph Database。在Google的VirusTotal中,也看到基于IP、Domain、文件MD5等之间的图关联信息。我们也有利用图计算来实现数据挖掘分析,会在第三块“项目实践”中阐述。

小结

图计算在我们的工程领域有着广泛的应用,尤其以知识图谱、社交网络分析为主。当我们尝试思考事物之间关系,或者期望通过关系去产生一些新的发现的时候,不妨考虑下图计算是否可以很好的解决问题。



(未完待续,本文地址:https://bruce.blog.csdn.net/article/details/111768881

版权声明:本人拒绝不规范转载,所有转载需征得本人同意,并且不得更改文字与图片内容。大家相互尊重,谢谢!

Bruce
2020/12/27 下午

以上是关于图计算思维与实践 概览的主要内容,如果未能解决你的问题,请参考以下文章

图计算思维与实践 概览

图计算思维与实践 项目实践

图计算思维与实践 项目实践

图计算思维与实践 项目实践

图计算思维与实践 核心概念与算法

图计算思维与实践 核心概念与算法