CN112561084A - 特征提取方法、装置、计算机设备及存储介质 - Google Patents

特征提取方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN112561084A
CN112561084A CN202110187328.9A CN202110187328A CN112561084A CN 112561084 A CN112561084 A CN 112561084A CN 202110187328 A CN202110187328 A CN 202110187328A CN 112561084 A CN112561084 A CN 112561084A
Authority
CN
China
Prior art keywords
data
object data
data table
child node
feature extraction
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.)
Granted
Application number
CN202110187328.9A
Other languages
English (en)
Other versions
CN112561084B (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202110187328.9A priority Critical patent/CN112561084B/zh
Publication of CN112561084A publication Critical patent/CN112561084A/zh
Application granted granted Critical
Publication of CN112561084B publication Critical patent/CN112561084B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例公开了一种特征提取方法、装置、计算机设备及存储介质,属于计算机技术领域。该方法包括:获取数据配置文件,获取特征提取框架,基于数据配置文件调用特征提取框架,执行如下步骤:根据至少两个第一数据表之间的关联关系类型和匹配关系,确定每个关联关系类型匹配的算子,调用算子,对至少两个第一数据表进行特征提取,得到多个对象的特征信息。本申请实施例提供的方法,提供了一种通用的特征提取框架,通过该特征提取框架,自动提取数据配置文件中包含的多个对象的特征信息,无需开发人员再针对网络模型开发的特征提取代码,减少了开发特征提取代码耗费的时间,从而提高了特征提取效率,实现了对数据配置文件的数据计算。

Description

特征提取方法、装置、计算机设备及存储介质
技术领域
本申请实施例涉及计算机技术领域,特别涉及一种特征提取方法、装置、计算机设备及存储介质。
背景技术
随着计算机技术的发展,网络模型的应用越来越广泛。通常需要利用样本数据的特征信息对网络模型进行训练,而特征信息的准确与否对网络模型的训练效果有很大的影响。
通常在训练网络模型之前,需要开发人员编写特征提取代码,运行该特征提取代码来获取样本数据的特征信息,之后才能利用特征信息对网络模型进行训练。
但是,网络模型的不同或者样本数据的不同,都会导致进行特征提取时采用的算子不同,这就要求开发人员必须根据实际需求编码不同的特征提取代码,会耗费较多时间,影响特征提取效率。
发明内容
本申请实施例提供了一种特征提取方法、装置、计算机设备及存储介质,能够提高特征提取效率。所述技术方案包括如下内容。
一方面,提供了一种特征提取方法,所述方法包括:
获取数据配置文件,所述数据配置文件中包括多个数据表以及所述多个数据表之间的关联关系类型,所述多个数据表包括至少两个第一数据表,每个第一数据表中包括多个对象对应的对象数据;
获取特征提取框架,所述特征提取框架中包括用于进行特征提取的多个算子以及关联关系类型与算子之间的匹配关系;
基于所述数据配置文件调用所述特征提取框架,执行如下步骤:
根据所述至少两个第一数据表之间的关联关系类型和所述匹配关系,确定每个关联关系类型匹配的算子;
调用所述算子,对所述至少两个第一数据表进行特征提取,得到所述多个对象的特征信息。
在一种可能实现方式中,所述响应于所述多个对象数据中的目标对象数据对应的数目所属的数量级大于其他对象数据对应的数目所属的数量级,对所述目标对象数据及所述目标对象数据对应存储的其他维度的对象数据进行分片处理,得到多个分片数据集合,包括:
响应于所述目标对象数据对应的数目所属的数量级大于其他对象数据对应的数目所属的数量级,为每个目标对象数据分配一个随机值;
将所述每个目标对象数据与对应的随机值进行拼接,得到多个参考对象数据;
按照所述多个参考对象数据中相同的参考对象数据,分别将相同的参考对象数据以及对应存储的其他维度的对象数据构成一个分片数据集合。
在另一种可能实现方式中,所述调用所述目标算子,对所述第三数据表中所述任一对象在所述其他维度上聚合后的对象数据进行处理,得到所述更新对象数据,包括:
调用所述目标算子,并行对聚合后的多个分片数据集合进行处理,得到所述更新对象数据。
在另一种可能实现方式中,所述调用所述算子,对所述至少两个第一数据表进行特征提取,得到所述多个对象的特征信息之后,所述方法还包括:
根据所述多个对象的特征信息,对网络模型进行训练。
另一方面,提供了一种特征提取装置,所述装置包括:
获取模块,用于获取数据配置文件,所述数据配置文件中包括多个数据表以及所述多个数据表之间的关联关系类型,所述多个数据表包括至少两个第一数据表,每个第一数据表中包括多个对象对应的对象数据;
所述获取模块,还用于获取特征提取框架,所述特征提取框架中包括用于进行特征提取的多个算子以及关联关系类型与算子之间的匹配关系;
执行模块,用于基于所述数据配置文件调用所述特征提取框架,执行如下步骤:
根据所述至少两个第一数据表之间的关联关系类型和所述匹配关系,确定每个关联关系类型匹配的算子;
调用所述算子,对所述至少两个第一数据表进行特征提取,得到所述多个对象的特征信息。
在一种可能实现方式中,所述多个数据表还包括第二数据表以及所述第二数据表与至少一个所述第一数据表之间的关联关系类型;所述执行模块,包括:
构建单元,用于构建所述数据配置文件对应的节点树,所述节点树包括所述第二数据表对应的根节点和所述每个第一数据表对应的子节点,且具有关联关系的任两个数据表对应的节点连接;
确定单元,用于将所述至少两个第一数据表之间的关联关系类型,分别确定为对应的子节点之间的连接关系类型;
所述确定单元,还用于根据所述节点树中的多个子节点之间的连接关系类型和所述匹配关系,确定每个连接关系类型匹配的算子。
在另一种可能实现方式中,所述执行模块,包括:
融合单元,用于从深度最大的子节点开始,每次调用当前子节点对应的算子,将当前子节点对应的第三数据表与所连接的上层子节点对应的第四数据表进行融合,得到所述上层子节点对应的融合数据表,直至得到第一层子节点对应的融合数据表,所述第一层子节点为直接与所述根节点连接的子节点;
特征提取单元,用于对所述第一层子节点对应的融合数据表进行特征提取,得到所述多个对象的特征信息。
在另一种可能实现方式中,所述特征提取框架还包括维度与算子之间的匹配关系,所述第一层子节点对应的融合数据表中包括所述多个对象及每个对象在多个维度的对象数据;所述特征提取单元,用于确定所述第一层子节点对应的融合数据表包含的多个维度;根据所述多个维度和所述匹配关系,确定每个维度匹配的算子;调用确定的算子,分别对所述每个对象在所述多个维度的对象数据进行处理,得到所述每个对象的特征信息。
在另一种可能实现方式中,所述融合单元,用于调用所述当前子节点对应的算子,对所述第三数据表中的对象数据进行转化,得到更新对象数据;将所述更新对象数据添加在所述第四数据表中,得到所述上层子节点对应的融合数据表。
在另一种可能实现方式中,所述特征提取框架还包括维度与算子之间的匹配关系,所述上层子节点对应的融合数据表中包括所述多个对象在所述第一维度的对象数据,以及所述多个对象在其他维度的对象数据;
所述装置还包括:
确定模块,用于根据所述其他维度和所述匹配关系,确定所述其他维度匹配的算子;
处理模块,用于对于任一对象,调用确定的算子,对所述上层子节点对应的融合数据表中所述任一对象在所述其他维度的对象数据进行处理,得到更新对象数据;
存储模块,用于在所述上层子节点对应的融合数据表中,将所述更新对象数据与所述任一对象在所述第一维度的对象数据对应存储,得到更新后的融合数据表。
在另一种可能实现方式中,所述第三数据表和所述第四数据表中均包括所述多个对象在第一维度的对象数据,所述融合单元,用于对于任一对象,调用所述当前子节点对应的算子,对所述第三数据表中所述任一对象在其他维度的对象数据进行处理,得到更新对象数据;在所述第四数据表中,将所述更新对象数据与所述任一对象在所述第一维度的对象数据对应存储,得到所述上层子节点对应的融合数据表。
在另一种可能实现方式中,所述融合单元,用于根据所述关联关系类型与算子之间的匹配关系,确定所述当前子节点与所述上层子节点之间的连接关系类型匹配的多个算子;从所述多个算子中,确定与所述第三数据表中包含的多个维度匹配的目标算子;对于任一对象,调用所述目标算子,对所述第三数据表中所述任一对象在所述其他维度的对象数据进行处理,得到所述更新对象数据。
在另一种可能实现方式中,所述融合单元,用于响应于所述当前子节点与所述上层子节点之间的连接关系类型为后向关系类型,将所述第三数据表中,在所述第一维度上相同的多个对象数据对应的其他维度的对象数据进行聚合,所述后向关系类型表示所述第三数据表中所述第一维度的对象数据与所述第四数据表中所述第一维度的对象数据之间为多对一的关系;调用所述目标算子,对所述第三数据表中所述任一对象在所述其他维度上聚合后的对象数据进行处理,得到所述更新对象数据。
在另一种可能实现方式中,所述融合单元,用于响应于所述当前子节点与所述上层子节点之间的连接关系类型为所述后向关系类型,确定所述第三数据表中在所述第一维度的多个对象数据及每个对象数据对应的数目;响应于所述多个对象数据中的目标对象数据对应的数目所属的数量级大于其他对象数据对应的数目所属的数量级,对所述目标对象数据及所述目标对象数据对应存储的其他维度的对象数据进行分片处理,得到多个分片数据集合,每个分片数据集合中包括至少一个目标对象数据及所述至少一个目标对象数据对应存储的其他维度的对象数据;将所述每个分片数据集合中所述至少一个目标对象数据在其他相同维度的数据进行聚合。
在另一种可能实现方式中,所述融合单元,用于响应于所述目标对象数据对应的数目所属的数量级大于其他对象数据对应的数目所属的数量级,为每个目标对象数据分配一个随机值;将所述每个目标对象数据与对应的随机值进行拼接,得到多个参考对象数据;按照所述多个参考对象数据中相同的参考对象数据,分别将相同的参考对象数据以及对应存储的其他维度的对象数据构成一个分片数据集合。
在另一种可能实现方式中,所述融合单元,用于调用所述目标算子,并行对聚合后的多个分片数据集合进行处理,得到所述更新对象数据。
在另一种可能实现方式中,所述融合单元,用于响应于所述当前子节点与所述上层子节点之间的连接关系类型为所述后向关系类型,确定所述第三数据表中在所述第一维度的多个对象数据及每个对象数据对应的数目;响应于所述多个对象数据中的目标对象数据对应的数目所属的数量级大于其他对象数据对应的数目所属的数量级,对所述目标对象数据及所述目标对象数据对应存储的其他维度的对象数据进行采样处理,得到采样数据集合,所述采样数据集合包括参考数目个所述目标对象数据及所述参考数目个目标对象数据对应存储的其他维度的对象数据,所述参考数目所属的数量级与所述其他对象数据对应的数目所属的数量级相同;将所述采样数据集合中所述参考数目个目标对象数据在其他相同维度的数据进行聚合。
在另一种可能实现方式中,所述装置还包括:
训练模块,用于根据所述多个对象的特征信息,对网络模型进行训练。
在另一种可能实现方式中,所述执行模块,还用于对所述数据配置文件进行解析,得到所述数据配置文件中的所述至少两个第一数据表及所述至少两个第一数据表之间的关联关系类型。
另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条计算机程序,所述至少一条计算机程序由所述处理器加载并执行以实现如上述方面所述的特征提取方法中所执行的操作。
另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条计算机程序,所述至少一条计算机程序由处理器加载并执行以实现如上述方面所述的特征提取方法中所执行的操作。
再一方面,提供了一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机程序代码,所述计算机程序代码存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序代码,处理器执行所述计算机程序代码,使得所述计算机设备实现如上述方面所述的特征提取方法中所执行的操作。
本申请实施例提供的技术方案带来的有益效果至少包括:
本申请实施例提供的方法、装置、计算机设备及存储介质,提供了一种通用的特征提取框架,在特征提取框架中配置了用于进行特征提取的多种算子以及关联关系类型与算子之间的匹配关系,通过该特征提取框架,自动提取数据配置文件中包含的多个对象的特征信息,无需开发人员再针对网络模型开发的特征提取代码,减少了开发特征提取代码耗费的时间,从而提高了特征提取效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种数据共享系统的结构示意图;
图2是本申请实施例提供的一种区块链的结构示意图;
图3是本申请实施例提供的一种新区块产生过程的流程图;
图4是本申请实施例提供的一种特征提取方法的流程图;
图5是本申请实施例提供的一种特征提取方法的流程图;
图6是本申请实施例提供的一种多个数据表之间关联关系的示意图;
图7是本申请实施例提供的一种节点树的示意图;
图8是本申请实施例提供的一种特征提取框架调用算子的流程图;
图9是本申请实施例提供的一种调用特征提取框架来获取多个对象的特征信息的流程图;
图10是本申请实施例提供的一种基于特征提取框架对网络模型进行训练的流程图;
图11是本申请实施例提供的一种数据倾斜分布算子处理的流程图;
图12是本申请实施例提供的一种数据处理耗费时长对比示意图;
图13是本申请实施例提供的一种特征提取装置的结构示意图;
图14是本申请实施例提供的一种特征提取装置的结构示意图;
图15是本申请实施例提供的一种终端的结构示意图;
图16是本申请实施例提供的一种服务器的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种概念,但除非特别说明,这些概念不受这些术语限制。这些术语仅用于将一个概念与另一个概念区分。举例来说,在不脱离本申请的范围的情况下,能够将第一节点称为第二节点,且类似地,可将第二节点称为第一节点。
本申请所使用的术语“至少一个”、“多个”、“每个”、“任一”,至少一个包括一个、两个或两个以上,多个包括两个或两个以上,而每个是指对应的多个中的每一个,任一是指多个中的任意一个。举例来说,多个数据表包括3个数据表,而每个是指这3个数据表中的每一个数据表,任一是指这3个数据表中的任意一个,能够是第一个,或者是第二个,或者是第三个。
人工智能(Artificial Intelligence, AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、示教学习等技术。
本申请实施例提供的方案,基于人工智能的机器学习技术,能够获取到用户进行特征提取的多个算子以及关联关系类型与算子之间的匹配关系,在特征提取框架中布置多种算子以及关联关系类型与算子之间的匹配关系,以便后续获取数据配置文件中包含的多个对象的特征信息。
参见图1所示的数据共享系统,数据共享系统100是指用于进行节点与节点之间数据共享的系统,该数据共享系统中可以包括多个节点101,多个节点101可以是指数据共享系统中各个客户端。每个节点101在进行正常工作可以接收到输入信息,并基于接收到的输入信息维护该数据共享系统内的共享数据。为了保证数据共享系统内的信息互通,数据共享系统中的每个节点之间可以存在信息连接,节点之间可以通过上述信息连接进行信息传输。例如,当数据共享系统中的任意节点接收到输入信息时,数据共享系统中的其他节点便根据共识算法获取该输入信息,将该输入信息作为共享数据中的数据进行存储,使得数据共享系统中全部节点上存储的数据均一致。
对于数据共享系统中的每个节点,均具有与其对应的节点标识,而且数据共享系统中的每个节点均可以存储有数据共享系统中其他节点的节点标识,以便后续根据其他节点的节点标识,将生成的区块广播至数据共享系统中的其他节点。每个节点中可维护一个如下表所示的节点标识列表,将节点名称和节点标识对应存储至该节点标识列表中。其中,节点标识可为IP(Internet Protocol,网络之间互联的协议)地址以及其他任一种能够用于标识该节点的信息,表1中仅以IP地址为例进行说明。
表1
Figure 176477DEST_PATH_IMAGE001
数据共享系统中的每个节点均存储一条相同的区块链。区块链由多个区块组成,参见图2,区块链由多个区块组成,创始块中包括区块头和区块主体,区块头中存储有输入信息特征值、版本号、时间戳和难度值,区块主体中存储有输入信息;创始块的下一区块以创始块为父区块,下一区块中同样包括区块头和区块主体,区块头中存储有当前区块的输入信息特征值、父区块的区块头特征值、版本号、时间戳和难度值,并以此类推,使得区块链中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,保证了区块中输入信息的安全性。
在生成区块链中的各个区块时,参见图3,区块链所在的节点在接收到输入信息时,对输入信息进行校验,完成校验后,将输入信息存储至内存池中,并更新其用于记录输入信息的哈希树;之后,将更新时间戳更新为接收到输入信息的时间,并尝试不同的随机数,多次进行特征值计算,使得计算得到的特征值可以满足下述公式:
Figure 809584DEST_PATH_IMAGE002
其中,
Figure 379106DEST_PATH_IMAGE003
为计算特征值所用的特征值算法;
Figure 480660DEST_PATH_IMAGE004
(版本号)为区块链中相关区块协议的版本信息;
Figure 452027DEST_PATH_IMAGE005
为当前区块的父区块的区块头特征值;
Figure 990456DEST_PATH_IMAGE006
为输入信息的特征值;
Figure 312853DEST_PATH_IMAGE007
为更新时间戳的更新时间;
Figure 719564DEST_PATH_IMAGE008
为当前难度,在一段时间内为定值,并在超出固定时间段后再次进行确定;
Figure 686383DEST_PATH_IMAGE009
为随机数;
Figure 287391DEST_PATH_IMAGE010
为特征值阈值,该特征值阈值可以根据
Figure 565925DEST_PATH_IMAGE008
确定得到。
这样,当计算得到满足上述公式的随机数时,便可将信息对应存储,生成区块头和区块主体,得到当前区块。随后,区块链所在节点根据数据共享系统中其他节点的节点标识,将新生成的区块分别发送给其所在的数据共享系统中的其他节点,由其他节点对新生成的区块进行校验,并在完成校验后将新生成的区块添加至其存储的区块链中。
本申请实施例提供的特征提取方法,能够用于计算机设备中。可选地,该计算机设备为终端或服务器。可选地,该服务器是独立的物理服务器,或者,是多个物理服务器构成的服务器集群或者分布式系统,或者,是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。可选地,该终端是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。
本申请实施例提供的方法特征提取方法,能够应用于分布式系统中。本申请实施例提供了一种实施环境,该实施环境包括多个服务器节点,多个服务器节点分布在同一个分布式系统中,该特征提取框架为分布式框架,该特征提取框架部署在分布式系统中的每个服务器节点上。
其中,每个服务器节点是独立的物理服务器,或者,是多个物理服务器构成的服务器集群或者分布式系统,或者,是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
对于该分布式系统中的任一服务器节点,能够调用部署的特征提取框架对数据配置文件进行特征提取。并且,在对数据配置文件进行特征提取的过程中,该服务器节点能够作为分配方,数据配置文件中的部分数据分配给该分布式系统中的其他服务器节点,由其他服务器节点对分配的部分数据进行处理,并在处理完成之后,将处理结果返回给分配方,由作为分配方的服务器节点对返回的数据进行处理,以实现分布式系统中多个服务器节点并行处理的效果,以提高数据处理的效率。
本申请实施例提供的方法,可用于多种场景。
例如,物品分类场景下:
终端在训练物品分类模型时,获取到与多个物品相关的数据表,利用特征提取框架对应的特征配置语言,根据该多个数据表及该多个数据表之间的关联关系类型,生成配置文件,之后将该数据配置文件发送至服务器,服务器采用本申请实施例提供的特征提取方法,基于数据配置文件,调用特征提取框架进行特征提取,得到多个物品的特征信息,将多个物品的特征信息返回至终端,之后该终端利用该多个物品的特征信息,对物品分类模型进行训练,调用训练后的物品分类模型对物品进行分类,以确定物品所属的类别。
图4是本申请实施例提供的一种特征提取方法的流程图,应用于服务器中,如图4所示,该方法包括以下步骤。
401、服务器获取数据配置文件。
其中,数据配置文件中包括多个数据表以及多个数据表之间的关联关系类型,多个数据表包括至少两个第一数据表,每个第一数据表中包括多个对象对应的对象数据。该多个对象为待获取特征信息的对象,例如,该多个对象为多个用户标识或多个商品标识。每个第一数据表中包括多个对象对应的对象数据,例如,多个对象为多个用户标识,一个第一数据表包括多个用户标识的用户画像数据,另一个第一数据表包括多个用户标识购买商品的记录等。
402、服务器获取特征提取框架。
其中,特征提取框架是对数据配置文件自动提取特征信息的框架,特征提取框架中包括用于进行特征提取的多个算子以及关联关系类型与算子之间的匹配关系,每个算子能够表示一个对数据表进行特征提取的特征提取逻辑。
403、服务器基于数据配置文件调用特征提取框架,执行如下步骤404-405。
在获取到数据配置文件后,将该数据配置文件作为待提取特征的数据源,调用该特征提取框架,执行如下步骤404-405,以获取该数据配置文件中包含的多个对象的特征信息。
404、服务器根据至少两个第一数据表之间的关联关系类型和关联关系类型与算子之间的匹配关系,确定每个关联关系类型匹配的算子。
通过至少两个第一数据表中任两个第一数据表之间的关联关系类型,查询该关联关系类型与算子之间的匹配关系,即可确定该关联关系类型匹配的算子,从而得到每个关联关系类型匹配的算子。
405、服务器调用算子,对至少两个第一数据表进行特征提取,得到多个对象的特征信息。
由于每个第一数据表中包括多个对象对应的对象数据,调用至少两个第一数据表之间的关联关系类型匹配的算子,对至少两个第一数据表进行特征提取,以保证得到的每个对象的特征信息中融合了至少两个第一数据表中的对象数据,以保证特征信息的准确性。
本申请实施例提供的方法,提供了一种通用的特征提取框架,在特征提取框架中配置了用于进行特征提取的多种算子以及关联关系类型与算子之间的匹配关系,通过该特征提取框架,自动提取数据配置文件中包含的多个对象的特征信息,无需开发人员再针对网络模型开发的特征提取代码,减少了开发特征提取代码耗费的时间,从而提高了特征提取效率。
图5是本申请实施例提供的一种特征提取方法的流程图,应用于服务器中,如图5所示,该方法包括以下步骤。
501、服务器获取数据配置文件。
在数据配置文件中,不同的数据表中包含的数据不完全相同,不同的数据表之间可能存在关联关系。例如,该至少两个第一数据表包括用户画像数据表、用户商品行为数据表、商品属性数据表、用户消费行为数据表等,用户画像数据表和用户商品行为数据表之间具有关联关系,用户商品行为数据表和商品属性数据表之间具有关联关系,用户画像数据表和用户消费行为数据表之间具有关联关系。
在一种可能实现方式中,每个第一数据表中包括多个维度的数据。例如,任一第一数据表为用户画像数据表,该第一数据表包括的多个维度为用户标识、年龄、性别、教育程度、城市等,即该用户画像数据表中,每个用户标识对应有年龄、性别、教育程度、城市等维度的数据。可选地,第一数据表中的每个维度用一个字段类型表示,即该第一数据表包括多个字段类型及每个字段类型对应的数据。
可选地,该数据配置文件中还包括具有关联关系的任两个数据表之间的关联维度。其中,该关联维度为该两个数据表中均包括的维度,且两个数据表之间通过该关联维度的数据形成关联关系。例如,一个数据表为用户画像数据表,另一个数据表为用户消费行为数据表,该用户画像数据表和用户消费行为数据表均包括用户标识维度,该用户标识维度为这两个数据表的关联维度,即表示通过该用户标识维度的用户标识,用户画像数据表中的用户画像数据与用户消费行为数据表中的用户消费行为数据能够关联在一起。
可选地,任两个数据表之间的关联关系类型包括前向关系类型或后向关系类型。
在本申请实施例中,对于任两个数据表之间的关联关系类型,即为该两个数据表中后一个数据表相对于前一个数据表的关联关系类型,例如,数据表1和数据表2之间的关联关系类型为前向关系类型,即为数据表2相对于数据表1的关联关系类型为前向关系类型;数据表1和数据表2之间的关联关系类型为后向关系类型,即为数据表2相对于数据表1的关联关系类型为后向关系类型。
其中,前向关系类型用于指示两个数据表在关联维度上的对象数据之间为一对一的关联关系,或者为多对一的关联关系。可选地,该前向关系类型为一对一关系类型,或者,多对一关系类型。例如,数据表1与数据表2之间的关联关系类型为前向关系类型,数据表1和数据表2的关联维度为用户标识维度,数据表2在用户标识维度上的用户标识均不同,数据表1在用户标识维度上可能包括相同的用户标识,也可能包括不同的用户标识;如在数据表2中的用户标识维度上的每个用户标识,与在数据表1中的用户标识维度上的每个用户标识一一对应,则该数据表1与数据表2之间的关联关系类型为一对一关系类型;对于任一用户标识1,在数据表2中的用户标识维度上仅包括一个用户标识1,在数据表1中的用户标识维度上包括多个用户标识1,则该数据表1与数据表2之间的关联关系类型为多对一关系类型。
后向关系类型用于指示两个数据表在关联维度上的对象数据之间为一对多的关联关系。例如,数据表1与数据表2之间的关联关系类型为后向关系类型,数据表1和数据表2的关联维度为用户标识维度,数据表1在用户标识维度上的用户标识均不同,数据表2在用户标识维度上包括相同的用户标识,即数据表1在用户标识维度上任一用户标识1,在数据表2中对应有多个用户表示1,则该数据表1与数据表2之间的关联关系类型为后向关系类型。
在一种可能实现方式中,该数据配置文件中还包括每个数据表对应的特征提取参数,该特征提取参数用于指示从数据表中提取特征的类型。例如,特征提取参数包括时间窗、特征提取逻辑、交叉列等,该时间窗用于指示从数据表中提取的数据所属的时间段,特征提取逻辑用于指示提取的特征所满足的条件,如该特征提取逻辑指示从数据表中提取特定年龄段的人群,该交叉列用于指示数据表中不同维度的数据之间的交叉特征,例如,数据表中包括商品单价维度和销售数量维度,则该数据表对应的交叉列为商品单价维度和销售数量维度的交叉特征,即将商品单价维度的商品单价与销售数量维度的销售数量的乘积,确定为商品销售总额维度的销售金额,该交叉列特征指示的是该商品销售总额维度。
在一种可能实现方式中,该数据配置文件中还包括结果存储信息。其中,该结果存储信息用于指示生成的特征信息的样式、存储位置等。
在一种可能实现方式中,该步骤501包括:服务器接收用户终端发送的该数据配置文件。其中,该数据配置文件是基于特征提取框架对应的特征配置语言生成的。例如,用户终端基于该特征配置语言,对数据源中的多个数据表及多个数据表之间的关联关系类型进行配置,生成该数据配置文件。
502、服务器获取特征提取框架。
其中,特征提取框架是对数据配置文件自动提取特征信息的框架,特征提取框架中包括用于进行特征提取的多个算子,以及关联关系类型与算子之间的匹配关系。每个算子能够表示一个对数据表进行特征提取的特征提取逻辑。可选地,每个算子是多个特征提取函数构成的集合,则在调用任一算子时,相当于调用了该算子包括的多个处理函数。
在本申请实施例中,多个数据表之间包括多种关联关系类型,不同的关联关系类型所匹配的算子不同,例如,前向关系类型与转换算子匹配,后向关系类型与聚合算子匹配等。
通过该特征提取框架中的多个算子及关联关系类型与算子之间的匹配关系,以使后续能够通过该匹配关系来自动匹配算子,并基于匹配的算子实现自动提取特征的功能,从而实现了该特征提取框架的通用性。
在一种可能实现方式中,特征提取框架还包括维度与算子之间的匹配关系。根据一个数据表中包含的多个维度,查询维度与算子之间的匹配关系,能够确定多个维度匹配的算子。
503、服务器基于数据配置文件调用特征提取框架,执行如下步骤504-509。
在获取到数据配置文件后,将该数据配置文件作为待提取特征的数据源,调用该特征提取框架,执行如下步骤504-509,对该数据配置文件进行处理,以获取该数据配置文件中包含的多个对象的特征信息。
504、服务器对数据配置文件进行解析,得到数据配置文件中的至少两个第一数据表及至少两个第一数据表之间的关联关系类型。
通过对数据配置文件进行解析,获取到该数据配置文件中的至少两个第一数据表及至少两个第一数据表之间的关联关系类型,实现了将数据配置文件中的多个数据表及多个数据表之间的关联关系类型输入至该特征提取框架中,以便后续调用该特征提取框架,对解析得到的数据表进行特征提取。
在一种可能实现方式中,该步骤504包括:对数据配置文件进行格式转换,得到数据配置文件中的至少两个第一数据表及至少两个第一数据表之间的关联关系类型。
其中,得到的至少两个第一数据表及至少两个第一数据表之间的关联关系类型是以目标格式表示的,该目标格式为任意的格式,是输入该特征提取框架的数据所需满足的格式。例如,该目标格式为pb(Protocol Buffers,一种结构化数据存储格式)或者其他格式等。
在一种可能实现方式中,在该步骤504之后,该方法还包括:对该数据配置文件中的多个数据表进行过滤。
其中,采用的过滤方式为正则化过滤或其他过滤方式。由于数据配置文件是由用户配置的,该数据配置文件中包括的多个数据表中可能包括错误的信息,因此,采用过滤的方式,筛除数据配置文件中包括的多个数据表中错误的信息,以保证过滤后的多个数据表的准确性。
505、服务器构建数据配置文件对应的节点树。
在本申请实施例中,数据配置文件包括的多个数据表中还包括第二数据表以及第二数据表与至少一个第一数据表之间的关联关系类型。第二数据表中包括多个对象,以表示待获取特征信息的多个对象,在至少两个第一数据表中,至少有一个第一数据表与该第二数据表之间具有关联关系。通过该数据配置文件构建的节点树包括第二数据表对应的根节点和每个第一数据表对应的子节点,且具有关联关系的任两个数据表对应的节点连接。通过以节点树的形式,来表示数据配置文件中的多个数据表及多个数据表之间的关联关系,以保证多个数据表之间的关联关系的准确性。
在一种可能实现方式中,该步骤505包括:根据数据配置文件中包括的第二数据表及至少两个第一数据表,创建该第二数据表对应的根节点及每个第一数据表对应的子节点,根据第二数据表与至少一个第一数据表之间的关联关系类型,及至少两个第二数据表之间的关联关系类型,将具有关联关系的任两个数据表对应的节点连接,得到该节点树。
在一种可能实现方式中,为每个数据表生成一个标识,将每个数据表对应的标识与对应的节点对应存储。
另外,本申请实施例仅根据数据配置文件来构建一个节点树进行说明的,而在另一实施例中,数据配置文件包括多个第二数据表,及每个第二数据表与至少一个第一数据表之间的关联关系类型,则将每个第二数据表作为一个根节点,根据每个第二数据表与至少一个数据表之间的关联关系类型,及至少两个第一数据表之间的关联关系类型,构建多个节点树。其中,不同的节点树用于获取不同对象的特征信息。例如,根据数据配置文件,构建了两个节点树,一个节点树用于获取用户标识的用户特征信息,另一个节点树用于获取商品标识的商品特征信息。如图6中包括多个数据表及多个数据表之间的关联关系,根据图6中的多个数据表构建了两个节点树,构建的节点树,如图7所示,根节点1对应的数据表包括多个用户标识,根节点2对应的数据表包括多个商品标识,子节点1对应的数据表为用户画像数据表,子节点3对应的数据表为用户-商品行为数据表,子节点4对应的数据表为商品属性数据表,子节点5对应的数据表为商品信息数据表,子节点2对应的数据表为用户消费行为数据表,则通过多个数据表之间的关联关系构建了两个节点树,包含根节点1的节点树用于获取多个用户标识的特征信息,包含根节点2的节点树用于获取多个商品标识的特征信息。
506、服务器将至少两个第一数据表之间的关联关系类型,分别确定为对应的子节点之间的连接关系类型。
在生成节点树后,每个子节点对应一个第一数据表,将至少两个第一数据表中任两个第一数据表之间的关联关系类型,赋值为对应的两个子节点之间的连接关系类型,以使节点树中包含多个子节点之间的连接关系类型。即在该节点树中,对于连接的任两个子节点,该两个子节点之间的关联关系类型与该两个子节点对应的两个第一数据表之间的关联关系类型相同。
507、服务器根据节点树中的多个子节点之间的连接关系类型和关联关系类型与算子之间的匹配关系,确定每个连接关系类型匹配的算子。
在本申请实施例中,任两个子节点之间的关联关系类型与该两个子节点对应的两个第一数据表之间的关联关系类型相同,不同的关联关系类型所匹配的算子可能不同,则通过节点树中多个子节点之间的连接关系类型,查询该关联关系类型与算子之间的匹配关系,即可确定每个连接关系类型匹配的算子。
通过关联关系类型与算子之间的匹配关系,来确定节点树中多个子节点之间的连接关系类型匹配的算子,以保证确定算子的准确性,后续根据确定的算子,对多个子节点对应的第一数据表进行特征提取,从而保证提取特征的准确性。
需要说明的是,本申请实施例是通过构建数据配置文件对应的节点树,来确定多个子节点之间的连接关系类型匹配的算子的,而在另一实施例中,无需执行步骤505-507,能够采取其他方式,根据至少两个第一数据表之间的关联关系类型和关联关系类型与算子之间的匹配关系,确定每个关联关系类型匹配的算子。
508、服务器从深度最大的子节点开始,每次调用当前子节点对应的算子,将当前子节点对应的第三数据表与所连接的上层子节点对应的第四数据表进行融合,得到上层子节点对应的融合数据表,直至得到第一层子节点对应的融合数据表。
在本申请实施例中,构建节点树之后,节点树中每个子节点对应有深度,该深度用于表示子节点与节点树的根节点之间的距离,也即是该子节点与该根节点之间的节点数目,在确定节点树中每个子节点对应的深度,即可确定多个子节点对应的深度大小。例如,节点树中包括根节点、子节点1、子节点2和子节点3,根节点与子节点1连接,子节点1与子节点2连接,子节点2与子节点3连接,则子节点3对应的深度为3,子节点2对应的深度为2,子节点1对应的深度为1。
其中,当前子节点与上层子节点连接,且当前子节点的深度大于该上层子节点的深度。当前子节点对应的第三数据表为该数据配置文件中包括的至少两个第一数据表中的任一第一数据表,该上层子节点对应的第四数据表即为该数据配置文件中包括的至少两个第一数据表中的任一第一数据表,该第三数据表与该第四数据表不同。
在确定节点树中多个子节点的深度后,从深度最大的子节点开始,依次将当前子节点对应的第三数据表与所连接的上层子节点对应的第四数据表进行融合,得到上层子节点对应的融合数据表,之后,将该上层子节点作为当前子节点,将当该前子节点对应的融合数据表,与所连接的上层子节点对应的第一数据表进行融合,按照上述方式重复执行,直至得到第一层子节点对应的融合数据表。
按照节点树中子节点的深度由大到小的顺序,将多个子节点对应的第一数据表进行融合,使得第一层子节点对应的融合数据表中包含多个第一数据表中所包含的特征,保证了第一层子节点对应的融合数据表的准确性,以便后续按照该融合数据表来提取多个对象的特征信息。
在一种可能实现方式中,该步骤508包括以下步骤5081-5082。
5081、对于任一对象,调用当前子节点对应的算子,对第三数据表中该任一对象在其他维度的对象数据进行处理,得到更新对象数据。
其中,第三数据表和第四数据表中均包括多个对象在第一维度的对象数据,即该第一维度为该第三数据表与第四数据表之间的关联维度。该第三数据表包括每个对象在第一维度的对象数据,及每个对象在其他维度的对象数据。当前子节点对应的算子,即为该当前子节点与所连接的上层子节点之间的连接关系类型匹配的算子。
对于任一对象在第一维度的对象数据,调用当前子节点对应的算子,对第三数据表中该任一对象在其他维度的对象数据进行处理,得到该任一对象对应的更新对象数据。按照上述方式,调用当前子节点对应的算子,分别对第三数据表中每个对象在其他维度的对象数据进行处理,得到多个对象对应的更新对象数据。
在一种可能实现方式中,每个对象对应的更新对象数据属于更新维度,该更新维度与第三数据表中包含的维度不同。
在一种可能实现方式中,该步骤5081包括以下步骤50811-50813。
50811、根据关联关系类型与算子之间的匹配关系,确定当前子节点与上层子节点之间的连接关系类型匹配的多个算子。
在本申请实施例中,每个关联关系类型与多个算子匹配,则通过关联关系类型与算子之间的匹配关系,能够确定当前子节点与所连接的上层子节点之间的连接关系类型匹配的多个算子。
在一种可能实现方式中,该关联关系类型与算子之间的匹配关系包括:关联关系类型与算子类型之间的匹配关系,以及算子类型与算子之间的匹配关系,则该步骤50811包括:根据当前子节点与上层子节点之间的连接关系类型,查询关联关系类型与算子类型之间的匹配关系,确定该连接关系类型所匹配的算子类型,查询算子类型与算子之间的匹配关系,确定该算子类型匹配的多个算子。其中,连接关系类型所匹配的算子类型匹配的多个算子,即为当前子节点与上层子节点之间的连接关系类型匹配的多个算子。
50812、从多个算子中,确定与当前子节点对应的第三数据表中包含的多个维度匹配的目标算子。
在本申请实施例中,数据表包含的不同维度所匹配的算子不同。在确定当前子节点与上层子节点之间的连接关系类型匹配的多个算子后,根据当前子节点对应的第三数据表中包含的多个维度,从多个算子中选出与该多个维度匹配的目标算子。其中,该目标算子包括一个或多个。
在一种可能实现方式中,特征提取框架还包括维度与算子之间的匹配关系,根据该维度与算子之间的匹配关系,从多个算子中选取与第三数据表中包含的多个维度匹配的目标算子。
50813、对于任一对象,调用目标算子,对当前子节点对应的第三数据表中任一对象在其他维度的对象数据进行处理,得到更新对象数据。
在确定与第三数据表包含的多个维度匹配的目标算子后,对于任一对象在第一维度的对象数据,调用目标算子,对第三数据表中该任一对象在其他维度的对象数据进行处理,得到该任一对象对应的更新对象数据。按照上述方式,调用该目标算子,分别对第三数据表中每个对象在其他维度的对象数据进行处理,得到多个对象对应的更新对象数据。
在一种可能实现方式中,目标算子包括多个,则该步骤50813包括:对于任一对象,调用多个目标算子,对当前子节点对应的第三数据表中任一对象在其他维度的对象数据进行处理,得到该任一对象对应的多个更新对象数据。
其中,该任一对象对应的多个更新对象数据均属于不同的更新维度。按照上述方式,调用多个目标算子,分别对第三数据表中每个对象在其他维度的对象数据进行处理,得到每个对象对应的多个更新对象数据。
在一种可能实现方式中,该步骤50813包括以下步骤1-步骤2。
步骤1、响应于当前子节点与上层子节点之间的连接关系类型为后向关系类型,将第三数据表中,在第一维度上相同的多个对象数据对应的其他维度的对象数据进行聚合。
其中,后向关系类型表示第三数据表中第一维度的对象数据与第四数据表中第一维度的对象数据之间为多对一的关系。例如,对于第一维度的对象数据1,第三数据表中包括多个对象数据1,第四数据表中包括一个对象数据1。在当前子节点与上层子节点之间的连接关系类型为后向关系类型时,表示第三数据表中在第一维度的对象数据上包括相同的多个对象数据,因此,将第三数据表中,第一维度上相同的多个对象数据对应的其他维度的对象数据进行聚合,且在聚合时,对于第三数据表中的任一其他维度,将第一维度上相同的多个对象数据在该其他维度的对象数据进行聚合,重复执行上述过程,将第一维度上相同的多个对象数据在每个其他维度的对象数据进行聚合。
例如,第三数据表包括第一维度、其他维度1和其他维度2,在第一维度上有相同的3个对象数据1,则在将该相同的3个对象数据1在其他维度上的对象数据进行聚合时,将该3个对象数据1对应的其他维度1的对象数据进行聚合,得到该3个对象数据1在其他维度1上的聚合后的对象数据,将该3个对象数据1对应的其他维度2的对象数据进行聚合,得到该3个对象数据1在其他维度2上的聚合后的对象数据。
在当前子节点与上层子节点之间的连接关系类型为后向关系类型的情况下,将第三数据表中,在第一维度上相同的多个对象数据对应的其他维度的对象数据进行聚合,以使聚合后的第三数据表中,在第一维度上包括多个不同的对象数据,与上层子节点对应的第四数据表中在第一维度上的对象数据一一对应,以便后续将第三数据表和第四数据表进行融合,保证了数据表融合的准确性。
在一种可能实现方式中,该步骤1包括步骤1.1-步骤1.3。
步骤1.1、响应于当前子节点与上层子节点之间的连接关系类型为后向关系类型,确定第三数据表中在第一维度的多个对象数据及每个对象数据对应的数目。
其中,确定的第一维度上的多个对象数据均不相同,任一对象数据对应的数目表示第三数据表中包括与该对象数据相同的对象数据的数目。
步骤1.2、响应于多个对象数据中的目标对象数据对应的数目所属的数量级大于其他对象数据对应的数目所属的数量级,对目标对象数据及目标对象数据对应存储的其他维度的对象数据进行分片处理,得到多个分片数据集合。
其中,数量级能够表示数目的大小的级别,例如,15与20属于一个数量级,15与100不属于一个数量级,100比15大一个数量级。数目所属的数量级越大,则表示数目越大,数目所属的数量级越小,则表示数目越小。
目标对象数据对应的数目所属的数量级大于其他对象数据对应的数目所属的数量级,表示目标对象数据的数目远远大于其他对象数据对应的数目,则后续在对目标对象数据对应的其他维度的对象数据进行处理时所需耗费的时长,远远大于在对其他对象数据对应的其他维度的对象数据进行处理时所需耗费的时长,因此,为了保证在对不同的对象数据对应的其他维度的对象数据进行处理时所耗费的时长相近,将目标对象数据及目标对象数据对应存储的其他维度的对象数据划分成多个分片数据集合,每个分片数据集合中包括至少一个目标对象数据及至少一个目标对象数据对应存储的其他维度的对象数据,且每个分片数据集合中包括的目标对象数据的数目所属的数量级,与其他对象数据对应的数目所属的数量级相等。
在一种可能实现方式中,该步骤1.2包括以下步骤1.2.1-步骤1.2.3。
1.2.1、响应于目标对象数据对应的数目所属的数量级大于其他对象数据对应的数目所属的数量级,为每个目标对象数据分配一个随机值。
其中,随机值为任意的数值,可选地,该随机值为Hash(哈希值)。在为多个目标数据分配的多个随机值中包括不同的随机值,也可能包括相同的随机值。例如,对于4个目标对象数据,为第一个目标对象数据和第二个目标对象数据分配的随机值均为随机值1,为第三个目标对象数据和第四个目标对象数据分配的随机值均为随机值2,且随机值1和随机值2不同。
1.2.2、将每个目标对象数据与对应的随机值进行拼接,得到多个参考对象数据。
在为每个目标对象数据分配一个随机值后,将每个目标对象数据与对应的随机值进行拼接,得到每个目标对象数据对应的参考对象数据,且得到的多个参考对象数据中可能包括相同的参考对象数据,也可能不包括相同的参考对象数据。
1.2.3、按照多个参考对象数据中相同的参考对象数据,分别将相同的参考对象数据以及对应存储的其他维度的对象数据构成一个分片数据集合。
在得到多个参考对象数据后,将多个参考对象数据中,相同的参考对象数据及对应存储的其他维度的对象数据构成一个分片数据集合,从而得到多个分片数据集合,每个分片数据集合包括至少一个参考对象数据对应的目标对象数据,及该目标对象数据对应存储的其他维度的对象数据。
步骤1.3、将每个分片数据集合中至少一个目标对象数据在其他相同维度的数据进行聚合。
对于每个分片数据集合,将该分片数据集合中的至少一个目标对象数据在其他相同维度的数据进行聚合时,对于第三数据表中的任一其他维度,将至少一个目标对象数据在该其他维度的对象数据进行聚合,得到该至少一个目标对象数据在该其他维度的聚合后的对象数据,重复执行上述过程,将至少一个目标对象数据在每个其他维度的对象数据进行聚合,得到该至少一个目标对象数据在每个其他维度的聚合后的对象数据。
在一种可能实现方式中,该步骤1包括以下步骤1.4-步骤1.6。
步骤1.4、响应于当前子节点与上层子节点之间的连接关系类型为后向关系类型,确定第三数据表中在第一维度的多个对象数据及每个对象数据对应的数目。
该步骤与上述步骤1.1同理,在此不再赘述。
步骤1.5、响应于多个对象数据中的目标对象数据对应的数目所属的数量级大于其他对象数据对应的数目所属的数量级,对目标对象数据及目标对象数据对应存储的其他维度的对象数据进行采样处理,得到采样数据集合。
其中,采样数据集合包括参考数目个目标对象数据及参考数目个目标对象数据对应存储的其他维度的对象数据,参考数目所属的数量级与其他对象数据对应的数目所属的数量级相同。由于多个目标对象数据对应存储的其他维度的对象数据中,可能包括类似的对象数据,即后续在对多个目标对象数据及对应存储的其他维度的对象数据进行处理时,无需对全部的目标对象数据及对应存储的其他维度的对象数据进行处理,因此,对多个目标对象数据及对应存储的其他维度的对象数据进行采样处理,使得采样数据集合中包括的目标对象数据的数目所属的数量级,与其他对象数据对应的数目所属的数量级相同,以保证后续对不同的对象数据及对应存储的其他维度的对象数据进行处理时所需耗费的时长相近,无需其他对象数据对应存储的其他维度的对象数据处理完成后,再等待目标对象对应存储的其他维度的对象数据处理完成,从而保证了数据处理效率。
步骤1.6、将采样数据集合中参考数目个目标对象数据在其他相同维度的数据进行聚合。
该步骤与上述步骤1.3同理,在此不再赘述。
步骤2、调用目标算子,对第三数据表中任一对象在其他维度上聚合后的对象数据进行处理,得到更新对象数据。
对于任一对象在第一维度的对象数据,调用目标算子,对第三数据表中该任一对象在其他维度上聚合后的对象数据进行处理,得到该任一对象对应的更新对象数据。按照上述方式,调用该目标算子,分别对第三数据表中每个对象在其他维度上聚合后的对象数据进行处理,得到多个对象对应的更新对象数据。
在一种可能实现方式中,基于上述步骤1.3,得到聚合后的多个分片数据集合后,该步骤2包括:调用目标算子,并行对聚合后的多个分片数据集合进行处理,得到更新对象数据。
通过并行对聚合后的多个分片数据集合进行处理,减小了数据处理所需耗费的时长,提高了数据处理效率。
可选地,该服务器为分布式系统中的服务器节点,则该服务器将聚合后的多个分片数据集合分配给该分布式系统中的多个其他服务器节点上,由多个其他服务器节点分别对分配的聚合后的分片数据集合进行处理,得到分配的聚合后的分片数据集合对应的更新对象数据,该多个其他服务器节点将得到的更新对象数据返回至该服务器,该服务器接收到多个更新对象数据后,对该多个更新对象数据进行融合,得到融合后的更新对象数据。
可选地,每个其他服务器节点返回多个更新维度的更新对象数据,则服务器接收到每个更新维度对应的多个更新对象数据,将每个更新维度对应的多个更新对象数据进行融合,得到每个更新维度对应的融合后的更新对象数据。
需要说明的是,本申请实施例是以对象为单位,将每个对象在其他维度的对象数据进行处理,来获取每个对象对应的更新对象数据,而在另一实施例中,无需执行步骤5081,能够采取其他方式,调用当前子节点对应的算子,对当前子节点对应的第三数据表中的对象数据进行转化,得到更新对象数据。
5082、在当前子节点所连接的上层子节点对应的第四数据表中,将更新对象数据与该任一对象在第一维度的对象数据对应存储,得到上层子节点对应的融合数据表。
在得到第三数据表中任一对象对应的更新对象数据后,将该更新对象数据添加在第四数据表中,使得在第四数据表中,该更新对象数据与该任一对象在第一维度的对象数据对应,按照上述方式,将每个对象对应的更新对象数据添加在第四数据表中,从而得到该上层子节点对应的融合数据表。
在上述过程中,相当于在第四数据表中添加了更新维度的更新对象数据,且每个更新对象数据与对应的对象在第一维度的对象数据对应,从而得到该上层子节点对应的融合数据表。
可选地,每个对象对应有多个更新对象数据,则在该第四数据表中增加了多个更新维度的更新对象数据,且每个更新对象数据与对应的对象在第一维度的对象数据对应,从而得到该上层子节点对应的融合数据表。
需要说明的是,本申请实施例是以对象为单位,将对象对应的更新对象数据对应存储与第四数据表中,从而得到上层子节点对应的融合数据表,而在另一实施例中,无需执行步骤5082,能够采取其他方式,将更新对象数据添加在第四数据表中,得到上层子节点对应的融合数据表。
在一种可能实现方式中,特征提取框架还包括维度与算子之间的匹配关系,上层子节点对应的融合数据表中包括多个对象在第一维度的对象数据,以及多个对象在其他维度的对象数据;在步骤5082之后,该方法还包括:根据其他维度和维度与算子之间的匹配关系,确定其他维度匹配的算子,对于任一对象,调用确定的算子,对上层子节点对应的融合数据表中任一对象在其他维度的对象数据进行处理,得到更新对象数据,在上层子节点对应的融合数据表中,将更新对象数据与任一对象在第一维度的对象数据对应存储,得到更新后的融合数据表。
在得到上层子节点对应的融合数据表后,通过对每个对象在其他维度的对象数据进行处理,以使在该融合数据表中生成每个对象对应的新的更新对象数据,使得连接的两个子节点对应的数据表充分融合,丰富了更新后的融合数据表中包含的数据,保证了更新后的融合数据表的准确性。
该步骤中对融合数据表进行更新的过程,与上述步骤5081-5082同理,在此不再赘述。
需要说明的是,从深度最大的子节点开始,每次调用当前子节点对应的算子,将当前子节点对应的第三数据表与所连接的上层子节点对应的第四数据表进行融合,得到上层子节点对应的融合数据表后,按照上述步骤,对上层子节点对应的融合数据表进行更新,之后将上层子节点作为当前子节点,将该当前子节点对应的更新后的融合数据表与下一个上层子节点对应的第一数据表进行融合,重复上述过程,直至得到第一层子节点对应的融合数据表。
509、服务器对第一层子节点对应的融合数据表进行特征提取,得到多个对象的特征信息。
该第一层子节点对应的融合数据表中包含了节点树中多个子节点对应的第一数据表的对象数据,通过对该第一层子节点对应的融合数据表进行特征提取,使得到的每个对象的特征信息中融入了多个第一数据表中的对象数据,提高了特征信息的准确性。
在一种可能实现方式中,特征提取框架还包括维度与算子之间的匹配关系,第一层子节点对应的融合数据表中包括多个对象及每个对象在多个维度的对象数据;该步骤509包括:确定第一层子节点对应的融合数据表包含的多个维度,根据多个维度和维度与算子之间的匹配关系,确定每个维度匹配的算子,调用确定的算子,分别对每个对象在多个维度的对象数据进行处理,得到每个对象的特征信息。
其中,确定每个维度匹配的算子的过程,与上述步骤50812同理,在此不再赘述,通过确定的算子,获取每个对象的特征信息的过程,与上述步骤50812同理,在此不再赘述。
在一种可能实现方式中,第一层子节点对应的融合数据表中包括多个对象及每个对象在多个维度的对象数据;则该步骤509包括:根据多个维度和维度与算子之间的匹配关系,确定该多个维度匹配的算子,对于任一对象,调用确定的算子,对第一层子节点对应的融合数据表中任一对象在多个维度的对象数据进行处理,得到更新对象数据,在第一层子节点对应的融合数据表中,将更新对象数据与任一对象对应存储,得到更新后的融合数据表,对第一层子节点对应的更新后的融合数据表进行特征提取,得到多个对象的特征信息。
该步骤中对融合数据表进行更新的过程,与上述步骤5081-5082同理,在此不再赘述。
在一种可能实现方式中,在步骤509之后,该方法还包括:根据多个对象的特征信息,对网络模型进行训练。在得到多个对象的特征信息后,将多个对象的特征信息作为网络模型的训练样本,对网络模型进行训练,以提高网络模型的准确性。
需要说明的是,本申请实施例是先构建节点树,再基于节点树中的多个子节点,获取多个对象的特征信息,而在另一实施例中,无需执行步骤505-509,能够采取其他方式,调用算子,对至少两个第一数据表进行特征提取,得到多个对象的特征信息。
需要说明的是,本申请实施例仅是以服务器为执行主体进行说明的,而在另一实施例中,还能够以终端为执行主体,执行上述获取多个对象的特征信息的步骤。
需要说明的是,在本申请实施例中,在对数据配置文件进行特征提取的过程中,在对节点树中每个子节点对应的数据表进行处理后,将处理结果存储在缓存队列中,以便后续在需要任一子节点对应的处理结果时,直接从缓存队列中调用即可,无需再重复对子节点对应的数据表进行处理。并且,在本申请实施例中,对子节点的处理结果基于分布式Hive(数据仓库)存储,在对子节点对应的数据表进行处理时,基于Pyspark(一种实时处理框架)、Tesla(一种数据计算框架)、yard(一种数据计算框架)等对数据表进行计算。
另外,本申请实施例提供的特征提取框架,为一种分布式框架,能够应用在分布式系统中,则在对数据配置文件进行特征提取时,基于该特征提取框架的分布式能力,能够提高特征提取效率。并且,在对数据配置文件进行特征提取的过程中,对于任两个数据表,基于该两个数据表中的数据量及该两个数据表中的数据分布情况,为两个数据表分配对应的spark(一种分布式处理)算子,基于分配的spark算子,将两个数据表中的数据分配在分布式系统中的多个服务器节点上,由多个服务器节点并行处理,并在处理完成后,将处理结果返回至作为分配方的服务器节点,由作为分配方的服务器节点将多个服务器节点返回的处理结果进行融合,从而得到两个数据表的融合特征。
本申请实施例提供的方法,提供了一种通用的特征提取框架,在特征提取框架中配置了用于进行特征提取的多种算子以及关联关系类型与算子之间的匹配关系,通过该特征提取框架,自动提取数据配置文件中包含的多个对象的特征信息,无需开发人员再针对网络模型开发的特征提取代码,减少了开发特征提取代码耗费的时间,从而提高了特征提取效率。
本申请实施例提供的特征提取框架,提高了对大规模数据源的特征提取效率。通过特征提取框架中包括的丰富算子集、该特征提取框架对应的易用特征配置语言、及该特征提取框架深度的性能优化,让该特征提取框架能够应用在多场景下,提高了特征提取效率,也有效提升了在多种场景下训练网络模型的效果。
在本申请实施例中,如图8所示,特征提取框架包括算子注册模块、算子应用模块及特征抽取模块,算子注册模块中注册有多种类型的算子,如聚合算子、转化算子、组合算子及自定义算子。其中,自定义算子是由用户自己开发的算子,通过算子注册模块,将开发的算子存储在算子注册模块中。算子应用模块中包含了属于每种类型的多种算子,通过维度与算子之间的匹配关系,能够从算子应用模块中确定维度匹配的算子,例如,维度匹配的算子包括连续列算子、类别列算子、时间列算子、文本列算子等。
在调用特征提取框架对数据配置文件进行特征提取的过程中,由特征提取模块初始化算子注册,从算子应用模块中确定匹配的算子,生成算子对应的计算范式,调用确定的算子对数据配置文件中的数据表进行特征提取。
并且,特征提取框架中包括的多个算子支持采样、全量、分片并行三种模型,采样是指从多个对象数据中选取部分对象数据进行处理,全量是指对全部的多个对象数据进行处理,分片是指将多个对象数据分成多个数据集合,之后将多个数据集合并行处理。
图9是本申请实施例提供的一种调用特征提取框架来获取多个对象的特征信息的流程,如图9所示,该流程包括以下步骤。
901、用户准备数据源,该数据源中包括多个数据表,每个数据表中包括多个对象对应的对象数据,梳理多个数据表之间的关联关系,在用户终端上,利用特征提取框架对应的特征配置语言,对数据源中的多个数据表及多个数据表之间的关联关系进行处理,生成数据配置文件,将数据配置文件发送至服务器。
902、服务器调用特征提取模块,对数据配置文件进行解析处理,生成目标格式的标准化数据,以实现数据标准化输入,基于特征提取框架中的对接计算模块,将标准化数据传入关系构建模块。
903、服务器基于关系构建模块,根据标准化数据中的多个数据表及多个数据表之间的关联关系类型,构建节点树。
904、服务器基于特征提取框架中的特征类型与算子集映射模块,来确定节点树中多个子节点之间的连接关系类型匹配的算子,从特征提取框架的算子模块中调用确定的算子,在节点树中按照深度由大到小的顺序,对节点树中的多个子节点对应的数据表进行处理,得到多个对象的特征信息。
905、服务器在获取到多个对象的特征信息后,调用特征筛选框架,对得到的多个对象的特征信息进行筛选,得到多个对象筛选后的特征信息,之后利用筛选后的特征信息对网络模型进行训练。
并且在对网络模型进行训练的过程中,如图10所示,通过对得到的特征信息进行特征选择及样本生成,得到训练网络模型的训练集样本及验证集样本,后续基于训练集样本及验证集样本对网络模型进行训练,将训练的网络模型应用在相应的场景下。
图11是本申请实施例提供的一种数据倾斜分布算子处理流程,如图11所示,该流程包括以下步骤。
1101、服务器对于任一数据表,对多个对象在该数据表中的第一维度的对象数据进行统计分析,确定每个对象在该第一维度的对象数据对应的数目,确定多个对象在该第一维度的对象数据对应的数目所属的数量级,响应于目标对象数据对应的数目所属的数量级大于其他对象数据对应的数目所属的数量级,将该数据表中多个目标对象数据及对应存储的其他维度的对象数据确定为倾斜数据,将数据表中第一维度的其他对象数据及对应存储的其他维度的对象数据,确定为非倾斜数据。
1102、服务器对于倾斜数据,根据第一维度的目标对象数据,对倾斜数据进行分片处理,得到多个分片数据集合,并对倾斜数据进行采样处理,得到采样数据集合,调用与采样数据集合中多个维度匹配的采样计算算子,对采样数据集合中的多个维度的对象数据进行处理,调用与分片数据集合中多个维度匹配的并行计算算子,对分片数据集合中的多个维度的对象数据进行处理,得到该倾斜数据对应的倾斜特征集合。
其中,在对多个分片数据集合进行处理时,将多个分片数据集合分配在分布式系统中的多个服务器节点上执行,多个服务器节点在得到每个分片数据集合对应的处理结果后,返回至该服务器。
1103、服务器对于非倾斜数据,调用与非倾斜数据中多个维度匹配的全量计算算子,对非倾斜数据中多个维度的对象数据进行处理,得到非倾斜特征集合。
1104、服务器将非倾斜特征集合和倾斜特征集合进行聚合,得到该数据表中多个对象在第一维度的对象数据对应的全量特征集合。
通过上述的数据倾斜分布算子处理流程,解决了数据配置文件中包含的数据倾斜的问题,避免在倾斜数据上卡死,从而提高了数据处理效率。如图12所示,在对不同数量的数据源进行处理的过程中,将本申请提供的数据倾斜分布算子处理方法作为优化方案,大大缩减了对倾斜数据进行处理所需耗费的时间,提高了数据处理效率。
图13是本申请实施例提供的一种特征提取装置的结构示意图,如图13所示,该装置包括:
获取模块1301,用于获取数据配置文件,数据配置文件中包括多个数据表以及多个数据表之间的关联关系类型,多个数据表包括至少两个第一数据表,每个第一数据表中包括多个对象对应的对象数据;
获取模块1301,还用于获取特征提取框架,特征提取框架中包括用于进行特征提取的多个算子以及关联关系类型与算子之间的匹配关系;
执行模块1302,用于基于数据配置文件调用特征提取框架,执行如下步骤:
根据至少两个第一数据表之间的关联关系类型和匹配关系,确定每个关联关系类型匹配的算子;
调用算子,对至少两个第一数据表进行特征提取,得到多个对象的特征信息。
在一种可能实现方式中,多个数据表还包括第二数据表以及第二数据表与至少一个第一数据表之间的关联关系类型;如图14所示,执行模块1302,包括:
构建单元1321,用于构建数据配置文件对应的节点树,节点树包括第二数据表对应的根节点和每个第一数据表对应的子节点,且具有关联关系的任两个数据表对应的节点连接;
确定单元1322,用于将至少两个第一数据表之间的关联关系类型,分别确定为对应的子节点之间的连接关系类型;
确定单元1322,还用于根据节点树中的多个子节点之间的连接关系类型和匹配关系,确定每个连接关系类型匹配的算子。
在另一种可能实现方式中,如图14所示,执行模块1302,包括:
融合单元1323,用于从深度最大的子节点开始,每次调用当前子节点对应的算子,将当前子节点对应的第三数据表与所连接的上层子节点对应的第四数据表进行融合,得到上层子节点对应的融合数据表,直至得到第一层子节点对应的融合数据表,第一层子节点为直接与根节点连接的子节点;
特征提取单元1324,用于对第一层子节点对应的融合数据表进行特征提取,得到多个对象的特征信息。
在另一种可能实现方式中,特征提取框架还包括维度与算子之间的匹配关系,第一层子节点对应的融合数据表中包括多个对象及每个对象在多个维度的对象数据;特征提取单元1324,用于确定第一层子节点对应的融合数据表包含的多个维度;根据多个维度和匹配关系,确定每个维度匹配的算子;调用确定的算子,分别对每个对象在多个维度的对象数据进行处理,得到每个对象的特征信息。
在另一种可能实现方式中,融合单元1323,用于调用当前子节点对应的算子,对第三数据表中的对象数据进行转化,得到更新对象数据;将更新对象数据添加在第四数据表中,得到上层子节点对应的融合数据表。
在另一种可能实现方式中,特征提取框架还包括维度与算子之间的匹配关系,上层子节点对应的融合数据表中包括多个对象在第一维度的对象数据,以及多个对象在其他维度的对象数据;
如图14所示,装置还包括:
确定模块1303,用于根据其他维度和匹配关系,确定其他维度匹配的算子;
处理模块1304,用于对于任一对象,调用确定的算子,对上层子节点对应的融合数据表中任一对象在其他维度的对象数据进行处理,得到更新对象数据;
存储模块1305,用于在上层子节点对应的融合数据表中,将更新对象数据与任一对象在第一维度的对象数据对应存储,得到更新后的融合数据表。
在另一种可能实现方式中,第三数据表和第四数据表中均包括多个对象在第一维度的对象数据,融合单元1323,用于对于任一对象,调用当前子节点对应的算子,对第三数据表中任一对象在其他维度的对象数据进行处理,得到更新对象数据;在第四数据表中,将更新对象数据与任一对象在第一维度的对象数据对应存储,得到上层子节点对应的融合数据表。
在另一种可能实现方式中,融合单元1323,用于根据关联关系类型与算子之间的匹配关系,确定当前子节点与上层子节点之间的连接关系类型匹配的多个算子;从多个算子中,确定与第三数据表中包含的多个维度匹配的目标算子;对于任一对象,调用目标算子,对第三数据表中任一对象在其他维度的对象数据进行处理,得到更新对象数据。
在另一种可能实现方式中,融合单元1323,用于响应于当前子节点与上层子节点之间的连接关系类型为后向关系类型,将第三数据表中,在第一维度上相同的多个对象数据对应的其他维度的对象数据进行聚合,后向关系类型表示第三数据表中第一维度的对象数据与第四数据表中第一维度的对象数据之间为多对一的关系;调用目标算子,对第三数据表中任一对象在其他维度上聚合后的对象数据进行处理,得到更新对象数据。
在另一种可能实现方式中,融合单元1323,用于响应于当前子节点与上层子节点之间的连接关系类型为后向关系类型,确定第三数据表中在第一维度的多个对象数据及每个对象数据对应的数目;响应于多个对象数据中的目标对象数据对应的数目所属的数量级大于其他对象数据对应的数目所属的数量级,对目标对象数据及目标对象数据对应存储的其他维度的对象数据进行分片处理,得到多个分片数据集合,每个分片数据集合中包括至少一个目标对象数据及至少一个目标对象数据对应存储的其他维度的对象数据;将每个分片数据集合中至少一个目标对象数据在其他相同维度的数据进行聚合。
在另一种可能实现方式中,融合单元1323,用于响应于目标对象数据对应的数目所属的数量级大于其他对象数据对应的数目所属的数量级,为每个目标对象数据分配一个随机值;将每个目标对象数据与对应的随机值进行拼接,得到多个参考对象数据;按照多个参考对象数据中相同的参考对象数据,分别将相同的参考对象数据以及对应存储的其他维度的对象数据构成一个分片数据集合。
在另一种可能实现方式中,融合单元1323,用于调用目标算子,并行对聚合后的多个分片数据集合进行处理,得到更新对象数据。
在另一种可能实现方式中,融合单元1323,用于响应于当前子节点与上层子节点之间的连接关系类型为后向关系类型,确定第三数据表中在第一维度的多个对象数据及每个对象数据对应的数目;响应于多个对象数据中的目标对象数据对应的数目所属的数量级大于其他对象数据对应的数目所属的数量级,对目标对象数据及目标对象数据对应存储的其他维度的对象数据进行采样处理,得到采样数据集合,采样数据集合包括参考数目个目标对象数据及参考数目个目标对象数据对应存储的其他维度的对象数据,参考数目所属的数量级与其他对象数据对应的数目所属的数量级相同;将采样数据集合中参考数目个目标对象数据在其他相同维度的数据进行聚合。
在另一种可能实现方式中,如图14所示,装置还包括:
训练模块1306,用于根据多个对象的特征信息,对网络模型进行训练。
在另一种可能实现方式中,执行模块1302,还用于对数据配置文件进行解析,得到数据配置文件中的至少两个第一数据表及至少两个第一数据表之间的关联关系类型。
需要说明的是:上述实施例提供的特征提取装置,仅以上述各功能模块的划分进行举例说明,实际应用中,能够根据需要而将上述功能分配由不同的功能模块完成,即将服务器的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的特征提取装置与特征提取方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本申请实施例还提供了一种计算机设备,该计算机设备包括处理器和存储器,存储器中存储有至少一条计算机程序,该至少一条计算机程序由处理器加载并执行以实现上述实施例的特征提取方法中所执行的操作。
可选地,计算机设备提供为终端。图15是本申请实施例提供的一种终端的结构示意图。该终端1500可以是便携式移动终端,比如:智能手机、平板电脑、MP3播放器(MovingPicture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端1500还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
终端1500包括有:处理器1501和存储器1502。
处理器1501可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1501可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1501也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1501可以集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1501还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1502可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1502还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1502中的非暂态的计算机可读存储介质用于存储至少一个计算机程序,该至少一个计算机程序用于被处理器1501所执行以实现本申请中方法实施例提供的特征提取方法。
在一些实施例中,终端1500还可选包括有:外围设备接口1503和至少一个外围设备。处理器1501、存储器1502和外围设备接口1503之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1503相连。具体地,外围设备包括:射频电路1504、显示屏1505、摄像头组件1506、音频电路1507、定位组件1508和电源1509中的至少一种。
外围设备接口1503可被用于将I/O(Input /Output,输入/输出)相关的至少一个外围设备连接到处理器1501和存储器1502。在一些实施例中,处理器1501、存储器1502和外围设备接口1503被集成在同一芯片或电路板上;在一些其他实施例中,处理器1501、存储器1502和外围设备接口1503中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1504用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1504通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1504将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1504包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1504可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1504还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏1505用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1505是触摸显示屏时,显示屏1505还具有采集在显示屏1505的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1501进行处理。此时,显示屏1505还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1505可以为一个,设置在终端1500的前面板;在另一些实施例中,显示屏1505可以为至少两个,分别设置在终端1500的不同表面或呈折叠设计;在另一些实施例中,显示屏1505可以是柔性显示屏,设置在终端1500的弯曲表面上或折叠面上。甚至,显示屏1505还可以设置成非矩形的不规则图形,也即异形屏。显示屏1505可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-EmittingDiode,有机发光二极管)等材质制备。
摄像头组件1506用于采集图像或视频。可选地,摄像头组件1506包括前置摄像头和后置摄像头。前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1506还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1507可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1501进行处理,或者输入至射频电路1504以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1500的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1501或射频电路1504的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1507还可以包括耳机插孔。
定位组件1508用于定位终端1500的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件1508可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
电源1509用于为终端1500中的各个组件进行供电。电源1509可以是交流电、直流电、一次性电池或可充电电池。当电源1509包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端1500还包括有一个或多个传感器1510。该一个或多个传感器1510包括但不限于:加速度传感器1511、陀螺仪传感器1512、压力传感器1513、指纹传感器1514、光学传感器1515以及接近传感器1516。
加速度传感器1511可以检测以终端1500建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1511可以用于检测重力加速度在三个坐标轴上的分量。处理器1501可以根据加速度传感器1511采集的重力加速度信号,控制显示屏1505以横向视图或纵向视图进行用户界面的显示。加速度传感器1511还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1512可以检测终端1500的机体方向及转动角度,陀螺仪传感器1512可以与加速度传感器1511协同采集用户对终端1500的3D动作。处理器1501根据陀螺仪传感器1512采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1513可以设置在终端1500的侧边框和/或显示屏1505的下层。当压力传感器1513设置在终端1500的侧边框时,可以检测用户对终端1500的握持信号,由处理器1501根据压力传感器1513采集的握持信号进行左右手识别或快捷操作。当压力传感器1513设置在显示屏1505的下层时,由处理器1501根据用户对显示屏1505的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器1514用于采集用户的指纹,由处理器1501根据指纹传感器1514采集到的指纹识别用户的身份,或者,由指纹传感器1514根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1501授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1514可以被设置在终端1500的正面、背面或侧面。当终端1500上设置有物理按键或厂商Logo时,指纹传感器1514可以与物理按键或厂商Logo集成在一起。
光学传感器1515用于采集环境光强度。在一个实施例中,处理器1501可以根据光学传感器1515采集的环境光强度,控制显示屏1505的显示亮度。具体地,当环境光强度较高时,调高显示屏1505的显示亮度;当环境光强度较低时,调低显示屏1505的显示亮度。在另一个实施例中,处理器1501还可以根据光学传感器1515采集的环境光强度,动态调整摄像头组件1506的拍摄参数。
接近传感器1516,也称距离传感器,设置在终端1500的前面板。接近传感器1516用于采集用户与终端1500的正面之间的距离。在一个实施例中,当接近传感器1516检测到用户与终端1500的正面之间的距离逐渐变小时,由处理器1501控制显示屏1505从亮屏状态切换为息屏状态;当接近传感器1516检测到用户与终端1500的正面之间的距离逐渐变大时,由处理器1501控制显示屏1505从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图15中示出的结构并不构成对终端1500的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
可选地,计算机设备提供为服务器。图16是本申请实施例提供的一种服务器的结构示意图,该服务器1600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(Central Processing Units,CPU)1601和一个或一个以上的存储器1602,其中,存储器1602中存储有至少一条计算机程序,至少一条计算机程序由处理器1601加载并执行以实现上述各个方法实施例提供的方法。当然,该服务器还可以具有有线或无线网络接口、键盘及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条计算机程序,该至少一条计算机程序由处理器加载并执行以实现上述实施例的特征提取方法中所执行的操作。
本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机程序代码,该计算机程序代码存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序代码,处理器执行该计算机程序代码,使得该计算机设备实现如上述实施例的特征提取方法中所执行的操作。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请实施例的可选实施例,并不用以限制本申请实施例,凡在本申请实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (15)

1.一种特征提取方法,其特征在于,所述方法包括:
获取数据配置文件,所述数据配置文件中包括多个数据表以及所述多个数据表之间的关联关系类型,所述多个数据表包括至少两个第一数据表,每个第一数据表中包括多个对象对应的对象数据;
获取特征提取框架,所述特征提取框架中包括用于进行特征提取的多个算子以及关联关系类型与算子之间的匹配关系;
基于所述数据配置文件调用所述特征提取框架,执行如下步骤:
根据所述至少两个第一数据表之间的关联关系类型和所述匹配关系,确定每个关联关系类型匹配的算子;
调用所述算子,对所述至少两个第一数据表进行特征提取,得到所述多个对象的特征信息。
2.根据权利要求1所述的方法,其特征在于,所述多个数据表还包括第二数据表以及所述第二数据表与至少一个所述第一数据表之间的关联关系类型;所述根据所述至少两个第一数据表之间的关联关系类型和所述匹配关系,确定每个关联关系类型匹配的算子,包括:
构建所述数据配置文件对应的节点树,所述节点树包括所述第二数据表对应的根节点和所述每个第一数据表对应的子节点,且具有关联关系的任两个数据表对应的节点连接;
将所述至少两个第一数据表之间的关联关系类型,分别确定为对应的子节点之间的连接关系类型;
根据所述节点树中的多个子节点之间的连接关系类型和所述匹配关系,确定每个连接关系类型匹配的算子。
3.根据权利要求2所述的方法,其特征在于,所述调用所述算子,对所述至少两个第一数据表进行特征提取,得到所述多个对象的特征信息,包括:
从深度最大的子节点开始,每次调用当前子节点对应的算子,将当前子节点对应的第三数据表与所连接的上层子节点对应的第四数据表进行融合,得到所述上层子节点对应的融合数据表,直至得到第一层子节点对应的融合数据表,所述第一层子节点为直接与所述根节点连接的子节点;
对所述第一层子节点对应的融合数据表进行特征提取,得到所述多个对象的特征信息。
4.根据权利要求3所述的方法,其特征在于,所述特征提取框架还包括维度与算子之间的匹配关系,所述第一层子节点对应的融合数据表中包括所述多个对象及每个对象在多个维度的对象数据;所述对所述第一层子节点对应的融合数据表进行特征提取,得到所述多个对象的特征信息,包括:
确定所述第一层子节点对应的融合数据表包含的多个维度;
根据所述多个维度和所述匹配关系,确定每个维度匹配的算子;
调用确定的算子,分别对所述每个对象在所述多个维度的对象数据进行处理,得到所述每个对象的特征信息。
5.根据权利要求3所述的方法,其特征在于,所述每次调用当前子节点对应的算子,将当前子节点对应的第三数据表与所连接的上层子节点对应的第四数据表进行融合,得到所述上层子节点对应的融合数据表,包括:
调用所述当前子节点对应的算子,对所述第三数据表中的对象数据进行转化,得到更新对象数据;
将所述更新对象数据添加在所述第四数据表中,得到所述上层子节点对应的融合数据表。
6.根据权利要求5所述的方法,其特征在于,所述特征提取框架还包括维度与算子之间的匹配关系,所述上层子节点对应的融合数据表中包括所述多个对象在所述第一维度的对象数据,以及所述多个对象在其他维度的对象数据;
所述将所述更新对象数据添加在所述第四数据表中,得到所述上层子节点对应的融合数据表之后,所述方法还包括:
根据所述其他维度和所述匹配关系,确定所述其他维度匹配的算子;
对于任一对象,调用确定的算子,对所述上层子节点对应的融合数据表中所述任一对象在所述其他维度的对象数据进行处理,得到更新对象数据;
在所述上层子节点对应的融合数据表中,将所述更新对象数据与所述任一对象在所述第一维度的对象数据对应存储,得到更新后的融合数据表。
7.根据权利要求5所述的方法,其特征在于,所述第三数据表和所述第四数据表中均包括所述多个对象在第一维度的对象数据,所述调用所述当前子节点对应的算子,对所述第三数据表中的对象数据进行转化,得到更新对象数据,包括:
对于任一对象,调用所述当前子节点对应的算子,对所述第三数据表中所述任一对象在其他维度的对象数据进行处理,得到更新对象数据;
所述将所述更新对象数据添加在所述第四数据表中,得到所述上层子节点对应的融合数据表,包括:
在所述第四数据表中,将所述更新对象数据与所述任一对象在所述第一维度的对象数据对应存储,得到所述上层子节点对应的融合数据表。
8.根据权利要求7所述的方法,其特征在于,所述对于任一对象,调用所述当前子节点对应的算子,对所述第三数据表中所述任一对象在其他维度的对象数据进行处理,得到更新对象数据,包括:
根据所述关联关系类型与算子之间的匹配关系,确定所述当前子节点与所述上层子节点之间的连接关系类型匹配的多个算子;
从所述多个算子中,确定与所述第三数据表中包含的多个维度匹配的目标算子;
对于任一对象,调用所述目标算子,对所述第三数据表中所述任一对象在所述其他维度的对象数据进行处理,得到所述更新对象数据。
9.根据权利要求8所述的方法,其特征在于,所述对于任一对象,调用所述目标算子,对所述第三数据表中所述任一对象在所述其他维度的对象数据进行处理,得到所述更新对象数据,包括:
响应于所述当前子节点与所述上层子节点之间的连接关系类型为后向关系类型,将所述第三数据表中,在所述第一维度上相同的多个对象数据对应的其他维度的对象数据进行聚合,所述后向关系类型表示所述第三数据表中所述第一维度的对象数据,与所述第四数据表中所述第一维度的对象数据之间为多对一的关系;
调用所述目标算子,对所述第三数据表中所述任一对象在所述其他维度上聚合后的对象数据进行处理,得到所述更新对象数据。
10.根据权利要求9所述的方法,其特征在于,所述响应于所述当前子节点与所述上层子节点之间的连接关系类型为后向关系类型,将所述第三数据表中,在所述第一维度上相同的多个对象数据对应的其他维度的对象数据进行聚合,包括:
响应于所述当前子节点与所述上层子节点之间的连接关系类型为所述后向关系类型,确定所述第三数据表中在所述第一维度的多个对象数据及每个对象数据对应的数目;
响应于所述多个对象数据中的目标对象数据对应的数目所属的数量级大于其他对象数据对应的数目所属的数量级,对所述目标对象数据及所述目标对象数据对应存储的其他维度的对象数据进行分片处理,得到多个分片数据集合,每个分片数据集合中包括至少一个目标对象数据及所述至少一个目标对象数据对应存储的其他维度的对象数据;
将所述每个分片数据集合中所述至少一个目标对象数据在其他相同维度的数据进行聚合。
11.根据权利要求9所述的方法,其特征在于,所述响应于所述当前子节点与所述上层子节点之间的连接关系类型为后向关系类型,将所述第三数据表中,在所述第一维度上相同的多个对象数据对应的其他维度的对象数据进行聚合,包括:
响应于所述当前子节点与所述上层子节点之间的连接关系类型为所述后向关系类型,确定所述第三数据表中在所述第一维度的多个对象数据及每个对象数据对应的数目;
响应于所述多个对象数据中的目标对象数据对应的数目所属的数量级大于其他对象数据对应的数目所属的数量级,对所述目标对象数据及所述目标对象数据对应存储的其他维度的对象数据进行采样处理,得到采样数据集合,所述采样数据集合包括参考数目个所述目标对象数据及所述参考数目个目标对象数据对应存储的其他维度的对象数据,所述参考数目所属的数量级与所述其他对象数据对应的数目所属的数量级相同;
将所述采样数据集合中所述参考数目个目标对象数据在其他相同维度的数据进行聚合。
12.根据权利要求1-11任一所述的方法,其特征在于,所述基于所述数据配置文件调用所述特征提取框架时,还执行如下步骤:
对所述数据配置文件进行解析,得到所述数据配置文件中的所述至少两个第一数据表及所述至少两个第一数据表之间的关联关系类型。
13.一种特征提取装置,其特征在于,所述装置包括:
获取模块,用于获取数据配置文件,所述数据配置文件中包括多个数据表以及所述多个数据表之间的关联关系类型,所述多个数据表包括至少两个第一数据表,每个第一数据表中包括多个对象对应的对象数据;
所述获取模块,还用于获取特征提取框架,所述特征提取框架中包括用于进行特征提取的多个算子以及关联关系类型与算子之间的匹配关系;
执行模块,用于基于所述数据配置文件调用所述特征提取框架,执行如下步骤:
根据所述至少两个第一数据表之间的关联关系类型和所述匹配关系,确定每个关联关系类型匹配的算子;
调用所述算子,对所述至少两个第一数据表进行特征提取,得到所述多个对象的特征信息。
14.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条计算机程序,所述至少一条计算机程序由所述处理器加载并执行以实现如权利要求1至13任一权利要求所述的特征提取方法中所执行的操作。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条计算机程序,所述至少一条计算机程序由处理器加载并执行以实现如权利要求1至13任一权利要求所述的特征提取方法中所执行的操作。
CN202110187328.9A 2021-02-18 2021-02-18 特征提取方法、装置、计算机设备及存储介质 Active CN112561084B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110187328.9A CN112561084B (zh) 2021-02-18 2021-02-18 特征提取方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110187328.9A CN112561084B (zh) 2021-02-18 2021-02-18 特征提取方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN112561084A true CN112561084A (zh) 2021-03-26
CN112561084B CN112561084B (zh) 2021-05-18

Family

ID=75035941

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110187328.9A Active CN112561084B (zh) 2021-02-18 2021-02-18 特征提取方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN112561084B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113342346A (zh) * 2021-05-18 2021-09-03 北京百度网讯科技有限公司 深度学习框架的算子注册方法、装置、设备和存储介质
CN114896468A (zh) * 2022-04-24 2022-08-12 北京月新时代科技股份有限公司 基于神经网络的文件类型匹配方法和数据智能录入方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080250026A1 (en) * 2001-10-24 2008-10-09 Linden Gregory D Recommendations based on cross-site browsing activities of users
US20130061184A1 (en) * 2011-09-02 2013-03-07 International Business Machines Corporation Automated lithographic hot spot detection employing unsupervised topological image categorization
CN105786808A (zh) * 2014-12-15 2016-07-20 阿里巴巴集团控股有限公司 一种用于分布式执行关系型计算指令的方法与设备
CN111460047A (zh) * 2020-03-09 2020-07-28 平安科技(深圳)有限公司 基于实体关系的特征构建方法、装置、设备及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080250026A1 (en) * 2001-10-24 2008-10-09 Linden Gregory D Recommendations based on cross-site browsing activities of users
US20130061184A1 (en) * 2011-09-02 2013-03-07 International Business Machines Corporation Automated lithographic hot spot detection employing unsupervised topological image categorization
CN105786808A (zh) * 2014-12-15 2016-07-20 阿里巴巴集团控股有限公司 一种用于分布式执行关系型计算指令的方法与设备
CN111460047A (zh) * 2020-03-09 2020-07-28 平安科技(深圳)有限公司 基于实体关系的特征构建方法、装置、设备及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
AARON R ET AL: "Automatic visual inspection system for stamped sheet metals (AVIS3M)", 《2012 IEEE INTERNATIONAL CONFERENCE ON COMPUTER SCIENCE AND AUTOMATION ENGINEERING (CSAE)》 *
唐孝宇: "关系型数据库异构数据同步系统研究与实现", 《电子技术与软件工程》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113342346A (zh) * 2021-05-18 2021-09-03 北京百度网讯科技有限公司 深度学习框架的算子注册方法、装置、设备和存储介质
US11625248B2 (en) 2021-05-18 2023-04-11 Beijing Baidu Netcom Science Technology Co., Ltd. Operator registration method and apparatus for deep learning framework, device and storage medium
CN114896468A (zh) * 2022-04-24 2022-08-12 北京月新时代科技股份有限公司 基于神经网络的文件类型匹配方法和数据智能录入方法
CN114896468B (zh) * 2022-04-24 2024-02-02 北京月新时代科技股份有限公司 基于神经网络的文件类型匹配方法和数据智能录入方法

Also Published As

Publication number Publication date
CN112561084B (zh) 2021-05-18

Similar Documents

Publication Publication Date Title
CN111652678B (zh) 物品信息显示方法、装置、终端、服务器及可读存储介质
CN110585726B (zh) 用户召回方法、装置、服务器及计算机可读存储介质
CN111489378B (zh) 视频帧特征提取方法、装置、计算机设备及存储介质
CN112069414A (zh) 推荐模型训练方法、装置、计算机设备及存储介质
CN111104980B (zh) 确定分类结果的方法、装置、设备及存储介质
CN112966124B (zh) 知识图谱对齐模型的训练方法、对齐方法、装置及设备
CN109784351B (zh) 行为数据分类方法、分类模型训练方法及装置
CN111897996A (zh) 话题标签推荐方法、装置、设备及存储介质
CN111930964B (zh) 内容处理方法、装置、设备及存储介质
CN112989767B (zh) 医学词语标注方法、医学词语映射方法、装置及设备
CN112561084B (zh) 特征提取方法、装置、计算机设备及存储介质
CN111914180B (zh) 基于图结构的用户特征确定方法、装置、设备及介质
CN111984803B (zh) 多媒体资源处理方法、装置、计算机设备及存储介质
CN113822263A (zh) 图像标注方法、装置、计算机设备及存储介质
CN112036492A (zh) 样本集处理方法、装置、设备及存储介质
CN111753498A (zh) 文本处理方法、装置、设备及存储介质
CN113987326B (zh) 资源推荐方法、装置、计算机设备及介质
CN114281936A (zh) 分类方法、装置、计算机设备及存储介质
CN112037305B (zh) 对图像中的树状组织进行重建的方法、设备及存储介质
CN111931075B (zh) 一种内容推荐方法、装置、计算机设备及存储介质
CN113570510A (zh) 图像处理方法、装置、设备及存储介质
CN112053360A (zh) 图像分割方法、装置、计算机设备及存储介质
CN114328815A (zh) 文本映射模型的处理方法、装置、计算机设备及存储介质
CN113762585A (zh) 数据的处理方法、账号类型的识别方法及装置
CN113763932A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40041343

Country of ref document: HK