CN110737805B - 图模型数据的处理方法、装置和终端设备 - Google Patents

图模型数据的处理方法、装置和终端设备 Download PDF

Info

Publication number
CN110737805B
CN110737805B CN201910997829.6A CN201910997829A CN110737805B CN 110737805 B CN110737805 B CN 110737805B CN 201910997829 A CN201910997829 A CN 201910997829A CN 110737805 B CN110737805 B CN 110737805B
Authority
CN
China
Prior art keywords
graph
attribute information
data
preset
candidate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910997829.6A
Other languages
English (en)
Other versions
CN110737805A (zh
Inventor
尚书
刘柏
胡志鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN201910997829.6A priority Critical patent/CN110737805B/zh
Publication of CN110737805A publication Critical patent/CN110737805A/zh
Application granted granted Critical
Publication of CN110737805B publication Critical patent/CN110737805B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying

Abstract

本发明提供了一种图模型数据的处理方法、装置和终端设备;该方法包括:根据图模型数据的图属性,从图模型数据中提取可作为图维度和/或图度量的候选图属性信息;其中,图模型数据的图属性为:与图模型数据中的点和/或边相关联的属性;根据预设的统计规则和机器学习模型筛选候选图属性信息,得到目标图属性信息;根据目标图属性信息生成预设维度的数据立方体。通过该方式可以自动化地对图模型数据进行联机分析处理,处理过程中融入统计规则和机器学习模型,以对属性信息进行高效地筛选,该方式生成的数据立方体也有利于后续对数据立方体的筛选;该方式可以提高图模型数据的分析处理效率和准确率,使得数据处理结果更加具有价值。

Description

图模型数据的处理方法、装置和终端设备
技术领域
本发明涉及数据处理技术领域,尤其是涉及一种图模型数据的处理方法、装置和终端设备。
背景技术
与关系型数据的单一模式不同,图模型数据具有高度异构、无固定模式的属性,基于该属性,图模型数据难以应用关系型数据的OLAP(Online Analytical Processing,联机分析处理)方法进行分析处理。相关技术中,对图模型数据的处理大多采用自行设计的程序实现,同时需要引入较多的人工处理手段,然而随着大数据时代的到来,图模型数据的规模也越来越大,常见的大规模图模型数据的可能有上十亿个点、上百亿个边。图模型数据的复杂程度较高,使得上述图模型数据的处理方式不仅处理效率低,而且准确性较低,导致数据处理结果的价值较低。
发明内容
有鉴于此,本发明的目的在于提供一种图模型数据的处理方法、装置和终端设备,以提高图模型数据的处理效率和准确率,从而提高数据处理结果的价值。
第一方面,本发明实施例提供了一种图模型数据的处理方法,方法包括:获取待处理的图模型数据;根据图模型数据的图属性,从图模型数据中提取可作为图维度和/或图度量的候选图属性信息;其中,图模型数据的图属性为:与图模型数据中的点和/或边相关联的属性;根据预设的统计规则和机器学习模型筛选候选图属性信息,得到目标图属性信息;根据目标图属性信息生成预设维度的数据立方体。
在本发明较佳的实施例中,上述根据图模型数据的图属性,从图模型数据中提取可作为图维度和/或图度量的候选图属性信息的步骤,包括:获取图模型数据的元信息;元信息包括图模型数据的元数据和延伸属性;其中,延伸属性通过元数据和图模型数据的实例获得;按照预设的提取标准,从元信息中提取可作为图维度和/或图度量的候选图属性信息。
在本发明较佳的实施例中,上述获取图模型数据的元信息的步骤,包括:将图模型数据划分为多个子图;其中,多个子图组成图模型数据;统计每个子图的元数据和延伸属性;其中,元数据包括点类型、点属性、边类型和边属性;合并每个子图的元数据和延伸属性,得到图模型数据的元信息。
在本发明较佳的实施例中,上述将图模型数据划分为多个子图的步骤,包括:根据处理器的并行度,将图模型数据划分为多个子图;其中,多个子图的数量与并行度相匹配;上述统计每个子图的元数据和延伸属性的步骤,包括:通过处理器,以并行处理的方式,统计每个子图的元数据和延伸属性。
在本发明较佳的实施例中,上述统计每个子图的元数据和延伸属性的步骤,包括:遍历子图中的点,统计点的点类型和点属性;遍历子图中,点之间的边,统计边的边类型和边属性;根据图模型数据的实例,计算子图的延伸属性。
在本发明较佳的实施例中,上述统计每个子图的元数据的步骤,还包括:统计每个子图的元数据中,满足指定的属性条件的点和/或边的统计信息;其中,属性条件至少包括下述之一:点属性、边属性、点类型和边类型;将统计信息作为元数据的补充信息,保存至图模型数据的元数据中。
在本发明较佳的实施例中,上述按照预设的提取标准,从元信息中提取可作为图维度和/或图度量的候选图属性信息的步骤,包括:根据处理器的并行度,将图模型数据划分为多个子图;其中,多个子图的数量与并行度相匹配;采用并行处理的方式,按照预设的提取标准,从每个子图对应的元信息中提取候选图属性信息;合并每个子图对应的候选图属性信息,得到候选图属性信息。
在本发明较佳的实施例中,上述根据预设的统计规则和机器学习模型筛选候选图属性信息,得到目标图属性信息的步骤,包括:通过预设的统计规则,对候选图属性信息进行第一筛选处理,得到第一筛选结果;通过预设的主动学习模型,对第一筛选结果进行第二筛选处理,得到目标图属性信息。
在本发明较佳的实施例中,如果候选图属性信息包括图维度,预设的统计规则包括下述中的一种或多种:具备图维度的点或边的数量与总量的比例大于预设的第一比例阈值;图维度的值为非空的点或边的数量与总量的比例大于预设的第二比例阈值;图维度包含有预设数量的维度值;如果候选图属性信息包括图度量,预设的统计规则包括下述中的一种或多种:具备图度量的点或边的数量与总量的比例大于预设的第三比例阈值;图度量的值为非空的点或边的数量与总量的比例大于预设的第四比例阈值;图度量的值的类型为指定类型。
在本发明较佳的实施例中,上述通过预设的统计规则,对候选图属性信息进行第一筛选处理,得到第一筛选结果的步骤,包括:根据处理器的并行度,将图模型数据划分为多个子图;其中,多个子图的数量与并行度相匹配;采用并行处理的方式,按照预设的统计规则,对每个子图对应的候选图属性信息进行第一筛选处理;合并每个子图对应的候选图属性信息对应的筛选结果,得到第一筛选结果。
在本发明较佳的实施例中,上述机器学习模型,通过下述方式训练得到:基于第一筛选结果确定第一集合和第二集合;其中,第一集合中的候选图属性信息携带有预设的标准值;通过第一集合中的候选图属性信息和标准值,对预设的分类器进行第一训练处理;采用主动学习机制,通过第二集合中的候选图属性信息,对分类器进行第二训练处理,得到机器学习模型。
在本发明较佳的实施例中,上述采用主动学习机制,通过第二集合中的候选图属性信息,对分类器进行第二训练处理的步骤,包括:从第二集合中的未被分类处理的候选图属性信息中确定待训练图属性信息;将待训练图属性信息输入至分类器中,输出待训练图属性信息的分类值;从待训练图属性信息中筛选出预设数量的、分类值满足第一预设阈值的待训练图属性信息,将筛选出的待训练图属性信息确定为待学习样本;获取待学习样本的标准值;通过待学习样本和待学习样本的标准值,对分类器进行第二训练处理;继续执行从第二集合中的未被分类处理的候选图属性信息中确定待训练图属性信息的步骤,直至满足预设的迭代终止条件,得到机器学习模型。
在本发明较佳的实施例中,上述迭代终止条件包括下述之一:分类器的分类准确率达到预设的准确率阈值;确定出的待训练图属性信息的数量满足预设总量;迭代次数满足预设的次数阈值。
在本发明较佳的实施例中,上述机器学习模型,通过下述方式训练得到:根据处理器的并行度,将图模型数据划分为多个子图;其中,多个子图的数量与并行度相匹配;采用并行处理的方式,根据第一筛选结果中,每个子图对应的候选图属性信息,采用上述的机器学习模型的训练方式,训练得到子模型;将每个子图对应的子模型进行组合处理,得到机器学习模型。
在本发明较佳的实施例中,上述过预设的主动学习模型,对第一筛选结果进行第二筛选处理,得到目标图属性信息的步骤,包括:将第一筛选结果输入至预设的主动学习模型中,输出第一筛选结果中每个候选图属性信息的分类值;将分类值满足第三预设阈值的候选图属性信息,确定为目标图属性信息。
在本发明较佳的实施例中,上述目标图属性信息包括图维度和图度量;上述根据目标图属性信息生成预设维度的数据立方体的步骤,包括:从目标图属性信息中的图维度中,确定数据立方体的分析维度;从目标图属性信息中的图度量中,确定数据立方体的分析度量;根据分析度量的数据类型,确定聚合函数;根据确定的分析维度、分析度量和聚合函数,生成数据立方体。
在本发明较佳的实施例中,上述数据立方体包括多个;上述根据目标图属性信息生成预设维度的数据立方体的步骤,包括:采用并行处理的方式,根据目标图属性信息生成多个预设维度的数据立方体。
在本发明较佳的实施例中,上述数据立方体包括多个;上述根据目标图属性信息生成预设维度的数据立方体的步骤之后,方法包括:计算每个数据立方体的兴趣度量;其中,兴趣度量包括下述中的一种或多种:方差、偏度、峰度、均值、用户偏好、用户期望;根据预设的兴趣度量指标,对多个数据立方体进行排序;将排序后的多个数据立方体推送至用户终端。
在本发明较佳的实施例中,上述计算每个数据立方体的兴趣度量的步骤,包括:采用并行处理的方式,计算每个数据立方体的兴趣度量。
第二方面,本发明实施例还提供一种图模型数据的处理装置,装置包括:图模型数据获取模块,用于获取待处理的图模型数据;候选图属性信息提取模块,用于根据图模型数据的图属性,从图模型数据中提取可作为图维度和/或图度量的候选图属性信息;其中,图模型数据的图属性为:与图模型数据中的点和/或边相关联的属性;目标图属性信息确定模块,用于根据预设的统计规则和机器学习模型筛选候选图属性信息,得到目标图属性信息;数据立方体生成模块,用于根据目标图属性信息生成预设维度的数据立方体。
第三方面,本发明实施例还提供一种终端设备,包括处理器和存储器,存储器存储有能够被处理器执行的计算机可执行指令,处理器执行计算机可执行指令以实现上述图模型数据的处理方法的步骤。
第四方面,本发明实施例还提供一种计算机可读存储介质计算机可读存储介质存储有计算机可执行指令,计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现上述图模型数据的处理方法的步骤。
本发明实施例带来了以下有益效果:
本发明实施例提供的图模型数据的处理方法、装置和终端设备,首先根据图模型数据的图属性提取可作为图维度和/或图度量的候选图属性信息,再采用统计规则和机器学习模型得到目标图属性信息,最后根据目标图属性信息生成数据立方体。通过该方式可以自动化地对图模型数据进行联机分析处理,处理过程中融入统计规则和机器学习模型,以对属性信息进行高效地筛选,该方式可以提高图模型数据的分析处理效率和准确率,使得数据处理结果更加具有价值。
本公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本公开的上述技术即可得知。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种玩家社交关系的示意图;
图2为本发明实施例提供的一种图模型数据的处理方法的流程图;
图3为本发明实施例提供的一种数据立方体的示意图;
图4为本发明实施例提供的另一种数据立方体的示意图;
图5为本发明实施例提供的另一种图模型数据的处理方法的流程图;
图6为本发明实施例提供的一种图模型数据的示意图;
图7为本发明实施例提供的一种图模型数据的处理流程图;
图8为本发明实施例提供的一种图模型数据的处理装置的结构示意图;
图9为本发明实施例提供的一种终端设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,图模型数据越来越受到学术界、工业界的关注,作为一种无固定模式、高度灵活、表达能力丰富的数据模型,被应用到越来越多的场景之中。从大规模图模型数据的构建、存储,到基于大规模图模型数据的分析方法,都是目前学术界和工业界研究的热点。
图模型数据是基本图数据结构的延伸,图可以形式化地被定义为G=(V,E),其中V代表点集合,E代表边集合。在此基础上,延伸出了属性图模型,G=(V(PV),E(PE)),其中PV和PE分别对应于依附于点和边的属性,具体地,PV是点的属性集合,PE是边的属性集合。举例来说,在一个游戏社交图谱中,V是所有玩家的集合,E是玩家与玩家之间的好友关系集合,如果两个玩家在游戏中是好友关系,则此关系作为两个玩家对应的两点之间的一条边出现在集合E中。玩家可能具备一系列属性,比如玩家等级、玩家门派和玩家经验值等,这些属性组成了集合PV,好友关系也可能具备一系列属性,比如成为好友的时间(datetime)、玩家之间的亲密度(friendship)等,这些属性组成了集合PE
举例来说,参见图1所示的一种玩家社交关系的示意图,图1中的方框点代表帮会,圆形点代表玩家,方框点与圆形点之间的连线代表玩家和帮会之间的成员所属关系,圆形点和圆形点之间的连线代表玩家与玩家之间的社交关系,如好友关系、师徒关系、夫妻关系等。
多条交易类型的边,是指两个点之间可能有多条边,每条边都有一系列附加信息,该附加信息也可以称之为边的属性,通常是键值对的形式,如key-value(关键字-值),比如key是交易时间(trade_time),value是时间的具体值;例如2019-08-16 19:30:34,如果这是一条边的属性,代表这个交易发生在2019年8月16日。图1中之所以点和点之间只有一条边,是因为这个图是一个社交图,边是朋友(has_friend),妻子(has_wife)这样的关系,这样的关系对于同一对点一般只能有一条(比如妻子只能是一个),但是对于交易图,两个点之间发生多次交易,每次交易都会生成一条边。
此外,点和边都具备一系列属性,图1展示了图上某玩家点具备的一系列属性集合PV,该点具有8个属性,分别为标注、角色类别、角色性别、角色编码、角色等级、角色名称、角色总在线时长、服务器)。具体地,属性集合PV可以是一个映射表Map,由若干的键值对组成,在同一个映射表中,关键字通常不能相同,但同一个关键字可以具备多个值。
大多数图存储框架(例如图数据库)都以属性图作为主要的图数据模式,越来越多的图计算框架也开始支持在属性图上进行图分析,图计算的方法和系统也是目前工业界和学术界研究的热点。
与关系型数据的单一模式不同,图模型数据具有高度异构、无固定模式的属性,基于该属性,图模型数据难以应用关系型数据的OLAP方法进行分析处理。
同一个图中,可能具有多种类型的点和边,每种类型的点和边上可能具备不同的属性集合。熟悉关系型数据分析方法的工程师,常常难以将关系型数据的分析方法迁移到图模型数据上来。目前常见的数据分析方案,大多数是针对关系型数据模型的,目前还没有很好的针对高度异构的属性图的数据分析方法和系统。
通常,对图模型数据的处理大多采用自行设计的程序实现,同时需要引入较多的人工处理手段,然而随着大数据时代的到来,图模型数据的复杂程度较高,使得上述图模型数据的处理方式不仅处理效率低,而且准确性较低,导致数据处理结果的价值较低。基于此,本发明实施例提供的一种图模型数据的处理方法、装置和终端设备,该技术将传统关系型数据库的数据分析方法应用到了图模型数据,同时能够支持大规模图模型数据的数据分析,给基于图模型数据的产品、商业智能应用和业务提供了有效的支持。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种图模型数据的处理方法进行详细介绍。参见图2所示的一种图模型数据的处理方法的流程图,该方法包括如下步骤:
步骤S202,获取待处理的图模型数据。
上文已经提到,图模型数据是基本图数据结构的延伸,图可以形式化地被定义为G=(V,E),其中V代表点集合,E代表边集合。在此基础上,延伸出了属性图模型,属性图模型是图模型数据的一种具体表现形式,可以用G=(V(PV),E(PE))表示,其中PV和PE分别对应于依附于点和边的属性,具体地,PV是点属性的集合,PE是边属性的集合。本实施例中,需要对上述待处理的图模型数据进行分析,以建立一个数据立方体。
步骤S204,根据图模型数据的图属性,从该图模型数据中提取可作为图维度和/或图度量的候选图属性信息;其中,上述图模型数据的图属性为:与上述图模型数据中的点和/或边相关联的属性。
该图属性主要包括三类:1、点类型、边类型,称作点边类型;2、点属性、边属性,称作点边属性,1和2共称为图自身的属性;3、从1和2延伸出的属性,称为延伸属性,比如对于每个点,与它相连的不同种类的边的数目,又比如对于每个点,它的入度和出度,又比如图中某种类型的边的总数目(例如,图中共有多少好友关系)。举例来说,社交图中,每个人可能有不同的好友,这个图中有1种类型的点(人),有2种类型的边(好友关系has_friend),人可能有姓名name,年龄age这些属性,边可能有开业时间since这些属性,除此之外,我们可以延伸一个属性,好友数量num_of_friends,好友数量通过预计算获得,代表了对于每个人有多少朋友。
图属性是从图模型数据中可以直观得到的数据,例如,点属性可以从上述图模型数据的点属性PV的集合中获取,边属性可以从上述图模型数据的边属性PE的集合中获取;点类型和边类型可以从图的元数据中获取,或者通过遍历一个图实例来获取该图的点类型和边类型,延伸属性是在遍历图实例的过程中通过统计计算得到。候选图属性信息中的图维度,可以理解为观察数据的角度,图维度通常是离散的值,例如,名词、城市、性别等;候选图属性信息中的图度量,可以理解为被聚合的统计值,图度量通常是连读的值,例如,成绩、销售额等。
上述图维度和图度量可以直接从图模型数据中统计出来,具体可以通过直接读取图模型数据的元数据,或者对图模型数据中的所有数据进行人工统计、筛选的方法确定图维度和图度量。该候选图属性信息可以同时作为图维度和图度量,也可以仅作为图维度或图度量之一。
步骤S206,根据预设的统计规则和机器学习模型筛选候选图属性信息,得到目标图属性信息。
一般来说,上述提取的候选图属性信息的数量也较大,一般不适用于直接将候选图属性信息构建数据立方体,因为较多的图维度和图度量构建的图数据立方体的规模巨大,计算完成这些数据立方体需要花费很多时间,而且从大量的数据立方体中筛选出有用的立方体也是一个很耗费人力的工作。因此,需要对候选图属性信息进行进一步的筛选得到目标图属性信息,由目标图属性信息构建数据立方体。
筛选目标图属性信息的方法是基于预设的统计规则和机器学习模型,候选图属性信息会有很多种类型的图维度和图度量,有的相同类型的图维度和图度量的数量过少,或者图维度和图度量的值为空,或者图维度和图度量的值是随机的,或者该图维度和图度量没有分析的意义,这几种情况的候选图属性信息都需要被筛选掉。可以通过预先指定的统计规则,将上述情况的候选图属性信息直接排除。
如果仅通过预先指定的统计规则筛选得到目标图属性信息,目标图属性信息数量比较大,可能仍然是个比较大的候选几何,因此需要通过主动学习机制引入人工专家经验进行细排。因此,还需要通过预设的机器学习模型进一步筛选,由该机器学习模型输出一定数量范围的目标图属性信息,将输出的目标图属性信息作为建立数据立方体的基础。此外,主动学习模型与统计规则相比具有更高的灵活性,例如可以通过学习更多的样本来更新模型,倾向于学习那些容易错误的样本等,能够显著提高筛选的候选图维度和图度量的质量。
步骤S208,根据目标图属性信息生成预设维度的数据立方体。
一个数据立方体从数学上来说是一个多维数组。数据立方体被用来表达数据沿着某种兴趣度量上的某种聚合事实。举例来说,参见图3所示的一种数据立方体的示意图,图3有三个维度:product(产品),location(地理位置)和quarter(季度),三个维度具有不同的区间和取值(一般为离散值),不同的取值将大立方体切成了许多小立方体(称为datacell)。这个数据立方体展示的可能是某个公司在不同时间段、在不同地域、不同产品的销售情况,每个三元组(product,location,quarter)对应大立方体中的一个小数据立方体,也对应着一个具体的聚合值(比如销量)。
数据立方体不是天然存在的,是通过原始数据聚合而来。例如,对于游戏数据来讲,原始数据可能是游戏日志,它们按照不同主题、日志产出的时间点和对应的场景、不同玩法被划分到不同的关系型数据库的表里。比如,对于大型多人在线网游类游戏(massively multiplayer online role-playing game,MMORPG),玩家可能会在游戏中发生不同类型的交易,例如摆摊、面对面交易、商城交易等,这些交易数据以表格的形式分散在不同的子交易类型表中。
参见图4所示的另一种数据立方体的示意图,如果我们需要获取所有玩家在一定时间段内在不同玩法中不同交易类型的金钱花费,就可以基于这些原始表格构建类似于图4所示的数据立方体。我们从不同类型的子交易类型的表中提取不同的时间维度信息(比如按小时、按天、按周、按月),不同的玩法信息(比如帮会任务、联赛任务等)和不同的交易类型信息(比如面对面交易、摆摊交易、玩家商店交易等),然后同时按照这三个维度执行分组操作(group by操作),最后汇总(比如求和)得到最终的结果。
需要说明的是,图4中的时间段是指将时间离散化得到的,因为时间是一个连续值,如果作为立方体的维度的话,需要依照一定的标准进行离散,比如根据按小时提取不同的时间维度信息,可以将1天24个小时分为0-6、6-12、12-18、18-24这4个而时间段。下面是算法示例:
select sum(cost)
from user_trade
group by day,play_type,trade_type
该示例可以查询玩家面对面交易(user_trade)中,按天(day),玩法(play_type)和交易类型(trade_type)进行分组(group by操作)的结果,然后对玩家花费(cost)求和(sum),得到了所有玩家每天在不同玩法中进行的不同类型的交易的总和,也就构建完成了图4所示的数据立方体。基于此立方体,可以进一步进行上卷(roll-up)、下钻(drilldown)、切片(slicing)、切块(Dice)、旋转(Pivot)等典型的数据立方体OLAP操作。
上述示例展示的查询方式,已经被大量地运用到了游戏日志分析、玩家用户体验分析、玩家游戏画像等游戏数据分析场景中,给业务的开展和游戏的研发提供了强有力的数据支撑。
需要说明的是,虽然被称为立方体(如上述例子中的三维数据立方体),数据立方体的概念可以有不同的维度(n维(n≥1)),即所谓的n维数据立方体。一般来讲,随着n的增大,数据立方体的计算所需要的计算资源也会指数增长。数据立方体的维度是指生成数据立方体的数据的类型的数量。上述步骤S206已经获得了数据数量符合要求的目标图属性信息,根据该目标图属性信息生成对应的数据立方体即可。
除了关系型数据,图模型数据也一类应用越来越广泛的数据模型,图模型因为其优异的表达能力,深度链接能力和可视化能力,给数据分析、数据挖掘和统计提供了一种全新的方法和思考方式,越来越多的数据分析挖掘从业者开始尝试使用图数据库、图计算等工具以图作为数据模式来进行分析和计算工作,越来越多的云计算厂商也开始提供以图存储和图计算为主要功能的数据处理方法。
本发明实施例提供的图模型数据的处理方法,首先根据图模型数据的图属性提取可作为图维度和/或图度量的候选图属性信息,再采用统计规则和机器学习模型得到目标图属性信息,最后根据目标图属性信息生成数据立方体。通过该方式可以自动化地对图模型数据进行联机分析处理,处理过程中融入统计规则和机器学习模型,以对属性信息进行高效地筛选,该方式可以提高图模型数据的分析处理效率和准确率,使得数据处理结果更加具有价值。
本发明实施例还提供另一种图模型数据的处理方法,该方法在上述实施例方法的基础上实现;该方法重点描述根据图模型数据的图属性,从图模型数据中提取可作为图维度和/或图度量的候选图属性信息的具体处理方式。
如图5所示的另一种图模型数据的处理方法的流程图,该方法包括如下步骤:
步骤S502,获取待处理的图模型数据。
步骤S504,获取上述图模型数据的元信息;该元信息包括上述图模型数据的元数据和延伸属性;其中,延伸属性通过元数据和图模型数据的实例的延伸属性获得。
元信息是指描述数据的数据,主要是描述数据属性的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。元信息包括每一个数据的类型和属性,点的元信息包括点类型和点属性,边的元信息包括边类型和边属性。举例说明,将玩家作为点,这个玩家的元信息可以包括玩家的等级、职业,该等级和职业就是点类型,等级具体多少级和职业具体是哪个职业就是点属性;将玩家与玩家的关系作为边,元信息可以是:好友关系、师徒关系和亲密度,该好友关系、师徒关系就是边类型,亲密度数值就是边属性。
本实施例中的元信息包括图模型数据的元数据,以及基于元数据和图模型数据的实例的延伸属性,图模型数据的元数据是指可以直接获取的图模型数据的基本属性,比如点属性、边属性、点类型和边类型。延伸属性无法获取,需要从图的一个具体实例计算获得。元数据指的是数据的基本模式标准,实例指的是符合这个模式的一份具体数据。
对于大规模异构的图模型数据,如果事先无法获取其完整的元信息,可以采用预计算的方式来计算推理图中的元信息,这种方法称作预计算,例如,可以通过步骤51-步骤53的方式实施:
步骤51,将图模型数据划分为多个子图;其中,多个子图组成图模型数据。
为了防止遗漏,划分的多个子图可以完整地组成上述图模型数据,多个子图之间也可以出现一定程度的冗余。需要说明的是,本实施例中多次出现划分子图的实施方式,每一次划分的子图可以相同,也可以不相同,在这里不做要求,只要不存在遗漏即可。
划分的子图的数量,可以根据实际计算环境确定,例如,如果采用并行计算的方式,子图的数量需要根据当前计算环境中处理器的并行度确定,处理器运算能力越强,并行度越高,划分的子图数目越多,因此,根据处理器的并行度,将图模型数据划分为多个子图;其中,多个子图的数量与并行度相匹配。
上述并行度用于标识同一段时间能并行地处理子图的数量,主要受到物理资源(比如处理器核心数)的限制。也就是说,提前获得处理器的并行度p,并行度p代表处理器可以划分最多p个子图,并且保证处理速度不下降,所以此时划分的子图的数量是p,对于具有n个点的属性图。每个子图有n/p个点,以及n/p个点之间相连的边,子图与子图之间可能会有边相邻。
步骤52,统计每个子图的元数据和延伸属性;其中,元数据包括点类型、点属性、边类型和边属性。
处理器划分子图后,同样由处理器统计每个子图的元数据,为了提高处理速度,同样采用并行的方式统计,也就是通过处理器,以并行处理的方式,统计每个子图的元数据和延伸属性。
处理器统计单个子图的元数据可以通过遍历该子图的方法执行,例如,通过步骤A1-步骤A3的步骤执行:
步骤A1,遍历子图中的点,统计点的点类型和点属性;
上文已经提到,元数据包括图模型数据中的点类型、点属性、边类型和边属性,以及延伸属性;其中,点类型和点属性存储在每个点的元数据中,边类型和边属性存储于每条边的元数据中,分别遍历子图中的所有边和点,即可以获得全部的点类型、点属性、边类型和边属性,不存在遗漏的情况。延伸属性根据得全部的点类型、点属性、边类型和边属性计算得到,同样不存在遗漏。
步骤A2,遍历子图中,点之间的边,统计边的边类型和边属性。
对于每一个子图都采用遍历的方法进行统计,对子图中所有点之间的边遍历,以统计边类型和边属性。
步骤A3,根据图模型数据的实例,计算子图中的延伸属性。
在统计完成点类型、点属性、边类型和边属性后,根据点类型、点属性、边类型和边属性计算延伸属性。
在统计元数据的过程中,通过一定的计算步骤获得的信息称为统计信息,这种计算通常是遍历式的。该统计信息主要有三个作用:1、在预计算过程中,直接筛选掉不符合要求的数据,比如对于一个有1000万点的图,其中某种类型的点只有10个,样本数目太少对于后续的多维立方体分析带来了很多障碍,一般就会直接过滤掉这些点。这个过滤用到了2个统计信息:1)图中点的总数目2)某种类型的点的数目。作用1主要根据统计信息中的数量信息确定。
2、统计信息的值直接作为延伸属性的值,比如对于一个社交图,有人person类型的点,人person与人person之间的关系是好友has_friend的关系,我们可以在预计算过程中计算对于每个点,它的好友has_friend边有多少条,也即对于每个点,它的好友数量,这样,我们可以延伸出一个属性叫做好友数num_of_friends,好友数num_of_friends的值就是这里计算出的统计值。作用2主要根据统计信息中的延伸属性信息确定。
3、统计信息为后续的从候选集合中筛选出图维度和图度量提供特征依据。
根据统计信息中的数量信息可以确定每个子图的元数据,也就是说,统计每个子图的元数据的步骤,具体可以通过步骤B1-步骤B2的步骤执行:
步骤B1,统计每个子图的元数据中,满足指定的属性条件的点和/或边的统计信息;其中,属性条件至少包括下述之一:点属性、边属性、点类型和边类型;
该统计信息可以同时包括点的数量信息和边的数量信息,也可以仅包括点的数量信息或边的数量信息之一,该属性条件可以同时包括点属性和边属性,也可以仅包括点属性或边属性之一。指定的属性条件是指用户指定的与点属性、边属性、点类型和边类型中的一个或多个相关的要求,例如:好友数目、玩家职业等。在确定属性条件后,会统计每个拥有此类型的边或点,作为这个属性条件的统计指标之一,后续数据立方体的生成会利用这些属性条件作为统计规则的判断依据以及机器学习方法的特征维度。
步骤B2,将上述统计信息作为元数据的补充信息,保存至图模型数据的元数据中。
在统计完所有属性条件对应的统计信息后,将统计信息保存至图模型数据的元数据中。此时,元信息包括元数据和延伸属性信息,元数据包含有两部分内容,一部分是点类型、点属性、边类型和边属性,另一部分是上述统计信息。该统计信息除了包括数量信息之外,还包括其它类型的信息。例如,用于表达某种特征属性的字符串,但是这种情况下,一般也会把这些字符串类型的属性数值化,数值化有利于后续的基于规则的统计过滤规则的制定,也有利于机器学习算法的训练。
步骤53,合并每个子图的元数据和延伸属性,得到图模型数据的元信息。
在获得所有子图的元数据和延伸属性后,需要将元数据和延伸属性合并为图模型数据的元信息,该过程中,通常需要剔除子图划分时的重叠部分,即剔除重复的元信息,即可将每个子图的元信息合并,得到图模型数据的元信息。
步骤S506,按照预设的提取标准,从元信息中提取可作为图维度和/或图度量的候选图属性信息。
上文详细说明了元信息的获取方法,在获取图模型数据的元信息后,需要通过一定的提取标准提取候选图属性信息。该候选图属性信息可以同时作为图维度和图度量,也可以仅作为图维度或图度量之一。元信息包括元数据和延伸属性,元数据中包括了点类型、点属性、边类型和边属性,除此之外,元数据还包括统计信息;提取标准也是针对点类型、点属性、边类型、边属性和延伸属性制定,例如,提取标准可以是:不同类型的边(比如好友关系边has_friend)、不同类型点的属性(比如玩家点有一个属性是玩家等级role_level)、不同类型边的属性(比如好友关系有一个属性是亲密度friendship)、延伸图维度和图度量(比如好友关系的边数目num_has_friend)的条件,这种条件一般是基于阈值的条件。
举例来说,对于一个社交图,有人person类型的点,人person与人person之间是好友has_friend关系的边,人person有一个属性是年龄age,has_friend的边有一个属性是亲密度。那么,筛选条件可以是:person类型的点,以及他们之间的好友has_friend关系;或者,年龄age在20-30岁之间的person类型的点,以及他们之间的好友has_friend关系;或者,person类型的点,以及他们之间的亲密度数值等;然后,将筛选出的内容作为待分析的图,那么这个图中所涵盖的图属性就会作为候选图属性。
根据上述提取标准,就可以从元信息中提取对应的候选图属性信息,并将提取标准中针对的元数据(包括点属性、点类型、边属性、边类型以及统计信息)或延伸属性作为图维度或图度量。
需要说明的是,从元信息中提取候选图属性信息的步骤,也可以由处理器并行地执行,这样可以增加提取候选图属性信息的效率,通过步骤C1-C3执行:
步骤C1,根据处理器的并行度,将图模型数据划分为多个子图;其中,多个子图的数量与并行度相匹配;
也就是说,提前获得处理器的并行度p,并行度p代表处理器可以划分最多p个子图,并且保证处理速度不下降,所以此时划分的子图的数量是p,对于具有n个点的属性图。每个子图有n/p个点,以及n/p个点之间相连的边,子图与子图之间可能会有边相邻。
步骤C2,采用并行处理的方式,按照预设的提取标准,从每个子图对应的元信息中提取候选图属性信息;
对于每个子图分别提取候选图属性信息,因为划分子图采用了冗余的方式,同样的候选图属性信息可能会在不同子图中重复被提取。
步骤C3,合并每个子图对应的候选图属性信息,得到候选图属性信息。
将所有子图的候选图属性信息合并,并对重复的候选图属性信息进行剔除,就可以获得图模型数据的候选图属性信息。
举例说明元信息的统计原理,参见图6所示的一种图模型数据的示意图,图6中共有三种类型的点,分别为人(person)、餐馆(restaurant)和地点(location);其中,人对应的属性包括名字(name)、年龄(age)和身份号码(identity);餐馆对应的属性包括名字(name)和开业年份(since),地点对应的属性包括名字(name)。图6中共有三种类型的边,分别为好友关系(has_friend)、喜爱(likes)和坐落于(located);其中,“好友关系”的属性包括从什么时候开始成为朋友(from),“喜爱”的属性包括评分(vote),“坐落于”没有属性。
假设事先能够获取图6的元信息,就可以直接通过元信息提取图属性信息。根据预设的提取标准,图属性信息可以包括下述四种信息:
1、基于图中不同类型的边或点,例如,好友关系(has_friend)、喜爱(likes)、坐落于(located),上述三者为图中存在的边类型;人(person)、餐馆(restaurant),上述二者为图中存在的点类型。
2、基于图中不同类型的点属性,例如,名字(name),该名字属性是人物(person)类型的点、餐厅(restaurant)类型的点和位置(location)类型的点都具备的一个属性;再如,年龄(age),该年龄属性是人物(person)类型的点所具备的属性;再如,身份号码(identity),该身份号码属性是人物(person)类型的点所具备的属性。
3、基于图中不同类型的边属性,例如,开业年份(since)、从什么时候开始成为朋友(from)、评分(vote)等。
4、其他延伸图属性,例如,好友的个数(num_has_friend),该好友的个数是可以为对于每个点好友的数量。
假设我们事先无法获取图6的元信息,可以通过预计算的方式遍历全图推理图的元信息。无论是通过预计算还是通过元信息进行图数据预处理,都涉及到并行地遍历全图的过程。具体地,对于具有n个点的属性图(对于大规模属性图,n值非常大),假设处理器的并行度为p,此方法将图切分为p个子图,每个子图有n/p个点,以及n/p个点之间相连的边。子图与子图之间可能会有边相邻,这种情况下,此方案采取边冗余的方式,将子图之间相连的边冗余地存储在不同的子图。对于每个子图,分别用一个处理器遍历其全量图维度和图度量以及对应的统计指标信息。每个处理器分别并行执行的遍历结果最终通过一个合并器进行合并,取p个子图元信息和统计指标的并集。
这里划分子图的方法,具体可以按照点进行哈希切分,比如点标识范围在1-20000的放在一个桶,范围在20001~40000的点放到第二个桶,以此类推,将放在同一个桶内的点以及对应的边作为一个子图。划分子图时,可以用到边缘切割(edge-cut)的方法,这种情况下,同一条边会被冗余地存到多个子图,但是点只会出现在一个子图中,这种计算方法比较适合需要频繁地捕捉点及其附近的特征的情况。另外需要说明的是,切分子图的过程中不一定是完全等分,但是这样并不影响合并后最终得到的结果。
基于候选图的元数据以及一个具体的图实例,可以延伸出其他的延伸属性,延伸属性一般实现通过人为设定,根据需求的不同,延伸出的属性也不尽相同。延伸属性也可作为候选图属性,参与目标图属性的筛选。例如,上述例子中,不同人(person)之间有不同类型的边(比如has_friend类型的边),我们可以据此元数据以及一个具体的图实例,延伸出一个属性来统计不同类型的边的数目,这个数目信息可以作为元数据的一部分存储起来,作为候选图属性。
步骤S508,根据预设的统计规则和机器学习模型筛选候选图属性信息,得到目标图属性信息。
在传统关系型数据领域,数据分析通常通过统计规则与人工筛选结合的方式去提取值得分析的维度和度量,然后人工地构建数据立方体。近来,越来越多的针对于关系型数据的数据分析引擎被开发出来,这些数据分析引擎能够自动地对关系型数据中可能存在数据立方体进行快速建模,从中挖掘有价值的信息,但是,将此类系统和方法应用到图模型数据(也可以简称图数据)会面临几个障碍:
1、图数据通常是既复杂又高度异构的,例如,大规模的属性图可能含有成千上万种可选的图维度和图度量。此外,图是模式自由的,新的属性可能被加入到图中,给人工筛选和自动化引擎带来了不小的时间成本和技术挑战。
2、基于统计规则的方法可以为我们筛选图维度和图度量提供一定的帮助,选出来的图维度和图度量通常仍然是一个比较大的集合,比如,对于一个具有1000个待筛选维度的图,通过统计规则的方法可能会得到一个大小为800种维度的集合,这样规模的备选项仍然很难用人工的方式去进一步筛选。
3、熟悉关系型数据OLAP分析方法和系统的从业者具有极其宝贵的专家经验,如果能将这些专家经验迁移到图模型数据中来,能显著降低用户分析图模型数据的难度。
基于上述几点缺陷,本发明提出了基于传统统计规则的方法进第一筛选处理(粗排),然后利用主动学习模型进一步第二筛选处理(细排)的系统框架。这个框架同时考虑了属性图规模可能带来的维度爆炸和人工干预筛选的成本,首先通过统计的方法粗排符合一定规则的图维度和图度量,然后通过主动学习(机器学习的一种)模型进一步对粗排后的候选集合进一步地筛选,实践显示,此框架能显著减小候选图维度和图度量集合的大小,也能同时保证候选图维度和图度量集合的质量。经过粗排和细排确定的目标图属性信息作为生成数据立方体的基础,粗排和细排的执行方式可以通过步骤D1-步骤D2执行:
步骤D1,通过预设的统计规则,对候选图属性信息进行第一筛选处理,得到第一筛选结果。
步骤D1即为粗排的过程,粗排也称作第一筛选处理,经过粗排确定的第一筛选结果是细排的基础,第一筛选结果包括的图维度和图度量是候选图属性信息中的图维度和图度量的子集。统计规则是指第一筛选处理的筛选标准,只有满足统计规则的候选图属性信息才不会被第一筛选处理过滤,候选图属性信息包括图维度和图度量。针对图维度和图度量,统计规则也有对应的变化,下面分别进行说明。
如果候选图属性信息包括图维度,预设的统计规则包括下述中的一种或多种:具备图维度的点或边的数量与总量的比例大于预设的第一比例阈值;图维度的值为非空的点或边的数量与总量的比例大于预设的第二比例阈值;图维度包含有预设数量的维度值;
其中,具备图维度的点或边的数量与总量的比例大于预设的第一比例阈值,是指该图维度应该广泛存在。对于点或边属性维度,此属性在对应类型的点或边中应该是普遍存在的,也即对应类型的点或边中具备此属性的数量与对应类型的点或边总数量的比值超过一定的阈值;对于边维度,此类型的边的数量和图中所有边的数量的比值超过一定的阈值。在实际应用中,可以根据图的规模和性质的不同设定不同的阈值。
例如,物类型的点person具有一个维度是年龄age,假设图中具有年龄age的点person数目是m,点person的总数目是n,则m/n>第一比例阈值(threshold)的情况下,该属性是满足广泛存在这个条件的,第一比例阈值的选择一般依赖于人工经验。
上述图维度的值为非空的点或边的数量与总量的比例大于预设的第二比例阈值,是因为如果图维度的值是空值的情况过多,则该维度不便于后续的生成数据立方体需要的聚合操作,因此该图维度的空值的数量占总量的比值不能超过一定的阈值。
例如,在社交图中点代表人,根据元信息,我们知道了人都应该具有年龄age这个属性,但是,我们发现,图中只有50%的人有这个属性的值,那这个属性,就满足不了标准(如果我们设定的阈值是80%的话),属性值的缺失会造成后续立方体的构建缺乏足够的样本。
图维度的值为非空的点或边的数量与总量的比例大于预设的第二比例阈值,也就是该维度大多数情况下都是有值的。例如,人物类型的点person具有一个维度是年龄age,假设图中具有年龄age的点person的数目是m,m中有值(值非空,即不为null)的数目是m’,则m’/n>第二比例阈值threshold’的情况下,该维度是满足大多数情况下都是有值这个条件的,threshold’的选择一般依赖于人工经验。
上述图维度包含有多种预设数量的维度值,说明该图维度适合按维度值进行分析。候选图属性信息的维度包括了图中的所有维度,但并不是所有的维度都值得按该维度的不同值进行分析,比如,用户的身份(identity)对于每个用户都不一样,是随机生成的离散值,其区间和不同值的数量是未知的,基于此维度构建的数据立方体意义不大;又比如,用户的年龄可能具有的值是在{0,100}这个区间的离散值,是一个值得分析的维度,因为用户的年龄区间是预先可知的,且不同年龄段表现出来的不同行为数值常常能够给分析提供一定的帮助和指导。此发明倾向于尽可能保证候选维度集合的准确性和有趣性,来尽可能减少用户二次加工的成本。
又例如,还是上面的点person,年龄age的例子,假设所有点person的年龄age一共有n个值,去重之后不同的值有m个,如果m/n超过了一定的阈值,比如超过了80%,代表80%的值都不同,在n足够大的时候,这种属性显然不适合作为维度,因为它的值分布得太过于离散。
如果候选图属性信息包括图度量,预设的统计规则包括下述中的一种或多种:具备图度量的点或边的数量与总量的比例大于预设的第三比例阈值图度量的值为非空的点或边的数量与总量的比例大于预设的第四比例阈值;图度量的值的类型为指定类型。
其中,具备图度量的点或边的数量与总量的比例大于预设的第三比例阈值,说明该图度量在图中应该是大量存在的,对于点或边属性度量,此属性在对应类型的点或边中应该是普遍存在的,也即对应类型的点或边中具备此属性的点或边数量与对应类型的点或边总数量的比值超过一定的阈值;对于边度量,此类型的边的数量和图中所有边的数量的比值超过一定的阈值。在实际应用中,可以根据图的规模和性质的不同设定不同的阈值。
上述图度量的值为非空的点或边的数量与总量的比例大于预设的第四比例阈值,是因为空值度量过多不便于后续的生成数据立方体需要的聚合操作,因此该图度量的空值的数量占总量的比值不能超过一定的阈值。
上述图度量的值的类型为指定类型,是指此度量的度量值是可以聚合的,候选图属性信息的度量包括了图中的所有度量,并不是所有的度量都可以被常用的聚合函数聚合。比如对于值为字符串类型的度量(比如姓名),计数函数count可以适用,但是求和函数sum并一定试用。又比如,对于值为数值类型的度量(比如价格Price),可以运用求和sum,求最小值min,求最大值max,计数count等函数,适用的聚合函数范围比较广。
上述罗列的统计规则是进行粗排过程中比较核心的规则,在实际操作中,可以根据精细粒度的不同,由用户自行在系统中通过参数化的配置的方式增加新的统计过滤规则,但这会增加粗排的计算时间。此外,利用统计规则的粗排,利用了预处理阶段已经计算的候选图属性信息的统计指标,新增规则需要保证所利用的统计指标已经得到了计算。
粗排的过程由处理器并行地执行,同样需要分为不同的子图,可以通过步骤E1-步骤E3执行:
步骤E1,根据处理器的并行度,将图模型数据划分为多个子图;其中,多个子图的数量与并行度相匹配;
粗排过程是可以被并行化执行的,具体地,本实施例在粗排阶段中首先将图根据并行度的不同切分为不同的子图,划分子图同样由处理器的并行度确定子图的划分数目。
步骤E2,采用并行处理的方式,按照预设的统计规则,对每个子图对应的候选图属性信息进行第一筛选处理;
对于每一个子图,以并行的方式分别应用上述统计标准,具体地,对于每一个子图中的候选图属性信息,利用预处理阶段已经预设的统计规则进行比较,如果符合规则,则候选图属性信息加入到对应子图的筛选结果,否则舍弃。
步骤E3,合并每个子图对应的候选图属性信息对应的筛选结果,得到第一筛选结果。
确定每个子图的筛选结果后,对所有子图的筛选结果合并,并提出重复的筛选结果,得到图模型数据的第一筛选结果。
上述过程完成了第一筛选处理的过程,即粗排,下面继续描述第二筛选处理的过程,即细排。
步骤D2,通过预设的主动学习模型,对第一筛选结果进行第二筛选处理,得到目标图属性信息。
步骤D2即为细排的过程,细排也称作第二筛选处理,经过细排确定的第二筛选结果是生成数据立方体的基础。细排主要通过预设的主动学习模型进行,主动学习是机器学习的一种,首先介绍机器学习和主动学习的概念。
机器学习是人工智能、统计学的一个分支,它能够在不显式给定指令的情况下,让计算机通过模式和推理去完成一个特定的任务。具体地,机器学习利用特定任务的样本数据学习数据中潜在的模式,并对未来相似的任务做出决策。机器学习在在很多问题中得到了广泛的应用,比如垃圾邮件过滤,计算机视觉(比如目标识别)等,此类问题一般情况下很难通过人工编写规则的方式去实现,而机器学习利用历史数据训练出的模型,能很好地解决此类问题。机器学习很适合将特定领域的专家知识打包或训练成模型,来应对未来重复、相似的问题,因此,机器学习能够有效降低许多问题的人力成本。
主动学习是机器学习的一个分支,在尝试试用机器学习解决问题的时候,准备大量高质量的标注数据(labeleddata)是不可缺少的一环。但是,在有些情形下,人工标注数据的成本是很高的。例如,为了开发一个胰脏癌症预测模型,需要大量胰脏癌病人的特征数据和标注,这样的数据是很难获取的;又比如,为了开发一个可自我迭代的学习助手软件,需要大量准确标注的教育、教学数据,而这种数据通常依赖于学生、家长、老师多方面的反馈,人力和时间成本同样很高。为了应对这些情况,主动学习的机制被提出,主动学习机制能够根据当前的学习情况去选择下次迭代需要标注的数据,然后通过询问用户或专家的方式获取数据对应的标注,并通过新的标注数据更新已有的模型。比如,主动学习算法倾向于在接下来的迭代过程中询问那些标签更加模棱两可的数据,具体地,例如在一个二分类问题中,主动学习算法倾向于在下次迭代中推送那些概率在0.5附近的样本,这样的样本更容易出现在分类超平面的边界,也是分类器容易误判的样本。
主动学习可以被运用到众多任务中,一类常见的任务是自然语言处理(NaturalLanguage Processing),自然语言处理领域很多任务都需要大量的标注数据集(比如词性标注Part-of-Speech Tagging,命名实体识别Named Entity Recognition)。然而,对于词性标注、命名实体识别这类任务,获取大量标注好的数据常常是很难的,使用主动学习能够很大程度上减少需要的标注数据量,同样的情形在语音识别、信息提取等任务中也适用。
主动学习通常被称为一种学习框架,它可以用来优化其他学习算法的准确率,比如基于深度学习的卷积神经网络(Convolutional Neural Network,简称CNN)或长短期记忆网络(Long Short-Term Memory,简称LSTM),对抗生成网络(Generative AdversarialNetworks,简称GAN)等。常见的主动学习机制有三种:
1.综合关系询问(Membership Query Synthesis):这种学习机制的特点是,学习器(Leaner)会自动地去生成训练样本,该样本可能服从某种分布规律。比如,如果数据是一副由不同像素构成的图片,学习器基于这副原始图片生成一副新图片,新图片可能是原始图片翻转得到,或者是原始图片中某些像素点被移除后得到)。
2.基于流的实例选择(Stream-based Selective Sampling):在这种学习机制下,我们假设获取未标注地样本实例是免费的。基于这个假设,学习器每次选择一个未标注的样本,然后学习器紧接着基于样本的信息量(Informativeness)决定是保留该样本并进一步学习器标签还是直接丢弃。需要说明的是,信息量(Informativeness)是由查询策略(Query Strategy)决定的,查询策略我们在之后进行介绍。
3.基于池的实例选择Pool-based Sampling:这种学习机制假设有一个大的未标注的样本储备池(Pool),与上述基于流的实例选择一样,训练样本实例每次从储备池中根据某种信息量(Informativeness)指标进行选择。我们对样本储备池中的每个样本应用此信息量的计算,得到每个样本的信息量,然后选择信息量最高的样本实例。这种方式是主动学习社区中使用得最多的学习机制。
需要说明的是,上述三种主动学习机制中,每次学习器选择完成待标注样本(Instance)后,都需要去咨询(Query)专家知识(Oracle)来获取样本的真实标注。
基于流的实例选择和基于池的实例选择都是基于某种样本查询机制(QueryStrategy),这也是主动学习和一般被动机器学习显著区别的地方,在主动学习机制中,主动学习器是根据历史的查询样本及其标注(label)来决定下一次迭代选择哪些未标注的样本,这种未标注样本的选择一般会基于某种信息量度量(Measure of Informativeness)。下面介绍三种常见的选择机制和信息量的度量方案:
1.最低置信度(LeastConfidence)策略:这种策略下,学习器选择哪些具有最低标签置信度的样本,具体地,利用学习器去判断每个未标注的样本具备某种标签的可能性,每个样本都会有一个可能性最高的标签。此策略倾向于选择那些最高可能性最低的学习样本,因为这些样本在学习器看来,是最模棱两可的。
2.边际抽样(MarginSampling):最低置信度策略的问题是,每次我们只考虑了每个样本可能的标签中,可能性最大的那个,边际抽样策略不同,它倾向于选择那些最高可能性标签和次高可能性标签的差值最小的未标注样本,这种情况下,学习器将次高可能性的样本概率也纳入了考虑的范围。
3.熵抽样(EntropySampling):这种策略是边际抽样的延伸,这种策略考虑了所有的可能的标签,它提出了熵(Entropy)的概念,每次都去计算每个未标注样本的在各类可能标注上的熵值,然后选择熵最高的样本,因为,基于熵的概念,我们认为熵最高的样本带来的信息量也是最高的。
学习机制和样本选择策略组成了主动学习的两大基本要素,一个常规的主动学习过程主要包括以下步骤:
步骤1.数据的收集:我们假定数据都是未标注的,在这一步中,准备好所有未标注的数据集。
步骤2.数据集的切分:在这一步中,将数据集切分为一个较小的待标注数据集和一个较大的未标注数据集。较小的待标注的数据集将进行人为标注,并作为种子数据集(Seed Dataset),也叫做启动数据集(Starting Dataset)。
步骤3.标注待标注的小规模数据集:人工标注小规模的待标注数据集,也可以称为种子数据集(Seed Dataset)。
步骤4.利用标注的小规模数据集训练模型,即可以利用种子数据集来训练一个基础学习器,可以选择任何你认为合适的学习算法。
步骤5.选择未标注的样本:基础学习器训练完成后,就可以开始选择新样本进行继续学习了,可以从上述三种主动学习机制(综合关系询问、基于流的实例选择和基于池的实例选择)中任选一种学习机制,一般来讲,使用最多的是基于池的实例选择机制。除了学习机制,还需要选择查询机制(Query Strategy),也就是信息量的度量,即学习器基于什么来就定下个迭代将要利用的样本。一般来讲,最低置信度是比较常见的信息度度量,我们也可以选择合适的基于边际或者熵的方法。
步骤6.获取选择的未标注样本的真实标注:步骤5中利用信息量选择出来的样本是未标注的,主动学习通过询问专家(Oracle)来获取该样本的真实标注。
步骤7.利用新标注的样本和历史样本训练新的学习器:利用步骤6中标注过的样本及之前的历史样本训练一个新的学习器。
步骤8.重复步骤5到步骤7,直到达到停止标准(Stop Criteria):重复步骤5到步骤7中的过程,直到达到我们设定的停止标准。可能的停止标准包括:已经选择未标注的样本数量(Number of Query Samples)满足预设的数量阈值、步骤5到步骤7迭代的次数(Number of Iterations)满足预设的次数阈值、学习性能(Performance)已经达到了我们的预期,如学习区的损失值达到预设的损失阈值。
从大规模的待筛选维度和度量中筛选有分析价值的维度和度量,是一个既耗费人力又重复的工作。传统工程师在构建数据分析立方体维度的过程中,不得不重复利用领域专家知识,或是执行重复相似的统计任务来支持相应的判断决策。利用机器学习理论上能有效地简化这个过程。具体地,通过学习工程师在进行数据分析维度构建的过程中产出的专家知识,学习对应的模型,并对未来相似的维度分析任务做出判断和推理。但是,应用这种方法会面临一个问题:机器学习的训练依赖于大量标注过的样本数据,而多维数据分析专家知识这类数据,一般是很难获取的,尤其是大规模的此类任务的标注数据。基于这个问题,本发明提出了基于主动学习机制进行自动化筛选待分析维度和度量的方法,此方法主要解决了两个方面的问题:
1.利用机器学习模型代替人工筛选,能够有效降低筛选待分析图维度和图度量的时间,也降低了重复筛选图维度和图度量耗费的重复人力和时间。基于学习机制的方法(尤其是机器学习),能有效地从历史数据中学习潜在的模式,以模型的方式输出这些模式,这类方法在很多领域得到了有效的应用,比如推荐、搜索等。此发明引入了学习机制(机器学习)中的主动学习方法,该方法利用历史专家知识训练出的模型,自动地从待筛选的图维度和图度量集合中筛选有价值的图维度和图度量,整个过程不再依赖于人力,很大程度上降低了工程师重复探索数据模式的时间。
2.利用主动学习机制,有效规避了专家知识可能不足的问题,本发明只需要利用比较小规模的专家知识(标注过的)即可训练模型,模型的准确率会在后期的迭代过程中逐步优化,而且,逐步优化的过程就是将专家知识引入到筛选系统中的过程,可以利用专家知识作为未来模型预测输出的解释,因此,这方案也提高了利用机器学习进行维度和度量筛选的可解释性。
上文介绍了机器学习和主动学习的相关知识,现在结合本实施例说明本实施例中机器学习模型的训练方法,可以通过步骤F1-步骤F3执行:
步骤F1,基于第一筛选结果确定第一集合和第二集合;其中,第一集合中的候选图属性信息携带有预设的标准值;
第一集合和第二集合都是训练用的数据集,该数据集包括了所有候选图属性信息的图维度和图度量,使用每个图维度和图度量的统计指标作为特征。其中,第一集合中的候选图属性信息携带有预设的标准值,该标准值说明该集合对应的图维度和图度量是否为目标图属性信息需要的图维度和图度量。
具体可以利用领域专家知识标注第一集合的标准值,在这一步中,利用专家知识判断图维度和图度量是否值得被进一步分析,需要说明的是,这一步是完全依赖于专家知识的,也会结合一定程度的统计指标。
步骤F2,通过第一集合中的候选图属性信息和标准值,对预设的分类器进行第一训练处理;
使用第一集合训练分类器的过程即为第一训练处理,分类器用于对候选图属性信息包括的图维度和图度量进行分类,确定候选图属性信息包括的图维度和图度量是否为目标图属性信息需要的图维度和图度量。
举例来说,利用标注好的第一集合训练一个分类器,我们利用常见的逻辑回归模型(Logistic Regression)作为基础分类器,根据损失函数的不同,模型的输出表达的含义也不尽相同,比如模型的输出是一个分值,分值越接近1,代表该维度或度量越值得被分析,越接近0,代表该维度或度量越不值得被分析。
步骤F3,采用主动学习机制,通过第二集合中的候选图属性信息,对分类器进行第二训练处理,得到机器学习模型。
分类器经过第一训练处理之后,还需要进行进一步的迭代,以进行优化,即为第二训练处理。第二训练处理采用主动学习的机制,主动学习可以更加高效和准确地进行迭代。第二训练处理根据第二集合的数据进行主动学习,具体的步骤可以按照步骤G1-步骤G6执行:
步骤G1,从第二集合中的未被分类处理的候选图属性信息中确定待训练图属性信息;
可以利用基于池的实例选择机制和最低置信度策略进行接下来的迭代,为了实现迭代,需要将第二集合输入经过第一训练处理的分类器,输出对应的待训练图属性信息。在输入之前,要确定第二集合所有未被分类处理的候选图属性信息的图维度和图度量,将上述图维度和图度量作为待训练图属性信息,并将该属性的统计特征作为特征向量。
步骤G2,将待训练图属性信息输入至分类器中,输出待训练图属性信息的分类值;
具体可以将待训练图属性信息的图维度和图度量输入经过第一训练处理的分类器,输出对应的待训练图属性信息的分类值。根据分类值选择合适的第二集合中的待训练图属性信息进行分类器的迭代。
步骤G3,从待训练图属性信息中筛选出预设数量的、分类值满足第一预设阈值的待训练图属性信息,将筛选出的待训练图属性信息确定为待学习样本;
待训练图属性信息的分类值一般为一个介于0-1之间的数字,第一预设阈值一般在0.5附近,如0.45-0.55,预设数量一般为10个;即将待训练图属性信息的分类值接近0.5的10个分类值对应的第二集合的待训练图属性信息确定为待学习样本,进行迭代。也就是说,利用基于池的实例选择机制和最低置信度策略进行接下来的迭代。具体地,每次利用当前的学习器预测待标注的待训练图属性信息,预测值代表了该待训练图属性信息是否值得被分析,由于我们利用了最低置信度机制,因此从预测过的样本中选择固定数目(比如10)的、预测值最靠近0.5的样本作为待学习样本。
步骤G4,获取待学习样本的标准值;
获取待学习样本的标准值有两种方法,一种是人工标注,一种是预先标注所有第二集合的样本的标准值,这样在迭代过程中就不需要人工一直待命,随时标注,具体的标注Label还要根据损失函数的不同进行变化。例如,标注的结果是一个0到1区间的分值,越靠近1代表该图维度或图度量越值得被分析,越靠近0则越不值得被分析。
步骤G5,通过待学习样本和待学习样本的标准值,对分类器进行第二训练处理;
将待学习样本进行标注后,根据待学习样本和对应的标准值进行迭代,也就是第二训练处理。
步骤G6,继续执行从第二集合中的未被分类处理的候选图属性信息中确定待训练图属性信息的步骤,直至满足预设的迭代终止条件,得到机器学习模型。
当一次第二训练处理结束后,会得到一个一次迭代后的分类器,将其余未被分类处理的候选图属性信息输入至一次迭代后的分类器中,继续进行二次迭代,直到满足迭代终止条件停止迭代,停止迭代后的分类器即为最终的机器学习模型。迭代终止条件包括下述之一:
条件1.分类器的分类准确率达到预设的准确率阈值;准确率阈值用于确定分类器的性能达到一定标准,例如当准确率阈值为90%。需要说明的是,准确率超过90%,准确率的计算,一般采用的方式比如交叉熵损失值。即说明该分类器已经可以完全分辨待训练图属性对应的候选图属性信息是否为目标图属性信息,不存在模棱两可的情况,可以结束迭代。
条件2.确定出的待训练图属性信息的数量满足预设总量;从待分类池中已选择的未标注的样本的数量达到了预先设定的标准阈值,说明该分类器已经多次进行迭代,继续迭代的意义不大,可以结束迭代。
条件3.迭代次数满足预设的次数阈值。迭代次数打到预设的次数阈值(例如,100-1000次)说明该分类器已经多次进行迭代,继续迭代的意义不大,可以结束迭代。
主动学习是基于统计规则的筛选的有效补充,一方面能作为精排步骤进一步缩小候选图维度和图度量,另一方面能够有效地将专家知识通过学习模型引入到筛选过程中来。
在训练机器学习模型的过程中,可以由处理器采用并行的方式确定多个子模型,将子模型组合处理得到机器学习模型,可以通过以下步骤执行:
根据处理器的并行度,将图模型数据划分为多个子图;其中,多个子图的数量与并行度相匹配;采用并行处理的方式,根据第一筛选结果中,每个子图对应的候选图属性信息,采用上述的机器学习模型的训练方式,训练得到子模型;将每个子图对应的子模型进行组合处理,得到机器学习模型。
具体地,系统将大图根据并行度的不同划分为不同的子图,对于每一个子图,以并行的方式分别应用上述步骤构建学习器,然后将不同弱学习器组成一个新的强学习器作为最终的模型输出。组合处理的方法一般是通过将多个弱学习器组合成一个强学习器的方式(集成学习),常用的方式有Boosting(提升方法),Bagging(装袋算法)等。对于Boosting方式,具体来说可以是AdaBoost方式。需要说明的是,将不同弱学习器组合成新的强学习器在一定程度上可能不能增加学习器的准确率,因此,本实施例也可以采用单并行度的方式训练全局唯一的学习器,一般来讲,唯一的学习器比并行地训练多个弱学习器然后组成一个强学习的方式更好,但是会花费更多的时间。
在完成主动学习模型的训练后,可以通过该主动学习模型执行通过预设的主动学习模型,对第一筛选结果进行第二筛选处理,得到目标图属性信息的步骤,例如,通过步骤H1-步骤H2执行:
步骤H1,将第一筛选结果输入至预设的主动学习模型中,输出第一筛选结果中每个候选图属性信息的分类值;
将粗排获得的第一筛选结果当做训练完成的主动学习模型的输入,由主动学习模型输出第一筛选结果中每个候选图属性信息的分类值,分类值一般是0-1之间的一个数值,越接近1这说明越值得分析,即为目标图属性信息的概率更高。
步骤H2,将分类值满足第三预设阈值的候选图属性信息,确定为目标图属性信息。
第三预设阈值用来判断每个候选图属性信息是否可以为目标图属性信息,一般来说,当分类值大于预设阈值(例如,0.7-0.9之间的一个数值),这说明该分类值对应的候选图属性信息可以为目标图属性信息。
步骤S510,根据目标图属性信息生成预设维度的数据立方体。
多维数据立方体由一系列维度(Dimensions)和可被聚合的度量(Measure)组成。例如,对于一个有三个维度(时间、玩法、交易类型)的数据立方体,选择交易数额作为度量维度,由于交易数额通常是数值型的,因此能被一般的统计函数聚合,比如计数函数count()、平均值函数avg(),求和函数sum(),最小值函数min()以及最大值函数max()等,也可以指定复杂的用户自定义的函数(UDF,user-defined function)作为聚合函数。如果我们选择sum()作为聚合函数,就构建了一个以(时间,玩法,交易类型)作为分析维度,以交易数额作为分析度量,以求和函数作为聚合函数的数据立方体。
经过粗排和细排之后确定的目标属性信息是生成数据立方体的基础,目标属性信息包括图维度和图度量,基于图维度和图度量可以生成数据立方体,数据立方体可以通过步骤I1-步骤I4生成:
步骤I1,从目标图属性信息中的图维度中,确定数据立方体的分析维度;
从目标图属性信息中的图维度中选择一个和多个维度作为分析维度,一般来说,目标图属性信息中的图维度都可以作为分析维度,这里任选一个即可。
在构建立方体的时候,对于给定目标图属性信息的图维度集合,从中挑选任意数目的维度作为多维图数据立方体的基础维度,这样的方式构建的数据立方体的数目是巨大的。可以通过数学证明,对于n个候选维度,从中分别选择任意1个维度、任意2个维度、任意3个维度…任意n个维度作为数据立方体的基础维度,将产出2n规模的数据立方体,对于较大的n,这显然超过了一般计算机能够计算的范围。因此,分析维度的数量一般不超过4,一方面,这样的维度组合是易于理解的,另一方面,这样的维度组合也不会产生立方体数目爆炸的问题。
步骤I2,从目标图属性信息中的图度量中,确定数据立方体的分析度量;
从目标图属性信息中的图度量中选择一个和多个度量作为分析度量,一般来说,目标图属性信息中的图度量都可以作为分析度量,但是,优选的将上述目标图属性信息中的图度量中的单度量作为分析度量,这样做的目的在于单度量更容易被分析,分析起来更加简单,聚合函数也更容易确定。
步骤I3,根据分析度量的数据类型,确定聚合函数;
根据度量的数据类型属性(比如是数值型还是字符串型)选择可应用的备选聚合函数(比如上述min,max,sum,avg,count等),一般来说,一个类型属性至少对应一个备选聚合函数,如果一个类型属性对应一个备选聚合函数,则将该备选聚合函数作为聚合函数;如果一个类型属性对应多个备选聚合函数,则从多个备选聚合函数中选择一个或多个备选聚合函数作为聚合函数即可。
步骤I4,根据确定的分析维度、分析度量和聚合函数,生成数据立方体。
在确定分析维度、分析度量和聚合函数之后,根据不同的分析维度、分析度量和聚合函数确定对应的函数值,根据分析维度、分析度量和聚合函数构建一个数据立方体,之后把函数值保存在数据立方体的对应位置,以方便后续的查阅。
举例来说,参见图6所示的一种图模型数据的示意图,图维度和图度量挖掘模块筛选的候选图维度和图度量包括:名字(name)、年龄(age)、开业年份(since)、好友关系(has_friend)、喜欢(likes)、坐落于(located)、从什么时候开始成为朋友(from)、评分(vote)和好友的个数(num_has_friend)。
上述图维度和图度量被基于统计规则的方法和基于主动学习的筛选方法认为是值得分析的,以上述候选集合为基础构建多维图数据立方体。
以单维度+单度量为例,选择年龄作为维度,选择好友关系作为度量,选择平均值函数avg()作为聚合函数,就构建了一个基本的一维数据立方体(记作立方体1),维度:年龄(age);度量:好友关系(has_friend);聚合函数:avg()。这个数据立方体表达了这样的统计信息:对于不同年龄(可以连接未年龄阶层)的人,他们平均有多少个好友。
可以看到,这样的统计信息是有价值的,这样的统计能帮助汇总图上不同年龄(age)的人(person)的平均好友数目。需要说明的是,这样的数据立方体,在关系型数据模型中被大量的使用,本发明成功地将该模式应用到了图模型数据中来,且整个图数据立方体的构建过程是完全自动的,不再需要专家的人工干预。
将单维度进行拓展,可以构建图上多维图数据立方体,将单度量进行拓展,可以构建基于多度量的聚合统计值,比如:
对于不同地方(located)、开业时间(since)、不同的餐馆,可以参见对应的多维图数据立方体(记作立方体2),图维度:坐落于(located)、开业时间(since);图度量:评分(vote);聚合函数:avg()。其中坐落于(located)是边维度,开业时间(since)是点属性维度,评分(vote)是边属性维度。
如果需要生成的数据立方体包括多个,这些数据立方体的构建是可以并行化的。具体地,对于给定的候选图维度集合和候选图度量集合,本实施例在图数据立方体构建步骤中,首先确定计算的并行度p,并行度与计算机处理器的核心数、内存数有关,确定了并行度以后,系统以并行的方式去计算每个图数据立方体的度量统计值。例如,对于立方体1和立方体2,完全可以以并行的方式去计算。
并行构建数据立方体的步骤即采用并行处理的方式,根据目标图属性信息生成多个预设维度的数据立方体。并行度主要取决于分布式计算集群的物理资源,比如在一个处理器核心数为8核的机器上,我们一般选择16(2倍于处理器核心绝对数值)作为并行度。这里与上文与其他并行度确定的方法基本一致。
在完成数据立方体的构建之后,还可以进行推荐,这里的推荐是指将各种客观的兴趣度量或客户关心的兴趣度量的大小对所有数据立方体排序,并将排序后的数据立方体推送给客户。具体地数据立方体推荐方法,可以通过步骤J1-步骤J3执行:
步骤J1,计算每个数据立方体的兴趣度量;其中,兴趣度量包括下述中的一种或多种:方差、偏度、峰度、均值、用户偏好、用户期望。
兴趣度量是一个统计指标,对不同的数据立方体计算同样的兴趣度量,得到的结果不尽相同,对于用户来说,一般会对兴趣对量做出要求,可以按照用户兴趣度量的要求进行排列。
兴趣度量一般包括客观类兴趣度量和主观类兴趣度量,客观类兴趣度量一般是指基于模式的统计特征,比如方差(variance),偏度(skewness),峰度(kurtosis)或模式自身的属性(properties)。主观类兴趣度量一般是指基于用户的主观偏好或者期望,比如用户倾向于方差更小的模式等等。
客观类兴趣度量与用户的偏好或者兴趣无关,方差用于衡量数据立方体的离散程度,偏度用于分析数据立方体的偏斜方向和程度,峰度用于反映数据立方体的数据中峰部的尖度,均值就是数据立方体中所有数值的平均值。模式自身的属性是指数据立方体的某一个分析维度的统计特征,例如,计算数据立方体的某一个分析维度的最高值、最低值。而主观类兴趣度量是基于用户的要求进行统计,举例来说,用户需要方差更小的数据立方体,则计算所有数据立方体的方差,并按照方差由小到大的顺序进行推荐。如果指定了较多的客观兴趣度量,一般还需要制定一个更偏好的客观兴趣度量,主观类兴趣度量还可以是人工确定的度量函数。
需要说明的是,计算兴趣度量的步骤也可以由处理器并行处理,即采用并行处理的方式,计算每个数据立方体的兴趣度量。
不同的数据立方体之间通常并不存在联系,每个数据立方体都是独立计算兴趣度量的,因此可以由处理器并行地计算兴趣度量。具体的,对于n个需要计算兴趣度量的数据立方体和指定的并行度p,处理器以p个并行的线程地去计算数据立方体对应的兴趣度量。
步骤J2,根据预设的兴趣度量指标,对多个数据立方体进行排序。
预设的兴趣度量指标,可以是客观兴趣度量指标和主观兴趣度量指标的一种或几种,由用户确定。根据兴趣度量指标进行排序的过程,并不一定是从大到小或者从小到大的顺序,也有可能是接近某一数值进行排序,或者其他的排序方式,这里不做限定。例如,用户想要均值接近100的数据立方体,这样就会对所有数据立方体的均值计算并排序,排序方法就是越接近100,排序越靠前。
步骤J3,将排序后的多个数据立方体推送至用户终端。
将所有立方体排序后,按照排序的顺序将所有数据立方体推送至用户终端,以方便用户查阅。用户终端可以是电脑、手机、平板电脑等具有显示功能的设备。
在提取候选图属性信息的步骤中,元数据提取包含图维度和图度量的候选图属性信息,无需统计图模型数据中所有的图维度和图度量信息,以缩减候选图属性信息提取的时间;将图模型数据划分为多个子图,分别统计每个子图的元数据,合并得到图模型数据的元数据,可以增加图模型数据的元数据获取的效率。处理器采用与子图的数量对应的并行度,并行地统计每个子图的元数据,可以增加每个子图获取元数据的效率。
通过遍历子图中所有的点和边,获取点类型、点属性,边类型和边属性,将点类型、点属性,边类型和边属性作为元数据的一部分,可以保证每个子图的元数据都被完整地获取;根据用户指定的属性条件获取对应的点或边的统计信息,并将该统计信息作为元数据的一部分,可以保证元数据的完整性;采用并行的方法将图模型数据划分为处理器的并行度对应的子图,并行地提取每个子图的候选图属性信息,最后合并为图模型数据的候选图属性信息,可以增加图模型数据的候选图属性信息获取的效率。
上述方式在确定目标图属性信息的步骤中,首先通过统计规则进行第一筛选处理,之后通过主动学习模型进行第二筛选处理,得到目标图属性信息,可以代替人工筛选,从而增加目标图属性信息筛选的效率和准确性;介绍了对图维度和图度量的统计规则,采用并行的方法将图模型数据划分为处理器的并行度对应的子图,并行地对每个子图进行第一筛选处理,最后将每个子图的合并第一筛选结果为图模型数据的第一筛选结果,可以增加图模型数据的第一筛选结果获取的效率。
首先由第一集合确定一个分类器,由第二集合对分类器采用主动学习机制进行训练,得到机器学习模型,可以提高机器学习模型的分类效率和准确率;第二集合根据其对应的分类值挑选满足第一预设阈值的待训练图属性信息,由待训练图属性信息训练分类器,可以获得分类效率更好,准确率更高的机器学习模型;确定迭代终止条件,以保证机器学习模型根据迭代终止条件完成迭代;机器学习同样由处理器并行地对每个子图进行学习,最后合并得到,可以增加机器学习模型的学习效率;将第一筛选结果输入至预设的主动学习模型,输出分类值,根据分类值确定目标图属性信息,通过主动学习确定的目标图属性信息分类更加准确。
在生成数据立方体的步骤中,从候选图属性信息中提取分析维度和分析度量,根据分析度量的数据类型确定聚合函数,并根据分析维度、分析度量和聚合函数,生成数据立方体;采用并行的方式将目标图属性信息生成多个预设维度的数据立方体,可以增加数据立方体的生成效率。
在生成数据立方体的步骤之后,还可以根据预设的兴趣度量指标对数据立方体进行排序,并将排序结果推送至用户终端。可以根据用户的需求设定兴趣度量指标并进行排序,增加用户的体验满意度;并且通过并行处理的方式计算每个数据立方体的兴趣度量,可以增加所有数据立方体兴趣度量的计算效率。
图模型数据的整体流程可以参见图7所示的一种图模型数据的处理流程图,本实施例提供的图模型数据的处理方法给定一张待分析的目标图(graph),大体上可以分别由四个模块通过四个步骤进行分析,分别是:
图数据谱预处理模块:此模块通过预计算或元数据提取的方式,并行地遍历图中可用的候选图维度和候选图度量,作为候选图属性信息。
图维度和图度量挖掘模块:此模块通过统计规则和主动学习两种方式并行地从候选图属性信息挖掘目标图维度和目标图度量,作为目标图属性信息。
图数据立方体构建模块:此模块并行高效地通过从目标图属性信息中组合候选图维度和候选图度量的方式构建图数据立方体,组成候选图数据立方体的集合。
图数据立方体推荐模块:此模块通过用户预先设定的统计偏好,并行地计算每个候选立方体的统计偏好值并据此排序,实现基于用户偏好的图数据立方体的推荐。在实际实现时,可以根据用户确定的兴趣度量,对上述候选图数据立方体的集合进行过滤,过滤后输出目标数据立方体。
综上,本发明实施例提供的图模型数据的处理方法,能够快速、高效地从大规模图模型数据(比如属性图)中挖掘有趣的图数据立方体模式,并根据用户的偏好倾向对候选图数据立方体进行统计排序,将最符合统计偏好倾向的图数据立方体提取出来。
本发明实施例提供的图模型数据的处理方法可以由4个模块以串行的方式依次执行,充分利用了现代计算机的多核架构和并行计算的原理,将候选图属性信息的发现、目标图属性信息的筛选、图数据立方体的构建以及图数据立方体的排序都以并行程序的方式执行,显著提高了大规模图模型数据的分析效率,降低了数据分析和数据挖掘从业人员在面对图模型数据的时候的分析、上手困难,有效地减少了构建多维数据立方体过程中的重复性工作,此外,本发明实施例还成功地将多维数据立方体思想应用到了图模型数据中,能给大数据分析和数据挖掘工作提供一定程度帮助和支持。
需要说明的是,上述各方法实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
对应于上述方法实施例,本发明实施例提供了一种图模型数据的处理装置,如图8所示的一种图模型数据的处理装置的结构示意图,该装置包括:
图模型数据获取模块81,用于获取待处理的图模型数据;
候选图属性信息提取模块82,用于根据图模型数据的图属性,从图模型数据中提取可作为图维度和/或图度量的候选图属性信息;其中,图模型数据的图属性为:与图模型数据中的点和/或边相关联的属性;
目标图属性信息确定模块83,用于根据预设的统计规则和机器学习模型筛选候选图属性信息,得到目标图属性信息;
数据立方体生成模块84,用于根据目标图属性信息生成预设维度的数据立方体。
本发明实施例提供的图模型数据的处理装置,首先根据图模型数据的图属性提取可作为图维度和/或图度量的候选图属性信息,再采用统计规则和机器学习模型得到目标图属性信息,最后根据目标图属性信息生成数据立方体。通过该方式可以自动化地对图模型数据进行联机分析处理,处理过程中融入统计规则和机器学习模型,以对属性信息进行高效地筛选,该方式可以提高图模型数据的分析处理效率和准确率,使得数据处理结果更加具有价值。
在一些实施例中,上述候选图属性信息提取模块,用于:获取图模型数据的元信息;元信息包括图模型数据的元数据和延伸属性;其中,延伸属性通过元数据和图模型数据的实例获得;按照预设的提取标准,从元信息中提取可作为图维度和/或图度量的候选图属性信息。
在一些实施例中,上述候选图属性信息提取模块,用于:将图模型数据划分为多个子图;其中,多个子图组成图模型数据;统计每个子图的元数据和延伸属性;其中,元数据包括点类型、点属性、边类型和边属性;合并每个子图的元数据和延伸属性,得到图模型数据的元信息。
在一些实施例中,上述候选图属性信息提取模块,用于:根据处理器的并行度,将图模型数据划分为多个子图;其中,多个子图的数量与并行度相匹配;上述候选图属性信息提取模块,还用于:通过处理器,以并行处理的方式,统计每个子图的元数据和延伸属性。
在一些实施例中,上述候选图属性信息提取模块,用于:遍历子图中的点,统计点的点类型和点属性;遍历子图中,点之间的边,统计边的边类型和边属性;根据图模型数据的实例,计算子图中的延伸属性。
在一些实施例中,上述候选图属性信息提取模块,用于:统计每个子图的元数据中满足指定的属性条件的点和/或边的统计信息;其中,属性条件至少包括下述之一:点属性、边属性、点类型和边类型;将统计信息作为元数据的补充信息,保存至图模型数据的元数据中。
在一些实施例中,上述候选图属性信息提取模块,用于:根据处理器的并行度,将图模型数据划分为多个子图;其中,多个子图的数量与并行度相匹配;采用并行处理的方式,按照预设的提取标准,从每个子图对应的元信息中提取候选图属性信息;合并每个子图对应的候选图属性信息,得到候选图属性信息。
在一些实施例中,上述目标图属性信息确定模块,用于:通过预设的统计规则,对候选图属性信息进行第一筛选处理,得到第一筛选结果;通过预设的主动学习模型,对第一筛选结果进行第二筛选处理,得到目标图属性信息。
在一些实施例中,如果候选图属性信息包括图维度,预设的统计规则包括下述中的一种或多种:具备图维度的点或边的数量与总量的比例大于预设的第一比例阈值;图维度的值为非空的点或边的数量与总量的比例大于预设的第二比例阈值;图维度包含有预设数量的维度值;如果候选图属性信息包括图度量,预设的统计规则包括下述中的一种或多种:具备图度量的点或边的数量与总量的比例大于预设的第三比例阈值;图度量的值为非空的点或边的数量与总量的比例大于预设的第四比例阈值;图度量的值的类型为指定类型。
在一些实施例中,上述目标图属性信息确定模块,用于:根据处理器的并行度,将图模型数据划分为多个子图;其中,多个子图的数量与并行度相匹配;采用并行处理的方式,按照预设的统计规则,对每个子图对应的候选图属性信息进行第一筛选处理;合并每个子图对应的候选图属性信息对应的筛选结果,得到第一筛选结果。
在一些实施例中,上述机器学习模型,通过下述方式训练得到:基于第一筛选结果确定第一集合和第二集合;其中,第一集合中的候选图属性信息携带有预设的标准值;通过第一集合中的候选图属性信息和标准值,对预设的分类器进行第一训练处理;采用主动学习机制,通过第二集合中的候选图属性信息,对分类器进行第二训练处理,得到机器学习模型。
在一些实施例中,上述机器学习模型,通过下述方式训练得到:从第二集合中的未被分类处理的候选图属性信息中确定待训练图属性信息;将待训练图属性信息输入至分类器中,输出待训练图属性信息的分类值;从待训练图属性信息中筛选出预设数量的、分类值满足第一预设阈值的待训练图属性信息,将筛选出的待训练图属性信息确定为待学习样本;获取待学习样本的标准值;通过待学习样本和待学习样本的标准值,对分类器进行第二训练处理;继续执行从第二集合中的未被分类处理的候选图属性信息中确定待训练图属性信息的步骤,直至满足预设的迭代终止条件,得到机器学习模型。
在一些实施例中,上述迭代终止条件包括下述之一:分类器的分类准确率达到预设的准确率阈值;确定出的待训练图属性信息的数量满足预设总量;迭代次数满足预设的次数阈值。
在一些实施例中,上述机器学习模型,通过下述方式训练得到:根据处理器的并行度,将图模型数据划分为多个子图;其中,多个子图的数量与并行度相匹配;采用并行处理的方式,根据第一筛选结果中,每个子图对应的候选图属性信息,采用上述的机器学习模型的训练方式,训练得到子模型;将每个子图对应的子模型进行组合处理,得到机器学习模型。
在一些实施例中,上述目标图属性信息确定模块,用于:将第一筛选结果输入至预设的主动学习模型中,输出第一筛选结果中每个候选图属性信息的分类值;将分类值满足第三预设阈值的候选图属性信息,确定为目标图属性信息。
在一些实施例中,上述目标图属性信息包括图维度和图度量;上述数据立方体生成模块,用于:从目标图属性信息中的图维度中,确定数据立方体的分析维度;从目标图属性信息中的图度量中,确定数据立方体的分析度量;根据分析度量的数据类型,确定聚合函数;根据确定的分析维度、分析度量和聚合函数,生成数据立方体。
在一些实施例中,上述数据立方体包括多个;上述数据立方体生成模块,用于:采用并行处理的方式,根据目标图属性信息生成多个预设维度的数据立方体。
在一些实施例中,上述数据立方体包括多个;上述装置还包括:数据立方体排序模块,用于:计算每个数据立方体的兴趣度量;其中,兴趣度量包括下述中的一种或多种:方差、偏度、峰度、均值、用户偏好、用户期望;根据预设的兴趣度量指标,对多个数据立方体进行排序;将排序后的多个数据立方体推送至用户终端。
在一些实施例中,上述数据立方体排序模块,用于:采用并行处理的方式,计算每个数据立方体的兴趣度量。
本发明实施例提供的数据同步装置,与上述实施例提供的数据同步装方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
本发明实施例还提供了一种终端设备,用于运行上述图模型数据的处理方法;参见图9所示的一种终端设备的结构示意图,该终端设备包括存储器100和处理器101,其中,存储器100用于存储一条或多条计算机指令,一条或多条计算机指令被处理器101执行,以实现上述图模型数据的处理方法。
进一步地,图9所示的终端设备还包括总线102和通信接口103,处理器101、通信接口103和存储器100通过总线102连接。
其中,存储器100可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。通过至少一个通信接口103(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线102可以是ISA总线、PCI总线或EISA总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
处理器101可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器101中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器101可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(NetworkProcessor,简称NP)等;还可以是数字信号处理器(DigitalSignal Processor,简称DSP)、专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器100,处理器101读取存储器100中的信息,结合其硬件完成前述实施例的方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现上述图模型数据的处理方法,具体实现可参见方法实施例,在此不再赘述。
本发明实施例所提供的图模型数据的处理方法、装置和终端设备的计算机程序产品,包括存储了程序代码的计算机可读存储介质,程序代码包括的指令可用于执行前面方法实施例中的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和/或终端设备的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (21)

1.一种图模型数据的处理方法,其特征在于,所述方法包括:
获取待处理的图模型数据;
根据所述图模型数据的图属性,从所述图模型数据中提取作为图维度和/或图度量的候选图属性信息;其中,所述图模型数据的图属性为:与所述图模型数据中的点和/或边相关联的属性;
根据预设的统计规则和机器学习模型筛选所述候选图属性信息,得到目标图属性信息;
根据所述目标图属性信息生成预设维度的数据立方体;
根据预设的统计规则和机器学习模型筛选所述候选图属性信息,得到目标图属性信息的步骤,包括:
通过预设的统计规则,对所述候选图属性信息进行第一筛选处理,得到第一筛选结果;
通过预设的主动学习模型,对所述第一筛选结果进行第二筛选处理,得到目标图属性信息。
2.根据权利要求1所述的方法,其特征在于,根据所述图模型数据的图属性,从所述图模型数据中提取作为图维度和/或图度量的候选图属性信息的步骤,包括:
获取所述图模型数据的元信息;所述元信息包括所述图模型数据的元数据和延伸属性;其中,所述延伸属性通过所述元数据和所述图模型数据的实例获得;
按照预设的提取标准,从所述元信息中提取作为图维度和/或图度量的候选图属性信息。
3.根据权利要求2所述的方法,其特征在于,获取所述图模型数据的元信息的步骤,包括:
将所述图模型数据划分为多个子图;其中,所述多个子图组成所述图模型数据;
统计每个所述子图的元数据和延伸属性;其中,所述元数据包括点类型、点属性、边类型和边属性;
合并每个所述子图的元数据和延伸属性,得到所述图模型数据的元信息。
4.根据权利要求3所述的方法,其特征在于,将所述图模型数据划分为多个子图的步骤,包括:根据处理器的并行度,将所述图模型数据划分为多个子图;其中,所述多个子图的数量与所述并行度相匹配;
所述统计每个所述子图的元数据和延伸属性的步骤,包括:通过所述处理器,以并行处理的方式,统计每个所述子图的元数据和延伸属性。
5.根据权利要求3所述的方法,其特征在于,统计每个所述子图的元数据和延伸属性的步骤,包括:
遍历所述子图中的点,统计所述点的点类型和点属性;
遍历所述子图中,所述点之间的边,统计所述边的边类型和边属性;
根据所述图模型数据的实例,计算所述子图中的延伸属性。
6.根据权利要求5所述的方法,其特征在于,统计每个所述子图的元数据的步骤,还包括:
统计每个所述子图的元数据中,满足指定的属性条件的点和/或边的统计信息;其中,所述属性条件至少包括下述之一:所述点属性、所述边属性、所述点类型和所述边类型;
将所述统计信息作为所述元数据的补充信息,保存至所述图模型数据的元数据中。
7.根据权利要求2所述的方法,其特征在于,按照预设的提取标准,从所述元信息中提取作为图维度和/或图度量的候选图属性信息的步骤,包括:
根据处理器的并行度,将所述图模型数据划分为多个子图;其中,所述多个子图的数量与所述并行度相匹配;
采用并行处理的方式,按照预设的提取标准,从每个所述子图对应的元信息中提取候选图属性信息;
合并每个所述子图对应的候选图属性信息,得到候选图属性信息。
8.根据权利要求1所述的方法,其特征在于,如果所述候选图属性信息包括图维度,所述预设的统计规则包括下述中的一种或多种:
具备所述图维度的点或边的数量与总量的比例大于预设的第一比例阈值;
所述图维度的值为非空的点或边的数量与总量的比例大于预设的第二比例阈值;
所述图维度包含有预设数量的维度值;
如果所述候选图属性信息包括图度量,所述预设的统计规则包括下述中的一种或多种:
具备所述图度量的点或边的数量与总量的比例大于预设的第三比例阈值;
所述图度量的值为非空的点或边的数量与总量的比例大于预设的第四比例阈值;
所述图度量的值的类型为指定类型。
9.根据权利要求1所述的方法,其特征在于,通过预设的统计规则,对所述候选图属性信息进行第一筛选处理,得到第一筛选结果的步骤,包括:
根据处理器的并行度,将所述图模型数据划分为多个子图;其中,所述多个子图的数量与所述并行度相匹配;
采用并行处理的方式,按照预设的统计规则,对每个所述子图对应的候选图属性信息进行第一筛选处理;
合并每个所述子图对应的候选图属性信息对应的筛选结果,得到第一筛选结果。
10.根据权利要求1所述的方法,其特征在于,所述机器学习模型,通过下述方式训练得到:
基于所述第一筛选结果确定第一集合和第二集合;其中,所述第一集合中的候选图属性信息携带有预设的标准值;
通过所述第一集合中的候选图属性信息和所述标准值,对预设的分类器进行第一训练处理;
采用主动学习机制,通过所述第二集合中的候选图属性信息,对所述分类器进行第二训练处理,得到所述机器学习模型。
11.根据权利要求10所述的方法,其特征在于,采用主动学习机制,通过所述第二集合中的候选图属性信息,对所述分类器进行第二训练处理的步骤,包括:
从所述第二集合中的未被分类处理的候选图属性信息中确定待训练图属性信息;
将所述待训练图属性信息输入至所述分类器中,输出所述待训练图属性信息的分类值;
从所述待训练图属性信息中筛选出预设数量的、分类值满足第一预设阈值的待训练图属性信息,将筛选出的待训练图属性信息确定为待学习样本;
获取所述待学习样本的标准值;
通过所述待学习样本和所述待学习样本的标准值,对所述分类器进行第二训练处理;
继续执行从所述第二集合中的未被分类处理的候选图属性信息中确定待训练图属性信息的步骤,直至满足预设的迭代终止条件,得到机器学习模型。
12.根据权利要求11所述的方法,其特征在于,所述迭代终止条件包括下述之一:
所述分类器的分类准确率达到预设的准确率阈值;
确定出的所述待训练图属性信息的数量满足预设总量;
迭代次数满足预设的次数阈值。
13.根据权利要求10所述的方法,其特征在于,所述机器学习模型,通过下述方式训练得到:
根据处理器的并行度,将所述图模型数据划分为多个子图;其中,所述多个子图的数量与所述并行度相匹配;
采用并行处理的方式,根据所述第一筛选结果中,每个所述子图对应的候选图属性信息,采用权利要求10至12任一项所述的机器学习模型的训练方式,训练得到子模型;
将每个所述子图对应的子模型进行组合处理,得到机器学习模型。
14.根据权利要求1所述的方法,其特征在于,通过预设的主动学习模型,对所述第一筛选结果进行第二筛选处理,得到目标图属性信息的步骤,包括:
将所述第一筛选结果输入至预设的主动学习模型中,输出所述第一筛选结果中每个候选图属性信息的分类值;
将所述分类值满足第三预设阈值的候选图属性信息,确定为目标图属性信息。
15.根据权利要求1所述的方法,其特征在于,所述目标图属性信息包括图维度和图度量;所述根据所述目标图属性信息生成预设维度的数据立方体的步骤,包括:
从所述目标图属性信息中的图维度中,确定数据立方体的分析维度;
从所述目标图属性信息中的图度量中,确定数据立方体的分析度量;
根据所述分析度量的数据类型,确定聚合函数;
根据确定的所述分析维度、所述分析度量和所述聚合函数,生成所述数据立方体。
16.根据权利要求1所述的方法,其特征在于,所述数据立方体包括多个;
所述根据所述目标图属性信息生成预设维度的数据立方体的步骤,包括:采用并行处理的方式,根据所述目标图属性信息生成多个预设维度的数据立方体。
17.根据权利要求1所述的方法,其特征在于,所述数据立方体包括多个;
所述根据所述目标图属性信息生成预设维度的数据立方体的步骤之后,所述方法包括:
计算每个所述数据立方体的兴趣度量;其中,所述兴趣度量包括下述中的一种或多种:方差、偏度、峰度、均值、用户偏好、用户期望;
根据预设的兴趣度量指标,对多个所述数据立方体进行排序;
将排序后的所述多个数据立方体推送至用户终端。
18.根据权利要求17所述的方法,其特征在于,计算每个所述数据立方体的兴趣度量的步骤,包括:采用并行处理的方式,计算每个所述数据立方体的兴趣度量。
19.一种图模型数据的处理装置,其特征在于,所述装置包括:
图模型数据获取模块,用于获取待处理的图模型数据;
候选图属性信息提取模块,用于根据所述图模型数据的图属性,从所述图模型数据中提取作为图维度和/或图度量的候选图属性信息;其中,所述图模型数据的图属性为:与所述图模型数据中的点和/或边相关联的属性;
目标图属性信息确定模块,用于根据预设的统计规则和机器学习模型筛选所述候选图属性信息,得到目标图属性信息;
数据立方体生成模块,用于根据所述目标图属性信息生成预设维度的数据立方体;
目标图属性信息确定模块,用于:通过预设的统计规则,对候选图属性信息进行第一筛选处理,得到第一筛选结果;通过预设的主动学习模型,对第一筛选结果进行第二筛选处理,得到目标图属性信息。
20.一种终端设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机可执行指令,所述处理器执行所述计算机可执行指令以实现权利要求1至18任一项所述的图模型数据的处理方法的步骤。
21.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,所述计算机可执行指令促使处理器实现权利要求1至18任一项所述的图模型数据的处理方法的步骤。
CN201910997829.6A 2019-10-18 2019-10-18 图模型数据的处理方法、装置和终端设备 Active CN110737805B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910997829.6A CN110737805B (zh) 2019-10-18 2019-10-18 图模型数据的处理方法、装置和终端设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910997829.6A CN110737805B (zh) 2019-10-18 2019-10-18 图模型数据的处理方法、装置和终端设备

Publications (2)

Publication Number Publication Date
CN110737805A CN110737805A (zh) 2020-01-31
CN110737805B true CN110737805B (zh) 2022-07-19

Family

ID=69270195

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910997829.6A Active CN110737805B (zh) 2019-10-18 2019-10-18 图模型数据的处理方法、装置和终端设备

Country Status (1)

Country Link
CN (1) CN110737805B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111553388A (zh) * 2020-04-07 2020-08-18 哈尔滨工程大学 一种基于在线AdaBoost的垃圾邮件检测方法
CN112287014A (zh) * 2020-08-24 2021-01-29 深圳大学 产品信息可视化处理方法、装置、计算机设备
CN114511100B (zh) * 2022-04-15 2023-01-13 支付宝(杭州)信息技术有限公司 一种支持多引擎框架的图模型任务实现方法和系统
CN115456582A (zh) * 2022-09-16 2022-12-09 汉桑(南京)科技股份有限公司 一种任务管理的方法和系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150007928A (ko) * 2013-07-12 2015-01-21 경희대학교 산학협력단 온라인 분석 처리를 위한 그래프 큐브의 생성 방법
CN104572740A (zh) * 2013-10-23 2015-04-29 华为技术有限公司 一种存储数据的方法和装置
CN105354266A (zh) * 2015-10-23 2016-02-24 北京航空航天大学 一种基于富图模型RichGraph的图数据管理方法
CN107967338A (zh) * 2017-12-06 2018-04-27 东南大学 一种个人日常行为数据的多维分析方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7774227B2 (en) * 2007-02-23 2010-08-10 Saama Technologies, Inc. Method and system utilizing online analytical processing (OLAP) for making predictions about business locations
US10909178B2 (en) * 2015-03-05 2021-02-02 Workday, Inc. Methods and systems for multidimensional analysis of interconnected data sets stored in a graph database

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150007928A (ko) * 2013-07-12 2015-01-21 경희대학교 산학협력단 온라인 분석 처리를 위한 그래프 큐브의 생성 방법
CN104572740A (zh) * 2013-10-23 2015-04-29 华为技术有限公司 一种存储数据的方法和装置
CN105354266A (zh) * 2015-10-23 2016-02-24 北京航空航天大学 一种基于富图模型RichGraph的图数据管理方法
CN107967338A (zh) * 2017-12-06 2018-04-27 东南大学 一种个人日常行为数据的多维分析方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
路径-维度GraphOLAP大规模多维网络并行分析框架;张子兴等;《软件学报》;20180331;第29卷(第03期);第545-568页 *

Also Published As

Publication number Publication date
CN110737805A (zh) 2020-01-31

Similar Documents

Publication Publication Date Title
CN110737805B (zh) 图模型数据的处理方法、装置和终端设备
US10657686B2 (en) Gragnostics rendering
US9916350B2 (en) Automated creation of join graphs for unrelated data sets among relational databases
US10019442B2 (en) Method and system for peer detection
CN104573130B (zh) 基于群体计算的实体解析方法及装置
Pham et al. S3g2: A scalable structure-correlated social graph generator
CN112085205A (zh) 用于自动训练机器学习模型的方法和系统
CN104809244B (zh) 一种大数据环境下的数据挖掘方法和装置
CN108959395B (zh) 一种面向多源异构大数据的层次约减联合清洗方法
CN111222847B (zh) 基于深度学习与非监督聚类的开源社区开发者推荐方法
CN112000763B (zh) 兴趣点竞争关系确定方法、装置、设备和介质
CN111190968A (zh) 基于知识图谱的数据预处理和内容推荐方法
CN110706015A (zh) 一种面向广告点击率预测的特征选取方法
CN112463976A (zh) 一种以群智感知任务为中心的知识图谱构建方法
KR101625124B1 (ko) 특허 정량분석을 이용한 기술평가 방법
CN115114421A (zh) 一种问答模型训练方法
KR20120087214A (ko) 소셜 네트워킹 서비스 사용자를 위한 친구 추천 방법, 이를 위한 기록 매체 및 이를 이용하는 소셜 네트워킹 서비스 및 서버
CN114254615A (zh) 组卷方法、装置、电子设备和存储介质
CN111078859B (zh) 一种基于引用次数的作者推荐方法
Gunawan et al. C4. 5, K-Nearest Neighbor, Naïve Bayes, and Random Forest Algorithms Comparison to Predict Students' on TIME Graduation
CN112463974A (zh) 知识图谱建立的方法和装置
CN115712780A (zh) 一种基于云计算和大数据的信息推送方法及装置
CN116089595A (zh) 基于科技成果的数据处理推送方法、装置及介质
CN115660695A (zh) 客服人员标签画像构建方法、装置、电子设备及存储介质
CN115481325A (zh) 基于用户全局兴趣迁移感知的个性化新闻推荐方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant