CN105468603A - 数据选择方法及装置 - Google Patents

数据选择方法及装置 Download PDF

Info

Publication number
CN105468603A
CN105468603A CN201410419106.5A CN201410419106A CN105468603A CN 105468603 A CN105468603 A CN 105468603A CN 201410419106 A CN201410419106 A CN 201410419106A CN 105468603 A CN105468603 A CN 105468603A
Authority
CN
China
Prior art keywords
data
described pending
total relevance
group
pending data
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
CN201410419106.5A
Other languages
English (en)
Other versions
CN105468603B (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
Tencent Cloud Computing Beijing 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 CN201410419106.5A priority Critical patent/CN105468603B/zh
Publication of CN105468603A publication Critical patent/CN105468603A/zh
Application granted granted Critical
Publication of CN105468603B publication Critical patent/CN105468603B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种数据选择方法,包括步骤:A.从待处理数据中选择M+N个数据作为待处理数据组;B.对所述待处理数据组中的每一个数据与其他各个数据的相关度求和得到各个数据的总相关度;C.从所述待处理数据组中确定N个数据,所确定的N个数据的总相关度均大于所述待处理数据组中,除所确定的N个数据之外的其他数据的总相关度;D.从所述待处理数据中选择除已被选择的数据之外的N个数据替换所确定的N个数据作为新的待处理数据组;E.继续执行步骤B、C和D,直至所有数据被选择完毕;F.删除最后一次确定的N个数据,得到目标数据,所述目标数据的个数为M。本发明还公开一种数据选择装置。本发明实现提高数据选择的效率和准确性。

Description

数据选择方法及装置
技术领域
本发明涉及到数据处理技术领域,特别涉及到数据选择方法及装置。
背景技术
二进制数据,是由0101...这样的字节流构成。区别于实数数据(实数数据的每一个维度都是float或double类型的数据),二进制数据的每一个维度都是0或者1,占用1个bit。
在大规模基于内容的图像检索、音乐识别、街景识别、人脸检索、人脸验证等领域中,都广泛的采用了二进制数据的特征。由于其计算速度快,占用存储空间少,在海量数据的今天,二进制数据的优势十分明显。尤其是在移动互联网时代,手机、智能手表、智能眼镜等嵌入式设备越来越普及,在这种运算和存储能力都有限的计算设备上,还要进行实时的数据特征提取时,二进制数据更加成为首选的特征。
在海量信息检索过程中,倒排索引是常用的一种数据结构。倒排索引结构是将相同关键字特征映射到同一个列表中的数据结构。目前已经在百度、谷歌等搜索引擎的中文搜索服务中得到广泛应用。如何利用多媒体数据中的二进制数据的特征建立高效的索引至今仍是一个开放的、被广泛讨论的课题。
在建立倒排索引的过程中,如何选择关键字是影响最终效果的关键。如果关键字的分布不均匀,检索时不同关键字消耗的时间差别很大,无法对***的响应时间进行很好的控制。尤其是当二进制数据的bit位数较大的时候,这种分布的不均衡性呈指数级不均衡,使得最终的检索时间十分不可控。
目前主流的二进制数据关键字选择的方法有:1)从二进制数据中随机筛选若干bit位作为关键字,2)选择二进制数据前面的若干bit位作为关键字,3)选择均值接近0.5的bit的若干bit位作为关键字等方式。
上述3种选择关键字的方法,都存在很大的缺陷。随机选择或选择前面若干bit的方式都极容易导致数据分布的不均衡,选择均值为0.5的若干bit只考虑到单个bit的分布,没有考虑到bit之间存在的关联性,所以也容易出现数据的分布不均衡。且在关键字选择的计算过程中需要利用穷举式的方式进行选择,关键字选择的过程复杂且不够准确,降低了关键字选择的效率和准确性。
发明内容
本发明实施例提供一种数据选择方法及装置,旨在实现减少数据选择的计算过程,进而有效提高数据选择的效率和准确性。
本发明实施例提出一种数据选择方法,所述数据选择方法包括步骤:
A、按照预设规则从待处理数据中选择M+N个数据作为待处理数据组;
B、对所述待处理数据组中的每一个数据与其他各个数据的相关度求和得到各个数据的总相关度;
C、从所述待处理数据组中确定N个数据,所确定的N个数据的总相关度均大于所述待处理数据组中,除所确定的N个数据之外的其他数据的总相关度;
D、从所述待处理数据中选择除已被选择的数据之外的N个数据替换所确定的N个数据作为新的待处理数据组;
E、继续执行步骤B、C和D,直至所述待处理数据中的所有数据被选择完毕;
F、从所述待处理数据组中删除最后一次确定的N个数据,得到目标数据,所述目标数据的个数为M。
本发明实施例还提出一种数据选择装置,所述数据选择装置包括:
选择模块,用于按照预设规则从待处理数据中选择M+N个数据作为待处理数据组;
计算模块,用于对所述待处理数据组中的每一个数据与其他各个数据的相关度求和得到各个数据的总相关度;
处理模块,用于从所述待处理数据组中确定N个数据,所确定的N个数据的总相关度均大于所述待处理数据组中,除所确定的N个数据之外的其他数据的总相关度;
替换模块,用于从所述待处理数据中选择除已被选择的数据之外的N个数据替换所确定的N个数据作为新的待处理数据组;
所述处理模块,还用于当所述待处理数据中的所有数据被选择完毕时,从所述待处理数据组中删除最后一次确定的N个数据,得到目标数据,所述目标数据的个数为M。
本发明实施例通过先从待处理数据中选择M+N个数据作为待处理数据组,从所述待处理数据组中确定N个数据,并从所述待处理数据中选择除所确定的N个数据之外的N个数据替换所确定的N个数据,重复操作,直至所述待处理数据中所有数据被选择完毕,删除所述待处理数据组中的所确定的N个数据,得到目标数据,所述目标数据的个数为M。实现数据选择操作,无需进行穷举式数据选择,且从待处理数据中选择相关性小的数据。有效避免将穷举式数据选择导致数据选择复杂度高的技术问题,减少数据选择的计算过程,进而有效提高了数据选择的效率和准确性。
附图说明
图1为本发明数据选择方法的第一实施例的流程图;
图2为图1中步骤S10的细化流程图;
图3为图1中步骤S20的一细化流程图;
图4为图1中步骤S20的另一细化流程图;
图5为本发明数据选择方法的第二实施例的流程图;
图6为本发明数据选择方法的第三实施例的流程图;
图7为本发明数据选择方法的第四实施例的流程图;
图8为本发明数据选择装置的较佳实施例的功能模块示意图;
图9为本发明数据选择装置所在终端的硬件结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提出一种数据选择方法。
如图1所示,图1为本发明数据选择方法的第一实施例的流程图。本实施例提到的数据选择方法包括以下步骤:
步骤S10,按照预设规则从待处理数据中选择M+N个数据作为待处理数据组;
当有待处理数据输入需要处理,或者接收到数据选择指令时,获取待处理数据。所述待处理数据可以是二进制数据、八进制数据、十进制数据或16进制数据等。按照预设规则从待处理数据中选择M+N个数据作为待处理数据组。所述待处理数据包括X个数据,且X>>M,M>>N,例如,可以是X=200,M=50,N=3,或者X=300,M=100,N=4等。所述按照预设规则从待处理数据中选择M+N个数据作为待处理数据组的过程可以是:随机从所述待处理数据中选择M+N个数据。例如,按照每隔预设个数选择一个数据的方式进行随机选择,所述预设个数可以是1、2或者3等。也还可以是:参考图2,图2为图1中步骤S10的细化流程图。步骤S101,将所述待处理数据进行混排;步骤S102,从混排后的所述待处理数据中选择排序在前的M+N个数据。例如,所述待处理数据中每个数据的顺序为0,1,2,3,4,5,混排的顺序为2,3,1,5,0,4。进行混排所采用的函数可以是C++中的Shuffle函数,也可以采用其他使用的混排函数。为了降低计算资源的利用,N优选为小于3。可以理解的是,N也还可以是大于3。
步骤S20,对所述待处理数据组中的每一个数据与其他各个数据的相关度求和得到各个数据的总相关度;
在从所述待处理数据中选择M+N个数据作为待处理数据组后,计算得到所述待处理数据组中每一个数据与其他各个数据的相关度,根据计算得到的相关度,对所述待处理数据组中的每一个数据与其他各个数据的相关度求和得到各个数据的总相关度。例如,所述待处理数据中的一个数据为a,其他数据分别为b、c、d。则先计算得到a与b,a与c,a与d,b与c,b与d,c与d的相关度,再对计算得到的a与b,a与c,a与d的相关度求和得到a的总相关度a1,对计算得到的a与b,b与c,b与d的相关度求和得到b的总相关度b1,对计算得到的a与c,b与c,c与d的相关度求和得到c的总相关度c1,对计算得到的a与d,b与d,c与d的相关度求和得到d的总相关度d1。所述待处理数据组中其他各个数据的所述相关度可以通过每一个数据与其他数据的相关系数来体现,计算相关系数的公式为:其中表示期望,xi,yi分别代表所述待处理数据中的各个数据。得到所述待处理数据组中每一个数据与其他数据的相关系数Cij,其中i代表所述待处理数据组中的第一个数据,j代表所述待处理数据组中的另一个数据。
步骤S30,从所述待处理数据组中确定N个数据,所确定的N个数据的总相关度均大于所述待处理数据组中,除所确定的N个数据之外的其他数据的总相关度;
在对所述待处理数据组中的每一个数据与其他各个数据的相关度求和得到各个数据的总相关度后,从所述待处理数据组中确定N个数据,所确定的N个数据的总相关度均大于所述待处理数据组中,除所确定的N个数据之外的其他数据的总相关度。例如,所述待处理数据组中包括a、b、c和d四个数据,其中M为3,N为1,a的总相关度为a1,b的总相关度为b1,c的总相关度为c1,d的总相关度为d1,若a1=0.5,b1=0.8,c1=0.4,d1=0.9,因d1的值大于a1、b1和c1,则从所述待处理数据组中确定d1。
所述从所述待处理数据组中确定N个数据的过程可以是:参考图3,图3为图1中步骤S20的一细化流程图。步骤S201,按照总相关度由大至小的顺序将求和得到的总相关度进行排序;步骤S201,从所述待处理数据组中选择总相关度排序在前的N个数据。也还可以是:参考图4,图4为图1中步骤S20的另一细化流程图。步骤S203,按照总相关度由小至大的顺序将求和得到的总相关度进行排序;步骤S204,从所述待处理数据组中选择总相关度排序在后的N个数据。
步骤S40,从所述待处理数据中选择除已被选择的数据之外的N个数据替换所确定的N个数据作为新的待处理数据组;
在本实施例中,在确定N个数据之后,从所述待处理数据组中选择除已被选择的数据之外的N个数据替换所确定的N个数据作为新的待处理数据组。例如,所述待处理数据包括L个数据,第一次从所述待处理数据中选择M+N个数据,第二次从所述待处理数据中选择除去所述M+N之外的N个数据,继续执行步骤S20、步骤S30和步骤S40,直至所述待处理数据中的所有数据被选择完毕。
步骤S50,从所述待处理数据组中删除最后一次确定的N个数据,得到目标数据,所述目标数据的个数为M。
在所述待处理数据中的所有数据被选择完毕时,从所述待处理数据组中删除最后一次确定的N个数据,得到目标数据,所述目标数据的个数为M。
本发明实施例通过先从待处理数据中选择M+N个数据作为待处理数据组,从所述待处理数据组中确定N个数据,并从所述待处理数据中选择除所确定的N个数据之外的N个数据替换所确定的N个数据,重复操作,直至所述待处理数据中所有数据被选择完毕,删除所述待处理数据组中最后一次确定的N个数据,得到目标数据,所述目标数据的个数为M。实现数据选择操作,无需进行穷举式数据选择,且从待处理数据中选择相关性小的数据。有效避免将穷举式数据选择导致数据选择复杂度高的技术问题,减少数据选择的计算过程,进而有效提高了数据选择的效率和准确性。
进一步地,基于上述数据选择方法的第一实施例,提出本发明数据选择方法的第二实施例。如图5所示,当所述待处理数据不是N的倍数时,所述数据选择方法还包括步骤:
步骤S60,判断所述待处理数据中未被选择的数据的个数是否小于N。在所述待处理数据中未被选择的数据的个数小于N时,执行下述步骤S70;在所述待处理数据中未被选择的数据的个数大于或等于N时,执行步骤S40。
步骤S70,从所述待处理数据中选择所述未被选择的数据替换所确定的N个数据作为新的待处理数据组;
步骤S80,从所述新的待处理数据组中确定S个数据,所述S个数据的总相关度均大于所述待处理数据组中,除所述S个数据之外的其他数据的总相关度;
步骤S90,从所述新的待处理数据组中删除所述S个数据,得到目标数据,所述目标数据的个数为M。
当所述待处理数据的个数为N的倍数时,执行上述数据选择的第一实施例的流程选择出目标数据。当所述待处理数据的个数不是N的倍数时,先按照上述数据选择的第一实施例的步骤S10,S20,S30和步骤S40进行所述待处理数据的选择,即若所述待处理数据中为被选择的数据的个数大于或者等于N,则执行步骤S40。在最后一次未选择的数据的个数S小于N时,按照本实施例中的步骤S70,步骤S80和步骤S90选择出目标数据。即若所述待处理数据中未被选择的数据的个数小于N,则执行步骤S70,步骤S80和步骤S90。所述确定所述待处理数据中未被选择的数据的个数S小于N的过程可以是:获取所述待处理数据中未被选择的数据的个数S,将S与N比对,以得到S是否小于N的结果。本发明实施例通过在所述待处理数据的个数不是N的倍数时,在最后一次进行数据替换时,将所述待处理数据中未被选择的数据替换所确定的N个数据,实现高效的进行数据的选择。
进一步地,基于上述数据选择方法的第一实施例,提出本发明数据选择方法的第三实施例。如图6所示,所述数据选择方法还包括步骤:
步骤S100,计算得到每一个目标数据中各个数据的总相关度之和;
重复执行步骤S10,S20,S30,S40,S50和S60,重复执行的次数为P次,得到P个目标数据,因每次选择的M+N个数据不同,因此每次重复执行之后得到的目标数据不同,重复执行P次得到P个目标数据。提前设置重复次数P,P的设置根据用户对数据选择的预期和***性能进行设置,每一个待处理数据的重复次数均可以不同,默认P为0次。在用户不进行重复次数的设置时,不进行重复,得到一个目标数据,即为最终的目标数据。
在得到P个目标数据之后,计算得到每一个目标数据中各个数据的总相关度,并对每一个目标数据中的各个数据的总相关度求和。
步骤S110,从所述P个目标数据中确定一个总相关度之和最小的目标数据,将所述总相关度之和最小的目标数据作为最终的目标数据。
从所述P个目标数据中确定一个总相关度之和最小的目标数据,例如,P为3,分别为M1、M2和M3,目标数据M1的总相关度之和为m1,目标数据M2的总相关度之和为m2,目标数据M3的总相关度之和为m3。若m1=2.3,m2=2.7,m3=2.1,则目标数据M3的总相关度之和最小,将目标数据M3作为最终的目标数据,即目标数据M3为用户预期得到的数据,完成所述待处理数据的选择。本发明实施例通过多次对所述待处理数据进行选择处理,得到多个目标数据,并从多个目标数据中选择一个总相关度之和最小的目标数据作为最终的目标数据,使得目标数据的选择更加准确。
进一步地,基于上述数据选择方法的第三实施例,提出本发明数据选择方法的第四实施例。如图7所示,在所述步骤S20之前,还包括:
步骤S120,预先计算得到并保存所述待处理数据中每一个数据与其他各个数据的相关度。
在本实施例中,在有待处理数据需要处理,或者在接收到数据选择指令时,获取待处理数据之后,预先计算得到所述待处理数据中每一个数据与其他各个数据的相关度。计算得到的相关度可以生成与得到的相关度对应的相关度表。在计算得到所述待处理数据中每一个数据与其他各个数据的相关度之后,所述对所述待处理数据组中的每一个数据与其他各个数据的相关度求和得到各个数据的总相关度的过程可以是:参考图7。步骤S20包括:步骤S205,根据计算得到的相关度,确定所述待处理数据组中每一个数据与其他各个数据的相关度;步骤S206,根据确定的相关度,对所述待处理数据组中的每一个数据与其他各个数据的相关度求和得到各个数据的总相关度。即通过先计算并保存所述待处理数据中每一个数据与其他各个数据的相关度,在选择M+N个数据后,从保存的相关度中,选择对应数据的相关度对所述待处理数据组中的每一个数据与其他各个数据的相关度求和得到各个数据的总相关度的操作。本发明实施例通过预先计算得到所述待处理数据中每一个数据与其他各个的相关度,在需要运用各个数据与其他数据的相关度时,从提前保存的相关度中选择对应的相关度进行求和操作,不必每次均进行数据相关度的计算和求和操作,节省数据选择的流程,进而提高了数据选择的效率,同时节省了***的计算资源,提高了***的性能。
上述数据选择方法的第一至第四实施例的数据选择方法的执行主体均可以为终端。更进一步地,该方法可以由安装在终端上的客户端(如数据选择软件等)实现,其中,该终端可以包括但不限于笔记本电脑、手机、平板电脑或者PDA(PersonalDigitalAssistant,个人数字助理)等电子设备。
进一步地,提出本发明数据选择装置的较佳实施例。如图8所示,所述数据选择装置包括:选择模块10,计算模块20、处理模块30及替换模块40,其中所述选择模块10包括混排单元11和选择单元12。
选择模块10,用于按照预设规则从待处理数据中选择M+N个数据作为待处理数据组;
当有待处理数据输入需要处理,或者接收到数据选择指令时,获取待处理数据。按照预设规则从待处理数据中选择M+N个数据作为待处理数据组。所述待处理数据包括X个数据,且X>>M,M>>N,例如,可以是X=200,M=50,N=3,或者X=300,M=100,N=4等。所述按照预设规则从待处理数据中选择M+N个数据作为待处理数据组的过程可以是:随机从所述待处理数据中选择M+N个数据。例如,按照每隔预设个数选择一个数据的方式进行随机选择,所述预设个数可以是1、2或者3等。
所述混排单元11,用于将所述待处理数据进行混排;
所述选择单元12,用于从混排后的所述待处理数据中选择排序在前的M+N个数据。例如,所述待处理数据中每个数据的顺序为0,1,2,3,4,5,混排的顺序为2,3,1,5,0,4。进行混排所采用的函数可以是C++中的Shuffle函数,也可以采用其他使用的混排函数。为了降低计算资源的利用,N优选为小于3。可以理解的是,N也还可以是大于3。
计算模块20,用于对所述待处理数据组中的每一个数据与其他各个数据的相关度求和得到各个数据的总相关度;
在从所述待处理数据中选择M+N个数据作为待处理数据组后,计算得到所述待处理数据组中每一个数据与其他各个数据的相关度,根据计算得到的相关度,对所述待处理数据组中的每一个数据与其他各个数据的相关度求和得到各个数据的总相关度。例如,所述待处理数据中的一个数据为a,其他数据分别为b、c、d。则先计算得到a与b,a与c,a与d,b与c,b与d,c与d的相关度,再对计算得到的a与b,a与c,a与d的相关度求和得到a的总相关度a1,对计算得到的a与b,b与c,b与d的相关度求和得到b的总相关度b1,对计算得到的a与c,b与c,c与d的相关度求和得到c的总相关度c1,对计算得到的a与d,b与d,c与d的相关度求和得到d的总相关度d1。所述待处理数据组中其他各个数据的所述相关度可以通过每一个数据与其他数据的相关系数来体现,计算相关系数的公式为:其中表示期望,xi,yi分别代表所述待处理数据中的各个数据。得到所述待处理数据组中每一个数据与其他数据的相关系数Cij,其中i代表所述待处理数据组中的第一个数据,j代表所述待处理数据组中的另一个数据。
所述处理模块30,用于从所述待处理数据组中确定N个数据,所述N个数据的总相关度均大于所述待处理数据组中,除所述N个数据之外的其他数据的总相关度;
在对所述待处理数据组中的每一个数据与其他各个数据的相关度求和得到各个数据的总相关度后,从所述待处理数据组中确定N个数据,所述N个数据的总相关度均大于所述待处理数据组中,除所述N个数据之外的其他数据的总相关度。例如,所述待处理数据组中包括a、b、c和d四个数据,其中M为3,N为1,a的总相关度为a1,b的总相关度为b1,c的总相关度为c1,d的总相关度为d1,若a1=0.5,b1=0.8,c1=0.4,d1=0.9,因d1的值大于a1、b1和c1,则从所述待处理数据组中确定d1。
所述从所述待处理数据组中确定N个数据的过程可以是:按照总相关度由大至小的顺序将求和得到的总相关度进行排序;从所述待处理数据组中选择总相关度排序在前的N个数据。也还可以是:按照总相关度由大至小的顺序将求和得到的总相关度进行排序;从所述待处理数据组中选择总相关度排序在前的N个数据。
所述替换模块40,用于从所述待处理数据中选择除已被选择的数据之外的N个数据替换所述N个数据作为新的待处理数据组;
所述处理模块30,还用于在所述待处理数据中的所有数据被选择完毕时,从所述待处理数据组中删除最后一次确定的N个数据,得到目标数据,所述目标数据的个数为M。
在本实施例中,在确定N个数据之后,从所述待处理数据组中选择除已被选择的数据之外的N个数据替换所确定的N个数据作为新的待处理数据组。例如,所述待处理数据包括L个数据,第一次从所述待处理数据中选择M+N个数据,第二次从所述待处理数据中选择除去所述M+N之外的N个数据,以此类推,直至所述待处理数据中的所有数据被选择完毕。从所述待处理数据组中删除最后一次确定的N个数据,得到目标数据,所述目标数据的个数为M。
本发明实施例通过先从待处理数据中选择M+N个数据作为待处理数据组,从所述待处理数据组中确定N个数据,并从所述待处理数据中选择除所述N个数据之外的N个数据替换所确定的N个数据,重复操作,直至所述待处理数据中所有数据被选择完毕,删除所述待处理数据组中的最后一次确定的N个数据,得到目标数据,所述目标数据的个数为M。实现数据选择操作,无需进行穷举式数据选择,且从待处理数据中选择相关性小的数据。有效避免将穷举式数据选择导致数据选择复杂度高的技术问题,减少数据选择的计算过程,进而有效提高了数据选择的效率和准确性。
进一步地,当所述待处理数据不是N的倍数时,所述处理模块30,还用于判断所述待处理数据中未被选择的数据的个数是否小于N。
所述替换模块40,还用于当所述待处理数据中未被选择的数据的个数小于N时,从所述待处理数据中选择所述未被选择的数据替换所确定的N个数据作为新的待处理数据组;
所述处理模块30,还用于从所述新的待处理数据组中确定S个数据,所述S个数据的总相关度均大于所述待处理数据组中,除所述S个数据之外的其他数据的总相关度;从所述新的待处理数据组中删除所述S个数据,得到目标数据,所述目标数据的个数为M。
当所述待处理数据的个数为N的倍数时,通过计算模块20对所述待处理数据组中的每一个数据与其他各个数据的相关度求和得到各个数据的总相关度;处理模块30从所述待处理数据组中确定N个数据,所确定的N个数据的总相关度均大于所述待处理数据组中,除所确定的N个数据之外的其他数据的总相关度;替换模块40从所述待处理数据中选择除已被选择的数据之外的N个数据替换所确定的N个数据作为新的待处理数据组;通过处理模块30,当所述待处理数据中的所有数据被选择完毕时,从所述待处理数据组中删除最后一次确定的N个数据,得到目标数据,所述目标数据的个数为M。
当所述待处理数据的个数不是N的倍数时,在所述待处理数据中未被选择的数据的个数大于时,通过计算模块20对所述待处理数据组中的每一个数据与其他各个数据的相关度求和得到各个数据的总相关度;处理模块30从所述待处理数据组中确定N个数据,所确定的N个数据的总相关度均大于所述待处理数据组中,除所确定的N个数据之外的其他数据的总相关度;替换模块40从所述待处理数据中选择除已被选择的数据之外的N个数据替换所确定的N个数据作为新的待处理数据组;在最后一次未选择的数据的个数S小于N时,替换模块40从所述待处理数据中选择所述未被选择的数据替换所述总相关度最大的N个数据作为新的待处理数据组;处理模块30,从所述新的待处理数据组中确定S个数据,所述S个数据的总相关度均大于所述待处理数据组中,除所述S个数据之外的其他数据的总相关度;从所述新的待处理数据组中删除所述S个数据,得到目标数据。
所述处理模块30确定所述待处理数据中未被选择的数据的个数S小于N的过程可以是:获取所述待处理数据中未被选择的数据的个数S,将S与N比对,以得到S是否小于N的结果。本发明实施例通过在所述待处理数据的个数不是N的倍数时,在最后一次进行数据替换时,将所述待处理数据中未被选择的数据替换所确定的N个数据,实现高效的进行数据的选择。
进一步地,当通过选择模块10、计算模块20、处理模块30和替换模块40得到P个目标数据时,所述计算模块20,还用于当得到P个目标数据时,计算得到每一个目标数据中各个数据的总相关度之和;
通过选择模块10、计算模块20、处理模块30和替换模块40得到P个目标数据,因每次选择的M+N个数据不同,因此每次得到的目标数据不同。提前设置P的数量,P的设置根据用户对数据选择的预期和***性能进行设置,每一个待处理数据的获取的目标数据的次数均可以不同,默认P为0次。在用户不进行P的数值的设置时,得到一个目标数据,即为最终的目标数据。
在得到P个目标数据之后,计算得到每一个目标数据中各个数据的总相关度,并对每一个目标数据中的各个数据的总相关度求和,即分别得到每一个目标数据的总相关度之和。
所述处理模块30,还用于从所述P个目标数据中确定一个总相关度之和最小的目标数据,将所述总相关度之和最小的目标数据作为最终的目标数据。
从所述P个目标数据中确定一个总相关度之和最小的目标数据,例如,P为3,分别为M1、M2和M3,目标数据M1的总相关度之和为m1,目标数据M2的总相关度之和为m2,目标数据M3的总相关度之和为m3。若m1=2.3,m2=2.7,m3=2.1,则目标数据M3的总相关度之和最小,将目标数据M3作为最终的目标数据,即目标数据M3为用户预期得到的数据,完成所述待处理数据的选择。本发明实施例通过多次对所述待处理数据进行选择处理,得到多个目标数据,并从多个目标数据中选择一个总相关度之和最小的目标数据作为最终的目标数据,使得目标数据的选择更加准确。
进一步地,所述计算模块20,还用于预先计算得到并保存所述待处理数据中每一个数据与其他各个数据的相关度。
在本实施例中,在有待处理数据需要处理,或者在接收到数据选择指令时,获取待处理数据之后,预先计算得到所述待处理数据中每一个数据与其他各个数据的相关度。计算得到的相关度可以生成与得到的相关度对应的相关度表。在计算得到所述待处理数据中每一个数据与其他各个数据的相关度之后,所述对所述待处理数据组中的每一个数据与其他各个数据的相关度求和得到各个数据的总相关度的过程可以是:根据计算得到的相关度,确定所述待处理数据组中每一个数据与其他各个数据的相关度;根据确定的相关度,对所述待处理数据组中的每一个数据与其他各个数据的相关度求和得到各个数据的总相关度。即通过先计算并保存所述待处理数据中每一个数据与其他各个数据的相关度,在选择M+N个数据后,从保存的相关度中,选择对应数据的相关度对所述待处理数据组中的每一个数据与其他各个数据的相关度求和得到各个数据的总相关度的操作。本发明实施例通过预先计算得到所述待处理数据中每一个数据与其他各个的相关度,在需要运用各个数据与其他数据的相关度时,从提前保存的相关度中选择对应的相关度进行求和操作,不必每次均进行数据相关度的计算和求和操作,节省数据选择的流程,进而提高了数据选择的效率,同时节省了***的计算资源,提高了***的性能。
如图9所示,图9为本发明实施例中数据选择装置所在终端的总线图。该终端可以包括:至少一个处理器301,例如CPU,至少一个网络接口304,用户接口303,存储器305,至少一个通信总线302。其中,通信总线302用于实现这些组件之间的连接通信。其中,用户接口303可以包括显示屏(Display)、键盘(Keyboard),还可以包括标准的有线接口、无线接口。网络接口304可以包括标准的有线接口、无线接口(如无线网络接口)。存储器305可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。存储器305还可以是至少一个位于远离前述处理器301的存储装置。作为一种计算机存储介质的存储器305中可以包括操作***、网络通信模块、用户接口模块以及音频播放控制的程序。
在图9所示的数据选择装置所在终端中,网络接口304主要用于连接服务器,与服务器进行数据通信;而用户接口303主要用于接收用户指令,并与用户进行交互;而处理器301可以用于调用存储器305中存储的数据选择的程序,并执行以下操作:
通过用户接口303侦测数据选择请求;在用户接口303侦测到数据选择请求时,A、按照预设规则从待处理数据中选择M+N个数据作为待处理数据组;B、对所述待处理数据组中的每一个数据与其他各个数据的相关度求和得到各个数据的总相关度;C、从所述待处理数据组中确定N个数据,所确定的N个数据的总相关度均大于所述待处理数据组中,除所确定的N个数据之外的其他数据的总相关度;D、从所述待处理数据中选择除已被选择的数据之外的N个数据替换所确定的N个数据作为新的待处理数据组;E、继续执行步骤B、C和D,直至所述待处理数据中的所有数据被选择完毕;F、从所述待处理数据组中删除最后一次确定的N个数据,得到目标数据,所述目标数据的个数为M。
在一个实施例中,当所述待处理数据的个数不是N的倍数时,处理器301调用存储器305中存储的数据选择的程序还可以执行以下操作:
当所述待处理数据中未被选择的数据的个数S小于N时,从所述待处理数据中选择所述未被选择的数据替换所述总相关度最大的N个数据作为新的待处理数据组;
从所述新的待处理数据组中确定S个数据,所述S个数据的总相关度均大于所述待处理数据组中,除所述S个数据之外的其他数据的总相关度;
从所述新的待处理数据组中删除所述S个数据,得到目标数据。
在一个实施例中,处理器301调用存储器305中存储的数据选择的程序还可以执行以下操作:
重复执行步骤A、B、C、D、E和F,重复执行的次数为P次,得到P个目标数据;
计算得到每一个目标数据中各个数据的总相关度之和;
从所述P个目标数据中确定一个总相关度之和最小的目标数据,将所述总相关度之和最小的目标数据作为最终的目标数据。
在一个实施例中,处理器301调用存储器305中存储的数据选择的程序还可以执行以下操作:
将所述待处理数据进行混排;
从混排后的所述待处理数据中选择排序在前的M+N个数据。
在一个实施例中,处理器301调用存储器305中存储的数据选择的程序还可以执行以下操作:
预先计算得到并保存所述待处理数据中每一个数据与其他各个数据的相关度。
在一个实施例中,处理器301调用存储器305中存储的数据选择的程序还可以执行以下操作:
预先计算得到并保存所述待处理数据中每一个数据与其他各个的相关度。
在一个实施例中,处理器301调用存储器305中存储的数据选择的程序还可以执行以下操作:
按照总相关度由大至小的顺序将求和得到的总相关度进行排序;
从所述待处理数据组中选择总相关度排序在前的N个数据。
在一个实施例中,处理器301调用存储器305中存储的数据选择的程序还可以执行以下操作:
按照总相关度由小至大的顺序将求和得到的总相关度进行排序;
从所述待处理数据组中选择总相关度排序在后的N个数据。
本实施例图9所描述的数据选择装置所在终端,通过先从待处理数据中选择M+N个数据作为待处理数据组,从所述待处理数据组中确定N个数据,并从所述待处理数据中选择除所述N个数据之外的N个数据替换所述N个数据,重复操作,直至所述待处理数据中所有数据被选择完毕,删除所述待处理数据组中的所述N个数据,得到目标数据,实现数据选择操作,无需进行穷举式数据选择。有效避免将穷举式数据选择导致数据选择复杂度高的技术问题,减少数据选择的计算过程,进而有效提高了数据选择的效率。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (16)

