一种知识图谱异常社区检测方法及装置与流程

文档序号:20918010发布日期:2020-05-29 13:46阅读:1557来源:国知局
一种知识图谱异常社区检测方法及装置与流程

本发明涉及知识图谱技术领域,尤其是涉及一种知识图谱异常社区检测方法及装置。



背景技术:

构建知识图谱后,挖掘图谱中异常社区是许多应用场景都要面临的问题之一。但是构建的知识图谱往往十分庞大,难以从里面直接提取出有效的特征来获取异常社区。若采用人工设置特征的方式进行分析,有极大的可能会因为人为无法对全局考虑导致得到的异常社区存在偏差。但是大量的异常社区的特征又隐藏于知识图谱中,因此需要一种能够自动挖掘异常社区特征,将异常数据聚集在一起获取异常社区的方法。

目前在知识图谱应用领域,现有的方法是分析异常数据周围的邻居节点,即若知识图谱中出现异常数据,则其周围的信息有极大的概率组成异常社区。然而这种方法对知识图谱内数据的标签量有十分严格的要求,若标签量较少则很难挖掘出异常社区。因此单纯标识知识图谱中异常数据节点附近的数据为异常社区具有很大的局限性,若加入大量新的节点后,可能会导致输出的结果之间差异性较大。

另外一种分析异常社区的方法则是通过节点之间的跳数,以此为节点之间的距离,生成一个距离矩阵,然后利用该距离矩阵对知识图谱内的节点使用聚类算法。这种方法能够有效检测出知识图谱中异常社区,但是存在着效率低下的问题。首先这种方法需要存储一个每个节点间的距离矩阵,若知识图谱中的节点数较多,则维护这个距离矩阵的成本较大,会需要较大的存储空间,假如知识图谱中节点之间的关系较为稀疏,则距离向量中会存储许多无效的数据,造成存储空间的浪费。其次这种方法每次的运行效率低下,当加入新的节点时,就需要重新计算每个节点之间的距离,而这种计算过程是对整个知识图谱进行计算,因此所需的时间成本较高,若知识图谱内的节点较多则效率较低。

综上所述,现有的分析知识图谱异常社区的方法存在较多弊端,缺乏行之有效的方法快速检测出知识图谱中异常社区和挖掘异常社区的特征。



技术实现要素:

本发明的目的在于克服上述现有技术存在的缺陷而提供一种知识图谱异常社区检测方法及装置。

本发明的目的可以通过以下技术方案来实现:

一种知识图谱异常社区检测方法,包括以下步骤:

步骤一,根据应用场景及数据集,构建异质知识图谱;

步骤二,从所述异质知识图谱提取一个仅有实体的同质网络;

步骤三,对所述同质网络中的每一连通子图,使用网络嵌入技术获得各连通子图的节点距离向量;

步骤四,基于所述节点距离向量对各连通子图进行聚类,生成社区;

步骤五,根据每个社区内异常标签数据和正常标签数据的比例判断对应社区是否为异常社区。

进一步地,所述步骤一中,根据应用场景获得数据集的有效特征,基于所述有效特征获得构建知识图谱所需的实体和关系,获得所述异质知识图谱。

进一步地,所述步骤二中,基于图数据库提取所述同质网络。

进一步地,所述同质网络中,基于两个实体间的关系数量设置对应实体间的边权重。

进一步地,所述步骤五中,若异常标签数据和正常标签数据的比例超过设定阈值,则判定该社区为异常社区,反之,则为正常社区;

若社区内无标签数据,则判定该社区为正常社区或者判定该社区为灰色社区。

本发明还提供一种知识图谱异常社区检测装置,包括:

异质知识图谱构建模块,用于根据应用场景及数据集,构建异质知识图谱;

同质网络提取模块,用于从所述异质知识图谱提取一个仅有实体的同质网络;

距离向量获取模块,用于对所述同质网络中的每一连通子图,使用网络嵌入技术获得各连通子图的节点距离向量;

聚类模块,用于基于所述节点距离向量对各连通子图进行聚类,生成社区;

判断模块,用于根据每个社区内异常标签数据和正常标签数据的比例判断对应社区是否为异常社区。

进一步地,所述异质知识图谱构建模块中,根据应用场景获得数据集的有效特征,基于所述有效特征获得构建知识图谱所需的实体和关系,获得所述异质知识图谱。

进一步地,所述同质网络提取模块中,基于图数据库提取所述同质网络。

进一步地,所述同质网络中,基于两个实体间的关系数量设置对应实体间的边权重。

进一步地,所述判断模块中,若异常标签数据和正常标签数据的比例超过设定阈值,则判定该社区为异常社区,反之,则为正常社区;

若社区内无标签数据,则判定该社区为正常社区或者判定该社区为灰色社区。

与现有技术相比,本发明具有如下有益效果:

1、本发明能够自动化挖掘异常群体的特征,并能够根据挖掘出的特征识别知识图谱内异常的社区,进而避免人工挑选特征导致的误差。

2、本发明能够将知识图谱内相似节点聚集在一起形成社区,并根据社区内异常数据与正常数据的比例自动化确定该社区是否为异常社区,并加以标识,准确性高。

3、本发明的应用场景中原始数据集内或采集数据中标签占比很少,能够减少对标签数据数量的依赖,从而使用少量的标签数据检测出异常社区。

附图说明

图1为本发明的流程示意图;

图2为本发明聚类判断过程示意图。

具体实施方式

下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。

实施例1

本实施例提供一种知识图谱异常社区检测方法,如图1和图2所示,包括以下步骤:

