一、基本概念
知识图谱(Knowledge Graph),描述真实世界中存在的各种实体(Entity)或概念及其关系,本质上是语义网络(Semantic Network)的知识库,从实际应用的角度出发其实可以简单地把知识图谱理解成多关系图(Multi-relational Graph),可以让搜索更有深度和广度。
知识图谱的基本单位,便是“实体(Entity)-关系(Relationship)-实体(Entity)”构成的三元组,边(Relationship)则由属性或关系构成。
可以处理海量数据(数据多样化、数据孤岛问题),可视化方便,关系查询效率高且可对关系进行深度搜索,维护工作量较小(自动抽取知识,只需要少量的审核).其核心在于知识图谱本身的设计(来自对于业务的理解),类似传统IT系统的数据库表设计(尤其关键的一点),比较重要的应用方向包括社区发现算法、图神经网络(GNN)。
二、系统架构与技术
以OpenKN为例,由知识库构建(Knowledge base construction)、知识库验证与计算(Knowledge validation and verification, Knowledge computation)、知识存储(Knowledge repositories)、知识服务与应用(Knowledge services and application)四个模块组成。
知识库的构建:包括知识获取和知识融合两方面,在完成知识库构建工作后得到的知识是显式的知识。知识获取是从开放网页、在线百科和核心词库等数据中抽取概念、实体、属性和关系;融合的目的是实现知识的时序融合和多数据源融合。建知识图谱易,治理数据难(数据是王道),建议应循序渐进,选取最核心的关系(如工商关系)优先纳入知识图谱。
知识计算:除了显示的知识,通过OpenKN的知识计算功能,包括属性计算、关系计算、实例计算等,进一步获得隐式的或推断的知识。
知识验证和处理:为了检验显示知识和隐式知识的完备性、相关性和一致性,需要对知识进行校验,主要是专家或特定的知识计算方法检查冗余的、冲突的、矛盾的或不完整的知识。
知识存储:经过验证的海量知识,在OpenKN里存储在一个基于图的数据库(Graph DataBase, GDB)及关系数据库中。其中GDB中存储的是显示知识,关系数据库中存储的是隐式知识。与传统的数据库模型Titan相比,GDB通过定义点和边的图数据模型来存储知识,这里的点和边都有各自唯一的ID并且支持一系列的多值属性。GDB描述了一个与现有的图模型不同的异构网络,成为可演化知识网络。
知识更新(闭环)。通过内外部数据积累(交易、担保、借贷等数据)和实际业务(内部坏账信息、过往错杀的高权重规则)反馈(数据闭环,算法优化)进行知识图谱的实施迭代,不断地优化和更新企业风险知识图谱。
知识图谱主要有两种存储方式:一种是基于RDF的存储(学术应用,如Jena);另一种是基于图数据库的存储(现实业务场景,如Neo4j,10亿节点以下规模)。
知识图谱的设计原则:业务原则(Business Principle),它的含义是?“一切要从业务逻辑出发,并且通过观察知识图谱的设计也很容易推测其背后业务的逻辑,而且设计时也要想好未来业务可能的变化”。效率原则(Efficiency Principle),让知识图谱尽量轻量化、并决定哪些数据放在知识图谱,哪些数据不需要放在知识图谱,把知识图谱设计成小而轻的存储载体(类似内存而非硬盘)。分析原则(Analytics Principle)、冗余原则(Redundancy Principle)的目的同样在于尽量简化知识图谱,把关系分析无关的、重复性高频的数据放入传统数据库中。
三、金融应用场景????
知识图谱最早被用于搜索引擎领域,利用知识图谱完备的实体和关联描述能力,以及强大的知识推理能力,能够有效提升搜索和问答的准确性和有效性,金融场景主要是用户理解(用户的营销、贷前准入、贷中动态风险管理、贷后催收_如失联客户管理、设计新的金融产品)。
反欺诈,从历史欺诈活动或数据汇总将特定模式进行可视化,以此来评估其他的多笔交易是否满足这个模式,一旦满足便触发欺诈预警提醒用户。主要通过静态分析和动态分析进行,静态分析指给定一个图形结构和某个时间点,从中去发现一些异常点,比如有异常的子图;动态分析指分析其结构随时间变化的趋势(时序分析技术和图相似性计算技术),假设短时间内知识图谱结构的变化不会太大,如果它的变化很大,就说明可能存在异常,需要进一步的关注。
小微企业信用风险评估,利用知识图谱从关系角度分析问题的优势,重点对关系紧密的客户群体(风险共同体)进行识别和管理,对可能发生的群体性、区域性风险进行监控,对风险传导进行预测。(图方法的聚类,边的权重仍然采用传统聚类或如申请时序来等来定义)
金融市场研究,洛杉矶发生公司兼并,会对来自伦敦的竞争对手、来自中国的供应商,甚至该供应商的竞争者都带来相当大的影响,通过知识图谱将这些原本这些孤立的事件当做一个整体进行考量。
四、实际案例
1、基于规则的方法
不一致性验证,基于业务的知识,通过一些规则去找出潜在的矛盾点。如李明和李飞两个人都注明了同样的公司电话,但实际上从数据库中判断这俩人其实在不同的公司上班。
基于规则提取特征,基于深度的搜索比如2度,3度甚至更高维度,我们也可以基于规则从知识图谱中提取一些特征。这些特征被提取之后,一般可以作为风险模型的输入。如果特征并不涉及深度的关系,传统的关系型数据库则足以满足需求。从图中我们很容观察到二度关系中有两个实体触碰了黑名单(黑名单由红色来标记)。
基于模式的判断,比较适用于找出团体欺诈,它的核心在于通过一些模式来找到有可能存在风险的团体,子图(sub-graph)或强连通图,然后做进一步的分析。
2、基于概率的方法
社区挖掘、标签传播、聚类等技术都属于基于概率的方法,标签传播算法的核心思想在于节点之间信息的传递。基于概率的方法的缺点在于:需要足够多的数据。如果数据量很少,而且整个图谱比较稀疏(Sparse),基于规则的方法可以成为我们的首选。
社区挖掘算法的目的在于发现社区,社区可以有多种定义,但直观上可以理解为社区内节点之间关系的密度要明显大于社区之间的关系密度。社区挖掘的好处在于不需要人为地去定义规则,特别是对于一个庞大的关系网络来说,定义规则这事情本身是一件很复杂的事情。
3、证券领域的影响分析
在证券领域,我们经常会关心比如“一个事件发生了,对哪些公司产生什么样的影响?” 有一个负面消息是关于公司1的高管,而且我们知道公司1和公司2有种很密切的合作关系,公司2有个主营产品是由公司3提供的原料基础上做出来的。
有了知识图谱,我们很容易回答哪些公司有可能会被这次的负面事件所影响,但仅仅是“有可能”,具体会不会有强相关性必须由数据来验证。所以知识图谱的好处就是把我们所需要关注的范围很快给我们圈定,公司3有可能被这次事件所影响,那具体影响程度有多大? 对于这个问题,知识图谱是很难回答的,必须要有一个影响模型、以及需要一些历史数据才能在知识图谱中做进一步推理以及计算。
附,参考资料:
1、知识图谱在资管风控中的应用,https://zhuanlan.zhihu.com/p/100624221
2、一文揭秘!自底向上构建知识图谱全过程,https://www.jianshu.com/p/503a558914ec
3、干货 | 知识图谱的技术与应用,https://zhuanlan.zhihu.com/p/50877511
4、dynamic network mining