我们身处万物互联、数据爆炸与人工智能技术蓬勃发展的时代,随着人们对掌握事物全貌和关联性分析需求的日渐增长,AI技术对于“让机器形成认知能力”的不懈追求和知识工程相关技术的日趋完善,作为AI技术之一的知识图谱在学术界与工业界掀起了一股研究与应用的热潮。
知识图谱是一个基于图模型实现多源异构和互联数据建模与应用的整体解决方案。遵循“things,not strings”万物互联的理念,通过用顶点表示实体、边表示关系,以符合人类认知的方式对现实世界进行概念建模,将人类世界爆发式增长的海量多源异构数据沉淀为知识,建立了各种知识服务,同时提供了基于图技术的高链接关系挖掘和关联性知识推理。
知识图谱基本概念
知识图谱。知识图谱(KG,Knowledge Graph)的概念由Google公司于2012年提出,是指用于提升搜索引擎性能的一个多源知识库。相比于传统知识库,KG强调使用图模型中的节点和边来分别描述关联知识的概念和关系,使得知识可以使用图论、图计算、图学习等进行深度查询、关系计算分析和链接预测。
通用知识图谱与行业知识图谱。继KG概念被提出之后,世界各大互联网公司纷纷布局了知识图谱,主要应用于语义搜索、个性化推荐、智能问答和关系决策等领域。而随着知识图谱在行业应用的不断探索落地,知识图谱分化出通用知识图谱和行业知识图谱的概念。通用知识图谱更类似于百科全书,面向全领域,比较著名的有Freebase、Wikidata、Yago、DBPedia等;行业知识图谱面向特定领域,如金融、公安、电商等。两者在构建流程和应用要点上存在较大差异,通用知识图谱侧重于图谱的构建技术,是从海量非结构化数据中进行实体与关系的抽取、融合;行业知识图谱则侧重于图谱的应用场景,是在知识图谱之上应用知识计算与推理技术,进行业务场景的落地。
金融知识图谱核心技术内容。作为行业知识图谱,金融知识图谱的核心技术在于图引擎,图引擎包含了图存储、图计算、图算法和图可视化四个核心层级。图存储层实现了将数据以图结构存储于以图模型指导设计的图数据库载体中,同时提供图数据的增删改查操作的能力,根据存储方式不同,图数据库又可以划分为原生图和非原生图;图计算层将复杂而专业的图的迭代式计算过程进行抽象并封装成接口暴露给外部,使得图的计算变得简单易用;图应用建模层承载了场景建模所需的基础图算法和在其基础上构建的自定义模型;图可视化层封装了图高效渲染和友好交互的技术框架。
知识图谱存储技术
知识图谱面向海量的图结构数据,需要依赖于图数据库进行数据存储,图数据库基于图模型进行指导设计,根据存储方式的不同又可分为原生图(native)和非原生图(no-native)。相比于传统关系型数据库,图数据库一是具有灵活的schema,支持多源异构的数据入图;二是具有优异的关联分析性能,能够支撑知识图谱高效深度关系挖掘和模型分析的需求。
1.图模型
图模型是基于图结构设计的概念模型,主要有资源描述框架(RDFs,Resource Description Frameworks)和属性图(LPGs,Labeled Property Graphs)两种模型。RDFs是W3C制定的用于描述实体/资源的标准数据模型,由节点和弧组成,适用于离线分析,主要应用于语义网、文本处理与分析以及学术研究领域;属性图是为了解决互联数据的高效查询、使用和存储问题而被定义的数据模型,由顶点、边(Edge)、标签、关系类型以及属性组成,适用于在线查询,相比于RDFs,属性图因为使用属性折叠了大部分边而获得了较高的查询性能,主要应用于工业实践。目前主流的开源图存储多基于属性图模型,包括Neo4j(企业版于2018年11月已闭源)、TigerGragph、OrientDB、ArangoDB、Azure Cosmos DB等。
2.图存储方式
图存储方式是影响图数据处理效率的关键因素之一,根据存储设计是否为图数据进行特定优化,图存储被划分为原生图和非原生图。原生图的优化设计实现了无邻接索引(index-free adjacency),极大地提高了遍历和更新性能,其优化主要包含了三点:1)节点和关系以固定长度进行存储;2)每个节点域包含了指向关系和属性列表第一个元素的ID信息,实现了节点记录的轻量级存储;3)每个关系域包含了指向关系起点和终点的节点ID。主流开源图存储使用原生图设计的相对较少,有Neo4j、TigerGraph等。非原生图的存储多依赖于已有的第三方存储系统和索引系统,如JanusGraph使用Hadoop进行图处理分析,支持扩展Apache Cassandra、Apache HBase、Google Cloud BigTable等存储系统,和Elasticsearch、Apache Solr等索引系统。
3.图数据库
图数据库是基于图模型实现数据创建、读取、更新和删除(CRUD)的实时数据库管理系统。根据数据量级、存储形式、处理和遍历性能进行划分,图数据库分为内存图、磁盘图、分布式图三种类型,处理性能依次递减,所能承载的数据量依次递增。开源的图数据库中,内存图如NetworkX、 iGraph,磁盘图如Neo4j、 OrientDB,分布式图如TigerGraph、JanusGraph和百度HugeGraph等。此外,国内各大互联网公司也提供了非开源的分布式图数据库,如腾讯星图、蚂蚁金服Geabase等。国内主流知识图谱厂商在图数据库上的选型不一,海致知识图谱平台和企业知识图谱采用ArangoDB,邦盛关联图谱的图存储组件正在从Neo4j向JanusGraph迁移,明略的Scopa产品采用JanusGraph,腾讯的知识图谱解决方案则使用了自研的分布式磁盘图—星图。同时,一是由于图数据库产品的百花齐放、各有千秋,二是由于行业内已经沉淀了一部分开源图数据库的技术栈,客户对厂商的图数据库有特定的要求,三是图数据库领域也在探索图存储设计的标准化,如封装了基本图操作和计算接口的开源框架TinkerPop,迫使各厂商逐渐开展了图数据库无关性的架构解耦工作。
金融知识图谱计算框架
金融知识图谱的计算主要是基于图的计算,业内将图的一系列操作进行了封装,形成了统一的图计算框架,通过接口抽象的方式,不仅使得高门槛的图技术变得易用,还实现了图存储、图计算和图应用模块的高内聚、低耦合设计。根据适用场景进行划分,图计算框架分为两种,一种是提供图增删改查操作、面向少量图数据离线分析的基本图计算框架,另一种是面向海量、TB级图数据离线分析挖掘的巨型图处理框架。
1.基本图计算框架
基本图计算框架通常由图数据库进行实现,实现同一套框架的图数据可以相互替代,目前主流的Apache TinkerPop开源图计算框架,提供了实时事务处理(OLAP)和离线数据分析(OLTP)的一套标准化抽象接口,以及“一次编写、到处运行”和协调多机器图遍历能力的图遍历语言Gremlin。目前实现了TinkerPop接口的主流图数据库有Titan、OrientDB、Neo4j、JanusGraph等。
2.巨型图处理框架
巨型图处理框架多基于分布式图进行设计,提供TB级数据的离线分析能力,而且相较于传统的大数据框架设计,其综合考虑了基于图算法的迭代式计算的特殊性、图数据结构的不均衡性等,面对图计算问题具有更加高效的处理能力。巨型图处理框架的核心技术内容包含了图切分模型和图计算模型,即存储的分布式和计算的分布式。
图的切分模型。图切分是基于最小化通信、图计算和存储开销的权衡对连通的图数据进行分区,是图分布式处理的基础。目前主流巨型图的存储模型有边切分和点切分两种存储方式。两种方式各有优缺点,自2013年GraphLab2.0推出,将其存储方式由边切分变为点切分,且在性能上取得大提升,点切分策略逐渐被业界广泛接受并使用,其原因可以概括为三点:一是点切分消耗存储资源,边切分消耗网络资源,而存储的成本小于内网通信资源扩展的成本;二是目前应用场景中,大多数网络都是遵循幂律分布的“无尺度网络”,即1%的节点占有了50%的边,边切分会使得邻居多的点所相连的边大多数都会被分配到不同的机器上,在信息同步时对内网带宽造成巨大压力;三是实际应用场景中,边(关系)的数量往往比节点(实体)数量大很多,边切分中,大多数边会被打断多副本保存,带来存储和计算上的不均衡。
图的计算模型。基于图的算法通常为迭代式计算,每一轮迭代中信息通过边在节点间传递,参与计算的节点集不断变化,直到算法收敛或达到一定的迭代次数。针对此,分布式图计算模型基于超步迭代和栅栏同步的BSP模式进行设计,目前存在两种比较成熟的图计算模型:Pregel和GAS。
(1)Pregel模型由Google公司提出,借鉴了MapReduce的思想,采用了中心点编程(Vertex-centric Programming)的图计算模式,让用户将复杂的迭代过程抽象为由一个顶点更新函数所实现的基于顶点的计算和基于边的消息通信。
(2)GAS模型由GraphLab提出,将顶点操作抽象成Gather、Apply、Scatter这三个阶段,Gather阶段搜集所有计算节点图数据中某个顶点的相邻边和顶点的数据进行计算,Apply阶段将gather到的数据应用到计算节点上,Scatter阶段将新的节点状态广播给邻居节点。相比Pregel模型的消息通信范式的同步模式,GAS模型更偏向共享内存风格的异步模式。
图计算框架概述。如表1所示,在众多分布式图处理框架中,综合考虑处理性能、易用性和社区活跃度等,凭借着Spark一体化流水线处理的GraphX更具市场竞争优势。
金融知识图谱应用建模方法
知识图谱提供了一系列的图分析方法,用于应用场景建模,如表2所示。作为人工智能(AI)技术的分支,知识图谱的分析方法遵循过去50年领域形成的三大范式,分为逻辑规则、概率方法和深度学习三个层级。现阶段,金融知识图谱的应用分析主要以用于静态分析的逻辑规则为主。
1.逻辑规则
业务规则。通过给实体、关系和属性附加一定的常识或业务规则,再将这些规则映射成图的逻辑,基于知识图谱上的链式规则推导,实现关系验证或实体查询。
子图结构。基于节点邻居、路径和其他节点中心性,查找满足一定结构的子图,如多节点共享的邻居节点、强连通图、紧密中心节点、中介节点等,或是更深层次地查询符合特定模式的子图,例如环型、分散汇聚型、火山型、黑洞型等。
2.概率方法
基于随机游走理论。以PageRank算法为典型模型,通过均等概率地在图上有关系的节点上进行跳转(游走),多次跳转后达到算法收敛,将链接关系信息映射成到每个节点的概率分布,从而得到关键信息在图上的分布,例如节点重要度排名、节点信任度排名、节点恶意指数分布。在PageRank基础上,不同的应用场景变换出了不同链接分析算法:TrustRank从专家评估筛选出的可靠性高的种子集出发,将其高信任等级向外链接传播,且信任等级随链接次数增多而降低,以此寻找到同样可靠的节点;SibylRank根据虚假账号与真实账号链接的有限性,从真实账号出发基于Early-Termination 随机游走,让信息阻断在真实账号所在群体,实现在线社交网络虚假账号检测。
基于社交网络理论。以LPA算法为基础,通过链接关系将已标记节点的标签传播给未标记节点,最终形成统一标签的“社区”结构,再基于社交网络理论进行社区分析,如基于“Guilt-by-association”假设,一个社区的欺诈样本占比很高,那这个社区的其他实体存在欺诈风险的可能性也会随之提高。相关的算法有根据迭代形成的历史标签数进行策略更新的SLPA,考虑标签传播随距离衰减进行策略更新的HANP,计算每个节点所属标签概率分布进行多社区划分的BMLPA,基于模块度计算的Fast Unfolding,基于Belonging Coefficient进行多社区划分的COPRA等。其中,Fast Unfolding在各计算框架中的集成应用较为广泛。
3.深度学习
结合深度学习对图数据进行社区检测、行为分析、节点分类、链路预测和聚类等。图数据不同于用一维序列表示的声音数据或二维矩阵表示的图像数据,由于没有规则的空间结构(Non Euclidean Structure),传统的卷积神经网络(CNN)在处理时无法保持平移不变性。针对此,行业发展提供了两种解决思路:一是通过图嵌入(Graph Embedding)将离散化的图结构(高维稠密的矩阵)映射为低微稠密向量,再输入到机器学习模型;二是直接构建适用于图学习的图神经网络,可直接输入图进行深度学习。2018、2019年图学习理论蓬勃发展,有关图学习的论文如过江之鲫,相关的应用框架也逐渐开源,如阿里的Euler、谷歌的Neural Structured Learning(NSL)等。
知识图谱可视化
知识图谱可视化是对海量网络数据进行高效而直观地渲染,专业的图可视化框架有KeyLines、Gephi、Linkurious、Cytoscape、Centrifuge,Tom Sawyer等,上述框架不仅针对图数据渲染优化了性能,还提供了一定的网络分析能力。而我们所熟悉的主流的前端可视化框架,如D3、Echarts等也提供了对图形数据可视化的支持,但对图的适配性不及专业的框架。
金融知识图谱应用难点与要点
1.金融知识图谱的认知
知识图谱在金融行业的应用仍处于初级阶段。金融知识图谱虽然已广泛应用于风控、营销、IT资产管理和数据管理等领域,但大部分是应用于简单数据查询和逻辑规则方式。在应用初级阶段,金融知识图谱发力的核心内容:一是将多源异构数据有机融合为一张关联图谱,二是将反映整体的网络特征提炼到单个实体信息中,实现关系特征从无到有的跨越。
知识图谱是一个可以广泛应用的辅助工具。知识图谱应用的广泛性在于拓扑连接的广泛性,任何事物都可以在赋范空间建立连接。同时,由于关联分析在整个数据分析方案中的有限性,金融知识图谱在应用过程中,往往作为一个辅助工具和其他技术结合使用,作为数据挖掘在关系维度的一个补充完善,对既有业务模型进行升级完善。
2.金融知识图谱的应用挑战
数据完整性面临挑战。知识图谱面向关系密集型数据,相较于其他数据挖掘技术更要求数据的完整性。若关联关系数据不全或图数据量过小,图将无法连通而形成一个个孤立的子图孤岛,会导致信息无法传播,基于此的关联分析可能退化成毫无价值的应用。上述问题在业务数据体量较小的中小银行中尤为凸显。针对此,不仅要考虑数据的积累,也要优化分析模型,减少数据完整性对分析结果的影响。
模型精准性需要关注。知识图谱建模的精准性同时依赖于对模型的业务特征和技术方法的深刻理解和实践经验,一是知识图谱数据建模的模型,即如何定义知识本体,例如,在异构图和同构图的选择上,是选择构建全量数据的异构图,还是针对特殊场景对实体和属性进行简化、对关系进行折叠的同构图;在关系定义尤其是抽象关系定义上,如何在无限制的关系定义中概括出对应用有价值的关系,包括实体间的共同爱好、共同购买关系、在特殊时段的联系、处理后获得的某种特征上的相似性等;二是数据分析的模型,如何对业务逻辑进行概括并映射成图能理解处理的模式,如担保风险中的担保链、担保圈、平台担保,映射到图分析中环形路径查找、担保社区发现和高维度节点算法等。
金融知识图谱应用
目前银行业内的知识图谱技术主要应用于以下三大方面:
银行数字化营销
智能产品推荐:银行面对的客户数量众多,千人千面,行为各异,要如何给客户作精准的产品推荐是一大难题。而知识图谱的构建过程,刚好可以把客户各类数据有机整合在一起,并且通过产品的关联分析和客群的关联分析,就可以精准的对客户进行产品推荐。另外,因为知识图谱的运算速度非常之快,所以给客户的推荐可以实时进行决策判断,提升客户体验。
潜在客户挖掘:通过关系梳理,知识图谱可以识别同一类客户,或者关联类客户,通过类似聚类分析的算法,我们可以将人工难以发现的潜在用户发掘出来,一可以提高产品营销成功率,二可以发现原来潜在的客户为我所用。比如企业客户的供应链,经销商,股东和其他关联方,通过外部数据配合,做好企业信息的提取、整合和加工,形成知识图谱中的相应节点,通过知识图谱算法进行挖掘和推荐,从而形成有效的潜在商机,助力银行客户经营转型升级。
客户关系梳理:银行客户营销的前期工作,就是全面的了解客户(KYC),过去没有金融科技的帮助,KYC工作只能依赖于客户经理手工完成。如今,在金融科技的助力下,我们运用大数据和知识图谱等技术,可以非常方便的梳理和展示企业的基本信息、关联信息和行为信息等全貌,可以有效识别客户的供应链、关联关系、集团关系等信息,通过知识图谱技术,可以识别任意多层关联关系,把原来人工难以识别的隐密关联信息都展示出来,极大程度解决了传统人工KYC信息调查不全,信息失真等问题,使得银企信息达到了充分对称。
银行风险控制管理
风险控制是银行的重中之重,但是长期以来,在很多风控领域,一直没有找到效果好、效率高的风控手段。随着金融科技的发展,知识图谱技术的进步,我们看到这些问题有望得到解决:
信用卡欺诈识别:应用知识图谱技术,可以有效解决信用卡虚假申请、信用卡套现、信用卡申请分欺诈等难点痛点问题,助力信用卡业务更加健康的发展。
电子银行反欺诈:在O2O的时代下,客户办理业务得到了前所未有的便利,但也随之而来并且愈演愈烈的反欺诈问题,羊毛党、职业欺诈团伙层出不穷,通过知识图谱技术,可以有效解决电子渠道被薅羊毛、被恶意申请等问题,为电子银行的发展保驾护航。
反洗钱:反洗钱需要对交易进行大量的决策分析和判断,对实时性的要求也很高,除了事后的批量分析和报告外,加强事中的交易分析和阻断也是未来的发展方向之一,通过知识图谱技术,可以有效提升反洗钱交易判断精准性,加快计算的速度,提升反洗钱的能效。
资金中介识别:通过知识图谱对资金汇划的数据分析,可以有效识别人工难以识别的资金中介,帮助业务部门做好排查,防范资金中介风险。
银行数据资产管理
银行的数据相互的关联性非常紧密,我们通过知识图谱,可以应用在数据血缘分析、数据标准迁移分析、统计指标口径溯源分析、科技的CMDB等方面,帮助梳理数据间的关联关系,厘清统计口径的计算方法,让数据“看得清来龙去脉、算的明统计口径、查的到底层数据”,知识图谱在数据资产管理上必将发挥更大的作用。
结语
可以预见在未来很长一段时间内,知识图谱将成为大数据智能的前沿研究问题。学术界在持续地推进技术的研究与创新,工业界在积极地探索业务落地的场景。金融业要做好基础平台建设,把握技术发展动态,从实际业务发展痛点出发,用好知识图谱这把利器。