基于实时大数据的知识图谱系统的构建方法
技术领域
本发明涉及知识图谱
技术领域
,特别涉及基于实时大数据的知识图谱系统的构建方法。背景技术
由于网络金融的特定商业模式,其业务发展过程中长期面临种类繁多的风险,这些风险一旦发生,影响范围迅速扩大,且难以进行事后追踪与弥补。
“金融知识图谱”是金融行业的大规模语义网络,具有“图”和“谱”的双重特质,其智能、高效的知识组织优势,能够帮助用户或金融机构快且准地查询、关联、挖掘潜在信息,进而降低风险。但是目前采用的多为离线知识图谱,而离线知识图谱无法实时刻画线上交易阶段拟授信主体间的关联网络,无法有效克服数据孤岛、数据不对等问题。
为此需要一种线上的知识图谱,以有效克服数据孤岛问题,进一步降低风险。
发明内容
本发明提供了基于实时大数据的知识图谱系统的构建方法,能够有效克服数据孤岛问题。
为了解决上述技术问题,本申请提供如下技术方案:
基于实时大数据的知识图谱系统的构建方法,包括如下步骤:
知识抽取步骤;从业务数据库实时获取用户信息,基于用户信息抽取图谱数据;其中业务数据库包括多个数据源,用户信息包括若干变量,图谱数据包括实体、属性和关系;
知识融合步骤,将不同数据源关于同一个实体的变量融合为同一变量;
知识表示步骤,基于图谱数据构建知识图谱。
基础方案原理及有益效果如下:
本方案中,由于业务数据库包括多个数据源,从业务数据库实时获取用户信息时,可以从多个数据源获得用户信息,使得用户信息更丰富,完整。从用户信息中抽取实体、属性和关系,从这三个维度可以有效的反应用户的情况,也为知识图谱的建立提供了必要的元素。
与离线知识图谱相比,从业务数据库实时获取用户信息,保证了知识图谱能得到及时更新,可以在线上交易阶段,及时进行风险评估,从而有效降低欺诈风险。
由于有多个数据源,而多个数据源关于同一个实体的变量描述可能存在不同,如果进行分别的抽取,会造成知识图谱中实体重复,影响后续的查询。本方案中,通过将不同数据源关于同一个实体的变量融合为同一变量,避免了因为变量描述不一致等导致的重复,保证了从多个数据源获取用户信息的准确性。
综上,本方案能有效克服数据孤岛问题,从多个数据源获取用户信息,构建知识图谱,便于挖掘潜在网络中隐藏的个人欺诈、团伙欺诈等风险。
进一步,所述知识抽取步骤中,将获取的用户信息实时发送至消息中间件,再从消息中间件接收用户信息,然后基于用户信息抽取图谱数据。
由于业务数据库包括多个数据源,通过消息中间件中转用户信息,避免信息出现拥堵。能够保证用户信息的顺利获取。
进一步,所述知识抽取步骤中,从消息中间件接收用户信息后,判断用户信息是否为json文件,当用户信息为json文件时,解析json文件,将json文件中非结构化的数据拆解为结构化的数据;再从结构化的数据中提取基础的变量;
判断结构化的数据中是否包括预设的变量,如果包含,提取预设的变量,对预设的变量进行组装生成衍生的变量。
可以将不规范的用户信息进行标准化处理,便于后续抽取图谱数据。
进一步,所述消息中间件采用Kafka。
Kafka具有高吞吐量和分布式发布订阅消息的优点,可以有效避免信息出现拥堵,同时便于实时导入用户信息。
进一步,所述知识表示步骤中,采用三元组资源描述框架作为知识图谱的知识结构。
进一步,还包括知识存储步骤,通过数据库存储知识图谱。
进一步,所述知识存储步骤中,采用ArangoDB数据库存储知识图谱。
ArangoDB是一种原生态的图数据库,由于ArangoDB兼有key/value键/值对、graph图和document文档数据模型,提供了涵盖三种数据模型的统一的数据库查询语言,并允许在单个查询中混合使用三种模型,便于后续的查询。
进一步,还包括知识可视化步骤,获取查询需求,基于查询需求搜索知识图谱,返回可视化信息。
通过可视化信息,便于使用者直观了解查询的结果,对是否存在风险作出快速的判断。
进一步,所述查询需求包括实体查询、最短路径查询和指标查询。
进一步,所述指标查询时,计算用户的一度关联数、一度触黑数和一度触黑率。
附图说明
图1为实施例一中知识图谱可视化的示意图;
图2为实施例一中最短路径查询的示意图。
具体实施方式
下面通过具体实施方式进一步详细说明:
实施例一
如图1所示,本实施例的基于实时大数据的知识图谱系统的构建方法,包括如下步骤:
知识抽取步骤;从业务数据库获取用户信息。
业务数据库包括多个数据源,本实施例中,数据源包括本银行内部数据、人行征信数据和三方数据源数据。其中三方数据源指除本银行内部数据、人行征信数据以外的其他数据源。
用户信息包括若干变量,例如:
用户基础信息:姓名、身份证号、手机号、设备指纹、联系人、配偶信息、婚姻状况、性别、出生年月等。
用户所在公司数据:公司社会统一代码、公司经营情况等。
额度申请数据:用户额度申请编号、申请通过情况、拒绝规则情况等。
借款申请数据:用户借款时间、借款金额、借款时间、拒绝原因等。
征信数据:用户征信逾期情况、命中黑名单等。
放款数据:在贷余额、已还金额、逾期情况等。
车贷数据:车架、发动机号、车牌号等。
以上的身份证号、设备指纹、公司社会统一代码、用户额度申请编号等均为变量。
具体的,对业务数据库的增量日志进行解析,解析后对业务数据库中增量的用户信息进行实时获取。本实施例中,通过开源框架canal实现增量日志解析。
将获取的用户信息发送至实时平台的消息中间件Kafka。本实施例中实时平台采用开源流处理框架Apache Flink进行搭建。
从消息中间件Kafka接收用户信息,判断用户信息是否为json文件,当用户信息为json文件时,解析json文件,将json文件中非结构化的数据拆解为结构化的数据。
例如json文件中,张三的用户信息为name张三;{idcard1******0cell156****0000180****0000…},张三的用户信息都存在数组中,不便于后续的利用,将非结构化的数据拆解为结构化的数据后张三的用户信息变为列表形式:
name:张三;
idcard:1******0;
cell:156****0000;
180****0000;
……
从结构化的数据中提取基础的变量;本实施例中,基础的变量指直接可以使用的变量,例如IP、设备指纹、联系人、配偶信息、婚姻状况。
判断结构化的数据中是否包括预设的变量,如果包含,提取预设的变量,对预设的变量进行组装生成衍生的变量。本实施例中,预设的变量为需要进行加工处理的变量。
例如:张三的逾期情况为预设的变量:
2020年6月逾期500元,2020年7月逾期100元,2020年12月逾期1000元。
根据上述的逾期情况组装生成的近五年总逾期金额为(即衍生的变量):1600元。
基于用户信息抽取图谱数据,图谱数据包括实体、属性和关系。
例如实体包括:身份证号、手机号、公司社会统一代码、车牌号等;
例如张三这一实体,对应有手机号,张三到手机号,关系就是拥有的。
例如张三这个实体,性别、出生年月和婚姻状况等就是对应的属性。
知识融合步骤,将不同数据源关于同一个实体的变量融合为同一变量。
三方数据源不同,可能对同一变量的描述不相同,例如法院案件号这一实体,数据源1中返回的变量为:法院案件号:11*****0,数据源2中返回的变量为刑事案件号:22*****1;将数据源2中返回的刑事案件号转化为法院案件号:22*****1,再将11*****0和22*****1作为法院案件号这一实体的内容。如果法院案件号:11*****0和刑事案件号:11*****0相同,转化后只保留一个。
知识表示步骤,采用三元组(RDF)资源描述框架作为知识图谱的知识结构,基于图谱数据构建知识图谱。
知识存储步骤,采用ArangoDB数据库存储知识图谱;
如图1所示,知识可视化步骤,获取查询需求,基于查询需求搜索知识图谱,返回可视化信息。本实施例中,查询需求包括实体查询、最短路径查询和指标查询。
例如查询借款人的身份证号这一实体,返回与借款人相关的实体数据维度的信息以及通过这些信息关联的其他人的实体数据维度的信息,如联系人信息、借款申请信息和每一个实体的标签(比如黑名单、失信等),通过可视化可以将复杂的信息以非常直观的方式呈现出来,可以对隐藏信息的来龙去脉一目了然。
最短路径是指两个用户或者多个用户之间的关联距离即关联度,通过最短路径的查找,可以返回两个实体之间最短的关联距离。如图2所示,例如输入两个用户的身份证号,可以查询到与两个身份证号关联的手机号。
本实施例中,指标查询时,还计算用户的一度关联数、一度触黑数和一度触黑率等,以进一步挖掘隐藏欺诈风险信息。其中,一度关联数指知识图谱中,距离目标节点为1的实体数目;一度触黑数指距离目标节点为1的黑名单实体数目;一度触黑率指一度触黑数与一度关联数的比值。在其他实施例中,还可以计算用户的二度关联数、二度触黑数、二度触黑率、三度关联数等。
实施例二
本实施例与实施例一的区别在于,本实施例中,还包括记录步骤,从实体查询和最短路径查询中获取实体对应的用户,生成已查询用户信息表并存储。例如最短路径查询时,查询用户A和用户B之间的关联距离,在记录步骤中获取用户A和用户B。
知识抽取步骤中,还判断业务数据库中增量的用户信息是否超过阈值,如果超过阈值,判断增量用户信息中,是否有用户属于已查询用户信息表,如果属于,优先抽取对应的用户信息。
业务数据库中增量的用户信息超过阈值时,表明新增的用户信息较多,容易造成后续处理的拥堵,通过优先抽取已查询用户信息表中已有用户对应的用户信息,可以优先完善这些用户的知识图谱。因为这些用户被查询的机率更高,及时更新可以降低风控出错的概率。
以上的仅是本发明的实施例,该发明不限于此实施案例涉及的领域,方案中公知的具体结构及特性等常识在此未作过多描述,所属领域普通技术人员知晓申请日或者优先权日之前发明所属技术领域所有的普通技术知识,能够获知该领域中所有的现有技术,并且具有应用该日期之前常规实验手段的能力,所属领域普通技术人员可以在本申请给出的启示下,结合自身能力完善并实施本方案,一些典型的公知结构或者公知方法不应当成为所属领域普通技术人员实施本申请的障碍。应当指出,对于本领域的技术人员来说,在不脱离本发明结构的前提下,还可以作出若干变形和改进,这些也应该视为本发明的保护范围,这些都不会影响本发明实施的效果和专利的实用性。本申请要求的保护范围应当以其权利要求的内容为准,说明书中的具体实施方式等记载可以用于解释权利要求的内容。