本发明涉及数据挖掘领域,特别涉及一种关系发现方法和装置。
背景技术:
目前在使用结构化数据构建连接关系时,通常先提取出描述两类实体的数据,实体数据中包含若干实体的属性信息,随后根据属性值是否相同来判断两个实体之间是否存在某种关系。
例如,实体a的属性“子女姓名”的取值为“张三”,而实体b的属性“姓名”的取值为“张三”,那么根据实体a和实体b之间出现了相同属性值的这种情况,就可以构建一个“子女关系”的连接关系。
但是如果用户对属性所表示的含义不清楚,或者对属性的分布不了解,就不能构建出用户所期望的连接关系,尤其是在海量数据中进行关系挖掘时,仅仅依靠经验或人工观察和判断,往往难以构造出用户期望的连接关系。
技术实现要素:
本发明所要解决的一个技术问题是:自动发现连接关系。
本发明提出一种关系发现方法,包括:
获取第一实体类型的实体和第二实体类型的实体的并集,并计算所述并集所包含实体的信息熵;
根据第一实体类型的第一属性和第二实体类型的第二属性,对所述并集中的实体进行聚类,使得包含相同属性值的实体聚为一类,并计算聚类后的并集所包含实体的信息熵;
根据聚类前的并集所包含实体的信息熵和聚类后的并集所包含实体的信息熵,确定信息熵在聚类前后的变化情况;
根据信息熵在聚类前后的变化情况,确定第一实体类型的第一属性和第二实体类型的第二属性是否适合构建连接关系。
可选地,计算第一实体类型的第一属性与第二实体类型的第二属性的第一交叉熵和第二交叉熵;根据第一交叉熵和第二交叉熵的比例信息,确定第一实体类型的第一属性和第二实体类型的第二属性是否适合构建连接关系。
可选地,根据聚类后的并集所包含实体的信息熵与聚类前的并集所包含实体的信息熵的比例,确定信息熵在聚类前后的变化情况;若所述比例在预设下限和预设上限之间,确定第一实体类型的第一属性和第二实体类型的第二属性适合构建连接关系;若所述比例小于预设下限或大于预设上限,确定第一实体类型的第一属性和第二实体类型的第二属性不适合构建连接关系。
可选地,其中,第一交叉熵和第二交叉熵的比例信息为第一交叉熵和第二交叉熵中的较小者与较大者的比例;若第一交叉熵和第二交叉熵的比例信息大于预设分布阈值,确定第一实体类型的第一属性和第二实体类型的第二属性适合构建连接关系;若第一交叉熵和第二交叉熵的比例信息不大于预设分布阈值,确定第一实体类型的第一属性和第二实体类型的第二属性不适合构建连接关系。
可选地,针对第一实体类型的属性和第二实体类型的属性组成的每个属性组合,执行所述关系发现方法。
本发明还提出一种关系发现装置,包括:
并集模块,用于获取第一实体类型的实体和第二实体类型的实体的并集;
聚类模块,用于根据第一实体类型的第一属性和第二实体类型的第二属性,对所述并集中的实体进行聚类,使得包含相同属性值的实体聚为一类;
熵计算模块,用于计算聚类前的并集所包含实体的信息熵和聚类后的并集所包含实体的信息熵,以及根据聚类前的并集所包含实体的信息熵和聚类后的并集所包含实体的信息熵,确定信息熵在聚类前后的变化情况;
关系发现模块,用于根据信息熵在聚类前后的变化情况,确定第一实体类型的第一属性和第二实体类型的第二属性是否适合构建连接关系。
可选地,所述熵计算模块,还用于计算第一实体类型的第一属性与第二实体类型的第二属性的第一交叉熵和第二交叉熵,以及计算第一交叉熵和第二交叉熵的比例信息;所述关系发现模块,还用于根据第一交叉熵和第二交叉熵的比例信息,确定第一实体类型的第一属性和第二实体类型的第二属性是否适合构建连接关系。
可选地,所述熵计算模块,用于根据聚类后的并集所包含实体的信息熵与聚类前的并集所包含实体的信息熵的比例,确定信息熵在聚类前后的变化情况;所述关系发现模块,用于若信息熵的比例在预设下限和预设上限之间,确定第一实体类型的第一属性和第二实体类型的第二属性适合构建连接关系;若信息熵的比例小于预设下限或大于预设上限,确定第一实体类型的第一属性和第二实体类型的第二属性不适合构建连接关系。
可选地,所述熵计算模块,用于将第一交叉熵和第二交叉熵中的较小者与较大者的比例作为第一交叉熵和第二交叉熵的比例信息;所述关系发现模块,用于若第一交叉熵和第二交叉熵的比例信息大于预设分布阈值,确定第一实体类型的第一属性和第二实体类型的第二属性适合构建连接关系;若第一交叉熵和第二交叉熵的比例信息不大于预设分布阈值,确定第一实体类型的第一属性和第二实体类型的第二属性不适合构建连接关系。
可选地,关系发现装置还包括:循环模块,用于针对第一实体类型的属性和第二实体类型的属性组成的每个属性组合,执行所述装置的关系发现功能。
本发明还提出一种关系发现装置,包括:
存储器;以及
耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行前述的关系发现方法。
本发明还提出一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前所述的关系发现方法。
从而,本发明能够自动发现连接关系。并且,基于信息熵在实体聚类前后的变化情况,能够发现连接数量合适的适合构建连接关系的属性对。此外,基于不同实体交叉熵的比例信息,还能够进一步发现属性值分布均匀的适合构建连接关系的属性对。
附图说明
下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍。根据下面参照附图的详细描述,可以更加清楚地理解本发明,
显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1示出本发明关系发现方法一个实施例的流程示意图。
图2示出本发明关系发现方法另一个实施例的流程示意图。
图3示出本发明关系发现装置一个实施例的结构示意图。
图4示出本发明关系发现装置另一个实施例的结构示意图。
图5示出本发明关系发现装置再一个实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
本发明中的“第一”和“第二”用来区分不同的对象,并不用来表示大小或时序。
本实施例提出一种能够自动发现连接关系的关系发现方法,如图1所示,该方法包括:
首先,假设实体类型1(第一实体类型)包含m个属性,实体类型2(第二实体类型)包含n个属性,每次取实体类型1的一个属性和实体类型2的一个属性进行分析,共有m×n个属性组合(或称属性对),针对每个属性组合执行如下步骤s110-s130。
步骤s110:获取实体类型1的实体和实体类型2的实体的并集,计算该并集所包含的实体的信息熵。
其中,并集获取方法如下:
x=x1∪x2
其中,x1是实体类型1包含的实体的集合,x2是实体类型2包含的实体的集合,x是二者的并集。
其中,该并集所包含的实体的信息熵计算方法如下:
其中,|x|表示x中的元素(实体)的数量,xi表示x中的元素,p(xi)是xi出现的概率,h(x)表示并集x所包含的实体的信息熵。
步骤s120:假设本次流程的属性组合是实体类型1的属性1和实体类型2的属性2。则,根据实体类型1的属性1的值和实体类型2的属性2的值,对并集x中的实体元素进行聚类,使得包含相同属性值的实体元素归为一类,并计算聚类后的并集所包含实体的信息熵。
例如,如果并集x中的元素可聚为c1,…,c|c|共|c|个聚类,即实体类型1的属性1和实体类型2的属性2总共有|c|个不同的取值,那么聚类后的并集所包含实体的信息熵计算方法如下:
其中|ci|表示聚类ci中实体元素的数量,p(ci)是ci出现的概率,h(c)表示聚类后的并集c所包含实体的信息熵。
步骤s130:根据聚类前的并集所包含实体的信息熵和聚类后的并集所包含实体的信息熵,确定信息熵在聚类前后的变化情况,根据信息熵在聚类前后的变化情况,确定实体类型1的属性1和实体类型2的属性2是否适合构建连接关系。
例如,利用聚类后的并集所包含实体的信息熵与聚类前的并集所包含实体的信息熵的比例,表示信息熵在聚类前后的变化情况,公式表示如下:
如果r1在预设下限和预设上限之间,表示实体类型1的属性1和实体类型2的属性2适合构建连接关系。如果r1小于预设下限,表示所能构建的连接数量过多,实体类型1的属性1和实体类型2的属性2不适合构建连接关系。如果r1大于预设上限,表示所能构建的连接数量过少,实体类型1的属性1和实体类型2的属性2不适合构建连接关系。其中,下限和上限是可设置的,例如,下限设置为0.5,上限设置为0.9,但不限于所举示例。
发明人发现,现有技术需要人工对实体及其属性进行观察分析,判断是否包含可供构建连接的信息。这种基于经验的方法往往不准确,在构建连接时,会出现所能构建的连接数量过多或过少,从而使所构建的连接能提供的信息不足。
本实施例通过信息熵在聚类前后的变化情况来确定属性对是否适合构建连接关系,可以很好地解决前述问题。
如果r1大于预设上限0.9,表示如果使用x1的某个属性和x2的某个属性进行聚类后,其包含的信息或分布情况和未聚类之前所包含的信息或分布情况相比变化不大,即x1的某个属性和x2的某个属性不包含适合构建连接关系的信息。例如,一个学校的两个班的学生,如果按照母亲姓名构建连接(根据这种连接可以得到兄弟姐妹的关系),根据步骤s110和s120,聚类后仅仅合并相同母亲的学生,由于这两个班拥有相同母亲的学生所占的比例很小,聚类后和聚类前的信息熵变化不大,出现r1大于0.9的情况,表示这种连接可构建的连接数量太少,即学生实体的母亲姓名的属性不包含适合构建连接关系的信息。
如果r1比值小于预设下限0.5,表示聚类后产生的类的数量和原来的实体的数量相比减少很多,因此会产生很多包含大量实体的聚类,这些类里面的实体两两之间都可以构建连接,从而导致连接的数量过大,因此也不适合构建连接。例如,一个学校的两个班的学生,如果按照所属区县来构建连接,根据s110和s120步骤,按照学生的所属区县进行聚类,因为这两个班的学生通常都来自相同的几个区县,即学生的所属区县这个属性值的取值范围很少,在聚类时就会被聚为很少的几个类,从而使r1比值很小,出现r1小于0.5的情况,这样来自相同区县的学生两两之间都会构建出连接关系,因此会导致连接关系数量过大,不具有分析的价值,因此这种属性也不包含适合构建连接的信息。
从而,本实施例能够自动发现连接关系。并且,基于信息熵在实体聚类前后的变化情况,能够发现连接数量合适的适合构建连接关系的属性对。
可选地,本发明还能基于不同实体交叉熵的比例信息,进一步发现属性值分布均匀的适合构建连接关系的属性对。如图2所示,针对每个属性组合还可以执行如下步骤s140-s150。
步骤s140:计算实体类型1的属性1与实体类型2的属性2的交叉熵,包括:实体类型1的属性1对实体类型2的属性2的第一交叉熵,实体类型2的属性2对实体类型1的属性1的第二交叉熵。
假设实体类型1的属性1的所有取值所构成的集合为a1,实体类型2的属性2的所有取值所构成的集合为a2,交叉熵的计算方法如下:
其中|ai|表示x1中属性1取值为ai的元素的数量,p(ai)是ai在集合x1出现的概率。
其中|ai|表示x2中属性2取值为ai的元素的数量,q(ai)是ai在集合x2出现的概率。
第一交叉熵
第二交叉熵
步骤s150:计算第一交叉熵和第二交叉熵的比例信息,该比例信息例如为第一交叉熵和第二交叉熵中的较小者与较大者的比例,根据该比例信息确定实体类型1的属性1和实体类型2的属性2是否适合构建连接关系。
若第一交叉熵和第二交叉熵的比例信息大于预设分布阈值,说明属性值分布均匀,确定实体类型1的属性1和实体类型2的属性2适合构建连接关系;若第一交叉熵和第二交叉熵的比例信息不大于预设分布阈值,说明属性值分布不均匀,确定实体类型1的属性1和实体类型2的属性2不适合构建连接关系。其中,分布阈值是可设置的,例如,分布阈值为0.01,但不限于所举示例。
公式表示如下:
如果h(x1,x2)<h(x2,x1),
否则,
如果r2大于分布阈值0.01,表示实体类型1的属性1和实体类型2的属性2适合构建连接关系,如果r2不大于0.01表示实体类型1的属性1和实体类型2的属性2不适合构建连接关系。
从而,基于不同实体交叉熵的比例信息,进一步发现属性值分布均匀的适合构建连接关系的属性对。
下面列举一个应用例来说明本发明的关系发现方法。
假设实体类型1包含属性1和属性2,实体类型2包含属性3、属性4、属性5,实体类型1包含10个实体,实体类型2包含10个实体,这些实体在属性1、属性2、属性3、属性4、属性5上的取值如下表所示:
例如:实体a的属性1的取值是1,属性2的取值是1;实体p的属性3的取值是6,属性4的取值是3,属性5的取值是2。
其中,实体类型1包含2个属性,实体类型2包含3个属性,每次取实体类型1的一个属性和实体类型2的一个属性进行分析,共有6个属性组合,对每个属性组合执行步骤a1-a5。
首先分析实体类型1的属性1和实体类型2的属性3。
步骤a1:取实体类型1的实体和实体类型2的实体的并集,计算该并集所包含的实体的信息熵,具体如下
x=x1∪x2={a,b,c,…,r,s,t}
其中x1是实体类型1包含的实体的集合,x2是实体类型2包含的实体的集合,x是二者的并集。
步骤a2:根据实体类型1的属性1的值和实体类型2的属性3的值对x中的元素进行聚类,将包含相同属性值的元素归为一类,由于实体类型1的属性1和实体类型2的属性3总共有10个不同的取值,则x中的元素可聚为c1,…,c10共10个聚类,那么
计算聚类后的信息熵:
步骤a3:计算:
r1没有大于0.9或小于0.5,表示包含适合建连接的信息,即实体类型1的属性1和实体类型2的属性3能够构建出数量合适的连接关系。
对于经过步骤a1-a3的判断确认为包含适合建连接的信息的属性,还可以选择性地进一步执行步骤a4-a5,从中进一步发现属性值分布均匀的适合构建连接关系的属性对。
步骤a4:计算实体类型1的属性1与实体类型2的属性3的交叉熵,设实体类型1的属性1的所有取值所构成的集合为a1,实体类型2的属性3的所有取值所构成的集合为a2,:
第一交叉熵
第二交叉熵
步骤a5:
r1=0.76,r2大于0.01,表示适合构建连接关系。
以相同方式计算实体类型1的属性1和实体类型2的属性4,得到r1=0.71,r2=0.34,表示适合构建连接关系。
以相同方式计算实体类型1的属性1和实体类型2的属性5,得到r1=0.64,r2=0.05,表示适合构建连接关系。
以相同方式计算实体类型1的属性2和实体类型2的属性5,得到r1=0.23,表示不适合构建连接关系。
图3为本发明关系发现装置的一个实施例的结构示意图。如图3所示,本实施例的装置包括:
并集模块310,用于获取第一实体类型的实体和第二实体类型的实体的并集;
聚类模块320,用于根据第一实体类型的第一属性和第二实体类型的第二属性,对并集中的实体进行聚类,使得包含相同属性值的实体聚为一类;
熵计算模块330,用于计算聚类前的并集所包含实体的信息熵和聚类后的并集所包含实体的信息熵,以及根据聚类前的并集所包含实体的信息熵和聚类后的并集所包含实体的信息熵,确定信息熵在聚类前后的变化情况;
关系发现模块340,用于根据信息熵在聚类前后的变化情况,确定第一实体类型的第一属性和第二实体类型的第二属性是否适合构建连接关系。
在一个实施例中,熵计算模块330,还用于计算第一实体类型的第一属性与第二实体类型的第二属性的第一交叉熵和第二交叉熵,以及计算第一交叉熵和第二交叉熵的比例信息;关系发现模块340,还用于根据第一交叉熵和第二交叉熵的比例信息,确定第一实体类型的第一属性和第二实体类型的第二属性是否适合构建连接关系。
在一个实施例中,熵计算模块330,用于根据聚类后的并集所包含实体的信息熵与聚类前的并集所包含实体的信息熵的比例,确定信息熵在聚类前后的变化情况;关系发现模块340,用于若信息熵的比例在预设下限和预设上限之间,确定第一实体类型的第一属性和第二实体类型的第二属性适合构建连接关系;若信息熵的比例小于预设下限或大于预设上限,确定第一实体类型的第一属性和第二实体类型的第二属性不适合构建连接关系。
在一个实施例中,熵计算模块330,用于将第一交叉熵和第二交叉熵中的较小者与较大者的比例作为第一交叉熵和第二交叉熵的比例信息;关系发现模块340,用于若第一交叉熵和第二交叉熵的比例信息大于预设分布阈值,确定第一实体类型的第一属性和第二实体类型的第二属性适合构建连接关系;若第一交叉熵和第二交叉熵的比例信息不大于预设分布阈值,确定第一实体类型的第一属性和第二实体类型的第二属性不适合构建连接关系。
图4为本发明关系发现装置的另一个实施例的结构示意图。如图4所示,本实施例的装置还包括:
循环模块350,用于针对第一实体类型的属性和第二实体类型的属性组成的每个属性组合,执行装置的关系发现功能。
从而,本发明的装置能够自动发现连接关系。并且,基于信息熵在实体聚类前后的变化情况,能够发现连接数量合适的适合构建连接关系的属性对。此外,基于不同实体交叉熵的比例信息,还能够进一步发现属性值分布均匀的适合构建连接关系的属性对。
图5为本发明网络性能监控装置的一个实施例的结构图。如图5所示,该实施例的装置包括:存储器510以及耦接至该存储器510的处理器520,处理器520被配置为基于存储在存储器510中的指令,执行前述任意一个实施例中的关系发现方法。
其中,存储器510例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(bootloader)以及其他程序等。
该实施例的装置还可以包括输入输出接口530、网络接口540、存储接口550等。这些接口530,540,550以及存储器510和处理器520之间例如可以通过总线560连接。其中,输入输出接口530为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口540为各种联网设备提供连接接口。存储接口550为sd卡、u盘等外置存储设备提供连接接口。
本发明提出一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述的关系发现方法的步骤。
本领域内的技术人员应当明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解为可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。