1.一种数据选择方法,其特征在于,所述数据选择方法包括步骤:
A、按照预设规则从待处理数据中选择M+N个数据作为待处理数据组;
B、对所述待处理数据组中的每一个数据与其他各个数据的相关度求和得到各个数据的总相关度;
C、从所述待处理数据组中确定N个数据,所确定的N个数据的总相关度均大于所述待处理数据组中,除所确定的N个数据之外的其他数据的总相关度;
D、从所述待处理数据中选择除已被选择的数据之外的N个数据替换所确定的N个数据作为新的待处理数据组;
E、继续执行步骤B、C和D,直至所述待处理数据中的所有数据被选择完毕;
F、从所述待处理数据组中删除最后一次确定的N个数据,得到目标数据,所述目标数据的个数为M。
2.如权利要求1所述的数据选择方法,其特征在于,当所述待处理数据的个数不是N的倍数时,所述数据选择方法还包括步骤:
当所述待处理数据中未被选择的数据的个数S小于N时,从所述待处理数据中选择所述未被选择的数据替换所确定的N个数据作为新的待处理数据组;
从所述新的待处理数据组中确定S个数据,所述S个数据的总相关度均大于所述待处理数据组中,除所述S个数据之外的其他数据的总相关度;
从所述新的待处理数据组中删除所述S个数据,得到目标数据,所述目标数据的个数为M。
3.如权利要求1所述的数据选择方法,其特征在于,所述数据选择方法还包括步骤:
重复执行步骤A、B、C、D、E和F,重复执行的次数为P次,得到P个目标数据;
计算得到每一个目标数据中各个数据的总相关度之和;
从所述P个目标数据中确定一个总相关度之和最小的目标数据,将所述总相关度之和最小的目标数据作为最终的目标数据。
4.如权利要求1至3任一项所述的数据选择方法,其特征在于,所述按照预设规则从待处理数据中选择M+N个数据作为待处理数据组的步骤包括:
将所述待处理数据进行混排;
从混排后的所述待处理数据中选择排序在前的M+N个数据。
5.如权利要求1至3任一项所述的数据选择方法,其特征在于,所述对所述待处理数据组中的每一个数据与其他各个数据的相关度求和得到各个数据的总相关度的步骤之前,还包括:
预先计算得到并保存所述待处理数据中每一个数据与其他各个数据的相关度。
6.如权利要求5所述的数据选择方法,其特征在于,所述对所述待处理数据组中的每一个数据与其他各个数据的相关度求和得到各个数据的总相关度的步骤包括:
根据计算得到的相关度,确定所述待处理数据组中每一个数据与其他各个数据的相关度;
根据确定的相关度,对所述待处理数据组中的每一个数据与其他各个数据的相关度求和得到各个数据的总相关度。
7.如权利要求1至3任一项所述的数据选择方法,其特征在于,所述从所述待处理数据组中确定N个数据的步骤包括:
按照总相关度由大至小的顺序将求和得到的总相关度进行排序;
从所述待处理数据组中选择总相关度排序在前的N个数据。
8.如权利要求1至3任一项所述的数据选择方法,其特征在于,所述从所述待处理数据组中确定N个数据的步骤包括:
按照总相关度由小至大的顺序将求和得到的总相关度进行排序;
从所述待处理数据组中选择总相关度排序在后的N个数据。
9.一种数据选择装置,其特征在于,所述数据选择装置包括:
选择模块,用于按照预设规则从待处理数据中选择M+N个数据作为待处理数据组;
计算模块,用于对所述待处理数据组中的每一个数据与其他各个数据的相关度求和得到各个数据的总相关度;
处理模块,用于从所述待处理数据组中确定N个数据,所确定的N个数据的总相关度均大于所述待处理数据组中,除所确定的N个数据之外的其他数据的总相关度;
替换模块,用于从所述待处理数据中选择除已被选择的数据之外的N个数据替换所确定的N个数据作为新的待处理数据组;
所述处理模块,还用于当所述待处理数据中的所有数据被选择完毕时,从所述待处理数据组中删除最后一次确定的N个数据,得到目标数据,所述目标数据的个数为M。
10.如权利要求9所述的数据选择方法,其特征在于,当所述待处理数据的个数不是N的倍数时,所述替换模块,还用于当所述待处理数据中未被选择的数据的个数S小于N时,从所述待处理数据中选择所述未被选择的数据替换所述总相关度最大的N个数据作为新的待处理数据组;
所述处理模块,还用于从所述新的待处理数据组中确定S个数据,所述S个数据的总相关度均大于所述待处理数据组中,除所述S个数据之外的其他数据的总相关度;从所述新的待处理数据组中删除所述S个数据,得到目标数据。
11.如权利要求9所述的数据选择方法,其特征在于,当得到P个目标数据时,所述计算模块,还用于计算得到每一个目标数据中各个数据的总相关度之和;
所述处理模块,还用于从所述P个目标数据中确定一个总相关度之和最小的目标数据,将所述总相关度之和最小的目标数据作为最终的目标数据。
12.如权利要求9至11任一项所述的数据选择装置,其特征在于,所述选择模块包括混排单元和获取单元,
所述混排单元,用于将所述待处理数据进行混排;
所述获取单元,用于从混排后的所述待处理数据中选择排序在前的M+N个数据。
13.如权利要求9至11任一项所述的数据选择装置,其特征在于,所述计算模块,还用于预先计算得到并保存所述待处理数据中每一个数据与其他各个数据的相关度。
14.如权利要求13任一项所述的数据选择装置,其特征在于,所述计算模块,还用于根据计算得到的相关度,确定所述待处理数据组中每一个数据与其他各个数据的相关度;根据确定的相关度,对所述待处理数据组中的每一个数据与其他各个数据的相关度求和得到各个数据的总相关度。
15.如权利要求9至11任一项所述的数据选择装置,其特征在于,所述处理模块,还用于按照总相关度由大至小的顺序将求和得到的总相关度进行排序;从所述待处理数据组中选择总相关度排序在前的N个数据。
16.如权利要求9至11任一项所述的数据选择装置,其特征在于,所述处理模块,还用于按照总相关度由小至大的顺序将求和得到的总相关度进行排序;从所述待处理数据组中选择总相关度排序在后的N个数据。
CN201410419106.5A 2014-08-22 2014-08-22 数据选择方法及装置 Active CN105468603B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410419106.5A CN105468603B (zh) 2014-08-22 2014-08-22 数据选择方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410419106.5A CN105468603B (zh) 2014-08-22 2014-08-22 数据选择方法及装置

