导读2018 年开始,中信证券基于 Neo4j 社区版构建了各类图谱应用,然而在使用 Neo4j 过程中,出现了不能支持多实例部署、性能不佳、高可用性需求难以满足等问题。在 2021 年开始与星环合作,基于其分布式图数据库 StellarDB 和知识图谱 SophonKG,开发了一款全新的企业级知识图谱平台。此外还进行了大量定制,构建了端到端的图机器学习框架,以支持各种应用场景。本次分享将侧重于实践的角度,分享中信证券知识图谱平台构建的实践成果和经验总结。
今天的分享将围绕下面五点展开:
1. 项目背景
2. 解决方案
3. 项目价值与成果
4. 实践总结
5. Q&A
分享嘉宾|陈辉华 中信证券股份有限公司 高级副总裁
编辑整理|张阳
内容校对|李瑶
出品社区|DataFun
中信证券公司是中信集团旗下的一家子公司,成立于 1995 年 10 月,是国内首家资产规模突破万亿的证券公司,其主要财务指标连续十年保持行业第一。作为龙头券商,中信证券在行业内具有领先地位。
01
项目背景
1. 解决问题
2018 年是图数据库爆发的元年。我们基于 Neo4j 社区版构建了一些图谱应用,最早是类似于企查查的企业关联图谱。在使用 Neo4j 过程中遇到了一些问题,比如不能支持多实例部署、性能不佳、高可用需求难以满足,以及缺乏统一的资源和权限管理等。
于是在 2021 年,我们与星环科技合作,构建了一站式图谱管理平台。我们选择星环的原因是国产化需求增加,特别是金融领域对此需求强烈,很多大型银行都采购了国产图数据库构建平台。另外,星环在金融领域有着其独特的优势和丰富的应用场景,尤其在反洗钱和集团派系方面有很多成功经验。基于这些因素,我们最终选择了星环。
2. 投入和成效
基于星环科技分布式图数据库 StellarDB 和知识图谱 SophonKG,我们打造了一款全新的企业级知识图谱平台。在这个平台上,我们进行了大量定制,开发了各种应用。该平台拥有百亿级别的大规模分布式图计算能力,同时可提供丰富的可视化效果和 API 接入能力。我们逐步构建了一个端到端的图机器学习框架,用于支持各种应用场景,并取得了一些成果。
02
解决方案
整体的逻辑架构如上图所示。我们的目标是建立一个通用的知识图谱智能平台。数据源丰富,除了面向企业的关联图谱外,还有内部图谱和数据血缘图谱。星环产品具有丰富的通用组件,例如权限管理工具、多模存储和最新提供的 Quark 计算引擎,支持图计算和多模态计算。在此基础上,我们建立了三个平台,一个是图计算平台,引入了传统机器学习组件和图计算,典型应用是路径分析和深度图路径挖掘等;第二个是知识图谱平台,具备图谱构建、管理、查询、分享和发布的能力,特色包括图谱搜索和案例分享等;第三个是大数据平台 API,满足用户对平台的 API 需求,提供了深度路径分析、关联发现等算法,通过 API 供下游应用使用。
项目分为两个阶段,第一阶段就是前文提到的 2021 年的平台构建。第二阶段是在 2023 年 6 月,我们进行了一次扩容。这次扩容是基于 StellarDB 5.0 进行的架构升级,引入了新功能,例如支持时序展示等。我们进行了架构升级,实现了 TP(事务处理)和 AP(分析处理)的分离。
03
项目价值与成果
1. 实用性
知识图谱平台具备的主要能力包括:
多模查询和存储。使用统一的 Quark 计算引擎,可以将传统的 SQL 和 Cypher 相结合,实现了高效的关系型数据库和图数据库的融合。最新的版本还引入了 SCOPE 全文检索工具,支持Hive、文本文件和图模型等多模态存储,使得查询变得更简单高效。
多场景应用。扩展了应用场景,包括自助分析平台,使得业务可以轻松进行图探索。还提供了丰富的可视化效果,支持多种布局,并根据属性大小调整图形的展示大小等功能。此外,平台还集成了图机器学习能力,赋能集团派系算法、ETF 推荐和场外配资等场景。
高性能。在计算引擎侧,引入了本地模式和分布式模式,根据查询的复杂度自动选择查询策略,使得简单查询可以在本地快速完成,而复杂的图计算则会采用分布式策略。作为原生的分布式图数据库,它具备处理百亿级图计算的能力,采用了自研的 KV 存储技术。
高可用。通过多节点 HA 方式提供高可用性服务,支持版本切换,并借助 Kubernetes 实现了自动恢复和 DAG 计划,保障系统稳定性和性能。
下面介绍一些应用场景。
(1)同一客户集团画像
在金融领域,我们以企业关联图谱为基础构建了同一客户的集团画像。主要逻辑是通过鲁汶社区发现算法首先挖掘一个集团的簇,然后沿着关系向上寻找其归属集团。与传统的企查查或者天眼查的不同之处在于,我们有一些独特的规则,例如对于类似银行、保险或大型金融机构的处理,我们认为这些不需要再向上追溯至集团,而可以将其作为顶部节点放在属性中,并通过特定规则确定搜索路径截止点。对于有限合伙企业,采取 GP 分支,将 GP 视为实控人的概念,与 LP 作为财务投资的区别。针对集团或控股也有一些特殊的处理。我们还发现了一些有趣的情况,如信托类财务投资中的控股企业其实不应该归于信托企业。我们进行了大量的实体融合,将国内企业与境外企业对齐,具备了一定的国际化数据能力。
(2)科创板关联发现
第二个应用,是对两家企业之间是否存在关联关系进行分析。这种关联关系可能是不确定长度的,我们可以进行关系过滤和属性规则的筛选,比如持股比例范围在 30% 到 5% 之间的情况。这些规则通常是根据业务需求来制定的。举例来说,如果一家上市公司有很多限售股,那么在和关联方进行交易时就不能进行融券卖出,以避免利益输送问题。我们会运用图计算和深度路径算法来实现这样的场景分析。
(3)风险事件报告
第三个应用是风险事件报告,结合了舆情分析的功能,主要包括两部分。首先,业务人员可以在系统上查询某企业及其关联企业在一段时间内受某舆情事件影响的情况。其次,根据设定的规则,比如筛选出民营企业的董事长出现问题可能对企业造成较大影响的情况,系统会触发邮件通知。在通知过程中,系统会查询企业关联图谱,分析其持仓、衍生品标的以及作为客户的各种业务条件的持仓等信息,最终生成影响报告供领导查看。
(4)全球企业关联图谱
以上应用场景都是基于我们在产品中构建的一个企业关联图谱。融合了境外数据,构建了 19 种关系,大约包括 3 亿个实体和 4 亿个关系。需要特别指出的是,在这个过程中,比如说控股方的计算,是基于传统的工商数据,以及境外企业的数据融合,比如我们购买了商业版的境外数据,约有 1000 多万条这类数据,国内则大约有 1 亿家企业的数据。在这些股东关系的基础上,我们采用图技术,实现了 5 度以内直接或间接持股最多的第一大股东作为控股方,基于这个控股方构建了前述集团画像。其他方面则涉及企业与金融产品的关联,例如基金的成立、托管方以及投资者身份等信息,也是从这里收集数据的。图中下面部分关于产业链的数据,是与另一家合作伙伴合作构建的。
(5)产业链图谱
上面提到的产业链图谱是一个展示产业链关系的应用。通过分析中游、上游和下游企业情况,客户经理可以挖掘潜在客户。供应链就是直接向某家企业供货的情况。可以看到这些相关企业是已开发型的、已服务的企业,还是有待客户经理去开发的。涵盖了 28 个行业、2 万多家企业,涉及 3700 多家上市公司,为客户经理提供产业链服务,从而实现各种营销。
(6)投研图谱
投研图谱是我们的一个课题项目,是与星环科技合作完成的。这个课题探讨的是从政策新闻到产业链传播,再到影响个股的因素,形成的投研解决方案。现阶段市场上还没有类似的解决方案,这是一项具有创新性的工作。在这个过程中,与图谱关系最相关的是类似传播算法的运用。这种传播类算法并不采用 PageRank 这种方式,而是使用拓扑排序的方式,先传播某个点,等所有路径完成后再向下传播,以此反映产业链的实际客观传播路径。
(7)反洗钱与稽核图谱
在反洗钱和稽核领域,这是一个连通子图的应用。如果某家企业或者客户有可疑行为,系统会对其相关联的所有客户进行挖掘,从而发现可疑的团伙。
(8)元数据图谱
元数据图谱,起初在 Neo4j 社区版上进行应用。通常情况下,如果跳数超过8,深度查询就无法实现,整体查询效率也很低。为了改进这种情况,利用我们平台的计算能力,并自主研发的 expand 算法,实现了 15 跳内的数据血缘溯源和影响性分析。这种算法已成功应用于我们的数据管理系统中,并取得了显著成果。
2. 价值
项目为用户、厂商、行业、生态,以及中信集团内部都带来了很大的价值,具体如上图所示。
3. 先进性
(1)架构
先进性首先体现在架构上,是基于 HTAP 架构。我们根据自身独特的环境场景,希望将不同节点引入到一个统一的存储集群中,用于存储各种数据。由于应用多样,包括前端展示、API 调用以及深度图计算和图神经网络等服务,我们需要通过统一存储但不同计算引擎入口的方式来实现。解耦服务发现是部署的关键,通过不同方式查询集群数据,避免 I/O 冲突。例如,特定的图计算服务只查询相关数据,避免资源争夺。其次,深度图框架直接在图上计算数据,提高了计算读取能力,相比于传统的DGL 模型,更高效地实现了数据读取和写入能力。此外,这个框架封装了常见算法,如 GCN 或 TGCN,只需配置参数即可实现神经网络的挖掘,提高了效率。
(2)跨图查询解决方案
我们目前构建了大约 30 多张图,每张图都需要与企业关联图谱进行关联。在最初探索阶段,比如将证金需求与企业图谱关联可能导致数据冗余,还可能涉及数据访问权限管控等问题。为了解决这些问题,我们实现了跨图查询的能力,这意味着数据库中不同 Schema 之间可以进行联合查询。这在国内也是独有的、领先的一项能力。这一能力有助于打破不同图谱之间的数据障碍,减少单个图谱的复杂性,有利于数据的横向扩展,无需冗余存储。每个部门可以结合自己的数据创建图谱,最后再将它们合并进行查询或计算。
(3)应用创新
除上述两个场景外,还有更多创新应用。比如同一客户识别,成功打通了境内外数据,另外一个应用是引入了时序图神经网络,用于场外配资的异常交易监测。这个应用结合了时序特征,可以挖掘出连续性。基于异构图神经网络的趋同交易监测,也是一项创新性技术。在反洗钱团伙挖掘方面,我们提高了效率并降低了成本。自研的科技板网络关联发现,实现了一对多的关联查询,显著提升了效率。
我们也尝试了与大模型的关联应用,主要包括两个方面:首先是将企业关联图谱作为外部知识插入大模型调用 API,返回相关信息,例如股东关系;其次是 RAG 技术的知识增强,将固收产品信息储存在图谱中,利用搜索能力召回信息并生成答案。
04
实践总结
最后对知识图谱平台构建项目进行一下总结。首先是应用创新方面,如前文中介绍的,我们与厂商合作,打造了通用图谱能力和通用算法封装,实现了多项技术创新,支撑不同的业务场景。同时,实现了业务效能的提升和应用架构的优化,以及多模查询和存储等能力。并且首批通过了中国信通院《数据库服务能力成熟度模型》等测评,在先进性和合规性方面都处于领先地位。
以上就是本次分享的内容,谢谢大家。
05
Q&A
Q1:星环这套图谱产品有做开源吗?
A1:目前,星环图谱产品有社区版,但似乎并不走开源的路线。虽然与他们讨论过这个问题,他们可能会有后续计划,具体情况还需以他们为准。虽然当前更多的互联网公司可能是首选,但对金融企业来说,关注点并不在于是否开源,而更在于产品是否能够实际匹配我们的场景。在金融电子信息化领域,根据去年的一份报告显示,有 70% 的金融客户并不特别关心开源问题。
Q2:可以具体讲一下这个项目的本体构建过程和注意事项吗?
A2:在项目的本体构建过程中,我们可以将其分解为六个类别,比如金融产品企业,这些类别包括数据、员工、营收、产品和行业等信息。通过企业关系图谱,我们可以理解本体作为属性图的概念与学术上的一些概念有所不同。一旦确定了Schema,就可以开始向其中填充数据,而无需再从本体上扩展实体。因此,本体在这种情况下可以看作是预先定制的 Schema,与本体的概念是相似的。
Q3:请问海量的图谱是怎么构建的?
A3:通过图数据库提供的就是底层的分布式图计算和图存储的能力。在上层,使用 Sophon KG 工具进行可视化操作,如数据源导入、图谱构建,而这些操作都是通过零代码完成的。除此之外,底层的图数据库还提供了 KGE 工具,可以编写代码进行构建。金融领域通常提前组装好数据,然后构建图谱的 Schema,并将数据导入其中。关注的重点在于数据的持续更新和调度,如增量更新、全量更新等,需要依赖调度工具来源源不断地更新数据。
Q4:现在图谱可以支持多少跳的查询?时延方面性能效果如何?
A4:目前我们公司内的产品在默认情况下支持 15 跳以内的图谱查询。对于大多数企业场景来说,这已经足够满足需求,因为超过 12 跳以上的情况相对较少。在性能方面,目前整个集团派系的性能表现仍然非常出色,经过定制优化后,查询速度相当快。整个集团派系的查询平均时间大约是 30 多分钟,对于一个企业来说,基本可以做到秒级响应。
Q5:可以简要介绍一下国产图数据库市场中比较好的产品吗?
A5:在 2021 年,我们调研了 6 家国产图数据库厂商。对于金融领域应用来说,我们重点考察了星环在浦发银行和银河证券的反洗钱应用案例,特别关注其在证券行业的解决方案。另外,我们也着重考虑了图数据库本身的性能,考虑到我司数据规模不大,相信多模态能力是关键。综合比较后,我们选择了星环,因为除了图数据库外,他们也提供知识图谱平台,这在其他厂商中比较稀缺。当然,现在情况可能有了更新,可以后续再去了解最新情况。
Q6:数据更新是数据全覆盖的方式吗?
A6:我们的系统中采用的是增量更新的方式。这意味着我们只比较新旧数据的不同部分来更新数据,而不是整个数据集。举例来说,对于同一节点的属性,我们会额外保存一个切片,然后比对这些切片中的增量数据。根据比对的结果,我们会对数据图谱进行相应的更新,包括增加、删除、修改和查询操作。这样可以让更新过程更加高效和精确。
Q7:请问图谱的构建是基于现有的数据库数据插入的吗?
A7 :图谱的构建是基于已有的数据库内容插入的。我们可以这样理解,目前构建的这个图谱在一开始就相当于是在关系型数据库中对数据进行了一定的整合。在实际建构图谱的过程中,并没有大量使用所谓的对齐技术或其他类似技术,而是将数据直接注入其中。
Q8:在金融领域,风险识别在金融机构和金融产品服务中发挥着重要作用。这一应用不仅在专业领域有趣,也在大众生活中有广泛应用。金融产品是非常动态的,可能一个可靠的服务或机构在短时间内就变得不可靠,反之亦然。针对这种情况,我们如何及时捕捉信息并达到何种水平的时效性和效果?
A8:在这方面,可能我们目前更注重在某一刻的切片上,而不是随着时间的推移。虽然当前的风险传播模式更多地着眼于空间范围内的传播,而非在时间上的传播和蔓延。这种现状值得进一步研究,可以探讨风险随时间推演的情况,以理解金融产品的动态变化情况。
以上就是本次分享的内容,谢谢大家。