除了知识图谱,图还能做什么?
作者:鲍翰林,TigerGraph 高级解决方案顾问
提到图,大家可能不怎么了解,但是提到知识图谱(knowledge graph),绝对是当前的热门话题。近年来,各个行业涌现出大量的垂直应用及服务提供商,各个企业,从技术到业务的各个条线,纷纷学习知识图谱的概念、技术、建设方法。** 知识图谱,是对现实世界的抽象,通过点和边描述实体之间的关系,构成一个大型的语义网络,提供一种从关系的视角来观察世界的方法。但究其本质,知识图谱其实只是图的其中一种应用。** 那除了知识图谱,图还能做什么呢?
一、图直观体现了实体之间的联系
提到一个新的东西,首先要知道它是什么。相信之前对图有了解的小伙伴,一下子就能说出图的概念:图(graph)是由一组或多组点以及点和点之间的关系(也被称为边)组成的。比如知识图谱,实际上是把知识提取出来做连接,如果仅仅是把数据连接起来,那可能只是一个数据图谱。但是在我们与客户实际交流的过程中发现,只知道图的概念,是没办法真正切换到图的思维方式的,而图的思维方式,对于重新思考业务,有着非常大的价值。
** 什么是图的思维方式呢?** 让我举个例子,这个场景大家一定不会陌生。白板是公司里最常使用的工具之一。当遇到一个问题需要群策群力的时候,我们会召集一些小伙伴,到一个会议室里进行头脑风暴。首先,抛出几个议题,大家发散思维,将想到的东西尽可能多的写在白板上。然后,将这些信息进行分类、排序,或者绘制一些流程。当苦苦思索,陷入僵局的时候,我们会紧盯着白板上的信息,飞快地运转自己的大脑,期望能想出一些新的点子。忽然,灵光一现,可能是白板上的某些东西和自己脑中的信息产生了碰撞,也可能是白板上某些信息之间,貌似有一些新的联系,就这样,一个新的点子产生了,我们可以就这个点子进行新的讨论,并重复这个过程。而解释这种想法,我只需要把自己的想法写在白板上,并重新理清关系。
听起来很熟悉吧?没错,这其实就是我们自然的思考方式,也就是图的思维方式。这个例子中,最重要的是联系(connection),我们需要把每个人脑中的信息联系起来,去发现一些新的东西,同样地,当我们向别人解释自己的想法,用图的方式去解释这些信息如何联系在一起,构成一个想法,别人也更容易接受。
在侦探电影中,我们经常看到侦探把案情的所有信息贴在墙上,去发现里面一些隐藏的关系,因为这很有可能是破案的关键。如果家里的实体书种类繁多,散落在各处,我们在思考的时候,很有可能偶然看到某本书,想到了其中的某些内容,把它们和思考的内容结合起来产生一些新的想法。跨学科思维,其实也是将一些可能看起来毫不相干的内容联系起来,产生新的想法或者解决方案。
二、图思维其实就是发现联系的过程
所以图思维,核心是联系(connection),当我们思考的重点在于事物之间如何联系,或者期望通过联系事物去产生一些新的思考的时候,其实已经运用了图思维。
而意识到这是一种图思维,会有什么样的意义呢?还是举个例子,这其实会让我们多一种解决问题的方式。
这是斯坦福大学《数理逻辑与人工智能》中的一个问题。
看到这个问题的第一反应,你可能会想着用纯逻辑推理的方式来解决这个问题。但是如果用图的思维方式,我们将解决问题的重点放到了情况之间的联系上。我们可以先构造一个认知图(Epistemic graph),列出所有的 8 种可能情况,通过不确定边来连接可能情况,去看每个人的认知和可能情况之间的联系,然后根据条件结合每个结点的邻边,不断缩小图中的结点的范围,最后推理出结论。这种方式会让这个问题变得更加简单。
** 图是一个高度抽象的模型,数据中的各种关系都能用图表示。** 图中的点和边,可以非常灵活,不局限于现实意义的实体。最直接能想到的当然是某个人可以是点,某个产品可以是点,它们之间的联系是边;路口是点,路口与路口连接的 XX 路是边。但你完全可以把某个产品的某个特性抽象成点,比如颜色、重量;XX 路抽象成点,路口也抽象成点,XX 路和 YY 路的连接是边。甚至再扩展到一些虚拟的实体,比如可能的情况是点,某笔交易是点,某个订单是点。甚至到某些分子是点,分子之间的连接是边(没错,图是可以用在化学 / 生物等学科上的)。图由你自由定义,可以连接人,连接物,连接知识,连接数据,连接规则,连接过程,连接抽象的和实际的实体。
三、图在企业中的实际应用和价值
** 图能给企业带来什么价值呢?上述的两个例子可能已经给了你一些启发。图非常擅长通过联系发掘数据中隐藏的价值。** 在国外,其实已经有非常多行业的客户在用图做实际应用,囊括了金融、电信、电商、能源、医疗、供应链、制造、政府等各个行业。图本身并不是一个垂直行业的技术,而是通用的技术。
在金融行业,图可以进行申请反欺诈、反盗刷、信用卡追逃、洗钱团伙发现,事前事中发现潜藏风险,事后降低损失;在电信行业,图可以和机器学习结合,帮助客户进行电信反欺诈,实时识别出欺诈电话、广告电话、骚扰电话、正常电话,并及时报送公安部门;在电商行业,图可以构建用户 360 画像,帮助客户进行实时个性化产品推荐;在能源行业,可以构建电网一张图,进行潮流分析,实现超实时计算;在医疗行业,图可以对用户进行实时护理路径推荐;在供应链行业,客户可以通过图及时了解某项因素发生变化时,对上下游及总体成本的影响,发现产品延误、装运状态及其他质量控制和风险问题;在制造行业,图可以找到复杂生产工艺的最佳路径;在政府行业,图可以改进社会福利服务管理。在通用行业,图可以进行数据治理中的数据血缘分析、实体解析,网络 &IT 资源优化,为机器学习提供图特征。
国内的应用场景主要集中在金融行业。当然,图用来做反欺诈、反洗钱等,是非常适合的,这些也是很成熟的应用。其他行业为什么没有对图进行大规模的应用呢?其实是因为,对图有了解的人,基本集中在学术和计算机领域。而想要将图的价值发挥出来,需要业务人员的参与和思考,因为业务人员是最懂业务的。理解和使用图的思维方式,是应用图解决实际问题的第一步。
四、应用图分析的条件和工具
我们通常把这种用图去分析问题的方式叫做图分析(Graph Analysis)。我们认为,如果想要应用图分析给企业带来真正的价值,需要图的思维方式(产生需求**&问题)+企业数据(解决问题的数据基础)+解决方案(解决问题的方法)+**工具(选择合适的工具解决问题)。
图的思维方式
由于历史原因(有兴趣的小伙伴可以了解一下数据库的历史,导航数据库**-关系型数据库-nosql数据库-**图数据库),当我们思考业务和数据结合的时候,往往会考虑技术的限制,应用关系型数据库的方式,也就是用表的思路来思考,这会极大的限制我们的思路。而现在有了新的工具——图数据库,可以将我们的想法更直接的与工具结合,不需要再将最初的想法打碎成一个个表格,再通过表格来表示实际业务。
举一个企业反薅羊毛的实际场景,薅羊毛是指商家或金融机构为了拉新会举办一些推广活动,比如每邀请一个新用户注册,可以获得一定的积分奖励,这些积分可以兑换现金、优惠券或者奖品。活动上线会吸引黑产团伙,这给推广方造成了大量的资金浪费。薅羊毛和反薅羊毛成为了黑产团伙和推广方之间的博弈。
针对这种推广活动,关系型数据库里最简单的存储方式是分为邀请注册表和积分兑换表两张表,通过统计的方式去识别黑产团伙,比如每个独立设备登陆的账户数,每个 IP 上登陆的账户数等等。然而黑产团伙可以通过群控设备,虚拟 IP 等等技术来绕开这些检测。
但如果转换成图的思维方式,着重从关系的角度去分析,会发现一些非常有趣的模式。用户邀请注册的这些新用户,他们既没有产生新的交易,也没有邀请新的人,甚至还按时间形成非常有序的排列,这毫无疑问也是薅羊毛的一种模式,单纯通过统计很难发现。(详情可参考https://beader.gitbook.io/tigergraph-tutorials/usecases/invite-graph-econnoisseur-detection/background)
所以第一步,需要业务人员切换到图的思维来重新思考业务,找到那些以前解决困难或者解决不了的复杂业务问题,尝试用图的思维方式来解决,甚至找到一些新的业务价值点。
企业数据
我们的想法往往需要通过数据分析来验证或者落地。当我们的数据量巨大,且类型复杂的时候,单纯的统计分析已经没办法满足我们的需求了。业务人员在进行探索式分析时,需要多维度思考,落地到关系型数据库里,就体现为多表关联,在数据量巨大的时候,这对关系型数据库是个灾难。而采用数据仓库和大宽表的方案也不尽如人意。本质上是因为,这些技术的重点并不是在数据之间的关系上。应用图分析平台,业务人员和数据分析人员,都可以从数据的角度出发,去做一些探索,找到一些隐藏的联系。尝试从关系的角度,发掘出新的价值。
解决方案
当有了想要解决的问题和解决问题的数据基础,还需要解决问题的方法。我们可以把行业经验和图算法结合起来。可以从简单的关系查询开始,比如看新进客户是否和一个已有黑点连接,基于已有的规则做更深度的探索,通过子图判断两个客户是否相似。同时,还可以利用一些图算法做辅助,比如我们想要发现一些隐藏的洗钱团伙,欺诈团伙,可以用图中衡量群体度的算法——鲁汶算法(Louvain Modularity);我们想要找到所有客户中最有影响力的人(KOL),可以用图中衡量中心度的算法——页面排名算法(PageRank)。当找到一些模式后,可以通过图上的模式匹配找到所有的相似客户,并通过一些目标值做反复的验证和迭代。业务人员、数据分析人员、IT人员都可以参与到其中,包括一些经验丰富的解决方案提供商,都是我们有力的帮手。
工具
从业务的探索到最后的落地应用,需要一个安全易用、稳定可靠的工具支持。更重要的是,要选择合适的工具。
首先,如何使用图,是纯粹的做图的可视化?还是做图的查询计算?还是做图的数据和业务探索?
其次,是否传统的关系型数据库就能解决这个问题,或者图数据库才能解决这个问题,还是需要多种工具结合使用。
最后,关于工具本身的功能。业务人员可能更加关注探索与交互的易用性;开发人员可能更加关注开发的便捷性,语言是否强大;运维人员可能更加关注系统管理、资源监控。不同的角色有不同的关注点,这都是工具需要解决的问题。
看完上述四个步骤,你肯定会有很多问题,比如,怎么从数据的角度在图中做探索呢?有没有什么已经落地的,图的解决方案?关于企业不同角色对于工具的关注点,TigerGraph 能够满足吗?由于篇幅有限,这些问题,我们会在后续的内容中一一解答。
总结一下,除了知识图谱,图还能做什么呢?Think in graph, and you will find it.