Publications (2)

Publication Number Publication Date
CN105468603A true CN105468603A (zh) 2016-04-06
CN105468603B CN105468603B (zh) 2019-04-02

Family

ID=55606315

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410419106.5A Active CN105468603B (zh) 2014-08-22 2014-08-22 数据选择方法及装置

Country Status (1)

Country Link
CN (1) CN105468603B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106529450A (zh) * 2016-11-03 2017-03-22 珠海格力电器股份有限公司 一种表情图片生成方法及装置
CN109542927A (zh) * 2018-10-24 2019-03-29 南京邮电大学 有效数据筛选方法、可读存储介质和终端

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09223058A (ja) * 1996-02-14 1997-08-26 Nec Corp インデックス部とデータ部を独立ファイルとするビットマップによるファイルスペース管理方式
CN101884043A (zh) * 2007-12-05 2010-11-10 新叶股份有限公司 比特序列合并排序装置、方法以及程序
CN101911060A (zh) * 2007-12-28 2010-12-08 新叶股份有限公司 数据库的索引关键字更新方法以及程序
CN102763105A (zh) * 2010-02-23 2012-10-31 诺基亚公司 用于分段和概括媒体内容的方法和装置
CN104050242A (zh) * 2014-05-27 2014-09-17 哈尔滨理工大学 基于最大信息系数的特征选择、分类方法及其装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09223058A (ja) * 1996-02-14 1997-08-26 Nec Corp インデックス部とデータ部を独立ファイルとするビットマップによるファイルスペース管理方式
CN101884043A (zh) * 2007-12-05 2010-11-10 新叶股份有限公司 比特序列合并排序装置、方法以及程序
CN101911060A (zh) * 2007-12-28 2010-12-08 新叶股份有限公司 数据库的索引关键字更新方法以及程序
CN102763105A (zh) * 2010-02-23 2012-10-31 诺基亚公司 用于分段和概括媒体内容的方法和装置
CN104050242A (zh) * 2014-05-27 2014-09-17 哈尔滨理工大学 基于最大信息系数的特征选择、分类方法及其装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106529450A (zh) * 2016-11-03 2017-03-22 珠海格力电器股份有限公司 一种表情图片生成方法及装置
CN109542927A (zh) * 2018-10-24 2019-03-29 南京邮电大学 有效数据筛选方法、可读存储介质和终端
CN109542927B (zh) * 2018-10-24 2021-09-28 南京邮电大学 有效数据筛选方法、可读存储介质和终端

