CN111291036A - 数据标签的确定方法、装置及计算机可读存储介质 - Google Patents
数据标签的确定方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN111291036A CN111291036A CN201811394214.6A CN201811394214A CN111291036A CN 111291036 A CN111291036 A CN 111291036A CN 201811394214 A CN201811394214 A CN 201811394214A CN 111291036 A CN111291036 A CN 111291036A
- Authority
- CN
- China
- Prior art keywords
- sample data
- node
- distance
- data
- determining
- 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
Links
Images
Abstract
本发明是关于一种数据标签的确定方法、装置及计算机可读存储介质,涉及大数据处理领域。该方法包括:根据对多个抽样数据构建第一球树。由于可以根据第一球树对样本数据集中的样本数据进行分区,得到多个数据分区,因此可以根据多个数据分区中包括的样本数据,并行地构建每个数据分区对应的第二球树,也即并行地得到了多个第二球树。进而可以根据该多个第二球树确定待确定标签的目标数据的标签。如此,通过由第一球树和多个样本数据得到的多个数据分区,可以并行地构建多个第二球树,进而可以同时通过该多个第二球树确定目标数据的标签,提高了确定目标数据标签的效率。
Description
技术领域
本发明涉及大数据处理领域,特别涉及一种数据标签的确定方法、装置及计算机可读存储介质。
背景技术
数据的标签用于对数据进行表征,比如,数据的标签可以用来表征数据所属的类别。目前,通常是通过单机系统来对大量的数据进行处理,进而确定大量数据的标签,该单机系统是指同一时间只能处理一个数据的系统。然而,随着近几年计算机技术和信息技术的迅猛发展,各个行业所产生的数据呈爆炸性地增长,动辄达到数百TB(Terabyte,太字节)甚至数十至数百PB(Petabyte,拍字节)规模的大数据已远远超出了传统的单机系统的处理能力,导致确定数据标签的效率较低。
发明内容
本发明提供一种数据标签的确定方法、装置及计算机可读存储介质,可以解决通过单机系统来对大量的数据进行处理时,确定数据标签的效率较低的问题。
第一方面,提供一种数据标签的确定方法,包括:
对样本数据集中包括的样本数据进行抽样,得到多个抽样数据,所述样本数据集中包括的样本数据已标注标签;
根据所述多个抽样数据构建第一球树;
根据所述第一球树对所述样本数据集中包括的样本数据进行分区,得到多个数据分区,每个数据分区中包括多个样本数据;
根据所述多个数据分区中包括的样本数据,并行地构建每个数据分区对应的第二球树;
根据构建得到的多个第二球树确定目标数据的标签,所述目标数据是指待确定标签的数据。
在一个可能的实现方式中,所述根据所述第一球树对所述样本数据集中包括的样本数据进行分区,得到多个数据分区,包括:
从所述第一球树包括的至少一个叶子节点中,确定所述样本数据集中包括的每个样本数据所属的叶子节点;
将属于同一个叶子节点的样本数据划分为一个数据分区,以得到所述多个数据分区。
在一个可能的实现方式中,所述从所述第一球树包括的至少一个叶子节点中,确定所述样本数据集中包括的每个样本数据所属的叶子节点,包括:
将所述第一球树广播至N个搜索进程,并将N份样本数据分配给所述N个搜索进程,所述N份样本数据是对所述样本数据集中包括的样本数据划分得到,所述N为大于2的正整数;
通过所述N个搜索进程,并行地从所述第一球树包括的至少一个叶子节点中,确定所述N份样本数据中每个样本数据所属的叶子节点。
在一个可能的实现方式中,所述从所述第一球树包括的至少一个叶子节点中,确定所述样本数据集中包括的每个样本数据所属的叶子节点,包括:
对于所述样本数据集中包括的任一样本数据A,令i=1,将第一距离与第二距离进行比较,所述第一距离是指第一节点中位于中心位置处的样本数据与所述样本数据A之间的距离,所述第二距离是指第二节点中位于中心位置处的样本数据与所述样本数据A之间的距离,所述第一节点和所述第二节点是指以深度为i-1的节点为根节点的子树中的两个深度为1的节点,所述i大于或等于1且小于所述第一球树的总深度;
当所述第一距离小于所述第二距离,且所述第一节点不是叶子节点时,令i=i+1,进入以所述第一节点为根节点的子树中,返回将第一距离与第二距离进行比较的步骤,直至所述第一节点是叶子节点时,将最终确定的第一节点确定为所述样本数据A所属的叶子节点;
当所述第一距离大于所述第二距离,且所述第二节点不是叶子节点时,令i=i+1,进入以所述第二节点为根节点的子树中,返回将第一距离与第二距离进行比较的步骤,直至所述第二节点是叶子节点时,将最终确定的第二节点确定为所述样本数据A所属的叶子节点。
在一个可能的实现方式中,所述根据构建得到的多个第二球树确定目标数据的标签,包括:
根据所述目标数据,从构建得到的每个第二球树中,确定出一组候选样本数据,每组候选样本数据中包括K个候选样本数据,所述K大于或等于1;
从确定出的多组候选样本数据中,选择K个样本数据;
根据选择出的K样本数据确定所述目标数据的标签。
在一个可能的实现方式中,所述根据所述目标数据,从构建得到的每个第二球树中,确定出一组候选样本数据,包括:
对于构建得到的任一第二球树A,令j=1,将第三距离与第四距离进行比较,所述第三距离是指第三节点中位于中心位置处的样本数据与所述目标数据之间的距离,所述第四距离是指第四节点中位于中心位置处的样本数据与所述目标数据之间的距离,所述第三节点和所述第四节点是指所述第二球树A中以深度为j-1的节点为根节点的子树中的两个深度为1的节点;
当所述第三距离小于所述第四距离,且所述第三节点不是叶子节点时,令j=j+1,进入以所述第三节点为根节点的子树中,返回将第三距离与第四距离进行比较的步骤,直至所述第三节点是叶子节点时,从最终确定的第三节点包括的样本数据中确定出M个候选样本数据,所述M小于或等于所述K;
当所述M小于所述K,或者,最终确定的第四距离与第五距离之间的差值小于第一半径时,判断最终确定的第四节点是否为叶子节点,所述第五距离是指所述M个候选样本数据与所述目标数据之间的最大距离,所述第一半径是指最终确定的第四节点中的样本数据所围成的圆形区域的半径;
若最终确定的第四节点是叶子节点,则从最终确定的第四节点中确定出L个候选样本数据,并根据所述M个候选样本数据和所述L个候选样本数据确定一组候选样本数据,所述L小于或等于所述K;
若最终确定的第四节点不是叶子节点,则按照确定所述M个候选样本数据和所述L个候选样本数据的方式,从以最终确定的第四节点为根节点的子树中,确定出一组候选样本数据。
第二方面,提供一种数据标签的确定装置,所述装置包括:
抽样模块,用于对样本数据集中包括的样本数据进行抽样,得到多个抽样数据,所述样本数据集中包括的样本数据已标注标签;
第一构建模块,用于根据所述多个抽样数据构建第一球树;
分区模块,用于根据所述第一球树对所述样本数据集中包括的样本数据进行分区,得到多个数据分区,每个数据分区中包括多个样本数据;
第二构建模块,用于根据所述多个数据分区中包括的样本数据,并行地构建每个数据分区对应的第二球树;
确定模块,用于根据构建得到的多个第二球树确定目标数据的标签,所述目标数据是指待确定标签的数据。
在一个可能的实现方式中,所述分区模块包括:
第一确定子模块,用于从所述第一球树包括的至少一个叶子节点中,确定所述样本数据集中包括的每个样本数据所属的叶子节点;
划分子模块,用于将属于同一个叶子节点的样本数据划分为一个数据分区,以得到所述多个数据分区。
在一个可能的实现方式中,所述确定子模块包括:
广播单元,用于将所述第一球树广播至N个搜索进程,并将N份样本数据分配给所述N个搜索进程,所述N份样本数据是对所述样本数据集中包括的样本数据划分得到,所述N为大于2的正整数;
第一确定单元,用于通过所述N个搜索进程,并行地从所述第一球树包括的至少一个叶子节点中,确定所述N份样本数据中每个样本数据所属的叶子节点。
在一个可能的实现方式中,所述确定子模块包括:
第一比较单元,用于对于所述样本数据集中包括的任一样本数据A,令i=1,将第一距离与第二距离进行比较,所述第一距离是指第一节点中位于中心位置处的样本数据与所述样本数据A之间的距离,所述第二距离是指第二节点中位于中心位置处的样本数据与所述样本数据A之间的距离,所述第一节点和所述第二节点是指以深度为i-1的节点为根节点的子树中的两个深度为1的节点,所述i大于或等于1且小于所述第一球树的总深度;
第二确定单元,用于当所述第一距离小于所述第二距离,且所述第一节点不是叶子节点时,令i=i+1,进入以所述第一节点为根节点的子树中,返回将第一距离与第二距离进行比较的步骤,直至所述第一节点是叶子节点时,将最终确定的第一节点确定为所述样本数据A所属的叶子节点;
第三确定单元,用于当所述第一距离大于所述第二距离,且所述第二节点不是叶子节点时,令i=i+1,进入以所述第二节点为根节点的子树中,返回将第一距离与第二距离进行比较的步骤,直至所述第二节点是叶子节点时,将最终确定的第二节点确定为所述样本数据A所属的叶子节点。
在一个可能的实现方式中,所述确定模块包括:
第二确定子模块,用于根据所述目标数据,从构建得到的每个第二球树中,确定出一组候选样本数据,每组候选样本数据中包括K个候选样本数据,所述K大于或等于1;
选择子模块,用于从确定出的多组候选样本数据中,选择K个样本数据;
第三确定子模块,用于根据选择出的K样本数据确定所述目标数据的标签。
在一个可能的实现方式中,所述第二确定子模块包括:
第二比较单元,用于对于构建得到的任一第二球树A,令j=1,将第三距离与第四距离进行比较,所述第三距离是指第三节点中位于中心位置处的样本数据与所述目标数据之间的距离,所述第四距离是指第四节点中位于中心位置处的样本数据与所述目标数据之间的距离,所述第三节点和所述第四节点是指所述第二球树A中以深度为j-1的节点为根节点的子树中的两个深度为1的节点;
第四确定单元,用于当所述第三距离小于所述第四距离,且所述第三节点不是叶子节点时,令j=j+1,进入以所述第三节点为根节点的子树中,返回将第三距离与第四距离进行比较的步骤,直至所述第三节点是叶子节点时,从最终确定的第三节点包括的样本数据中确定出M个候选样本数据,所述M小于或等于所述K;
判断单元,用于当所述M小于所述K,或者,最终确定的第四距离与第五距离之间的差值小于第一半径时,判断最终确定的第四节点是否为叶子节点,所述第五距离是指所述M个候选样本数据与所述目标数据之间的最大距离,所述第一半径是指最终确定的第四节点中的样本数据所围成的圆形区域的半径;
第五确定单元,用于若最终确定的第四节点是叶子节点,则从最终确定的第四节点中确定出L个候选样本数据,并根据所述M个候选样本数据和所述L个候选样本数据确定一组候选样本数据,所述L小于或等于所述K;
第六确定单元,用于若最终确定的第四节点不是叶子节点,则按照确定所述M个候选样本数据和所述L个候选样本数据的方式,从以最终确定的第四节点为根节点的子树中,确定出一组候选样本数据。
第三方面,提供一种数据标签的装置,所述装置包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行上述第一方面所述的任一项方法的步骤。
第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,所述指令被处理器执行时实现上述第一方面所述的任一项方法的步骤。
第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面任一项所述方法的步骤。
本发明的实施例提供的技术方案至少可以包括以下有益效果:
在本发明实施例中,根据多个抽样数据构建第一球树。由于可以根据第一球树对样本数据集中的样本数据进行分区,得到多个数据分区,因此可以根据多个数据分区中包括的样本数据,并行地构建每个数据分区对应的第二球树,也即并行地得到了多个第二球树。进而可以根据该多个第二球树确定待确定标签的目标数据的标签。如此,通过由第一球树和多个样本数据得到的多个数据分区,可以并行地构建多个第二球树,进而可以同时通过该多个第二球树确定目标数据的标签,提高了确定目标数据标签的效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种数据标签的确定方法的流程图。
图2是本发明实施例提供的一种数据标签的确定方法的流程图。
图3是本发明实施例提供的一种第一球树的示意图。
图4是本发明实施例提供的一种圆形区域的示意图。
图5是本发明实施例提供的一种数据标签的确定装置的框图。
图6是本发明实施例提供的一种终端的结构框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与本发明的一些方面相一致的装置和方法的例子。
在对本发明实施例进行详细的解释说明之前,先对本发明实施例的应用场景进行介绍:
数据的标签是用于表征数据的重要属性,例如,在信息推广领域,为了有针对性地向用户推广信息,需要确定每个用户的性别,该性别即是该用户对应的数据的标签。而随着大数据时代的来临,目前的单机系统已经无法有效地确定出大量数据的标签,因此,本发明实施例提出了一种数据标签的确定方法。
本发明实施例提供了一种数据标签的确定方法的流程图,参见图1,该方法应用于终端中,包括以下步骤。
步骤101:对样本数据集中包括的样本数据进行抽样,得到多个抽样数据,该样本数据集中包括的样本数据已标注标签。
步骤102:根据该多个抽样数据构建第一球树。
步骤103:根据第一球树对该样本数据集中包括的样本数据进行分区,得到多个数据分区,每个数据分区中包括多个样本数据。
步骤104:根据该多个数据分区中包括的样本数据,并行地构建每个数据分区对应的第二球树。
步骤105:根据构建得到的多个第二球树确定目标数据的标签,目标数据是指待确定标签的数据。
在一个可能的实现方式中,根据第一球树对该样本数据集中包括的样本数据进行分区,得到多个数据分区,包括:
从第一球树包括的至少一个叶子节点中,确定该样本数据集中包括的每个样本数据所属的叶子节点;
将属于同一个叶子节点的样本数据划分为一个数据分区,以得到该多个数据分区。
在一个可能的实现方式中,从第一球树包括的至少一个叶子节点中,确定该样本数据集中包括的每个样本数据所属的叶子节点,包括:
将第一球树广播至N个搜索进程,并将N份样本数据分配给该N个搜索进程,该N份样本数据是对该样本数据集中包括的样本数据划分得到,该N为大于2的正整数;
通过该N个搜索进程,并行地从第一球树包括的至少一个叶子节点中,确定该N份样本数据中每个样本数据所属的叶子节点。
在一个可能的实现方式中,从第一球树包括的至少一个叶子节点中,确定该样本数据集中包括的每个样本数据所属的叶子节点,包括:
对于该样本数据集中包括的任一样本数据A,令i=1,将第一距离与第二距离进行比较,第一距离是指第一节点中位于中心位置处的样本数据与该样本数据A之间的距离,第二距离是指第二节点中位于中心位置处的样本数据与该样本数据A之间的距离,第一节点和第二节点是指以深度为i-1的节点为根节点的子树中的两个深度为1的节点,该i大于或等于1且小于第一球树的总深度;
当第一距离小于第二距离,且第一节点不是叶子节点时,令i=i+1,进入以第一节点为根节点的子树中,返回将第一距离与第二距离进行比较的步骤,直至第一节点是叶子节点时,将最终确定的第一节点确定为该样本数据A所属的叶子节点;
当第一距离大于第二距离,且第二节点不是叶子节点时,令i=i+1,进入以第二节点为根节点的子树中,返回将第一距离与第二距离进行比较的步骤,直至第二节点是叶子节点时,将最终确定的第二节点确定为该样本数据A所属的叶子节点。
在一个可能的实现方式中,根据构建得到的多个第二球树确定目标数据的标签,包括:
根据目标数据,从构建得到的每个第二球树中,确定出一组候选样本数据,每组候选样本数据中包括K个候选样本数据,该K大于或等于1;
从确定出的多组候选样本数据中,选择K个样本数据;
根据选择出的K样本数据确定目标数据的标签。
在一个可能的实现方式中,根据目标数据,从构建得到的每个第二球树中,确定出一组候选样本数据,包括:
对于构建得到的任一第二球树A,令j=1,将第三距离与第四距离进行比较,第三距离是指第三节点中位于中心位置处的样本数据与目标数据之间的距离,第四距离是指第四节点中位于中心位置处的样本数据与目标数据之间的距离,第三节点和第四节点是指第二球树A中以深度为j-1的节点为根节点的子树中的两个深度为1的节点;
当第三距离小于第四距离,且第三节点不是叶子节点时,令j=j+1,进入以第三节点为根节点的子树中,返回将第三距离与第四距离进行比较的步骤,直至第三节点是叶子节点时,从最终确定的第三节点包括的样本数据中确定出M个候选样本数据,该M小于或等于该K;
当该M小于该K,或者,最终确定的第四距离与第五距离之间的差值小于第一半径时,判断最终确定的第四节点是否为叶子节点,该第五距离是指该M个候选样本数据与目标数据之间的最大距离,第一半径是指最终确定的第四节点中的样本数据所围成的圆形区域的半径;
若最终确定的第四节点是叶子节点,则从最终确定的第四节点中确定出L个候选样本数据,并根据该M个候选样本数据和该L个候选样本数据确定一组候选样本数据,该L小于或等于该K;
若最终确定的第四节点不是叶子节点,则按照确定该M个候选样本数据和该L个候选样本数据的方式,从以最终确定的第四节点为根节点的子树中,确定出一组候选样本数据。
在本发明实施例中,根据多个抽样数据构建第一球树。由于可以根据第一球树对样本数据集中的样本数据进行分区,得到多个数据分区,因此可以根据多个数据分区中包括的样本数据,并行地构建每个数据分区对应的第二球树,也即并行地得到了多个第二球树。进而可以根据该多个第二球树确定待确定标签的目标数据的标签。如此,通过由第一球树和多个样本数据得到的多个数据分区,可以并行地构建多个第二球树,进而可以同时通过该多个第二球树确定目标数据的标签,提高了确定目标数据标签的效率。
上述所有可选技术方案,均可按照任意结合形成本发明的可选实施例,本发明实施例对此不再一一赘述。
本发明实施例提供了一种数据标签的确定方法的流程图。本实施例将对图1所示的实施例进行展开说明,参见图2,该方法应用于终端中,该方法包括:
步骤201:终端对样本数据集中包括的样本数据进行抽样,得到多个抽样数据,该样本数据集中包括的样本数据已标注标签。
其中,终端可以预先设置抽样比例,进而按照抽样比例从样本数据集中抽样。例如,该样本数据集包括100万个样本数据,抽样比例可以为0.1%,即得到1000的抽样数据。
终端可以采用随机抽样的方式,无放回地对样本数据集中包括的样本数据进行抽取。当然,样本数据集中的样本数据可能存在分布不均匀的情况,即样本数据集中存在数据密集区,该数据密集区中大部分数据标注的标签相同,这样,仅通过随机抽样的方式进行抽样可能会存在误差。因此,终端可以采用随机抽样和有规律抽样结合的方式进行抽样,例如,终端可以先确定出样本数据集中的数据密集区,然后有规律地确定出数据密集区和非数据密集区各自的抽样比例,进而通过该各自的抽样比例在数据密集区和非数据密集区中分别采用随机抽样的方式进行抽样。当然,还可以采用其他的抽样方式进行抽样,本发明实施例对此不做限定。
步骤202:终端根据该多个抽样数据构建第一球树。
需要说明的是,球树包括至少一个子树,每个子树中包括至少一个节点,每个节点为用于存储数据的区域。
终端在构建第一球树时,可以根据深度一层一层的构建,即先根据第一球树中深度为0的节点中的抽样数据,深度为0的节点即根节点。然后,构建出根节点的两个子节点,根节点的两个子节点即为第一球树中深度为1的两个节点。然后,对于该两个节点中的任一节点,根据该节点中的抽样数据对该节点继续子节点。这样一直递归下去,直到构建的子节点中抽样数据的数量小于叶子空间值时,第一球树则构建完毕。其中,可以预先设置叶子空间值,该叶子空间值为叶子节点中能够存储抽样数据的最大容量,该叶子节点为不能继续构建子节点的节点。
需要说明的是,本发明实施例以构建根节点的子节点为例,对第一球树的构建过程进行说明。其中,该根节点中的抽样数据即为步骤201中抽样得到的多个抽样数据:
终端随机从该多个抽样数据中选择一个第一数据,并获取距离第一数据最远的第二数据。当第一数据与第二数据的属性不完全相同时,获取距离第二数据最远的第三数据。然后获取该多个抽样数据中除第二数据和第三数据之外的至少一个第四数据,对于任一第四数据,分别计算第四数据与第二数据之间的距离,以及第四数据与第三数据之间的距离。当第四数据与第二数据之间的距离小于第四数据与第三数据之间的距离时,将第四数据和第二数据划分至同一节点;当第四数据与第二数据之间的距离大于第四数据与第三数据之间的距离时,将第四数据和第三数据划分至同一节点。对于其他的第四数据,也按照上述方法来划分,这样,就会将该多个抽样数据划分至两个节点,这两个节点即为根节点的子节点。
如图3所示,图3为本发明实施例提供的一种第一球树的示意图。在图3中,黑点和白点代表不同标签的抽样数据。a为随机选择的第一数据,距离a最远的第二数据是b。由于a与b的属性不完全相同,所以获取距离b最远的第三数据c。图3中将除b和c之外的数据统一称为第四数据,d为任一第四数据,计算d与b之间的距离,以及d与c之间的距离。由于d与c之间的距离小于d与b之间的距离,所以将d与c划分至同一节点。其中,圆1和圆2为将多个抽样数据划分完成后得到的两个节点,即根节点的两个子节点。
其中,当第一数据与第二数据的所有属性完全相同时,则不对该多个抽样数据进行划分,即将该多个抽样数据对应的根节点作为叶子节点。
需要说明的是,在大量的数据中,随机选择一个数据,并获取距离该数据最远的一个数据,这两个数据的所有属性完全相同的概率非常小,因此,将该多个抽样数据对应的根节点作为叶子节点的概率也非常小。例如,在一个省的人口数据中,每个人具有年龄、身高、体重、学历、职业以及户口等多维属性,两个人口数据之间的多维属性完全相同的概率是非常小的。
步骤203:终端根据第一球树对样本数据集中包括的样本数据进行分区,得到多个数据分区,每个数据分区中包括多个样本数据。
由于是通过样本数据集中的抽样数据构建的第一球树,第一球树也适用于该样本数据集中的其他数据,因此,终端可以根据第一球树对样本数据集中的样本数据进行分区,进而得到多个数据分区。
在一种可能的实现方式中,终端可以从第一球树包括的至少一个叶子节点中确定样本数据集中包括的每个样本数据所属的叶子节点,进而将属于同一个叶子节点的样本数据划分为一个数据分区,以得到多个数据分区。
需要说明的是,对于每个样本数据,终端确定该样本数据所属的叶子节点的方法都相同,以下将以确定任一样本数据所属的叶子节点为例进行说明:
对于样本数据集中包括的任一样本数据A,令i=1,将第一距离与第二距离进行比较,当第一距离小于第二距离,且第一节点不是叶子节点时,令i=i+1,进入以第一节点为根节点的子树中,返回将第一距离与第二距离进行比较的步骤,直至第一节点是叶子节点时,将最终确定的第一节点确定为样本数据A所属的叶子节点。当第一距离大于第二距离,且第二节点不是叶子节点时,令i=i+1,进入以第二节点为根节点的子树中,返回将第一距离与第二距离进行比较的步骤,直至第二节点是叶子节点时,将最终确定的第二节点确定为样本数据A所属的叶子节点。
其中,第一距离是指第一节点中位于中心位置处的样本数据与样本数据A之间的距离,第二距离是指第二节点中位于中心位置处的样本数据与样本数据A之间的距离,第一节点和第二节点是指以深度为i-1的节点为根节点的子树中的两个深度为1的节点,i大于或等于1且小于第一球树的总深度。
需要说明的是,第一节点中位于中心位置处的样本数据是指第一节点中的样本数据所围成的圆形区域的圆心处的样本数据。换句话说,第一节点中位于中心位置处的样本数据是指第一节点中的样本数据的外接圆的圆心处的样本数据。对于其他节点中位于中心位置处的样本数据的概念,与上述针对第一节点描述的概念相同,本发明实施例不再针对其他节点一一阐述。
示例的,对于第一节点来说,终端可以根据第一节点中第二数据各维度的属性和第三数据各维度的属性,确定第二数据和第三数据的各维度属性的平均值,并将该平均值的位置确定为第一节点的中心位置。例如,第二数据的二维属性表示为d3=(1,1),第三数据的二维属性表示为d4=(2,2),则第二数据和第三数据的各维度属性的平均值为d5=(1.5,1.5),d5的位置即为第一节点的中心位置。
另外,需要说明一点的是,终端在确定每个样本数据所属的叶子节点之前,还可以设置N个搜索进程,并通过该N个搜索进程对样本数据集中的样本数据进行处理。在一种可能的实现方式中,终端可以将第一球树广播至N个搜索进程,并将N份样本数据分配给N个搜索进程,通过该N个搜索进程,并行地从第一球树包括的至少一个叶子节点中,确定该N份样本数据中每个样本数据所属的叶子节点。其中,该N份样本数据是对样本数据集中包括的样本数据划分得到,N为大于2的正整数。
通过将样本数据集中的样本数据划分为N份样本数据,并通过N个搜索进程并行地对该N份样本数据进行处理,可以快速地确定每个样本数据所属的叶子节点,进而进一步提高了确定数据标签的效率。
步骤204:终端根据多个数据分区中包括的样本数据,并行地构建每个数据分区对应的第二球树。
在根据第一球树对样本数据集中的样本数据进行分区得到多个数据分区后,为了对每个数据分区中的样本数据作进一步的划分,进而进一步提高确定数据标签的效率,终端还可以并行地构建每个数据分区对应的第二球树。
需要说明的是,构建每个数据分区对应的第二球树的方法可以参考步骤202中构建多个抽样数据对应的第一球树的方法,本发明实施例在此不再赘述。
步骤205:终端根据目标数据,从构建得到的每个第二球树中,确定出一组候选样本数据,每组候选样本数据中包括K个候选样本数据,该K大于或等于1。
其中,K可以是终端预先设置的一个数值。
终端可以通过如下几个步骤从每个第二球树中确定出一组候选样本数据:
1、对于构建得到的任一第二球树A,令j=1,终端将第三距离与第四距离进行比较,当第三距离小于第四距离,且第三节点不是叶子节点时,令j=j+1,进入以第三节点为根节点的子树中,返回将第三距离与第四距离进行比较的步骤,直至第三节点是叶子节点时,从最终确定的第三节点包括的样本数据中确定出M个候选样本数据。
其中,第三距离是指第三节点中位于中心位置处的样本数据与目标数据之间的距离,第四距离是指第四节点中位于中心位置处的样本数据与目标数据之间的距离,第三节点和第四节点是指第二球树A中以深度为j-1的节点为根节点的子树中的两个深度为1的节点。M小于或等于K。
在球树的多个节点中,通过叶子节点中样本数据的标签确定目标数据的标签更准确。因此,终端可以从第二球树的根节点开始,不断查询目标数据所属的节点,直到查询到目标数据所属的叶子节点,进而在叶子节点中确定M个候选样本数据。
需要说明的是,查询目标数据所属的叶子节点的方法,与步骤203中确定样本数据集中的每个样本数据在第一球树中所属的叶子节点的方法相同。并且,确定第三节点和第四节点中位于中心位置处的样本数据的方法,与步骤203中确定第一节点和第二节点中位于中心位置处的样本数据的方法相同。本发明实施例在此不再赘述。
还需要说明的是,当最终确定的第三节点是叶子节点时,终端可以通过暴力遍历的方式从最终确定的第三节点确定出M个候选样本数据。也即是,终端可以计算第三节点中每个样本数据与目标数据之间的距离,比较计算的所有距离,并将计算得到的所有的距离按从大到小或者从小到大的顺序进行排序。当按从大到小的顺序排序时,终端可以选取后M个距离,并将该后M个距离对应的样本数据作为M个候选样本数据。当按从小到大的顺序排序时,终端可以选取前M个距离,并将该前M个距离对应的样本数据作为M个候选样本数据。
另外,需要说明一点的是,当第四距离小于第三距离时,进入以第四节点为根节点的子树中确定候选样本数据的方式,与当第三距离小于第四距离时,进入以第三节点为根节点的子树中确定候选样本数据的方式相同。
2、当M小于K,或者,最终确定的第四距离与第五距离之间的差值小于第一半径时,终端判断最终确定的第四节点是否为叶子节点。
其中,最终确定的第四节点是指与最终确定的第三节点处于同一深度的节点,最终确定的第四距离与最终确定的第四节点对应,即为最终确定的第四节点中位于中心位置处的样本数据与目标数据之间的距离。第五距离是指M个候选样本数据与目标数据之间的最大距离。第一半径是指最终确定的第四节点中的样本数据所围成的圆形区域的半径。如图4所示,图4为本发明实施例提供的一种圆形区域的示意图,在图4中,O为最终确定的第四节点中的中心位置,即圆心。r为O与距离O最远的样本数据之间的距离,即第一半径,图4中未示出距离O最远的样本数据。
还需要说明的是,在构建第二球树的过程中,很可能存在一个特殊的样本数据与两个节点之间的距离都相同的情况,此时可以通过预先规定的方式将该特殊的样本数据划分到一个节点中。例如,预先规定将这种特殊的样本数据划分到左节点或右节点中。而正是由于通过预先规定的方式来划分这种特殊的样本数据,所以最终确定的第四节点中可能存在距离比M个候选样本数据与目标数据的距离更小的样本数据。因此,在最终确定的第三节点中确定出M个候选样本数据后,终端还可以进行预判断,即判断是否满足目标数据进入最终确定的第四节点中去查询与目标数据距离更近的候选样本数据的条件,该条件即为最终确定的第四距离与第五距离之间的差值小于第一半径。
还需要说明的是,最终确定的第四节点中样本数据的标签与最终确定的第三节点中样本数据的标签最接近。因此,当M<K,即在最终确定的第三节点中确定的候选样本数据的数量,没有达到一组候选样本数据中要求的候选样本数据的数量时,终端还可以在最终确定的第四节点中进一步查询与目标数据之间的距离较近的候选样本数据,进而达到对一组候选样本数据中候选样本数据的数量的要求。
另外,由于最终确定的第四节点可能是叶子节点也可能不是叶子节点,而在叶子节点中确定候选样本数据的方法与在非叶子节点中确定候选样本数据的方法不同,因此,当M小于K,或者,最终确定的第四距离与第五距离之间的差值小于第一半径时,终端可以判断最终确定的第四节点是否为叶子节点。
3、若最终确定的第四节点是叶子节点时,终端从最终确定的第四节点中确定出L个候选样本数据,并根据M个候选样本数据和L个候选样本数据确定一组候选样本数据,该L小于或等于K。
当最终确定的第四节点是叶子节点时,说明该最终确定的第四节点没有子节点,此时终端可以按照与在最终确定的第三节点中确定出M个候选样本数据的同样方式,即暴力遍历的方式,在最终确定的第四节点确定出L个候选样本数据,本发明实施例在此不再赘述。
需要说明的是,终端可以确定M个候选样本数据和目标数据之间的距离,然后将确定得到的M个距离与M个候选样本数据之间的对应关系按该距离的大小存储至候选集。由于M小于K,所以终端可以确定K与M之间的差值,将该差值用H表示。之后,从L个候选样本数据中选择H个候选样本数据。确定H个候选样本数据和目标数据之间的距离,并将确定得到的H个距离和该H个候选样本数据之间的对应关系存储至候选集,此时候选集中存储有K个候选样本数据。进而,将该候选集中的K个候选样本数据确定为一组候选样本数据。
其中,L个候选样本数据与目标数据的距离可以按照从大到小或者从小到大的顺序进行排序。当按从大到小的顺序排序时,终端可以选取后H个距离,并将选取的后H个距离对应的候选样本数据作为H个候选样本数据。当按从小到大的顺序排序时,终端可以选取前H个距离,并将选取的前H个距离对应的候选样本数据作为H个候选样本数据。
4、若最终确定的第四节点不是叶子节点时,终端按照确定M个候选样本数据和L个候选样本数据的方式,从以最终确定的第四节点为根节点的子树中,确定出一组候选样本数据。
以最终确定的第四节点包含第五节点和第六节点为例,对查询候选样本数据进行说明:令x=1,将第六距离与第七距离进行比较,当第六距离小于第七距离时,令x=x+1,进入以第五节点为根节点的子树中,返回将第六距离与第七距离进行比较的步骤,直至第五节点是叶子节点时,从最终确定的第五节点包括的样本数据中确定出F个候选样本数据。当F小于K,或者,最终确定的第七距离与第八距离之间的差值小于第二半径时,判断最终确定的第六节点是否为叶子节点,进而进入最终确定的第六节点中查询候选样本数据。
其中,第六距离是指第五节点中位于中心位置处的样本数据与目标数据之间的距离,第七距离是指第六节点中位于中心位置处的样本数据与目标数据之间的距离,第五节点和第六节点是指以最终确定的第四节点为根节点的子树中,两个深度为1的节点,F小于或等于K。
需要说明的是,从最终确定的第六节点中确定候选样本数据的方法,与从最终确定的第四节点中确定候选样本数据的方法相同,本发明实施例在此不再赘述。
另外,需要说明一点的是,终端在将第六距离与第七距离进行比较之前,可以判断是否满足进入第五节点或第六节点中查询候选样本数据的条件。该条件即为第五节点对应的距离与第五距离之间的差值小于第二半径,或者,第六节点对应的距离与第五距离之间的差值小于第三半径。其中,第五节点对应的距离是指第五节点中位于中心位置处的样本数据与目标数据之间的距离,第二半径是指第五节点中的样本数据所围成的圆形区域的半径;第六节点对应的距离是指第六节点中位于中心位置处的样本数据与目标数据之间的距离,第三半径是指第六节点中的样本数据所围成的圆形区域的半径。
5、当M等于K,并且,最终确定的第四距离与第五距离之间的差值大于或等于第一半径时,终端返回最终确定的第三节点的父节点继续查询候选样本数据,一直这样递归到根节点,进而确定最终的K个候选样本数据。
当M等于K时,说明终端已经确定出一组候选样本数据中要求的候选样本数据的数量。当最终确定的第四距离与第五距离之间的差值大于或等于第一半径时,说明不满足目标数据进入最终确定的第四节点中去查询与目标数据距离更近的候选样本数据的条件。
需要说明的是,当终端从最终确定的第三节点的父节点中查询候选样本数据时,可以确定查询到的候选样本数据与目标数据之间的距离。并且,确定M个候选样本数据与目标数据之间的距离,并通过将这两个距离进行比较来不断更新M个候选样本数据。
在一种可能的实现方式中,当终端确定M个候选样本数据和目标数据之间的距离,并将确定得到的M个距离与M个候选样本数据的对应关系按距离的大小存储至候选集中后,对于任一查询到的候选样本数据,终端可以确定该任一查询到的候选样本数据与目标数据之间的距离,并将该距离与候选集中的最大距离比较。当该任一查询到的候选样本数据与目标数据之间的距离小于候选集中的最大距离时,将该任一查询到的候选样本数据,以及该任一查询到的候选样本数据与目标数据之间的距离存储至候选集中,并从候选集中弹出最大距离以及该最大距离对应的候选样本数据。当该任一查询到的候选样本数据和目标数据之间的距离大于候选集中的最大距离时,不将该任一查询到的候选样本数据以及该任一查询到的候选样本数据与目标数据之间的距离存储至候选集中。
进一步,终端可以按照上述根据最终确定的第三节点的父节点中的样本数据对M个候选样本数据进行更新的方式,一直递归到根节点,进而将递归到根节点时的候选集中的候选样本数据确定为最终的K个候选样本数据。如此,通过对候选集中的候选样本数据的不断更新,可以保证候选集中存储的候选样本数据与目标数据之间的距离,始终比未存储到候选集中的样本数据与目标数据之间的距离小。
步骤206:终端从确定出的多组候选样本数据中,选择K个样本数据。
终端从每个第二球树中可以确定一组候选样本数据,从而根据多个第二球树可以确定出多组候选样本数据。当多组候选样本数据为N组候选样本数据时,由于每组候选样本数据包括K个候选样本数据,所以可以确定出N*K个候选样本数据,进而终端可以从该N*K个候选样本数据中选择K个样本数据。
在一种可能的实现方式中,终端可以将该N*K个候选样本数据与目标数据之间的距离按从大到小或者从小到大的顺序进行排序。当按从大到小的顺序排序时,终端可以选择后K个距离,并将后K个距离对应的候选样本数据作为K个样本数据。当按从小到大的顺序排序时,终端可以选择前K个距离,并将前K个距离对应的候选样本数据作为K个样本数据。
步骤207:终端根据选择出的K个样本数据确定目标数据的标签。
在大量的数据中,由于与未选择的候选样本数据相比,选择出的K个样本数据与目标数据之间的距离较近,说明K个样本数据的标签与目标数据的标签非常接近。因此,终端可以根据K个样本数据确定目标数据的标签。
在一种可能的实现方式中,终端可以确定K个样本数据中每个样本数据的标签,然后计算每种标签的数量,并将数量最多的那种标签确定为目标数据的标签。
在另一种可能的实现方式中,终端还可以通过回归的方法确定目标数据的标签。也即是,在确定出目标数据的K个样本数据后,终端可以对K个样本数据的标签作平均,并将得到的平均标签作为目标数据的标签。
需要说明的是,本发明实施例中确定目标数据标签的方法可以采用KNN(k-Nearest Neighbor,K最近邻)的方法。
在本发明实施例中,根据多个抽样数据构建第一球树。由于可以根据第一球树对样本数据集中的样本数据进行分区,得到多个数据分区,因此可以根据多个数据分区中包括的样本数据,并行地构建每个数据分区对应的第二球树,也即并行地得到了多个第二球树。进而可以根据该多个第二球树确定待确定标签的目标数据的标签。如此,通过由第一球树和多个样本数据得到的多个数据分区,可以并行地构建多个第二球树,进而可以同时通过该多个第二球树确定目标数据的标签,提高了确定目标数据标签的效率。
本发明实施例提供了一种数据标签的确定装置,参见图5,该装置包括抽样模块501、第一构建模块502、分区模块503、第二构建模块504和确定模块505。
抽样模块501,用于对样本数据集中包括的样本数据进行抽样,得到多个抽样数据,该样本数据集中包括的样本数据已标注标签;
第一构建模块502,用于根据该多个抽样数据构建第一球树;
分区模块503,用于根据第一球树对该样本数据集中包括的样本数据进行分区,得到多个数据分区,每个数据分区中包括多个样本数据;
第二构建模块504,用于根据该多个数据分区中包括的样本数据,并行地构建每个数据分区对应的第二球树;
确定模块505,用于根据构建得到的多个第二球树确定目标数据的标签,目标数据是指待确定标签的数据。
在一个可能的实现方式中,该分区模块503包括:
第一确定子模块,用于从第一球树包括的至少一个叶子节点中,确定该样本数据集中包括的每个样本数据所属的叶子节点;
划分子模块,用于将属于同一个叶子节点的样本数据划分为一个数据分区,以得到该多个数据分区。
在一个可能的实现方式中,该确定子模块包括:
广播单元,用于将第一球树广播至N个搜索进程,并将N份样本数据分配给该N个搜索进程,该N份样本数据是对该样本数据集中包括的样本数据划分得到,该N为大于2的正整数;
第一确定单元,用于通过该N个搜索进程,并行地从第一球树包括的至少一个叶子节点中,确定该N份样本数据中每个样本数据所属的叶子节点。
在一个可能的实现方式中,该确定子模块包括:
第一比较单元,用于对于该样本数据集中包括的任一样本数据A,令i=1,将第一距离与第二距离进行比较,第一距离是指第一节点中位于中心位置处的样本数据与该样本数据A之间的距离,第二距离是指第二节点中位于中心位置处的样本数据与该样本数据A之间的距离,第一节点和第二节点是指以深度为i-1的节点为根节点的子树中的两个深度为1的节点,该i大于或等于1且小于第一球树的总深度;
第二确定单元,用于当第一距离小于第二距离,且第一节点不是叶子节点时,令i=i+1,进入以第一节点为根节点的子树中,返回将第一距离与第二距离进行比较的步骤,直至第一节点是叶子节点时,将最终确定的第一节点确定为该样本数据A所属的叶子节点;
第三确定单元,用于当第一距离大于第二距离,且第二节点不是叶子节点时,令i=i+1,进入以第二节点为根节点的子树中,返回将第一距离与第二距离进行比较的步骤,直至第二节点是叶子节点时,将最终确定的第二节点确定为该样本数据A所属的叶子节点。
在一个可能的实现方式中,该确定模块505包括:
第二确定子模块,用于根据目标数据,从构建得到的每个第二球树中,确定出一组候选样本数据,每组候选样本数据中包括K个候选样本数据,该K大于或等于1;
选择子模块,用于从确定出的多组候选样本数据中,选择K个样本数据;
第三确定子模块,用于根据选择出的K样本数据确定目标数据的标签。
在一个可能的实现方式中,第二确定子模块包括:
第二比较单元,用于对于构建得到的任一第二球树A,令j=1,将第三距离与第四距离进行比较,第三距离是指第三节点中位于中心位置处的样本数据与目标数据之间的距离,第四距离是指第四节点中位于中心位置处的样本数据与目标数据之间的距离,第三节点和第四节点是指第二球树A中以深度为j-1的节点为根节点的子树中的两个深度为1的节点;
第四确定单元,用于当第三距离小于第四距离,且第三节点不是叶子节点时,令j=j+1,进入以第三节点为根节点的子树中,返回将第三距离与第四距离进行比较的步骤,直至第三节点是叶子节点时,从最终确定的第三节点包括的样本数据中确定出M个候选样本数据,该M小于或等于该K;
判断单元,用于当该M小于该K,或者,最终确定的第四距离与第五距离之间的差值小于第一半径时,判断最终确定的第四节点是否为叶子节点,该第五距离是指该M个候选样本数据与目标数据之间的最大距离,第一半径是指最终确定的第四节点中的样本数据所围成的圆形区域的半径;
第五确定单元,用于若最终确定的第四节点是叶子节点,则从最终确定的第四节点中确定出L个候选样本数据,并根据该M个候选样本数据和该L个候选样本数据确定一组候选样本数据,该L小于或等于该K;
第六确定单元,用于若最终确定的第四节点不是叶子节点,则按照确定该M个候选样本数据和该L个候选样本数据的方式,从以最终确定的第四节点为根节点的子树中,确定出一组候选样本数据。
在本发明实施例中,根据多个抽样数据构建第一球树。由于可以根据第一球树对样本数据集中的样本数据进行分区,得到多个数据分区,因此可以根据多个数据分区中包括的样本数据,并行地构建每个数据分区对应的第二球树,也即并行地得到了多个第二球树。进而可以根据该多个第二球树确定待确定标签的目标数据的标签。如此,通过由第一球树和多个样本数据得到的多个数据分区,可以并行地构建多个第二球树,进而可以同时通过该多个第二球树确定目标数据的标签,提高了确定目标数据标签的效率。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图6示出了本发明一个示例性实施例提供的终端600的结构框图。该终端600可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio LayerIV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端600还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端600包括有:处理器601和存储器602。
处理器601可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器601可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器601也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器601可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器601还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器602可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器602还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器602中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器601所执行以实现本申请中方法实施例提供的数据标签的确定方法。
在一些实施例中,终端600还可选包括有:外围设备接口603和至少一个外围设备。处理器601、存储器602和外围设备接口603之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口603相连。具体地,外围设备包括:射频电路604、触摸显示屏605、摄像头606、音频电路607、定位组件608和电源609中的至少一种。
外围设备接口603可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器601和存储器602。在一些实施例中,处理器601、存储器602和外围设备接口603被集成在同一芯片或电路板上;在一些其他实施例中,处理器601、存储器602和外围设备接口603中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路604用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路604通过电磁信号与通信网络以及其他通信设备进行通信。射频电路604将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路604包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路604可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路604还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏605用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏605是触摸显示屏时,显示屏605还具有采集在显示屏605的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器601进行处理。此时,显示屏605还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏605可以为一个,设置终端600的前面板;在另一些实施例中,显示屏605可以为至少两个,分别设置在终端600的不同表面或呈折叠设计;在再一些实施例中,显示屏605可以是柔性显示屏,设置在终端600的弯曲表面上或折叠面上。甚至,显示屏605还可以设置成非矩形的不规则图形,也即异形屏。显示屏605可以采用LCD(LiquidCrystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件606用于采集图像或视频。可选地,摄像头组件606包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件606还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路607可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器601进行处理,或者输入至射频电路604以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端600的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器601或射频电路604的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路607还可以包括耳机插孔。
定位组件608用于定位终端600的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件608可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
电源609用于为终端600中的各个组件进行供电。电源609可以是交流电、直流电、一次性电池或可充电电池。当电源609包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端600还包括有一个或多个传感器610。该一个或多个传感器610包括但不限于:加速度传感器611、陀螺仪传感器612、压力传感器613、指纹传感器614、光学传感器615以及接近传感器616。
加速度传感器611可以检测以终端600建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器611可以用于检测重力加速度在三个坐标轴上的分量。处理器601可以根据加速度传感器611采集的重力加速度信号,控制触摸显示屏605以横向视图或纵向视图进行用户界面的显示。加速度传感器611还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器612可以检测终端600的机体方向及转动角度,陀螺仪传感器612可以与加速度传感器611协同采集用户对终端600的3D动作。处理器601根据陀螺仪传感器612采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器613可以设置在终端600的侧边框和/或触摸显示屏605的下层。当压力传感器613设置在终端600的侧边框时,可以检测用户对终端600的握持信号,由处理器601根据压力传感器613采集的握持信号进行左右手识别或快捷操作。当压力传感器613设置在触摸显示屏605的下层时,由处理器601根据用户对触摸显示屏605的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器614用于采集用户的指纹,由处理器601根据指纹传感器614采集到的指纹识别用户的身份,或者,由指纹传感器614根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器601授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器614可以被设置终端600的正面、背面或侧面。当终端600上设置有物理按键或厂商Logo时,指纹传感器614可以与物理按键或厂商Logo集成在一起。
光学传感器615用于采集环境光强度。在一个实施例中,处理器601可以根据光学传感器615采集的环境光强度,控制触摸显示屏605的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏605的显示亮度;当环境光强度较低时,调低触摸显示屏605的显示亮度。在另一个实施例中,处理器601还可以根据光学传感器615采集的环境光强度,动态调整摄像头组件606的拍摄参数。
接近传感器616,也称距离传感器,通常设置在终端600的前面板。接近传感器616用于采集用户与终端600的正面之间的距离。在一个实施例中,当接近传感器616检测到用户与终端600的正面之间的距离逐渐变小时,由处理器601控制触摸显示屏605从亮屏状态切换为息屏状态;当接近传感器616检测到用户与终端600的正面之间的距离逐渐变大时,由处理器601控制触摸显示屏605从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图6中示出的结构并不构成对终端600的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质应用于终端,该计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,该指令、该程序、该代码集或该指令集由处理器加载并执行以实现上述实施例的数据标签的确定方法中终端所执行的操作。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。
Claims (14)
1.一种数据标签的确定方法,其特征在于,所述方法包括:
对样本数据集中包括的样本数据进行抽样,得到多个抽样数据,所述样本数据集中包括的样本数据已标注标签;
根据所述多个抽样数据构建第一球树;
根据所述第一球树对所述样本数据集中包括的样本数据进行分区,得到多个数据分区,每个数据分区中包括多个样本数据;
根据所述多个数据分区中包括的样本数据,并行地构建每个数据分区对应的第二球树;
根据构建得到的多个第二球树确定目标数据的标签,所述目标数据是指待确定标签的数据。
2.如权利要求1所述的方法,其特征在于,所述根据所述第一球树对所述样本数据集中包括的样本数据进行分区,得到多个数据分区,包括:
从所述第一球树包括的至少一个叶子节点中,确定所述样本数据集中包括的每个样本数据所属的叶子节点;
将属于同一个叶子节点的样本数据划分为一个数据分区,以得到所述多个数据分区。
3.如权利要求2所述的方法,其特征在于,所述从所述第一球树包括的至少一个叶子节点中,确定所述样本数据集中包括的每个样本数据所属的叶子节点,包括:
将所述第一球树广播至N个搜索进程,并将N份样本数据分配给所述N个搜索进程,所述N份样本数据是对所述样本数据集中包括的样本数据划分得到,所述N为大于2的正整数;
通过所述N个搜索进程,并行地从所述第一球树包括的至少一个叶子节点中,确定所述N份样本数据中每个样本数据所属的叶子节点。
4.如权利要求2所述的方法,其特征在于,所述从所述第一球树包括的至少一个叶子节点中,确定所述样本数据集中包括的每个样本数据所属的叶子节点,包括:
对于所述样本数据集中包括的任一样本数据A,令i=1,将第一距离与第二距离进行比较,所述第一距离是指第一节点中位于中心位置处的样本数据与所述样本数据A之间的距离,所述第二距离是指第二节点中位于中心位置处的样本数据与所述样本数据A之间的距离,所述第一节点和所述第二节点是指以深度为i-1的节点为根节点的子树中的两个深度为1的节点,所述i大于或等于1且小于所述第一球树的总深度;
当所述第一距离小于所述第二距离,且所述第一节点不是叶子节点时,令i=i+1,进入以所述第一节点为根节点的子树中,返回将第一距离与第二距离进行比较的步骤,直至所述第一节点是叶子节点时,将最终确定的第一节点确定为所述样本数据A所属的叶子节点;
当所述第一距离大于所述第二距离,且所述第二节点不是叶子节点时,令i=i+1,进入以所述第二节点为根节点的子树中,返回将第一距离与第二距离进行比较的步骤,直至所述第二节点是叶子节点时,将最终确定的第二节点确定为所述样本数据A所属的叶子节点。
5.如权利要求1所述的方法,其特征在于,所述根据构建得到的多个第二球树确定目标数据的标签,包括:
根据所述目标数据,从构建得到的每个第二球树中,确定出一组候选样本数据,每组候选样本数据中包括K个候选样本数据,所述K大于或等于1;
从确定出的多组候选样本数据中,选择K个样本数据;
根据选择出的K样本数据确定所述目标数据的标签。
6.如权利要求5所述的方法,其特征在于,所述根据所述目标数据,从构建得到的每个第二球树中,确定出一组候选样本数据,包括:
对于构建得到的任一第二球树A,令j=1,将第三距离与第四距离进行比较,所述第三距离是指第三节点中位于中心位置处的样本数据与所述目标数据之间的距离,所述第四距离是指第四节点中位于中心位置处的样本数据与所述目标数据之间的距离,所述第三节点和所述第四节点是指所述第二球树A中以深度为j-1的节点为根节点的子树中的两个深度为1的节点;
当所述第三距离小于所述第四距离,且所述第三节点不是叶子节点时,令j=j+1,进入以所述第三节点为根节点的子树中,返回将第三距离与第四距离进行比较的步骤,直至所述第三节点是叶子节点时,从最终确定的第三节点包括的样本数据中确定出M个候选样本数据,所述M小于或等于所述K;
当所述M小于所述K,或者,最终确定的第四距离与第五距离之间的差值小于第一半径时,判断最终确定的第四节点是否为叶子节点,所述第五距离是指所述M个候选样本数据与所述目标数据之间的最大距离,所述第一半径是指最终确定的第四节点中的样本数据所围成的圆形区域的半径;
若最终确定的第四节点是叶子节点,则从最终确定的第四节点中确定出L个候选样本数据,并根据所述M个候选样本数据和所述L个候选样本数据确定一组候选样本数据,所述L小于或等于所述K;
若最终确定的第四节点不是叶子节点,则按照确定所述M个候选样本数据和所述L个候选样本数据的方式,从以最终确定的第四节点为根节点的子树中,确定出一组候选样本数据。
7.一种数据标签的确定装置,其特征在于,所述装置包括:
抽样模块,用于对样本数据集中包括的样本数据进行抽样,得到多个抽样数据,所述样本数据集中包括的样本数据已标注标签;
第一构建模块,用于根据所述多个抽样数据构建第一球树;
分区模块,用于根据所述第一球树对所述样本数据集中包括的样本数据进行分区,得到多个数据分区,每个数据分区中包括多个样本数据;
第二构建模块,用于根据所述多个数据分区中包括的样本数据,并行地构建每个数据分区对应的第二球树;
确定模块,用于根据构建得到的多个第二球树确定目标数据的标签,所述目标数据是指待确定标签的数据。
8.如权利要求7所述的装置,其特征在于,所述分区模块包括:
第一确定子模块,用于从所述第一球树包括的至少一个叶子节点中,确定所述样本数据集中包括的每个样本数据所属的叶子节点;
划分子模块,用于将属于同一个叶子节点的样本数据划分为一个数据分区,以得到所述多个数据分区。
9.如权利要求8所述的装置,其特征在于,所述确定子模块包括:
广播单元,用于将所述第一球树广播至N个搜索进程,并将N份样本数据分配给所述N个搜索进程,所述N份样本数据是对所述样本数据集中包括的样本数据划分得到,所述N为大于2的正整数;
第一确定单元,用于通过所述N个搜索进程,并行地从所述第一球树包括的至少一个叶子节点中,确定所述N份样本数据中每个样本数据所属的叶子节点。
10.如权利要求8所述的装置,其特征在于,所述确定子模块包括:
第一比较单元,用于对于所述样本数据集中包括的任一样本数据A,令i=1,将第一距离与第二距离进行比较,所述第一距离是指第一节点中位于中心位置处的样本数据与所述样本数据A之间的距离,所述第二距离是指第二节点中位于中心位置处的样本数据与所述样本数据A之间的距离,所述第一节点和所述第二节点是指以深度为i-1的节点为根节点的子树中的两个深度为1的节点,所述i大于或等于1且小于所述第一球树的总深度;
第二确定单元,用于当所述第一距离小于所述第二距离,且所述第一节点不是叶子节点时,令i=i+1,进入以所述第一节点为根节点的子树中,返回将第一距离与第二距离进行比较的步骤,直至所述第一节点是叶子节点时,将最终确定的第一节点确定为所述样本数据A所属的叶子节点;
第三确定单元,用于当所述第一距离大于所述第二距离,且所述第二节点不是叶子节点时,令i=i+1,进入以所述第二节点为根节点的子树中,返回将第一距离与第二距离进行比较的步骤,直至所述第二节点是叶子节点时,将最终确定的第二节点确定为所述样本数据A所属的叶子节点。
11.如权利要求7所述的装置,其特征在于,所述确定模块包括:
第二确定子模块,用于根据所述目标数据,从构建得到的每个第二球树中,确定出一组候选样本数据,每组候选样本数据中包括K个候选样本数据,所述K大于或等于1;
选择子模块,用于从确定出的多组候选样本数据中,选择K个样本数据;
第三确定子模块,用于根据选择出的K样本数据确定所述目标数据的标签。
12.如权利要求11所述的装置,其特征在于,所述第二确定子模块包括:
第二比较单元,用于对于构建得到的任一第二球树A,令j=1,将第三距离与第四距离进行比较,所述第三距离是指第三节点中位于中心位置处的样本数据与所述目标数据之间的距离,所述第四距离是指第四节点中位于中心位置处的样本数据与所述目标数据之间的距离,所述第三节点和所述第四节点是指所述第二球树A中以深度为j-1的节点为根节点的子树中的两个深度为1的节点;
第四确定单元,用于当所述第三距离小于所述第四距离,且所述第三节点不是叶子节点时,令j=j+1,进入以所述第三节点为根节点的子树中,返回将第三距离与第四距离进行比较的步骤,直至所述第三节点是叶子节点时,从最终确定的第三节点包括的样本数据中确定出M个候选样本数据,所述M小于或等于所述K;
判断单元,用于当所述M小于所述K,或者,最终确定的第四距离与第五距离之间的差值小于第一半径时,判断最终确定的第四节点是否为叶子节点,所述第五距离是指所述M个候选样本数据与所述目标数据之间的最大距离,所述第一半径是指最终确定的第四节点中的样本数据所围成的圆形区域的半径;
第五确定单元,用于若最终确定的第四节点是叶子节点,则从最终确定的第四节点中确定出L个候选样本数据,并根据所述M个候选样本数据和所述L个候选样本数据确定一组候选样本数据,所述L小于或等于所述K;
第六确定单元,用于若最终确定的第四节点不是叶子节点,则按照确定所述M个候选样本数据和所述L个候选样本数据的方式,从以最终确定的第四节点为根节点的子树中,确定出一组候选样本数据。
13.一种数据标签的确定装置,其特征在于,所述装置包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行权利要求1-6所述的任一项方法的步骤。
14.一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,其特征在于,所述指令被处理器执行时实现权利要求1-6所述的任一项方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811394214.6A CN111291036B (zh) | 2018-11-21 | 2018-11-21 | 数据标签的确定方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811394214.6A CN111291036B (zh) | 2018-11-21 | 2018-11-21 | 数据标签的确定方法、装置及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111291036A true CN111291036A (zh) | 2020-06-16 |
CN111291036B CN111291036B (zh) | 2023-10-20 |
Family
ID=71026563
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811394214.6A Active CN111291036B (zh) | 2018-11-21 | 2018-11-21 | 数据标签的确定方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111291036B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101689125A (zh) * | 2007-06-27 | 2010-03-31 | 微软公司 | 数据并行操作中的次序保留 |
CN107870781A (zh) * | 2016-09-27 | 2018-04-03 | 华为数字技术(苏州)有限公司 | 一种数据并行聚类方法及装置 |
CN108052535A (zh) * | 2017-11-15 | 2018-05-18 | 国家计算机网络与信息安全管理中心 | 基于多处理器平台的视觉特征并行快速匹配方法和系统 |
-
2018
- 2018-11-21 CN CN201811394214.6A patent/CN111291036B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101689125A (zh) * | 2007-06-27 | 2010-03-31 | 微软公司 | 数据并行操作中的次序保留 |
CN107870781A (zh) * | 2016-09-27 | 2018-04-03 | 华为数字技术(苏州)有限公司 | 一种数据并行聚类方法及装置 |
CN108052535A (zh) * | 2017-11-15 | 2018-05-18 | 国家计算机网络与信息安全管理中心 | 基于多处理器平台的视觉特征并行快速匹配方法和系统 |
Non-Patent Citations (3)
Title |
---|
SHIAU-RUNG TSUI ETAL: "《Parallel Clustering Based on Partitions of Local Minimal-Spanning-Trees》" * |
许慧: "《基于数据分区和QR_树的并行DBSCAN算法研究》" * |
陈圣灵;沈思淇;李东升;: "基于样本权重更新的不平衡数据集成学习方法" * |
Also Published As
Publication number | Publication date |
---|---|
CN111291036B (zh) | 2023-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111182453B (zh) | 定位方法、装置、电子设备及存储介质 | |
CN110134804B (zh) | 图像检索方法、装置及存储介质 | |
CN110471858B (zh) | 应用程序测试方法、装置及存储介质 | |
CN108363569B (zh) | 应用中的图像帧生成方法、装置、设备及存储介质 | |
CN108717432B (zh) | 资源查询方法及装置 | |
CN111897996B (zh) | 话题标签推荐方法、装置、设备及存储介质 | |
CN110942046B (zh) | 图像检索方法、装置、设备及存储介质 | |
CN111104980B (zh) | 确定分类结果的方法、装置、设备及存储介质 | |
CN112052354A (zh) | 视频推荐方法、视频展示方法、装置及计算机设备 | |
CN113032587B (zh) | 多媒体信息推荐方法、系统、装置、终端和服务器 | |
CN111428158B (zh) | 推荐位置的方法、装置、电子设备及可读存储介质 | |
CN111611414B (zh) | 车辆检索方法、装置及存储介质 | |
CN111782950A (zh) | 样本数据集获取方法、装置、设备及存储介质 | |
CN111651693A (zh) | 数据展示方法、数据排序方法、装置、设备及介质 | |
CN111563201A (zh) | 内容推送方法、装置、服务器及存储介质 | |
CN113987326B (zh) | 资源推荐方法、装置、计算机设备及介质 | |
CN109635153B (zh) | 迁移路径生成方法、装置及存储介质 | |
CN109388732B (zh) | 音乐地图的生成和显示方法、装置及存储介质 | |
CN111291036B (zh) | 数据标签的确定方法、装置及计算机可读存储介质 | |
CN111782767A (zh) | 问答方法、装置、设备及存储介质 | |
CN111258673A (zh) | 快应用显示方法及终端设备 | |
CN112364244A (zh) | 多媒体数据推荐方法、装置、服务器及存储介质 | |
CN111259252A (zh) | 用户标识识别方法、装置、计算机设备及存储介质 | |
CN111159168A (zh) | 数据处理方法和装置 | |
CN111061918A (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 |