數(shù)據(jù)選擇方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及到數(shù)據(jù)處理技術(shù)領(lǐng)域,特別涉及到數(shù)據(jù)選擇方法及裝置。
【背景技術(shù)】
[0002] 二進(jìn)制數(shù)據(jù),是由0101...這樣的字節(jié)流構(gòu)成。區(qū)別于實(shí)數(shù)數(shù)據(jù)(實(shí)數(shù)數(shù)據(jù)的每 一個(gè)維度都是float或double類型的數(shù)據(jù)),二進(jìn)制數(shù)據(jù)的每一個(gè)維度都是0或者1,占用 1 個(gè) bit。
[0003] 在大規(guī)?;趦?nèi)容的圖像檢索、音樂(lè)識(shí)別、街景識(shí)別、人臉檢索、人臉驗(yàn)證等領(lǐng)域 中,都廣泛的采用了二進(jìn)制數(shù)據(jù)的特征。由于其計(jì)算速度快,占用存儲(chǔ)空間少,在海量數(shù)據(jù) 的今天,二進(jìn)制數(shù)據(jù)的優(yōu)勢(shì)十分明顯。尤其是在移動(dòng)互聯(lián)網(wǎng)時(shí)代,手機(jī)、智能手表、智能眼鏡 等嵌入式設(shè)備越來(lái)越普及,在這種運(yùn)算和存儲(chǔ)能力都有限的計(jì)算設(shè)備上,還要進(jìn)行實(shí)時(shí)的 數(shù)據(jù)特征提取時(shí),二進(jìn)制數(shù)據(jù)更加成為首選的特征。
[0004] 在海量信息檢索過(guò)程中,倒排索引是常用的一種數(shù)據(jù)結(jié)構(gòu)。倒排索引結(jié)構(gòu)是將相 同關(guān)鍵字特征映射到同一個(gè)列表中的數(shù)據(jù)結(jié)構(gòu)。目前已經(jīng)在百度、谷歌等搜索引擎的中文 搜索服務(wù)中得到廣泛應(yīng)用。如何利用多媒體數(shù)據(jù)中的二進(jìn)制數(shù)據(jù)的特征建立高效的索引至 今仍是一個(gè)開放的、被廣泛討論的課題。
[0005] 在建立倒排索引的過(guò)程中,如何選擇關(guān)鍵字是影響最終效果的關(guān)鍵。如果關(guān)鍵字 的分布不均勻,檢索時(shí)不同關(guān)鍵字消耗的時(shí)間差別很大,無(wú)法對(duì)系統(tǒng)的響應(yīng)時(shí)間進(jìn)行很好 的控制。尤其是當(dāng)二進(jìn)制數(shù)據(jù)的bit位數(shù)較大的時(shí)候,這種分布的不均衡性呈指數(shù)級(jí)不均 衡,使得最終的檢索時(shí)間十分不可控。
[0006] 目前主流的二進(jìn)制數(shù)據(jù)關(guān)鍵字選擇的方法有:1)從二進(jìn)制數(shù)據(jù)中隨機(jī)篩選若干 bit位作為關(guān)鍵字,2)選擇二進(jìn)制數(shù)據(jù)前面的若干bit位作為關(guān)鍵字,3)選擇均值接近0.5 的bit的若干bit位作為關(guān)鍵字等方式。
[0007] 上述3種選擇關(guān)鍵字的方法,都存在很大的缺陷。隨機(jī)選擇或選擇前面若干bit 的方式都極容易導(dǎo)致數(shù)據(jù)分布的不均衡,選擇均值為〇. 5的若干bit只考慮到單個(gè)bit的 分布,沒(méi)有考慮到bit之間存在的關(guān)聯(lián)性,所以也容易出現(xiàn)數(shù)據(jù)的分布不均衡。且在關(guān)鍵字 選擇的計(jì)算過(guò)程中需要利用窮舉式的方式進(jìn)行選擇,關(guān)鍵字選擇的過(guò)程復(fù)雜且不夠準(zhǔn)確, 降低了關(guān)鍵字選擇的效率和準(zhǔn)確性。
【發(fā)明內(nèi)容】
[0008] 本發(fā)明實(shí)施例提供一種數(shù)據(jù)選擇方法及裝置,旨在實(shí)現(xiàn)減少數(shù)據(jù)選擇的計(jì)算過(guò) 程,進(jìn)而有效提高數(shù)據(jù)選擇的效率和準(zhǔn)確性。
[0009] 本發(fā)明實(shí)施例提出一種數(shù)據(jù)選擇方法,所述數(shù)據(jù)選擇方法包括步驟:
[0010] A、按照預(yù)設(shè)規(guī)則從待處理數(shù)據(jù)中選擇M+N個(gè)數(shù)據(jù)作為待處理數(shù)據(jù)組;
[0011] B、對(duì)所述待處理數(shù)據(jù)組中的每一個(gè)數(shù)據(jù)與其他各個(gè)數(shù)據(jù)的相關(guān)度求和得到各個(gè) 數(shù)據(jù)的總相關(guān)度;
[0012] C、從所述待處理數(shù)據(jù)組中確定N個(gè)數(shù)據(jù),所確定的N個(gè)數(shù)據(jù)的總相關(guān)度均大于所 述待處理數(shù)據(jù)組中,除所確定的N個(gè)數(shù)據(jù)之外的其他數(shù)據(jù)的總相關(guān)度;
[0013] D、從所述待處理數(shù)據(jù)中選擇除已被選擇的數(shù)據(jù)之外的N個(gè)數(shù)據(jù)替換所確定的N個(gè) 數(shù)據(jù)作為新的待處理數(shù)據(jù)組;
[0014] E、繼續(xù)執(zhí)行步驟B、C和D,直至所述待處理數(shù)據(jù)中的所有數(shù)據(jù)被選擇完畢;
[0015] F、從所述待處理數(shù)據(jù)組中刪除最后一次確定的N個(gè)數(shù)據(jù),得到目標(biāo)數(shù)據(jù),所述目 標(biāo)數(shù)據(jù)的個(gè)數(shù)為M。
[0016] 本發(fā)明實(shí)施例還提出一種數(shù)據(jù)選擇裝置,所述數(shù)據(jù)選擇裝置包括:
[0017] 選擇模塊,用于按照預(yù)設(shè)規(guī)則從待處理數(shù)據(jù)中選擇M+N個(gè)數(shù)據(jù)作為待處理數(shù)據(jù) 組;
[0018] 計(jì)算模塊,用于對(duì)所述待處理數(shù)據(jù)組中的每一個(gè)數(shù)據(jù)與其他各個(gè)數(shù)據(jù)的相關(guān)度求 和得到各個(gè)數(shù)據(jù)的總相關(guān)度;
[0019] 處理模塊,用于從所述待處理數(shù)據(jù)組中確定N個(gè)數(shù)據(jù),所確定的N個(gè)數(shù)據(jù)的總相關(guān) 度均大于所述待處理數(shù)據(jù)組中,除所確定的N個(gè)數(shù)據(jù)之外的其他數(shù)據(jù)的總相關(guān)度;
[0020] 替換模塊,用于從所述待處理數(shù)據(jù)中選擇除已被選擇的數(shù)據(jù)之外的N個(gè)數(shù)據(jù)替換 所確定的N個(gè)數(shù)據(jù)作為新的待處理數(shù)據(jù)組;
[0021] 所述處理模塊,還用于當(dāng)所述待處理數(shù)據(jù)中的所有數(shù)據(jù)被選擇完畢時(shí),從所述待 處理數(shù)據(jù)組中刪除最后一次確定的N個(gè)數(shù)據(jù),得到目標(biāo)數(shù)據(jù),所述目標(biāo)數(shù)據(jù)的個(gè)數(shù)為M。
[0022] 本發(fā)明實(shí)施例通過(guò)先從待處理數(shù)據(jù)中選擇M+N個(gè)數(shù)據(jù)作為待處理數(shù)據(jù)組,從所述 待處理數(shù)據(jù)組中確定N個(gè)數(shù)據(jù),并從所述待處理數(shù)據(jù)中選擇除所確定的N個(gè)數(shù)據(jù)之外的N 個(gè)數(shù)據(jù)替換所確定的N個(gè)數(shù)據(jù),重復(fù)操作,直至所述待處理數(shù)據(jù)中所有數(shù)據(jù)被選擇完畢,刪 除所述待處理數(shù)據(jù)組中的所確定的N個(gè)數(shù)據(jù),得到目標(biāo)數(shù)據(jù),所述目標(biāo)數(shù)據(jù)的個(gè)數(shù)為M。實(shí) 現(xiàn)數(shù)據(jù)選擇操作,無(wú)需進(jìn)行窮舉式數(shù)據(jù)選擇,且從待處理數(shù)據(jù)中選擇相關(guān)性小的數(shù)據(jù)。有效 避免將窮舉式數(shù)據(jù)選擇導(dǎo)致數(shù)據(jù)選擇復(fù)雜度高的技術(shù)問(wèn)題,減少數(shù)據(jù)選擇的計(jì)算過(guò)程,進(jìn) 而有效提高了數(shù)據(jù)選擇的效率和準(zhǔn)確性。
【附圖說(shuō)明】
[0023] 圖1為本發(fā)明數(shù)據(jù)選擇方法的第一實(shí)施例的流程圖;
[0024] 圖2為圖1中步驟S10的細(xì)化流程圖;
[0025] 圖3為圖1中步驟S20的一細(xì)化流程圖;
[0026] 圖4為圖1中步驟S20的另一細(xì)化流程圖;
[0027] 圖5為本發(fā)明數(shù)據(jù)選擇方法的第二實(shí)施例的流程圖;
[0028] 圖6為本發(fā)明數(shù)據(jù)選擇方法的第三實(shí)施例的流程圖;
[0029] 圖7為本發(fā)明數(shù)據(jù)選擇方法的第四實(shí)施例的流程圖;
[0030] 圖8為本發(fā)明數(shù)據(jù)選擇裝置的較佳實(shí)施例的功能模塊示意圖;
[0031] 圖9為本發(fā)明數(shù)據(jù)選擇裝置所在終端的硬件結(jié)構(gòu)示意圖。
[0032] 本發(fā)明目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)一步說(shuō)明。
【具體實(shí)施方式】
[0033] 應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0034] 本發(fā)明提出一種數(shù)據(jù)選擇方法。
[0035] 如圖1所示,圖1為本發(fā)明數(shù)據(jù)選擇方法的第一實(shí)施例的流程圖。本實(shí)施例提到 的數(shù)據(jù)選擇方法包括以下步驟:
[0036] 步驟S10,按照預(yù)設(shè)規(guī)則從待處理數(shù)據(jù)中選擇M+N個(gè)數(shù)據(jù)作為待處理數(shù)據(jù)組;
[0037] 當(dāng)有待處理數(shù)據(jù)輸入需要處理,或者接收到數(shù)據(jù)選擇指令時(shí),獲取待處理數(shù)據(jù)。所 述待處理數(shù)據(jù)可以是二進(jìn)制數(shù)據(jù)、八進(jìn)制數(shù)據(jù)、十進(jìn)制數(shù)據(jù)或16進(jìn)制數(shù)據(jù)等。按照預(yù)設(shè)規(guī) 則從待處理數(shù)據(jù)中選擇M+N個(gè)數(shù)據(jù)作為待處理數(shù)據(jù)組。所述待處理數(shù)據(jù)包括X個(gè)數(shù)據(jù),且 X?M,M?N,例如,可以是 X = 200,M = 50,N = 3,或者X = 300,M = 100,N = 4等。所述 按照預(yù)設(shè)規(guī)則從待處理數(shù)據(jù)中選擇M+N個(gè)數(shù)據(jù)作為待處理數(shù)據(jù)組的過(guò)程可以是:隨機(jī)從所 述待處理數(shù)據(jù)中選擇M+N個(gè)數(shù)據(jù)。例如,按照每隔預(yù)設(shè)個(gè)數(shù)選擇一個(gè)數(shù)據(jù)的方式進(jìn)行隨機(jī) 選擇,所述預(yù)設(shè)個(gè)數(shù)可以是1、2或者3等。也還可以是:參考圖2,圖2為圖1中步驟S10的 細(xì)化流程圖。步驟S101,將所述待處理數(shù)據(jù)進(jìn)行混排;步驟S102,從混排后的所述待處理數(shù) 據(jù)中選擇排序在前的M+N個(gè)數(shù)據(jù)。例如,所述待處理數(shù)據(jù)中每個(gè)數(shù)據(jù)的順序?yàn)?,1,2,3,4, 5,混排的順序?yàn)?,3,1,5,0,4。進(jìn)行混排所采用的函數(shù)可以是C++中的Shuf f 1 e函數(shù),也可 以采用其他使用的混排函數(shù)。為了降低計(jì)算資源的利用,N優(yōu)選為小于3。可以理解的是, N也還可以是大于3。
[0038] 步驟S20,對(duì)所述待處理數(shù)據(jù)組中的每一個(gè)數(shù)據(jù)與其他各個(gè)數(shù)據(jù)的相關(guān)度求和得 到各個(gè)數(shù)據(jù)的總相關(guān)度;
[0039] 在從所述待處理數(shù)據(jù)中選擇M+N個(gè)數(shù)據(jù)作為待處理數(shù)據(jù)組后,計(jì)算得到所述待處 理數(shù)據(jù)組中每一個(gè)數(shù)據(jù)與其他各個(gè)數(shù)據(jù)的相關(guān)度,根據(jù)計(jì)算得到的相關(guān)度,對(duì)所述待處理 數(shù)據(jù)組中的每一個(gè)數(shù)據(jù)與其他各個(gè)數(shù)據(jù)的相關(guān)度求和得到各個(gè)數(shù)據(jù)的總相關(guān)度。例如,所 述待處理數(shù)據(jù)中的一個(gè)數(shù)據(jù)為a,其他數(shù)據(jù)分別為b、c、d。則先計(jì)算得到a與b,a與c,a 與d,b與c,b與d,c與d的相關(guān)度,再對(duì)計(jì)算得到的a與b,a與c,a與d的相關(guān)度求和 得到a的總相關(guān)度al,對(duì)計(jì)算得到的a與b,b與c,b與d的相關(guān)度求和得到b的總相關(guān)度 bl,對(duì)計(jì)算得到的a與c,b與c,c與d的相關(guān)度求和得到c的總相關(guān)度cl,對(duì)計(jì)算得到的a 與d,b與d,c與d的相關(guān)度求和得到d的總相關(guān)度dl。所述待處理數(shù)據(jù)組中其他各個(gè)數(shù) 據(jù)的所述相關(guān)度可以通過(guò)每一個(gè)數(shù)據(jù)與其他數(shù)據(jù)的相關(guān)系