发明内容
本发明实施例提供一种特征生成方法、装置、电子设备及计算机可读存储介质。
第一方面,本发明实施例中提供了一种特征生成方法。
具体的,所述特征生成方法,包括:
建立历史事件数据网络图,并生成所述历史事件数据网络图中顶点的向量表达,其中,所述事件数据网络图包括两个或多个用于表征事件属性信息的顶点以及用于表征顶点之间关系的边;
响应于接收到新发事件,基于所述新发事件对于所述历史事件数据网络图进行更新,并生成新顶点的向量表达;
根据新顶点的向量表达生成所述新发事件的特征表达。
结合第一方面,本发明实施例在第一方面的第一种实现方式中,所述建立历史事件数据网络图,并生成所述历史事件数据网络图中顶点的向量表达,包括:
获取预设历史时间段内的历史事件及其属性信息,其中所述属性信息包括两个或多个事件属性元素;
以所述事件属性元素为顶点,以所述事件属性元素之间的关系为边,建立历史事件数据网络图;
将所述历史事件数据网络图中的顶点转换为向量表达。
结合第一方面和第一方面的第一种实现方式,本发明实施例在第一方面的第二种实现方式中,所述响应于接收到新发事件,基于所述新发事件对于所述历史事件数据网络图进行更新,并生成新顶点的向量表达,包括:
响应于接收到新发事件,确定其属性信息;
根据所述属性信息生成新顶点以及新顶点之间的边;
基于所述新顶点以及新顶点之间的边对于所述历史事件数据网络图进行更新,得到当前事件数据网络图;
将所述当前事件数据网络图中的新顶点转换为向量表达。
结合第一方面、第一方面的第一种实现方式和第一方面的第二种实现方式,本发明实施例在第一方面的第三种实现方式中,所述基于所述新顶点以及新顶点之间的边对于所述历史事件数据网络图进行更新,得到当前事件数据网络图,包括:
确定所述历史事件数据网络图中是否存在与所述新顶点重复的顶点;
当所述历史事件数据网络图中不存在与所述新顶点重复的顶点时,将所述新顶点加入所述历史事件数据网络图中,并根据新顶点之间的关系以及新顶点与历史顶点之间的关系建立边。
结合第一方面、第一方面的第一种实现方式、第一方面的第二种实现方式和第一方面的第三种实现方式,本公开在第一方面的第四种实现方式中,所述根据新顶点的向量表达生成所述新发事件的特征表达,包括:
基于所述当前事件数据网络图,对于新顶点进行采样,得到所述新顶点的拓扑信息;
基于所述新顶点的拓扑信息,根据所述新顶点的向量表达量化相关新顶点之间的关系,得到相关新顶点的特征表达;
基于所述相关新顶点的特征表达生成所述新发事件的特征表达。
结合第一方面、第一方面的第一种实现方式、第一方面的第二种实现方式、第一方面的第三种实现方式和第一方面的第四种实现方式,本公开在第一方面的第五种实现方式中,所述基于所述新顶点的拓扑信息,根据所述新顶点的向量表达量化相关新顶点之间的关系,得到相关新顶点的特征表达,包括:
基于所述新顶点的拓扑信息确定相关新顶点;
利用所述新顶点的向量表达,计算相关新顶点中两两新顶点之间的关系表达;
基于新顶点及两两新顶点之间的关系表达生成相关新顶点的特征表达。
结合第一方面、第一方面的第一种实现方式、第一方面的第二种实现方式、第一方面的第三种实现方式、第一方面的第四种实现方式和第一方面的第五种实现方式,本公开在第一方面的第六种实现方式中,还包括:
根据所述新顶点与所述新发事件之间的相关性对于所述新发事件的特征表达进行修正。
第二方面,本公开实施例中提供了一种特征生成装置。
具体的,所述特征生成装置,包括:
建立模块,被配置为建立历史事件数据网络图,并生成所述历史事件数据网络图中顶点的向量表达,其中,所述事件数据网络图包括两个或多个用于表征事件属性信息的顶点以及用于表征顶点之间关系的边;
更新模块,被配置为响应于接收到新发事件,基于所述新发事件对于所述历史事件数据网络图进行更新,并生成新顶点的向量表达;
生成模块,被配置为根据新顶点的向量表达生成所述新发事件的特征表达。
结合第二方面,本公开在第二方面的第一种实现方式中,所述建立模块包括:
获取子模块,被配置为获取预设历史时间段内的历史事件及其属性信息,其中所述属性信息包括两个或多个事件属性元素;
建立子模块,被配置为以所述事件属性元素为顶点,以所述事件属性元素之间的关系为边,建立历史事件数据网络图;
第一转换子模块,被配置为将所述历史事件数据网络图中的顶点转换为向量表达。
结合第二方面和第二方面的第一种实现方式,本公开在第二方面的第二种实现方式中,所述更新模块包括:
第一确定子模块,被配置为响应于接收到新发事件,确定其属性信息;
第一生成子模块,被配置为根据所述属性信息生成新顶点以及新顶点之间的边;
更新子模块,被配置为基于所述新顶点以及新顶点之间的边对于所述历史事件数据网络图进行更新,得到当前事件数据网络图;
第二转换子模块,被配置为将所述当前事件数据网络图中的新顶点转换为向量表达。
结合第二方面、第二方面的第一种实现方式和第二方面的第二种实现方式,本公开在第二方面的第三种实现方式中,所述更新子模块包括:
第二确定子模块,被配置为确定所述历史事件数据网络图中是否存在与所述新顶点重复的顶点;
添加子模块,被配置为当所述历史事件数据网络图中不存在与所述新顶点重复的顶点时,将所述新顶点加入所述历史事件数据网络图中,并根据新顶点之间的关系以及新顶点与历史顶点之间的关系建立边。
结合第二方面、第二方面的第一种实现方式、第二方面的第二种实现方式和第二方面的第三种实现方式,本公开在第二方面的第四种实现方式中,所述生成模块包括:
采样子模块,被配置为基于所述当前事件数据网络图,对于新顶点进行采样,得到所述新顶点的拓扑信息;
量化子模块,被配置为基于所述新顶点的拓扑信息,根据所述新顶点的向量表达量化相关新顶点之间的关系,得到相关新顶点的特征表达;
第二生成子模块,被配置为基于所述相关新顶点的特征表达生成所述新发事件的特征表达。
结合第二方面、第二方面的第一种实现方式、第二方面的第二种实现方式、第二方面的第三种实现方式和第二方面的第四种实现方式,本公开在第二方面的第五种实现方式中,所述量化子模块包括:
第三确定子模块,被配置为基于所述新顶点的拓扑信息确定相关新顶点;
计算子模块,被配置为利用所述新顶点的向量表达,计算相关新顶点中两两新顶点之间的关系表达;
第三生成子模块,被配置为基于新顶点及两两新顶点之间的关系表达生成相关新顶点的特征表达。
结合第二方面、第二方面的第一种实现方式、第二方面的第二种实现方式、第二方面的第三种实现方式、第二方面的第四种实现方式和第二方面的第五种实现方式,本公开在第二方面的第六种实现方式中,还包括:
修正模块,被配置为根据所述新顶点与所述新发事件之间的相关性对于所述新发事件的特征表达进行修正。
第三方面,本发明实施例提供了一种电子设备,包括存储器和处理器,所述存储器用于存储一条或多条支持特征生成装置执行上述第一方面中特征生成方法的计算机指令,所述处理器被配置为用于执行所述存储器中存储的计算机指令。所述特征生成装置还可以包括通信接口,用于特征生成装置与其他设备或通信网络通信。
第四方面,本发明实施例提供了一种计算机可读存储介质,用于存储特征生成装置所用的计算机指令,其包含用于执行上述第一方面中特征生成方法为特征生成装置所涉及的计算机指令。
本发明实施例提供的技术方案可以包括以下有益效果:
上述技术方案借助事件数据网络图,对于图中顶点之间的关系进行量化,进而快速有效地生成新发事件的特征表达。该技术方案将复杂的字符关系转化为量的关系,流程清晰,简单有效,从而能够应对量大变化快的实时数据,降低计算量,实时输出有效特征,满足实际业务的需求。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明实施例。
具体实施方式
下文中,将参考附图详细描述本发明实施例的示例性实施方式,以使本领域技术人员可容易地实现它们。此外,为了清楚起见,在附图中省略了与描述示例性实施方式无关的部分。
在本发明实施例中,应理解,诸如“包括”或“具有”等的术语旨在指示本说明书中所公开的特征、数字、步骤、行为、部件、部分或其组合的存在,并且不欲排除一个或多个其他特征、数字、步骤、行为、部件、部分或其组合存在或被添加的可能性。
另外还需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明实施例。
本发明实施例提供的技术方案借助事件数据网络图,对于图中顶点之间的关系进行量化,进而快速有效地生成新发事件的特征表达。该技术方案将复杂的字符关系转化为量的关系,流程清晰,简单有效,从而能够应对量大变化快的实时数据,降低计算量,实时输出有效特征,满足实际业务的需求。
图1示出根据本发明一实施方式的特征生成方法的流程图,如图1所示,所述特征生成方法包括以下步骤S101-S103:
在步骤S101中,建立历史事件数据网络图,并生成所述历史事件数据网络图中顶点的向量表达,其中,所述事件数据网络图包括两个或多个用于表征事件属性信息的顶点以及用于表征顶点之间关系的边;
在步骤S102中,响应于接收到新发事件,基于所述新发事件对于所述历史事件数据网络图进行更新,并生成新顶点的向量表达;
在步骤S103中,根据新顶点的向量表达生成所述新发事件的特征表达。
上文提及,特征工程在机器学习任务中具有重要的作用,如何快速生成有效的特征表示,是一直困扰业界的问题。传统的特征提取方法依赖人工的参与,需要技术人员对业务有深入的理解,再将业务知识转化为特征表示,而且得到的特征表示需在数据集上验证成功后,才能应用到具体业务中,很显然,这个过程漫长费力,而且由于实际应用中很多数据量大变化快,很多数据属于不能够直接比较大小的类型性数据,上述传统特征提取方法根本无法实时输出有效特征,因而无法满足实际业务的需求。
考虑到上述缺陷,在该实施方式中,提出一种特征生成方法,该方法借助事件数据网络图,对于图中顶点之间的关系进行量化,进而快速有效地生成新发事件的特征表达。该技术方案将复杂的字符关系转化为量的关系,流程清晰,简单有效,从而能够应对量大变化快的实时数据,降低计算量、实时输出有效特征,满足实际业务的需求。具体地,首先建立历史事件数据网络图,并生成所述历史事件数据网络图中顶点的向量表达;然后响应于接收到新发事件,基于所述新发事件对于所述历史事件数据网络图进行更新,并生成新顶点的向量表达;最后根据新顶点的向量表达生成所述新发事件的特征表达。
其中,所述事件数据网络图是一个能够在一定程度上对于某一事件进行表征、对于事件的各个要素及其之间的关系进行描述的图,所述事件数据网络图包括两个或多个用于表征事件属性信息的顶点以及连接两个顶点用于表征这两个顶点之间的关系的边,所述属性信息又包括两个或多个事件属性元素。所述事件属性元素包括以下元素中的一种或多种:事件相关主体、事件相关介质和主体属性内容等等。比如,对于买卖交易事件,事件相关主体可以为买方和卖方,事件相关介质可以为IP地址、MAC地址、位置信息和交易对象,主体属性内容可以为买方和卖方的手机号码、邮箱地址、联系地址等等,将上述事件属性元素作为顶点,将元素之间的关系作为边,即可生成该买卖交易事件对应的事件数据网络图。需要特别说明的是,对于不同的事件,其属性元素也会随之不同,具体属性元素的选择可根据不同事件的特点、属性元素之间的关系、应用场景的不同以及特征提取的目的来确定。
其中,所述新发事件指的是新发的、与所述历史事件不同的事件,也是本发明提取特征的对象,所述新发事件的新顶点指的是基于所述新发事件的属性信息建立的新顶点,下文对于新顶点的建立会有详细的描述。
在本实施例的一个可选实现方式中,如图2所示,所述步骤S101,即所述建立历史事件数据网络图,并生成所述历史事件数据网络图中顶点的向量表达的步骤,包括以下步骤S201-S203:
在步骤S201中,获取预设历史时间段内的历史事件及其属性信息,其中所述属性信息包括两个或多个事件属性元素;
在步骤S202中,以所述事件属性元素为顶点,以所述事件属性元素之间的关系为边,建立历史事件数据网络图;
在步骤S203中,将所述历史事件数据网络图中的顶点转换为向量表达。
为了能够为当前事件数据网络图提供数据支持,节省当前事件数据网络图的生成时间,提高当前事件数据网络图的生成效率,在该实施方式中,事先基于历史事件建立历史事件数据网络图,并生成所述历史事件数据网络图中顶点的向量表达,具体地,首先获取预设历史时间段内的历史事件及其属性信息;然后以所述属性信息的事件属性元素为顶点,以事件属性元素之间的关系为边,建立历史事件数据网络图;最后将所述历史事件数据网络图中的顶点转换为向量表达。
其中,所述预设历史时间段为当前时间之前的一个时间段,本领域技术人员可根据实际应用的需要对其进行设置。
在本实施例的一个可选实现方式中,在将所述历史事件数据网络图中的顶点转换为向量表达时,可借助向量运算算子来实现,比如,可利用node2vector算子将所述历史事件数据网络图中的各个顶点从高维稀疏空间映射到低维稠密空间中,同时生成每个顶点对应的向量表达,需要注意的是,在该向量映射过程中,应保持图中各顶点之间的拓扑关系或其他特定几何性质不变。
在本实施例的一个可选实现方式中,如图3所示,所述步骤S102,即所述响应于接收到新发事件,基于所述新发事件对于所述历史事件数据网络图进行更新,并生成新顶点的向量表达的步骤,包括以下步骤S301-S304:
在步骤S301中,响应于接收到新发事件,确定其属性信息;
在步骤S302中,根据所述属性信息生成新顶点以及新顶点之间的边;
在步骤S303中,基于所述新顶点以及新顶点之间的边对于所述历史事件数据网络图进行更新,得到当前事件数据网络图;
在步骤S304中,将所述当前事件数据网络图中的新顶点转换为向量表达。
在该实施方式中,在接收到作为本发明特征提取对象的新发事件后,应将其所携带的信息融入至历史事件数据网络图中,以进行整合分析。具体地,首先确定新发事件的属性信息,然后按照与上文描述类似的方法根据所述属性信息生成新顶点以及新顶点之间的边,然后基于所述新顶点以及新顶点之间的边,对于所述历史事件数据网络图进行更新,即将所述新顶点以及新顶点之间的边融入至历史事件数据网络图中,得到当前事件数据网络图,最后将所述当前事件数据网络图中的新顶点转换为向量表达。
考虑到事件数据网络图中的顶点数量众多,为了降低计算量,节省计算资源,在所述步骤S304中,只是将当前事件数据网络图中新加入的顶点转换为向量表达,而不是将当前事件数据网络图中全部的顶点转换为向量表达。但当事件数据网络图中的顶点数量不是很多,无需花费太长时间即可对于全部顶点进行向量表示转换时,可选择对于全部顶点进行向量表示转换,以提高向量转换的准确率。或者从另外一个角度上说,所述步骤S304中的新顶点既可以指代新加入的顶点,也可以指代加入新顶点之后得到的事件数据网络图中的顶点。
在本实施例的一个可选实现方式中,在将新加入的顶点转换为向量表达时,可借助向量运算算子来实现,比如,可利用word2vector算子和CBOW(Continuous Bag of Word)模型将新加入的顶点映射到低维向量空间中,同时生成每个新顶点对应的向量表达。
在本实施例的一个可选实现方式中,如图4所示,所述步骤S303,即所述基于所述新顶点以及新顶点之间的边对于所述历史事件数据网络图进行更新,得到当前事件数据网络图的步骤,包括以下步骤S401-S402:
在步骤S401中,确定所述历史事件数据网络图中是否存在与所述新顶点重复的顶点;
在步骤S402中,当所述历史事件数据网络图中不存在与所述新顶点重复的顶点时,将所述新顶点加入所述历史事件数据网络图中,并根据新顶点之间的关系以及新顶点与历史顶点之间的关系建立边。
为了减少事件数据网络图的冗余性,提高事件数据网络图的工作效率,在该实施方式中,在将新顶点融入历史事件数据网络图中时,还对顶点的重复性进行核查。具体地,首先确定所述历史事件数据网络图中是否存在与所述新顶点重复的顶点;当所述历史事件数据网络图中不存在与所述新顶点重复的顶点时,将所述新顶点加入所述历史事件数据网络图中,并根据新顶点之间的关系以及新顶点与历史顶点之间的关系建立相应的边,进一步地,还可利用向量运算算子,比如word2vector算子对于新顶点的向量表达进行更新;当所述历史事件数据网络图中存在与所述新顶点重复的顶点时,使用已有顶点的向量表达,不将所述新顶点加入所述历史事件数据网络图中,或者直接删除所述新顶点。
在本实施例的一个可选实现方式中,如图5所示,所述步骤S103,即所述根据新顶点的向量表达生成所述新发事件的特征表达的步骤,包括以下步骤S501-S503:
在步骤S501中,基于所述当前事件数据网络图,对于新顶点进行采样,得到所述新顶点的拓扑信息;
在步骤S502中,基于所述新顶点的拓扑信息,根据所述新顶点的向量表达量化相关新顶点之间的关系,得到相关新顶点的特征表达;
在步骤S503中,基于所述相关新顶点的特征表达生成所述新发事件的特征表达。
为了快速有效地提取新发事件的特征表达,在该实施方式中,首先对于新顶点之间的关系进行量化。具体地,首先基于所述当前事件数据网络图,对于新顶点进行采样,得到所述新顶点的拓扑信息,即在所述当前事件数据网络图的范围内,对于新顶点进行采样;然后基于所述新顶点的拓扑信息,根据所述新顶点的向量表达对相关新顶点之间的关系进行量化,得到相关新顶点的特征表达;最后基于所述相关新顶点的特征表达生成所述新发事件的特征表达。
其中,在所述当前事件数据网络图的范围内,对于新顶点进行采样时,可根据实际应用的需要选择采样方法,比如可采用随机游走采样方法,随机游走采样是从事件数据网络图中的任一顶点出发,随机选择当前顶点的一阶邻居顶点作为该次跳转的目标顶点,重复随机选择和跳转即可得到随机采样结果。
在本实施例的一个可选实现方式中,对于所述步骤S503,可将所述相关新顶点的特征表达以向量或者数组的形式排列,生成所述新发事件的特征表达。其中,各顶点的特征表达排列顺序可根据实际应用的需要确定,无需特别限制。
在本实施例的一个可选实现方式中,如图6所示,所述步骤S502,即所述基于所述新顶点的拓扑信息,根据所述新顶点的向量表达量化相关新顶点之间的关系,得到相关新顶点的特征表达的步骤,包括以下步骤S601-S603:
在步骤S601中,基于所述新顶点的拓扑信息确定相关新顶点;
在步骤S602中,利用所述新顶点的向量表达,计算相关新顶点中两两新顶点之间的关系表达;
在步骤S603中,基于新顶点及两两新顶点之间的关系表达生成相关新顶点的特征表达。
为了快速有效地对于新顶点之间的关系进行量化,在该实施方式中,采用特征交叉的方法来实现。具体地,首先基于所述新顶点的拓扑信息确定相关新顶点,其中,所述相关新顶点指的是具有同一类型的数据、具有同一操作目的的数据、与同一操作目的相关的数据等等;然后利用所述新顶点的向量表达,计算相关新顶点中两两新顶点之间的关系表达,即两两进行交叉运算,其中,可借助向量距离、向量相似度等度量方式的计算来获取新顶点之间的关系表达;最后基于新顶点及两两新顶点之间的关系表达得到相关新顶点的特征表达。
传统特征提取方法使用的数据网络图中,各顶点之间的关系是靠消息传递机制来查询得到的,每次进行消息查询时需要遍历整个网络图,计算量属于线性复杂度,在顶点连接的深度比较大时,基本无法进行有效计算。而在本实施方式中,将顶点与顶点之间的关系进行了量化操作,将顶点之间的邻接关系转化为点与点之间的向量距离关系,从而避免了传统特征提取方法顶点关系查询流程,进而大大降低了计算复杂度、减少计算量、提高了计算效率。
在本实施例的一个可选实现方式中,所述方法还包括对于所述新发事件的特征表达进行修正的步骤,即如图7所示,所述方法包括以下步骤S701-S704:
在步骤S701中,建立历史事件数据网络图,并生成所述历史事件数据网络图中顶点的向量表达,其中,所述事件数据网络图包括两个或多个用于表征事件属性信息的顶点以及用于表征顶点之间关系的边;
在步骤S702中,响应于接收到新发事件,基于所述新发事件对于所述历史事件数据网络图进行更新,并生成新顶点的向量表达;
在步骤S703中,根据新顶点的向量表达生成所述新发事件的特征表达;
在步骤S704中,根据所述新顶点与所述新发事件之间的相关性对于所述新发事件的特征表达进行修正。
为了有重点地体现新发事件的特征表达,进一步提高新发事件特征表达的准确性和有效性,在该实施方式中,在生成所述新发事件的特征表达之后,还根据所述新顶点与所述新发事件之间的相关性对于所述新发事件的特征表达进行修正。
其中,所述新顶点与所述新发事件之间的相关性指的是,基于某一目的或者说基于某一应用场景、基于所应用业务的应用特点,新顶点所表征的事件属性元素与事件本身之间的相关程度,或者说新顶点所表征的事件属性元素对于事件本身的重要程度。
下述为本发明装置实施例,可以用于执行本发明方法实施例。
图8示出根据本发明一实施方式的特征生成装置的结构框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部,适用于任务调度器。如图8所示,所述特征生成装置包括:
建立模块801,被配置为建立历史事件数据网络图,并生成所述历史事件数据网络图中顶点的向量表达,其中,所述事件数据网络图包括两个或多个用于表征事件属性信息的顶点以及用于表征顶点之间关系的边;
更新模块802,被配置为响应于接收到新发事件,基于所述新发事件对于所述历史事件数据网络图进行更新,并生成新顶点的向量表达;
生成模块803,被配置为根据新顶点的向量表达生成所述新发事件的特征表达。
上文提及,特征工程在机器学习任务中具有重要的作用,如何快速生成有效的特征表示,是一直困扰业界的问题。传统的特征提取方法依赖人工的参与,需要技术人员对业务有深入的理解,再将业务知识转化为特征表示,而且得到的特征表示需在数据集上验证成功后,才能应用到具体业务中,很显然,这个过程漫长费力,而且由于实际应用中很多数据量大变化快,很多数据属于不能够直接比较大小的类型性数据,上述传统特征提取方法根本无法实时输出有效特征,因而无法满足实际业务的需求。
考虑到上述缺陷,在该实施方式中,提出一种特征生成装置,该装置借助事件数据网络图,对于图中顶点之间的关系进行量化,进而快速有效地生成新发事件的特征表达。该技术方案将复杂的字符关系转化为量的关系,流程清晰,简单有效,从而能够应对量大变化快的实时数据,降低计算量、实时输出有效特征,满足实际业务的需求。具体地,建立模块801建立历史事件数据网络图,并生成所述历史事件数据网络图中顶点的向量表达;更新模块802响应于接收到新发事件,基于所述新发事件对于所述历史事件数据网络图进行更新,并生成新顶点的向量表达;生成模块803根据新顶点的向量表达生成所述新发事件的特征表达。
其中,所述事件数据网络图是一个能够在一定程度上对于某一事件进行表征、对于事件的各个要素及其之间的关系进行描述的图,所述事件数据网络图包括两个或多个用于表征事件属性信息的顶点以及连接两个顶点用于表征这两个顶点之间的关系的边,所述属性信息又包括两个或多个事件属性元素。所述事件属性元素包括以下元素中的一种或多种:事件相关主体、事件相关介质和主体属性内容等等。比如,对于买卖交易事件,事件相关主体可以为买方和卖方,事件相关介质可以为IP地址、MAC地址、位置信息和交易对象,主体属性内容可以为买方和卖方的手机号码、邮箱地址、联系地址等等,将上述事件属性元素作为顶点,将元素之间的关系作为边,即可生成该买卖交易事件对应的事件数据网络图。需要特别说明的是,对于不同的事件,其属性元素也会随之不同,具体属性元素的选择可根据不同事件的特点、属性元素之间的关系、应用场景的不同以及特征提取的目的来确定。
其中,所述新发事件指的是新发的、与所述历史事件不同的事件,也是本发明提取特征的对象,所述新发事件的新顶点指的是基于所述新发事件的属性信息建立的新顶点,下文对于新顶点的建立会有详细的描述。
在本实施例的一个可选实现方式中,如图9所示,所述建立模块801包括:
获取子模块901,被配置为获取预设历史时间段内的历史事件及其属性信息,其中所述属性信息包括两个或多个事件属性元素;
建立子模块902,被配置为以所述事件属性元素为顶点,以所述事件属性元素之间的关系为边,建立历史事件数据网络图;
第一转换子模块903,被配置为将所述历史事件数据网络图中的顶点转换为向量表达。
为了能够为当前事件数据网络图提供数据支持,节省当前事件数据网络图的生成时间,提高当前事件数据网络图的生成效率,在该实施方式中,事先基于历史事件建立历史事件数据网络图,并生成所述历史事件数据网络图中顶点的向量表达,具体地,获取子模块901获取预设历史时间段内的历史事件及其属性信息;建立子模块902以所述属性信息的事件属性元素为顶点,以事件属性元素之间的关系为边,建立历史事件数据网络图;第一转换子模块903将所述历史事件数据网络图中的顶点转换为向量表达。
其中,所述预设历史时间段为当前时间之前的一个时间段,本领域技术人员可根据实际应用的需要对其进行设置。
在本实施例的一个可选实现方式中,在第一转换子模块903将所述历史事件数据网络图中的顶点转换为向量表达时,可借助向量运算算子来实现,比如,可利用node2vector算子将所述历史事件数据网络图中的各个顶点从高维稀疏空间映射到低维稠密空间中,同时生成每个顶点对应的向量表达,需要注意的是,在该向量映射过程中,应保持图中各顶点之间的拓扑关系或其他特定几何性质不变。
在本实施例的一个可选实现方式中,如图10所示,所述更新模块802包括:
第一确定子模块1001,被配置为响应于接收到新发事件,确定其属性信息;
第一生成子模块1002,被配置为根据所述属性信息生成新顶点以及新顶点之间的边;
更新子模块1003,被配置为基于所述新顶点以及新顶点之间的边对于所述历史事件数据网络图进行更新,得到当前事件数据网络图;
第二转换子模块1004,被配置为将所述当前事件数据网络图中的新顶点转换为向量表达。
在该实施方式中,在接收到作为本发明特征提取对象的新发事件后,应将其所携带的信息融入至历史事件数据网络图中,以进行整合分析。具体地,第一确定子模块1001确定新发事件的属性信息,第一生成子模块1002按照与上文描述类似的方法根据所述属性信息生成新顶点以及新顶点之间的边,更新子模块1003基于所述新顶点以及新顶点之间的边,对于所述历史事件数据网络图进行更新,即将所述新顶点以及新顶点之间的边融入至历史事件数据网络图中,得到当前事件数据网络图,第二转换子模块1004将所述当前事件数据网络图中的新顶点转换为向量表达。
考虑到事件数据网络图中的顶点数量众多,为了降低计算量,节省计算资源,所述第二转换子模块1004只是将当前事件数据网络图中新加入的顶点转换为向量表达,而不是将当前事件数据网络图中全部的顶点转换为向量表达。但当事件数据网络图中的顶点数量不是很多,无需花费太长时间即可对于全部顶点进行向量表示转换时,可选择对于全部顶点进行向量表示转换,以提高向量转换的准确率。或者从另外一个角度上说,所述新顶点既可以指代新加入的顶点,也可以指代加入新顶点之后得到的事件数据网络图中的顶点。
在本实施例的一个可选实现方式中,在第二转换子模块1004将新加入的顶点转换为向量表达时,可借助向量运算算子来实现,比如,可利用word2vector算子和CBOW(Continuous Bag of Word)模型将新加入的顶点映射到低维向量空间中,同时生成每个新顶点对应的向量表达。
在本实施例的一个可选实现方式中,如图11所示,所述更新子模块1003包括:
第二确定子模块1101,被配置为确定所述历史事件数据网络图中是否存在与所述新顶点重复的顶点;
添加子模块1102,被配置为当所述历史事件数据网络图中不存在与所述新顶点重复的顶点时,将所述新顶点加入所述历史事件数据网络图中,并根据新顶点之间的关系以及新顶点与历史顶点之间的关系建立边。
为了减少事件数据网络图的冗余性,提高事件数据网络图的工作效率,在该实施方式中,在将新顶点融入历史事件数据网络图中时,还对顶点的重复性进行核查。具体地,第二确定子模块1101确定所述历史事件数据网络图中是否存在与所述新顶点重复的顶点;当所述历史事件数据网络图中不存在与所述新顶点重复的顶点时,添加子模块1102将所述新顶点加入所述历史事件数据网络图中,并根据新顶点之间的关系以及新顶点与历史顶点之间的关系建立相应的边,进一步地,添加子模块1102还可利用向量运算算子,比如word2vector算子对于新顶点的向量表达进行更新;当所述历史事件数据网络图中存在与所述新顶点重复的顶点时,使用已有顶点的向量表达,不将所述新顶点加入所述历史事件数据网络图中,或者设置一删除子模块,直接删除所述新顶点。
在本实施例的一个可选实现方式中,如图12所示,所述生成模块803包括:
采样子模块1201,被配置为基于所述当前事件数据网络图,对于新顶点进行采样,得到所述新顶点的拓扑信息;
量化子模块1202,被配置为基于所述新顶点的拓扑信息,根据所述新顶点的向量表达量化相关新顶点之间的关系,得到相关新顶点的特征表达;
第二生成子模块1203,被配置为基于所述相关新顶点的特征表达生成所述新发事件的特征表达。
为了快速有效地提取新发事件的特征表达,在该实施方式中,首先对于新顶点之间的关系进行量化。具体地,采样子模块1201基于所述当前事件数据网络图,对于新顶点进行采样,得到所述新顶点的拓扑信息,即在所述当前事件数据网络图的范围内,对于新顶点进行采样;量化子模块1202基于所述新顶点的拓扑信息,根据所述新顶点的向量表达对相关新顶点之间的关系进行量化,得到相关新顶点的特征表达;第二生成子模块1203基于所述相关新顶点的特征表达生成所述新发事件的特征表达。
其中,采样子模块1201在所述当前事件数据网络图的范围内,对于新顶点进行采样时,可根据实际应用的需要选择采样方法,比如可采用随机游走采样方法,随机游走采样是从事件数据网络图中的任一顶点出发,随机选择当前顶点的一阶邻居顶点作为该次跳转的目标顶点,重复随机选择和跳转即可得到随机采样结果。
在本实施例的一个可选实现方式中,对于所述第二生成子模块1203,可将所述相关新顶点的特征表达以向量或者数组的形式排列,生成所述新发事件的特征表达。其中,各顶点的特征表达排列顺序可根据实际应用的需要确定,无需特别限制。
在本实施例的一个可选实现方式中,如图13所示,所述量化子模块1202包括:
第三确定子模块1301,被配置为基于所述新顶点的拓扑信息确定相关新顶点;
计算子模块1302,被配置为利用所述新顶点的向量表达,计算相关新顶点中两两新顶点之间的关系表达;
第三生成子模块1303,被配置为基于新顶点及两两新顶点之间的关系表达生成相关新顶点的特征表达。
为了快速有效地对于新顶点之间的关系进行量化,在该实施方式中,采用特征交叉的方法来实现。具体地,第三确定子模块1301基于所述新顶点的拓扑信息确定相关新顶点,其中,所述相关新顶点指的是具有同一类型的数据、具有同一操作目的的数据、与同一操作目的相关的数据等等;计算子模块1302利用所述新顶点的向量表达,计算相关新顶点中两两新顶点之间的关系表达,即两两进行交叉运算,其中,可借助向量距离、向量相似度等度量方式的计算来获取新顶点之间的关系表达;第三生成子模块1303基于新顶点及两两新顶点之间的关系表达得到相关新顶点的特征表达。
传统特征提取方法使用的数据网络图中,各顶点之间的关系是靠消息传递机制来查询得到的,每次进行消息查询时需要遍历整个网络图,计算量属于线性复杂度,在顶点连接的深度比较大时,基本无法进行有效计算。而在本实施方式中,将顶点与顶点之间的关系进行了量化操作,将顶点之间的邻接关系转化为点与点之间的向量距离关系,从而避免了传统特征提取方法顶点关系查询流程,进而大大降低了计算复杂度、减少计算量、提高了计算效率。
在本实施例的一个可选实现方式中,所述装置还包括对于所述新发事件的特征表达进行修正的部分,即如图14所示,所述装置包括:
建立模块1401,被配置为建立历史事件数据网络图,并生成所述历史事件数据网络图中顶点的向量表达,其中,所述事件数据网络图包括两个或多个用于表征事件属性信息的顶点以及用于表征顶点之间关系的边;
更新模块1402,被配置为响应于接收到新发事件,基于所述新发事件对于所述历史事件数据网络图进行更新,并生成新顶点的向量表达;
生成模块1403,被配置为根据新顶点的向量表达生成所述新发事件的特征表达;
修正模块1404,被配置为根据所述新顶点与所述新发事件之间的相关性对于所述新发事件的特征表达进行修正。
为了有重点地体现新发事件的特征表达,进一步提高新发事件特征表达的准确性和有效性,在该实施方式中,在生成所述新发事件的特征表达之后,还设置了修正模块1404,以根据所述新顶点与所述新发事件之间的相关性对于所述新发事件的特征表达进行修正。
其中,所述新顶点与所述新发事件之间的相关性指的是,基于某一目的或者说基于某一应用场景、基于所应用业务的应用特点,新顶点所表征的事件属性元素与事件本身之间的相关程度,或者说新顶点所表征的事件属性元素对于事件本身的重要程度。
本发明实施例还公开了一种电子设备,图15示出根据本发明一实施方式的电子设备的结构框图,如图15所示,所述电子设备1500包括存储器1501和处理器1502;其中,
所述存储器1501用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器1502执行以实现上述任一方法步骤。
图16适于用来实现根据本发明实施方式的特征生成方法的计算机系统的结构示意图。
如图16所示,计算机系统1600包括中央处理单元(CPU)1601,其可以根据存储在只读存储器(ROM)1602中的程序或者从存储部分1608加载到随机访问存储器(RAM)1603中的程序而执行上述实施方式中的各种处理。在RAM1603中,还存储有系统1600操作所需的各种程序和数据。CPU1601、ROM1602以及RAM1603通过总线1604彼此相连。输入/输出(I/O)接口1605也连接至总线1604。
以下部件连接至I/O接口1605:包括键盘、鼠标等的输入部分1606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1607;包括硬盘等的存储部分1608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1609。通信部分1609经由诸如因特网的网络执行通信处理。驱动器1610也根据需要连接至I/O接口1605。可拆卸介质1611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1610上,以便于从其上读出的计算机程序根据需要被安装入存储部分1608。
特别地,根据本发明的实施方式,上文描述的方法可以被实现为计算机软件程序。例如,本发明的实施方式包括一种计算机程序产品,其包括有形地包含在及其可读介质上的计算机程序,所述计算机程序包含用于执行所述特征生成方法的程序代码。在这样的实施方式中,该计算机程序可以通过通信部分1609从网络上被下载和安装,和/或从可拆卸介质1611被安装。
附图中的流程图和框图,图示了按照本发明各种实施方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,路程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施方式中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
作为另一方面,本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施方式中所述装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本发明实施例的方法。
以上描述仅为本发明的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本发明实施例中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本发明实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。