一种关系发现方法和装置、计算机可读存储介质与流程

文档序号:17721869发布日期:2019-05-22 02:13阅读:175来源:国知局
一种关系发现方法和装置、计算机可读存储介质与流程

本申请涉及但不限于数据挖掘技术领域,尤其涉及一种关系发现方法和装置、计算机可读存储介质。



背景技术:

公安领域中基于事件数据的挖掘定义了一类关系,该类关系旨在通过分析、挖掘、推理的方式找到实体之间的关系,所以该类关系称为隐性关系。当前隐性关系的发现主要依赖事件数据,比如火车出行、上网和旅店住宿等数据。此类隐性关系把每次事件数据定义为一次活动,在每次相同的活动中多个实体之间的关系被定义为结伴。基于常识和经验假设多次活动就表现为具有“伙伴”关系,而这样的伙伴在犯罪作案时就被称为团伙,在结伴上访时被称为小群体。

目前,针对此类问题已经有一些研究,其中一种是基于规则的方式实现,主要思路是通过业务人员给出需求,总结成数据处理的规则,执行完具体规则即可实现目标。当前基于规则的方式主要是使用结构化查询语言(structuredquerylanguage,sql)语句来完成数据的查询、过滤和聚合操作完成,该方法是一种粗放型的方法,针对单一规则实现起来简单方便,但是多种规则组合时,实现起来就会相当复杂,而且不能揭示团伙内部成员之间的关系,缺少一些评价指标。

还有一种是通过找连通子图的方式来挖掘团伙关系,主要思路是把业务规则梳理成团伙成员之间的隐性关系和数据过滤两部分,通过关系生成图结构后找到连通子图,再按照规则过滤部分找到结果。基于连通子图的方式主要是使用了图路径的扩散来完成,与基于规则的方式相比较,该方法更具有扩展性,它把关系的建立和过滤规则分开考虑,能处理多种规则的情况。但此类方法使用多度数关系,由于采用多度数关系的间接联系,不能保证关系的准确性。



技术实现要素:

本发明实施例提供了一种关系发现方法和装置、计算机可读存储介质,能够更好地调整关系发现的粒度。

本发明实施例的技术方案是这样实现的:

本发明实施例提供了一种关系发现方法,包括:

将事件数据转换成人员关系数据,所述人员关系数据包括n个集合,每个集合包括m*(m-1)/2个子集,每个子集包括事件中的两个人员,其中,n为事件数量,m为各个集合中的人员数量;

将人员关系数据转换成图结构数据g=<v,e>,所述图g中的顶点的集合v为n个集合中的所有人员,所述图g中的边的集合e为属于一个子集的两个人员之间的连线;

在所述图结构数据中,挖掘频次满足预设的最小频次阈值的频繁子图,根据挖掘出的频繁子图,得到人员之间的伙伴关系。

在一实施例中,在所述根据挖掘的频繁子图,得到人员之间的伙伴关系之前,所述方法还包括:

调用预设的过滤规则,对频繁子图进行过滤。

在一实施例中,所述方法还包括:

计算所述得到的伙伴关系中的人员的置信度,根据与当前事件数据同类型的历史事件数据得到的某人员的伙伴关系数量越大,该人员的置信度越低;

将所述计算出的置信度大于或等于预设的置信度阈值的人员的伙伴关系,作为最终得到的人员之间的伙伴关系。

本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如以上任一项所述的关系发现方法的步骤。

本发明实施例还提供了一种关系发现装置,包括处理器及存储器,其中:所述处理器用于执行存储器中存储的程序,以实现如以上任一项所述的关系发现方法的步骤。

本发明实施例还提供了一种关系发现装置,包括第一转换模块、第二转换模块和关系挖掘模块,其中:

第一转换模块,用于将事件数据转换成人员关系数据,所述人员关系数据包括n个集合,每个集合包括m*(m-1)/2个子集,每个子集包括事件中的两个人员,其中,n为事件数量,m为各个集合中的人员数量;

第二转换模块,用于将人员关系数据转换成图结构数据g=<v,e>,所述图g中的顶点的集合v为n个集合中的所有人员,所述图g中的边的集合e为属于一个子集的两个人员之间的连线;

关系挖掘模块,用于在所述图结构数据中,挖掘频次满足预设的最小频次阈值的频繁子图,根据挖掘出的频繁子图,得到人员之间的伙伴关系。

在一实施例中,所述关系挖掘模块还用于:

调用预设的过滤规则,对频繁子图进行过滤。

在一实施例中,所述关系挖掘模块还用于:

计算所述得到的伙伴关系中的人员的置信度,根据与当前事件数据同类型的历史事件数据得到的某人员的伙伴关系数量越大,该人员的置信度越低;

将所述计算出的置信度大于或等于预设的置信度阈值的人员的伙伴关系,作为最终得到的人员之间的伙伴关系。

本发明实施例的技术方案,具有如下有益效果:

本发明实施例提供的关系发现方法和装置、计算机可读存储介质,通过将事件数据转换成本申请定义的一种图结构数据,根据预设的最小频次阈值挖掘频繁子图,更好地调整了关系发现的粒度,从而更加准确地获取到事件数据中的隐性关系。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1为本发明实施例的一种针对频繁模式来发现实体人的关联关系的原理示意图;

图2为本发明实施例的一种关系发现方法的流程示意图;

图3为本发明实施例的一种使用频繁模式挖掘团伙关系的模块示意图;

图4为本发明实施例的一种关系发现装置的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

从事件数据中通过分析、挖掘、推理的方式提取出的关系称为隐性关系。隐性关系的发现主要是通过专家提供的规则经验或者通过关联分析出可信的模式。伙伴关系是本申请挖掘的一种隐性关系的类型,该关系是一种互为伙伴的隐性关系。

实体是产生事件的一个个体,是事件发生的主体,比如火车事件,它是以人为主,则这个实体就是某个人,而表示一个人的方式有多种,如:身份证,护照号,军官证等,所以有时也将一个具体表示一个人的唯一id作为一个实体。

实体信息即实体的详细信息,例如火车事件,有车次、车厢、座位号、发站、到站等信息。

实体与实体事件是可能存在的,显性关系表示关系已经客观存在,可以通过事实直接作出判断,比如亲属关系。而隐性关系就是无法通过简单信息就可以判断的,需要一定的计算规则从历史数据做一些统计和计算才能够确定他们是否存在规则,这种关系是一种可能性也就是满足某个规则的两个实体只是有非常大的可能有这个关系。关系规则是指社交网络分析、实体关系分析等场景中的一些相似、相近、相关关系的识别领域知识。关系规则的产生大多依赖专家的历史经验和大量数据案例分析得到。

我们把实体人之间发生相同事件的情景称为一种模式,如果该模式频繁度高就说明具有一定的真实性,比如:两个人同坐火车到某地,然后到相同宾馆入住,如果这样的偶然事件发生的次数多了,我们很容易判断两个人定然是认识的,或是同时一起出差,也可能是同学、老乡等。也就是说从偶然转换成必然是在一定模式下提高了出现的频次,当频次达到一个量的时候就发生了变化。所以通过频繁模式来找两个人的关系是一种实现的手段。频繁模式主要是通过挖掘主体人在多个类事件中出现的频繁程度来确定是否存在一定的关系。本申请主要是针对频繁模式来发现实体人的关联关系。如附图1所示,a、b、c为伙伴关系,c、e为伙伴关系。

如图2所示,根据本发明实施例的一种关系发现方法,包括如下步骤:

步骤201:将事件数据转换成人员关系数据,所述人员关系数据包括n个集合,每个集合包括m*(m-1)/2个子集,每个子集包括事件中的两个人员,其中,n为事件数量,m为各个集合中的人员数量;

在本申请中,将每个待挖掘的人员定义为一个项,将人员集合定义为项集,将人员之间发生的事件定义为一个事务,将人员集合共同发生的事件数定义为项集频次或支持度计数,将人员集合中发现的“伙伴”关系,定义为满足最小频次阈值的频繁项集。通过上述定义,可以把挖掘“伙伴”关系问题转化挖掘频繁模式的问题。

针对上述转化后的问题,本申请借助了一种基于频繁子图挖掘频繁模式的方式挖掘隐性关系。使用频繁子图挖掘算法时,我们需要首先把事件数据处理成人员关系数据(把事件数据按照规则组成单一关系),并把人员关系数据加载成图结构数据,然后利用gspan或其它子图挖掘算法来完成频繁模式的挖掘,最后导出结果数据提供给其它应用使用。针对使用频繁模式挖掘团伙关系,具体设计的模块结构图如图3所示。

步骤202:将人员关系数据转换成图结构数据g=<v,e>,所述图g中的顶点的集合v为n个集合中的所有人员,所述图g中的边的集合e为属于一个子集的两个人员之间的连线;

使用频繁子图的方式挖掘频繁模式需要把问题描述为一个图结构g=<v,e>上挖掘频繁子图的问题,具体做法如下定义:

1)将图中的一个顶点定义为某个待挖掘人员;

2)将图中的一条边定义为某两个人员共同发生了一次事件而生成的关系;

3)将图中的一个子图定义为某次事件下的人员集合;