Also Published As

Publication number Publication date
CN105468603B (zh) 2019-04-02

Similar Documents

Publication Publication Date Title
US10547618B2 (en) Method and apparatus for setting access privilege, server and storage medium
CN108108384B (zh) 一种数据存储方法及装置
KR102104193B1 (ko) 서비스 파라미터 선택 방법 및 관련된 디바이스
CN107179930B (zh) 一种应用卸载推荐方法及装置
CN110209348B (zh) 数据存储方法、装置、电子设备及存储介质
CN108628898B (zh) 数据入库的方法、装置和设备
CN112434188B (zh) 一种异构数据库的数据集成方法、装置及存储介质
CN113254472B (zh) 一种参数配置方法、装置、设备及可读存储介质
CN112765473B (zh) 获取目标关联设备的数据处理***
CN111163072A (zh) 机器学习模型中特征值的确定方法、装置及电子设备
CN111949681A (zh) 数据的聚合处理装置、方法和存储介质
CN110909266A (zh) 深度分页的方法、装置及服务器
CN105468603A (zh) 数据选择方法及装置
CN111767419B (zh) 图片搜索方法、装置、设备及计算机可读存储介质
CN115880508A (zh) 图像数据处理方法、装置、设备以及存储介质
CN104636474A (zh) 构建音频指纹库及检索音频指纹的方法和设备
CN112182107A (zh) 名单数据获取方法、装置、计算机设备及存储介质
CN112600756B (zh) 业务数据的处理方法及装置
CN111127064B (zh) 用户社会属性的确定方法、装置与电子设备
CN113434508B (zh) 用于存储信息的方法和装置
CN110704690B (zh) 一种数据处理方法、设备及存储介质
CN110825924B (zh) 一种数据检测方法、装置及存储介质
CN109240878B (zh) 数据处理方法和装置
CN116700969A (zh) 任务处理方法、装置、计算机设备和存储介质
CN116628306A (zh) 网页资源获取方法、装置、电子设备和存储介质

Legal Events

Date Code Title Description
C06 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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20190802

Address after: Shenzhen Futian District City, Guangdong province 518044 Zhenxing Road, SEG Science Park 2 East Room 403

Co-patentee after: Tencent cloud computing (Beijing) limited liability company

Patentee after: Tencent Technology (Shenzhen) Co., Ltd.

Address before: Shenzhen Futian District City, Guangdong province 518000 Zhenxing Road, SEG Science Park 2 East Room 403

Patentee before: Tencent Technology (Shenzhen) Co., Ltd.