在步骤s101中,根据应用场景及数据集,数据集中包含带有标签的数据,分析数据集内的有效特征,得出构建知识图谱所需的实体和关系,当两个实体相同的特征值相同时,则判断这两个实体之间具有联系,即这两个实体为一阶邻居的关系。其中,有效特征可以通过自动化特征工程或人工选择特征的方法获得。

本实施例以网络借贷场景为例,网络借贷数据集中包括每笔借贷的申请单号,申请人的信息如申请人的身份证号码、手机号码、居住地址等信息。在网络借贷场景中,需要分析的是哪些申请单号为异常的申请,因此以申请单号作为实体,其他有效信息作为构建知识图谱所需的特征。当两个实体即两个申请单号的申请人身份证号码相同时,则可以判断这两个申请单号之间存在联系。

在步骤s102中,根据拆分得出的知识图谱的实体和关系,构建知识图谱,获得一个同时具有实体和关系的异质网络。

异质网络中展示了实体之间通过哪些特征连接在一起,即对于一阶邻居的实体之间存在着这两个实体在同一特征上相同的值。构建异质的知识图谱可以采用图数据库,将拆分出的实体和实体间的关系导入图数据库中,构建一个异质的知识图谱。

在本实施例的网络借贷场景中,两个申请单号通过同一个申请人的身份证号码连接,因此构建的异质知识图谱中两个申请单号节点都连接至同一个身份证号的节点上。

在步骤s103中,从所述异质知识图谱提取一个仅有实体的同质网络该同质网络仅含有一种类型的节点,即为需要分析的实体节点。同质网络与异质网络的区别在于,同质网络中仅包含实体,不包括实体间连接的特征,

同质的知识图谱获取可以通过已构建完成的异质的知识图谱所采用图数据库中的具体查询语句构建,根据构建的异质的知识图谱的结构,编写适合该结构的查询语句。

基于图数据库提取所述同质网络。所述同质网络中,基于两个实体间的关系数量设置对应实体间的边权重。

根据s102获得的网络借贷场景中的异质知识图谱,通过图数据库的查询等操作提取出同质的知识图谱。当两个实体即两个申请单号仅通过申请人的身份证号码连接在一起,则两个申请单号连接在一起时,两者的边权重为1。若两个实体通过申请人的身份证号码、居住地地址两种节点连接在一起,则两个实体之间边的权重为2,以此类推。

在步骤s104中,对所述同质网络中的每一连通子图,使用网络嵌入技术获得各连通子图的节点距离向量。网络嵌入技术包括但不限于deepwalk、node2vec等方法。采用网络嵌入技术的目的一方面在于对知识图谱进行降维,相较于其他的存储方式,降维后所需的存储空间比不降维的存储空间要小;另一方面则是自动化获取异常社区的特征,即相似的节点之间的距离较近,而差异性较大的节点之间距离较远,通过网络嵌入技术将每个子图映射成距离向量,从而有效表示节点间的相关性。在此仅对每个子图使用,而不是对整个知识图谱使用网络嵌入技术,主要目的在于考虑到使用整个知识图谱计算所需的时间较长,且大部分时间都为无用功,因为相同社区内的节点之间一定存在关系,而两个子图之间的节点不存在关系进而被分到同一个社区的概率较低。

根据s103获得的同质网络,获取知识图谱内每个相连接的子图,使用deepwalk或其他网络嵌入算法,计算出每个子图内节点之间的距离,并以向量的方式表示。通过该步骤,可以将构建的网络使用向量表示。两个相似的节点之间的向量距离较近,而相似度较低的节点之间的向量距离则较远。通过该步骤,同时能够降低对存储空间的要求,由于网络嵌入技术存在降维的处理,因而整个知识图谱可以根据需求降维到指定维度大小,从而减小对存储的要求。

在步骤s105中,基于所述节点距离向量对各连通子图进行聚类,将每个聚类结果标记为一个社区。所采用的聚类包括但不限于以下算法:k-means、dbscan等聚类算法。

根据s104获得的每个子图的距离矩阵,使用类似dbscan等基于距离的聚类算法,将相似的节点聚集形成社区。在此采用dbscan算法的原因为无需首先确定社区数量,才能进行聚类操作。针对需要估计社区数量的聚类算法,可以参考该算法以往经验确定社区数量,在此不再赘述。

在步骤s106中,根据每个社区内异常标签数据和正常标签数据的比例判断对应社区是否为异常社区。若异常标签数据和正常标签数据的比例超过设定阈值,则判定该社区为异常社区,反之,则为正常社区。针对有些社区内存在没有标签的数据,可以有两种处理方式,一种则是直接判断为正常社区,这样设计的原因在于无法判断该社区为异常只能视为正常社区处理;另一种方法则是将该类社区判定为灰色社区,即不确定的社区,并根据具体场景设计具体的操作,这样设计的目的在于设计一个缓冲区防止由于未能检测出异常导致的损失。

由s105获得的网络借贷场景中的每个社区,统计异常贷款申请的数量和正常贷款申请的数量,计算异常数量与正常数量比值,根据计算得出的每个社区的比值,尝试不同阈值的大小应用在所有社区时,哪一个阈值的性能最好,则取该阈值为判断标准。

实施例2

本实施例提供一种知识图谱异常社区检测装置,包括:

异质知识图谱构建模块,用于根据应用场景及数据集,构建异质知识图谱;

同质网络提取模块,用于从所述异质知识图谱提取一个仅有实体的同质网络;

距离向量获取模块,用于对所述同质网络中的每一连通子图,使用网络嵌入技术获得各连通子图的节点距离向量;

聚类模块,用于基于所述节点距离向量对各连通子图进行聚类,生成社区;

判断模块,用于根据每个社区内异常标签数据和正常标签数据的比例判断对应社区是否为异常社区。

其余同实施例1。

以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思做出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由本发明所确定的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1