4)将频繁子图定义为频繁参与同一事件的人员集合,这里称为团伙。

根据上述定义就可以把一个频繁子图挖掘技术应用到了隐性关系发现中。整个关系挖掘的过程需要三个大步骤来完成,其一是要完成数据处理,需要把事件数据处理成人员关系数据,进而转换成图结构数据;其二是使用gspan或其它子图挖掘算法完成频繁子图挖掘;其三是处理过滤规则,筛选出最终的结果。

数据处理的重点是把事件数据处理成人员关系数据,具体需要通过业务需求给出事件处理规则,比如,定义火车出行规则为同日期、车次、车厢、发站、到站,处理成人员关系数据就是要按照规则来生成满足规则人员的两两关系。同理处理完业务需求所依赖的所有事件数据,然后生成图结构数据。

步骤203:在所述图结构数据中,挖掘频次满足预设的最小频次阈值的频繁子图,根据挖掘出的频繁子图,得到人员之间的伙伴关系。

在本发明的一实施例中,所述步骤203还包括:

调用预设的过滤规则,对频繁子图进行过滤。

在本发明的一实施例中,所述步骤203之后还包括:

计算所述得到的伙伴关系中的人员的置信度,根据与当前事件数据同类型的历史事件数据得到的某人员的伙伴关系数量越大,该人员的置信度越低;

将所述计算出的置信度大于或等于预设的置信度阈值的人员的伙伴关系,作为最终得到的人员之间的伙伴关系。

示例性地,定义所述人员的置信度的计算公式为1/(n+1),其中,n为根据与当前事件数据同类型的历史事件数据得到的该人员的伙伴关系数量。需要说明的是,所述人员的置信度的计算公式也可以定义成其它计算形式,只要满足根据与当前事件数据同类型的历史事件数据得到的某人员的伙伴关系数量越大,该人员的置信度越低即可,本申请并不限制具体使用何种计算公式进行计算。

例如,在一个示例中,根据历史火车事件数据得到人员a的伙伴关系数量为5个,分别为b、c、d、e、f;根据当前火车事件数据得到人员a的伙伴关系数量为1个,即a和g有关系,此时,我们可以认为人员a产生的关系置信度相对较低,也就是g和a之间的关系不强,此时a很可能是一个商务人士经常坐火车,他和其它人就很容易产生关系,而这种关系不能认定为一种强关系。

在另一个示例中,h、i很少火车出行,根据历史火车事件数据得到人员h、i的伙伴关系数量为0。如果有两次他们一起出行,那么这样得到的关系就可以认为是很强的关系,置信度相对较高,因为他们本来认识的概率很高。

在本发明的一实施例中,所述步骤203包括如下步骤:

1)挖掘频繁子图:将频次与最小频次阈值做比较,移除不频繁的边和点,挖掘出初步的频繁子图;

2)置信度处理:根据各人员在同类型的历史事件数据中产生的关系总数来考量该人员产生的关系的置信度;

3)加入规则业务规则过滤;

4)最终生成的结果就是挖掘出来的关系。

以下通过火车事件示例,来简单说明本申请的关系发现方法:

表1为火车事件数据,其记录了一些人员乘火车的详细记录。

表1

1)假设某业务规则定义为同日期、车次、车厢、发站、到站,通过该业务规则生成人员关系数据,g101={(id1,id2),(id1,id3),(id2,id3)},g119={(id1,id2)},g121={(id1,id3)};

2)将人员关系数据转换成图结构数据;

3)设置最小频次阈值,这里设置为2;

4)调用gspan或其它子图挖掘算法挖掘频繁子图:{(id1,id2),(id1,id3)};

5)根据置信度进行处理,得到频繁子图:{(id1,id2),(id1,id3)};

假设在历史火车事件数据中,id1、id2和id3产生的关系数较少,即id1、id2和id3的置信度较高。

6)调用规则过滤,比如这里过滤掉女性,假使id3是女性,得到最终结果:{(id1,id2)}。

那么id1和id2两个人就是我们发现的具有“伙伴”关系的人。

本申请技术方案针对两人以上的伙伴关系的挖掘,与以往通过规则或者连通图实现的方式比较,在准确性和丰富性上有很好的表现,主要从两方面说明其原因。

其一:引入置信度来度量关系是否可信,从而增强关系准确度。因为规则挖掘会把一些不相关的人关联到一起,比如:火车同行,同车厢的人都产生关系,如果频次设置的低,会有大量的本身不认识但被认定为伙伴关系,本专利中引入的置信度来解决了这个问题,上述认定为伙伴关系实体,其实和好多人都被认定为伙伴关系,我们这时需要根据本实体在同类型的历史事件数据中产生的关系数来计算本实体的置信度,如果低于一个预设的置信度阈值就认为这个关系置信度低,因为他和好多人都发生着关系,而这种情况现实中是很少有的,一次火车出现一个实体也就和一定的人相识。

其二:引入了多事件支持度来加强频繁性,从而改善了丰富性。主要是针对不能从单一事件数据出发去挖掘关系,比如上述说的同行关系,如果规则频次调低,会产生大量无用关系,关系调高会丢失偶然性情况,比如两人就一次同行并一次同住宿,其实但从一个事件出发很难找到关系。但是通过多事件支持度合并统一计算频繁度就可以找到这种关系,因为同行关系是一个子图同住宿是一个子图,两个子图频繁度就是两次。

本申请基于事件规则的关系发现通过频繁模式的方式来挖掘,并且使用基于图的频繁子图的挖掘,更好的判断关系的准确性和丰富性。

本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如以上任一项所述的关系发现方法的步骤。

本发明实施例还提供了一种关系发现装置,包括处理器及存储器,其中:所述处理器用于执行存储器中存储的程序,以实现如以上任一项所述的关系发现方法的步骤。

如图4所示,本发明实施例还提供了一种关系发现装置,包括第一转换模块401、第二转换模块402和关系挖掘模块403,其中:

第一转换模块401,用于将事件数据转换成人员关系数据,所述人员关系数据包括n个集合,每个集合包括m*(m-1)/2个子集,每个子集包括事件中的两个人员,其中,n为事件数量,m为各个集合中的人员数量;

第二转换模块402,用于将人员关系数据转换成图结构数据g=<v,e>,所述图g中的顶点的集合v为n个集合中的所有人员,所述图g中的边的集合e为属于一个子集的两个人员之间的连线;

关系挖掘模块403,用于在所述图结构数据中,挖掘频次满足预设的最小频次阈值的频繁子图,根据挖掘出的频繁子图,得到人员之间的伙伴关系。

在本发明的一实施例中,所述关系挖掘模块403还用于:

调用预设的过滤规则,对频繁子图进行过滤。

在本发明的一实施例中,所述关系挖掘模块403还用于:

计算所述得到的伙伴关系中的人员的置信度,根据与当前事件数据同类型的历史事件数据得到的某人员的伙伴关系数量越大,该人员的置信度越低;

将所述计算出的置信度大于或等于预设的置信度阈值的人员的伙伴关系,作为最终得到的人员之间的伙伴关系。

示例性地,定义所述人员的置信度的计算公式为1/(n+1),其中,n为根据与当前事件数据同类型的历史事件数据得到的该人员的伙伴关系数量。需要说明的是,所述人员的置信度的计算公式也可以定义成其它计算形式,只要满足根据与当前事件数据同类型的历史事件数据得到的某人员的伙伴关系数量越大,该人员的置信度越低即可,本申请并不限制具体使用何种计算公式进行计算。

例如,在一个示例中,根据历史火车事件数据得到人员a的伙伴关系数量为5个,分别为b、c、d、e、f;根据当前火车事件数据得到人员a的伙伴关系数量为1个,即a和g有关系,此时,我们可以认为人员a产生的关系置信度相对较低,也就是g和a之间的关系不强,此时a很可能是一个商务人士经常坐火车,他和其它人就很容易产生关系,而这种关系不能认定为一种强关系。

在另一个示例中,h、i很少火车出行,根据历史火车事件数据得到人员h、i的伙伴关系数量为0。如果有两次他们一起出行,那么这样得到的关系就可以认为是很强的关系,置信度相对较高,因为他们本来认识的概率很高。

本发明实施例主要针对关系计算的准确性和丰富性入手,在准确性上引入一种频繁模式中的置信度,丰富性上不再单独依赖专家提出的规则挖掘关系,通过引入频繁模式的最小频次阈值来更好的调整关系发现的粒度,从而更加丰富和准确地获取隐性关系。

本发明实施例中使用的频繁模式是基于图挖掘中频繁子图模式。本申请首先把事件数据转换成一对一的人人关系,比如:相同时间乘相同车次到相同目的地的人,彼此之间就会生成对应的关系;然后把该人人关系处理成图结构数据,实体人作为图的节点,人人发生的事件关系作为图中的边;接着使用图挖掘中快速频繁子图算法gspan或其它子图挖掘算法来挖掘指定频繁次数的频繁子图;最后把符合要求的频繁子图中的节点生成两两之间的“伙伴”关系。

本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本申请不限制于任何特定形式的硬件和软件的结合。

以上仅为本申请的优选实施例,当然,本申请还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本申请所附的权利要求的保护范围。

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