国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種云計算中保護(hù)數(shù)據(jù)隱私的快速多關(guān)鍵詞語義排序搜索方法與流程

      文檔序號:11729319閱讀:302來源:國知局
      一種云計算中保護(hù)數(shù)據(jù)隱私的快速多關(guān)鍵詞語義排序搜索方法與流程

      本發(fā)明涉及云計算領(lǐng)域,特別是一種云計算中保護(hù)數(shù)據(jù)隱私的快速多關(guān)鍵詞語義排序搜索方法。



      背景技術(shù):

      隨著云計算技術(shù)的飛速發(fā)展,敏感數(shù)據(jù)越來越多的存儲到云中,如電子郵件、個人健康記錄、私人視頻和照片、公司財務(wù)數(shù)據(jù)和政府文件等。云服務(wù)器提供了高質(zhì)量的數(shù)據(jù)存儲服務(wù),將數(shù)據(jù)存儲到云中,可以減少用戶的數(shù)據(jù)存儲和維護(hù)開銷。但是數(shù)據(jù)擁有者和云服務(wù)器不在同一個信任域中會使外包數(shù)據(jù)處于危險之中,為了保護(hù)用戶的隱私安全,將數(shù)據(jù)加密后再存儲到云服務(wù)器是一種常見的解決方法。然而數(shù)據(jù)經(jīng)過加密后不再具有原有的特性,當(dāng)用戶需要某些數(shù)據(jù)時,無法直接在密文中分辨出所需要的數(shù)據(jù),在數(shù)據(jù)量很小的情況下,可以將所有的密文數(shù)據(jù)下載至本地,解密后在明文中搜索自己想要的數(shù)據(jù)。然而隨著云端數(shù)據(jù)規(guī)模的急劇增長,這種浪費(fèi)了大量時間開銷與帶寬功耗的做法顯然已經(jīng)不能滿足用戶的實際需求,因此,如何在大量密文中搜索到需要的文檔成為了一個難題。

      在song等提出通過密鑰流加密數(shù)據(jù)并實現(xiàn)可搜索加密方案后,wang等提出了單關(guān)鍵詞排序搜索方案,通過保序加密對文檔的tf-idf(詞頻-逆文檔頻率)進(jìn)行加密,實現(xiàn)對搜索結(jié)果的精確排序。cao等提出了多關(guān)鍵詞排序可搜索加密方案,引入了向量空間模型和安全knn(securek-nearestneighbor)方法,通過矩陣對索引向量進(jìn)行加密,并對索引向量和搜索向量計算內(nèi)積相似度來實現(xiàn)了多關(guān)鍵詞的排序搜索。li等提出了支持布爾查詢的可搜索加密方案,將執(zhí)行“或”、“與”、“非”查詢詞的權(quán)重設(shè)置為三組正數(shù)遞增序列ai,bj,ck,并且序列間滿足超遞增,即∑ai<b1,∑ai+∑bj<c1,接著將執(zhí)行“非”查詢詞的權(quán)重ck置換成對應(yīng)的相反數(shù)-ck,則相關(guān)度分?jǐn)?shù)大于0的文檔即為滿足布爾查詢的相關(guān)文檔。但是上述方案沒有考慮到文檔向量的高度稀疏性,一篇文檔中往往只會出現(xiàn)少量的關(guān)鍵詞,因此文檔向量中會出現(xiàn)大量的0,在檢索時,云服務(wù)器無法知道哪些是相關(guān)文檔,因而要對所有的文檔進(jìn)行相似度分?jǐn)?shù)的計算和排序,浪費(fèi)了大量的時間,降低了方案的查詢效率。

      用戶輸入的搜索請求經(jīng)常會出現(xiàn)拼寫錯誤或格式不匹配的情況,以上方案并不能滿足用戶的實際需求。因此,li等實現(xiàn)了關(guān)鍵詞的模糊搜索方案,用通配符的方法構(gòu)造關(guān)鍵詞模糊集合,并以編輯距離作為相似度度量標(biāo)準(zhǔn)。liu等提出了節(jié)省存儲空間的模糊搜索方案,通過字典來構(gòu)造模糊集,但是搜索的精確度有所降低。chai等人首次提出了“半誠實且好奇”的云服務(wù)器模型,服務(wù)器提供商為了節(jié)省計算量和帶寬資源,可能僅僅執(zhí)行了部分搜索操作并返回部分搜索結(jié)果,因此,文章提出了基于查找樹索引結(jié)構(gòu)的可驗證的可搜索加密方案。wang等利用通配符和索引樹,實現(xiàn)了高效的模糊搜索方案。chuah等為了提高搜索效率,實現(xiàn)了基于bedtree的多關(guān)鍵詞模糊搜索方案。wang等將局部敏感哈希和安全knn方法(securek-nearestneighbor)結(jié)合,實現(xiàn)了一種新的多關(guān)鍵詞模糊搜索方案。wang等人在關(guān)鍵詞模糊搜索的基礎(chǔ)上,通過構(gòu)造符號索引樹,提出了可驗證的關(guān)鍵詞模糊搜索方案。但是以上的模糊搜索方案僅僅考慮了關(guān)鍵詞字符上的相似,并沒有考慮到關(guān)鍵詞語義上的相似。因此,fu等對文檔關(guān)鍵詞進(jìn)行同義詞拓展,通過計算內(nèi)積的方式,實現(xiàn)了支持同義詞查詢的多關(guān)鍵詞排序搜索方案。xia等為文檔集創(chuàng)建倒排索引,利用語義庫擴(kuò)展查詢關(guān)鍵詞,并且通過一對多保序加密函數(shù)對相關(guān)度分?jǐn)?shù)進(jìn)行加密,實現(xiàn)了多關(guān)鍵詞語義排序搜索方案。然而,這些語義模糊搜索方案沒有將語義相似度參與到文檔的評分中,并且忽略了不同域中的關(guān)鍵詞的權(quán)重差異。

      針對目前的密文關(guān)鍵詞搜索方案中,查詢效率低、索引創(chuàng)建時間長、排序結(jié)果不精確等問題,本發(fā)明提出了一種可以提高查詢效率、降低索引創(chuàng)建時間,并實現(xiàn)語義的密文關(guān)鍵詞搜索方案。



      技術(shù)實現(xiàn)要素:

      有鑒于此,本發(fā)明的目的是提出一種云計算中保護(hù)數(shù)據(jù)隱私的快速多關(guān)鍵詞語義排序搜索方法,可以提高查詢效率、降低索引創(chuàng)建時間,并實現(xiàn)語義的密文關(guān)鍵詞搜索。

      本發(fā)明采用以下方案實現(xiàn):一種云計算中保護(hù)數(shù)據(jù)隱私的快速多關(guān)鍵詞語義排序搜索方法,包括數(shù)據(jù)擁有者、授權(quán)用戶、私有云服務(wù)器以及公有云服務(wù)器,具體包括以下步驟:

      步驟s1:數(shù)據(jù)擁有者從明文文檔集合f=(f1,f2,…,fm)中抽取關(guān)鍵詞,得到關(guān)鍵詞集合w=(w1,w2,…,wn);

      步驟s2:數(shù)據(jù)擁有者隨機(jī)產(chǎn)生一個(n+2)比特的向量s和兩個(n+2)×(n+2)維的可逆矩陣{m1,m2},密鑰sk由四元組{s,m1,m2,u}組成,u是一個正整數(shù)并且u|n;接著,數(shù)據(jù)擁有者生成一個加密文檔的密鑰sk,將密鑰sk、sk發(fā)送給授權(quán)用戶;

      步驟s3:創(chuàng)建索引:數(shù)據(jù)擁有者為每篇文檔fi生成文檔向量若文檔fi中包含關(guān)鍵詞wj,則令否則令接著將文檔向量分u塊,得到文檔標(biāo)記向量bi=(bb1,bb2,…,bbu)與ei=(bi,sidi),然后計算關(guān)鍵詞wj在文檔fi中的詞頻權(quán)重wft,f、逆文檔頻率idft和域加權(quán)得分zij后,將中1的值置為zij·(wft,f×idft);接著對進(jìn)行維度擴(kuò)展,其中第(n+1)位設(shè)置成一個隨機(jī)數(shù)ε,第(n+2)位設(shè)置成1,那么表示為

      采用安全knn算法加密文檔向量得到ii=(sidi,vi);其中,為向量的分裂向量;最后,數(shù)據(jù)擁有者將e=(e1,e2,···,em)發(fā)送給私有云服務(wù)器,將索引集合上傳給公有云服務(wù)器;

      步驟s4:數(shù)據(jù)擁有者使用對稱加密算法對文檔集合f=(f1,f2,…,fm)進(jìn)行加密,得到密文集合c=(c1,c2,…,cm)并上傳給公有云服務(wù)器;

      步驟s5:構(gòu)建陷門:當(dāng)授權(quán)用戶搜索時,首先輸入η個搜索關(guān)鍵詞γ=(q1,q2,…,qs,…,qη),接著進(jìn)行語義擴(kuò)展,計算原單詞qs和拓展詞之間的語義相似度并排序,選取最相關(guān)的前σ個拓展詞作為最終拓展詞,得到語義拓展集合q=(q1,q2,…,qη,δ1,…,δσ)及其對應(yīng)的語義相似度分?jǐn)?shù)sc=(sc1,sc2,…,scη,scη+1,…,scη+σ);根據(jù)語義擴(kuò)展集q創(chuàng)建查詢向量若wj∈q,則令否則分為u塊,得到查詢標(biāo)記向量接著將查詢向量中的1置為對應(yīng)的語義相似度分?jǐn)?shù)scj,然后將擴(kuò)展成(n+1)維且第(n+1)位設(shè)置為1,用大于0的隨機(jī)數(shù)r對縮放,并擴(kuò)展成(n+2)維,第(n+2)位設(shè)置成η+σ,因此表示為

      采用安全knn算法加密查詢向量得到陷門最后,授權(quán)用戶將查詢標(biāo)記向量發(fā)給私有云服務(wù)器,將陷門tq上傳到公有云服務(wù)器;

      步驟s6:私有云服務(wù)器接收到授權(quán)用戶發(fā)送的查詢標(biāo)記向量后,將其和文檔標(biāo)記向量bi=(bb1,bb2,…,bbu)進(jìn)行匹配,得到可能包含搜索關(guān)鍵詞的候選索引標(biāo)識符集合sid∈=(···,sidi,···,sidj,···,sidz,···);

      私有云服務(wù)器將sid∈上傳給公有云服務(wù)器,公有云服務(wù)器根據(jù)索引的標(biāo)識符sidi找到對應(yīng)的安全索引ii,將對應(yīng)的vi和陷門tq計算文檔的相似度分?jǐn)?shù),將所有分?jǐn)?shù)排序后,返回前k篇文檔給用戶;

      步驟s7:授權(quán)用戶使用數(shù)據(jù)擁有者分發(fā)的密鑰sk,對返回的top-k篇密文進(jìn)行解密,獲得所需的明文文檔集。

      進(jìn)一步地,還包括分別對文檔向量和查詢向量進(jìn)行分塊,生成維數(shù)較小的文檔標(biāo)記向量和查詢標(biāo)記向量,通過文檔標(biāo)記向量和查詢標(biāo)記向量的匹配,快速過濾掉大量無關(guān)文檔。

      進(jìn)一步地,對文檔向量進(jìn)行分塊具體包括以下步驟:

      步驟s11:文檔向量分為u塊,若某個塊全為0,則標(biāo)記值bbs=0,否則bbs=1,得到文檔標(biāo)記向量bi=(bb1,bb2,…,bbu);

      步驟s12:遍歷所有文檔,得到文檔標(biāo)記向量集合b=(b1,b2,...,bm)。

      進(jìn)一步地,通過文檔標(biāo)記向量和查詢標(biāo)記向量的匹配具體包括以下步驟:

      步驟s21:私有云服務(wù)器接收到授權(quán)用戶發(fā)送的查詢標(biāo)記向量后,依次用中每一位1去匹配ei中對應(yīng)的塊,即塊的標(biāo)記值bbs是否為0;

      步驟s22:塊的標(biāo)記值bbs若為0,則說明該文檔對應(yīng)的塊沒有搜索的關(guān)鍵詞,如果為1則將對應(yīng)的索引標(biāo)識符sidi記錄下來,得到可能包含搜索關(guān)鍵詞的候選索引標(biāo)識符集合sid∈=(···,sidi,···,sidj,···,sidz,···);

      步驟s23:私有云服務(wù)器將sid∈上傳給公有云服務(wù)器,公有云服務(wù)器根據(jù)索引的標(biāo)識符sidi找到對應(yīng)的安全索引ii,將對應(yīng)的vi和陷門tq計算文檔的相似度分?jǐn)?shù),將所有分?jǐn)?shù)排序后,返回前k篇文檔給用戶。

      進(jìn)一步地,還包括將文檔向量分段,將每一段分別與維度減小的矩陣相乘,具體包括以下步驟:

      步驟s31:數(shù)據(jù)擁有者隨機(jī)產(chǎn)生一個(n+2)比特的向量s和兩個(n+2)×(n+2)維的可逆矩陣{m1,m2},密鑰sk由四元組{s,m1,m2,u}組成,u是一個正整數(shù)并且u|n;

      步驟s32:數(shù)據(jù)擁有者在構(gòu)建索引時,根據(jù)安全knn算法將文檔向量分裂成后,將分別分成h段,得到然后使用密鑰sk進(jìn)行加密,得到和對應(yīng)的索引ii=(sidi,vi);最后,數(shù)據(jù)擁有者將e=(e1,e2,···,em)發(fā)送給私有云服務(wù)器,將索引集合上傳給公有云服務(wù)器;

      步驟s33:授權(quán)用戶在生成陷門時也采用步驟s32中構(gòu)建索引時類似的操作,得到陷門最后,授權(quán)用戶將查詢標(biāo)記向量發(fā)給私有云服務(wù)器,將陷門tq上傳到公有云服務(wù)器;

      步驟s34:公有云服務(wù)器在計算相關(guān)度分?jǐn)?shù)時,采用的公式如下:

      進(jìn)一步地,所述排序采用三因子排序方法,對處于文檔不同域中的關(guān)鍵詞賦予不同的權(quán)重,將語義相似度、域加權(quán)評分和相關(guān)度分?jǐn)?shù)三者結(jié)合,具體包括以下步驟:

      步驟s41:計算語義相似度:采用基于信息內(nèi)容的resnik算法;

      步驟s42:計算域加權(quán)評分:給定一系列文檔,假定每篇文檔有l(wèi)個域,其對應(yīng)的權(quán)重系數(shù)分別是g1,…gl∈[0,1],他們滿足:

      令si為查詢和文檔的第i個域的匹配得分,其中1和0分別表示是否匹配,于是,域加權(quán)評分定義為:

      步驟s43:計算相關(guān)度分?jǐn)?shù):基于tf-idf權(quán)值計算方法以及tf的亞線性尺度變換方法計算相關(guān)度分?jǐn)?shù)。

      與現(xiàn)有技術(shù)相比,本發(fā)明有以下有益效果:

      1、本發(fā)明能夠?qū)崿F(xiàn)高效的查詢效率:本發(fā)明針對可搜索加密方案效率不高的缺陷,設(shè)計了一種向量分塊標(biāo)記匹配算法,分別對文檔向量和查詢向量進(jìn)行分塊,生成維數(shù)較小的文檔標(biāo)記向量和查詢標(biāo)記向量。通過文檔標(biāo)記向量和查詢標(biāo)記向量的匹配,快速過濾掉大量無關(guān)文檔,減少了計算文檔相似度分?jǐn)?shù)和排序的時間,提高了檢索的效率。

      2、本發(fā)明能夠減少索引創(chuàng)建時間:可搜索加密方案創(chuàng)建的文檔向量的維度通常很大,所以方案構(gòu)建索引的時間主要花費(fèi)在文檔向量和矩陣的相乘上。本發(fā)明設(shè)計了一種向量分段加密算法,將文檔向量分段,將每一段分別與維度大大減小的矩陣相乘,這使得此方案的索引構(gòu)建時間大大減少。

      3、本發(fā)明能夠精確返回排序結(jié)果:本發(fā)明首次將域加權(quán)評分的概念引入文檔的評分當(dāng)中,對處于文檔不同域中的關(guān)鍵詞賦予不同的權(quán)重,解決了現(xiàn)有方案中未考慮關(guān)鍵詞位置信息的缺陷,同時實現(xiàn)了語義模糊檢索。本發(fā)明將語義相似度、域加權(quán)評分和相關(guān)度分?jǐn)?shù)三者結(jié)合,設(shè)計了一種三因子排序方法,云服務(wù)器能夠?qū)λ阉鹘Y(jié)果進(jìn)行精確的排序并返回給搜索用戶。

      附圖說明

      圖1為本發(fā)明實施例的系統(tǒng)框架圖。

      圖2為本實施例索引的創(chuàng)建過程。

      圖3為本發(fā)明實施例中陷門的構(gòu)建過程。

      圖4為本發(fā)明實施例中當(dāng)文檔數(shù)量m=10,關(guān)鍵詞數(shù)n=100,標(biāo)記向量維度u=10時,向量分塊標(biāo)記算法的過程。

      圖5為本發(fā)明實施例中當(dāng)文檔數(shù)量m=10時,文檔標(biāo)記向量與查詢標(biāo)記向量匹配算法的過程。

      圖6為本發(fā)明實施例中向量分段加密算法的主要過程。

      具體實施方式

      下面結(jié)合附圖及實施例對本發(fā)明做進(jìn)一步說明。

      圖1為本發(fā)明實施例的系統(tǒng)框架,包含四個實體:數(shù)據(jù)擁有者,授權(quán)用戶,私有云服務(wù)器和公有云服務(wù)器。本實施例的索引和陷門加密采用安全knn算法加密(可以參考wongwk,cheungwl,kaob,etal.secureknncomputationonencrypteddatabases//proceedingsoftheacmsigmodinternationalconferenceonmanagementofdata.newyork,usa,2009:139-152.)。本實施例的基本流程如下:

      (1)setup:數(shù)據(jù)擁有者從明文文檔集合f=(f1,f2,…,fm)中抽取關(guān)鍵詞,得到關(guān)鍵詞集合w=(w1,w2,…,wn)。

      (2)keygen(n):數(shù)據(jù)擁有者隨機(jī)產(chǎn)生一個(n+2)比特的向量s和兩個(n+2)×(n+2)維的可逆矩陣{m1,m2},密鑰sk由四元組{s,m1,m2,u}組成,u是一個正整數(shù)并且u|n。接著,數(shù)據(jù)擁有者生成一個加密文檔的密鑰sk,將密鑰sk、sk發(fā)送給授權(quán)用戶。

      (3)buildindex(f,w,sk):圖2為本實施例索引的創(chuàng)建過程,基于向量空間模型,數(shù)據(jù)擁有者為每篇文檔fi生成文檔向量若文檔fi中包含關(guān)鍵詞wj,則否則接著將文檔向量分u塊,得到文檔標(biāo)記向量bi=(bb1,bb2,…,bbu),ei=(bi,sidi)。然后計算關(guān)鍵詞wj在文檔fi中的詞頻權(quán)重wft,f、逆文檔頻率idft和域加權(quán)得分zij后,將中1的值置為(zij·(wft,f×idft))。接著對進(jìn)行維度擴(kuò)展,其中第(n+1)位設(shè)置成一個隨機(jī)數(shù)ε,第(n+2)位設(shè)置成1,那么表示為

      采用安全knn算法加密文檔向量得到ii=(sidi,vi)。最后,數(shù)據(jù)擁有者將e=(e1,e2,···,em)發(fā)送給私有云服務(wù)器,將索引集合上傳給公有云服務(wù)器。

      (4)encrypt(f,sk):數(shù)據(jù)擁有者使用對稱加密算法對文檔集合f=(f1,f2,…,fm)進(jìn)行加密,得到密文集合c=(c1,c2,…,cm)并上傳給公有云服務(wù)器。

      (5)trapdoor(γ,sk):圖3為本發(fā)明實施例中陷門的構(gòu)建過程,當(dāng)授權(quán)用戶搜索時,首先輸入η個搜索關(guān)鍵詞γ=(q1,q2,…,qs,…,qη)。接著進(jìn)行語義擴(kuò)展,計算原單詞qs和拓展詞之間的語義相似度并排序,選取最相關(guān)的前σ個拓展詞作為最終拓展詞,得到語義拓展集合q=(q1,q2,…,qη,δ1,…,δσ)及其對應(yīng)的語義相似度分?jǐn)?shù)sc=(sc1,sc2,…,scη,scη+1,…,scη+σ)。根據(jù)語義擴(kuò)展集q創(chuàng)建查詢向量若wj∈q,則將否則分為u塊,得到查詢標(biāo)記向量接著將向量中的1置為對應(yīng)的語義相似度分?jǐn)?shù)scj,然后將擴(kuò)展成(n+1)維且(n+1)位設(shè)置為1,用大于0的隨機(jī)數(shù)r對縮放,并擴(kuò)展成(n+2)維,第(n+2)位設(shè)置成(η+σ),因此表示為

      采用安全knn算法加密查詢向量得到陷門最后,授權(quán)用戶將查詢標(biāo)記向量發(fā)給私有云服務(wù)器,將陷門tq上傳到公有云服務(wù)器。

      (6)query私有云服務(wù)器接收到授權(quán)用戶發(fā)送的查詢標(biāo)記向量后,將其和文檔標(biāo)記向量bi=(bb1,bb2,…,bbu)進(jìn)行匹配,得到可能包含搜索關(guān)鍵詞的候選索引標(biāo)識符集合sid∈=(···,sidi,···,sidj,···,sidz,···)。

      私有云服務(wù)器將sid∈上傳給公有云服務(wù)器,公有云服務(wù)器根據(jù)索引的標(biāo)識符sidi找到對應(yīng)的安全索引ii,將對應(yīng)的vi和陷門tq計算文檔的相似度分?jǐn)?shù),將所有分?jǐn)?shù)排序后,返回前k篇文檔給用戶。

      (7)decrypt(c,sk):授權(quán)用戶使用數(shù)據(jù)擁有者分發(fā)的密鑰sk,對返回的top-k篇密文進(jìn)行解密,獲得所需的明文文檔集。

      較佳的,本實施例還采用了向量分塊標(biāo)記匹配算法,具體如下:

      可搜索加密方案創(chuàng)建的字典集一般很大,這使得mrse方案(caon,wangc,lim,etal.privacy-preservingmulti-keywordrankedsearchoverencryptedclouddata.ieeetransactionsonparallelanddistributedsystems,2014,25(1):829-837)中創(chuàng)建的文檔向量的維度通常很大。在檢索時,云服務(wù)器無法知道哪些是相關(guān)文檔,因而要對所有文檔進(jìn)行相似度分?jǐn)?shù)的計算和排序,浪費(fèi)了大量的時間。

      本實施例分別對文檔向量和查詢向量進(jìn)行分塊,生成維數(shù)較小的文檔標(biāo)記向量和查詢標(biāo)記向量。通過文檔標(biāo)記向量和查詢標(biāo)記向量的匹配,快速過濾掉大量無關(guān)文檔,減少了計算文檔相似度分?jǐn)?shù)和排序的時間,提高了檢索的效率。

      (1)向量分塊標(biāo)記算法:

      文檔向量分為u塊,若某個塊全為0,則標(biāo)記值bbs=0,否則bbs=1,得到文檔標(biāo)記向量bi=(bb1,bb2,…,bbu);

      遍歷所有文檔,得到文檔標(biāo)記向量集合b=(b1,b2,...,bm)。

      圖4表示當(dāng)文檔數(shù)量m=10,關(guān)鍵詞數(shù)n=100,標(biāo)記向量維度u=10時,向量分塊標(biāo)記算法的過程。

      關(guān)鍵詞數(shù)n=100,則文檔向量的維數(shù)為100維。將分為u=10塊,每一塊有10個元素,若10個元素全為0,則將此塊標(biāo)記為bbs=0,10個元素中只要有一個元素為1,此塊的標(biāo)記就為1,得到文檔標(biāo)記向量b1=(1,0,0,0,0,1,0,0,1,0);

      將10個文檔依次按此操作得到文檔標(biāo)記向量b1到b10。

      (2)查詢標(biāo)記向量和文檔標(biāo)記向量的匹配算法:

      私有云服務(wù)器接收到授權(quán)用戶發(fā)送的查詢標(biāo)記向量后,依次用中每一位1去匹配ei中對應(yīng)的塊,即塊的標(biāo)記值bbs是否為0;

      塊的標(biāo)記值bbs若為0,則說明該文檔對應(yīng)的塊沒有搜索的關(guān)鍵詞,如果為1則將對應(yīng)的索引標(biāo)識符sidi記錄下來,得到可能包含搜索關(guān)鍵詞的候選索引標(biāo)識符集合sid∈=(···,sidi,···,sidj,···,sidz,···);

      私有云服務(wù)器將sid∈上傳給公有云服務(wù)器,公有云服務(wù)器根據(jù)索引的標(biāo)識符sidi找到對應(yīng)的安全索引ii,將對應(yīng)的vi和陷門tq計算文檔的相似度分?jǐn)?shù),將所有分?jǐn)?shù)排序后,返回前k篇文檔給用戶。

      圖5表示當(dāng)文檔數(shù)量m=10時,文檔標(biāo)記向量與查詢標(biāo)記向量匹配算法的過程。

      當(dāng)查詢關(guān)鍵詞的標(biāo)記向量為時,將中的第二位1同10篇文檔標(biāo)記向量對應(yīng)位置的值比較,得到b3所對應(yīng)的文檔可能包含查詢的關(guān)鍵詞,記錄其索引的標(biāo)識符sid3;

      依次將中的1與10篇文檔的標(biāo)記向量對應(yīng)位置的值比較得到候選的索引標(biāo)識符的集合sid∈=(sid3,sid8,sid5);

      私有云服務(wù)器將候選索引標(biāo)識符集合sid∈發(fā)送給公有云服務(wù)器,進(jìn)行相似度分?jǐn)?shù)的計算及排序操作。

      較佳的,本實施例還采用了向量分段加密算法,具體如下:

      mrse方案(caon,wangc,lim,etal.privacy-preservingmulti-keywordrankedsearchoverencryptedclouddata.ieeetransactionsonparallelanddistributedsystems,2014,25(1):829-837)創(chuàng)建的文檔向量的維度通常很大,所以方案構(gòu)建索引的時間主要花費(fèi)在文檔向量和矩陣的相乘上。本實施例將文檔向量分段,將每一段分別與維度大大減小的矩陣相乘,這使得此方案的索引構(gòu)建時間大大減少。

      圖6為向量分段加密算法的主要過程,步驟如下:

      1)數(shù)據(jù)擁有者隨機(jī)產(chǎn)生一個(n+2)比特的向量s和兩個(n+2)×(n+2)維的可逆矩陣{m1,m2},密鑰sk由四元組{s,m1,m2,u}組成,u是一個正整數(shù)并且u|n。

      2)數(shù)據(jù)擁有者在構(gòu)建索引時,根據(jù)安全knn算法將文檔向量分裂成后,將分別分成h段,得到然后使用密鑰sk進(jìn)行加密,得到和對應(yīng)的索引ii=(sidi,vi)。最后,數(shù)據(jù)擁有者將e=(e1,e2,···,em)發(fā)送給私有云服務(wù)器,將索引集合上傳給公有云服務(wù)器。

      3)授權(quán)用戶在生成陷門時也采用構(gòu)建索引時類似的操作,得到陷門最后,授權(quán)用戶將查詢標(biāo)記向量發(fā)給私有云服務(wù)器,將陷門tq上傳到公有云服務(wù)器。

      4)公有云服務(wù)器在計算相關(guān)度分?jǐn)?shù)時,采用的公式如下:

      較佳的,本實施例還采用了三因子排序方法。具體如下:

      本實施例實現(xiàn)了語義模糊檢索,當(dāng)授權(quán)用戶希望搜索到查詢關(guān)鍵詞語義相關(guān)的文檔,或者由于各種原因無法輸入準(zhǔn)確的關(guān)鍵詞時,也可以匹配到語義相關(guān)的文檔并返回給授權(quán)用戶,滿足用戶的搜索需求。

      本實施例首次將域加權(quán)評分的概念引入文檔的評分當(dāng)中,對處于文檔不同域中的關(guān)鍵詞賦予不同的權(quán)重,將語義相似度、域加權(quán)評分和相關(guān)度分?jǐn)?shù)三者結(jié)合,提出了一種三因子排序方法,使得排序結(jié)果更加精確。

      (1)語義相似度

      本實施例采用基于信息內(nèi)容的resnik算法(可以參考resnikp.usinginformationcontenttoevaluatesemanticsimilarityinataxonomy.//proceedingsofthe14thinternationaljointconferenceonartificialintelligence.montreal,canada,1995:448-453.)計算語義相似度,步驟如下:

      1)采用resnik算法計算兩個概念c1和c2相似度,計算公式如下:

      sim(c1,c2)=-logp(lso(c1,c2))=ic(lso(c1,c2))

      其中l(wèi)so(c1,c2)表示概念c1和c2在wordnetis-a樹中最深層的公共父節(jié)點(diǎn)。

      p(c)是wordnet語料庫中出現(xiàn)概念c的名詞的概率,其計算方法如下:

      其中,n表示wordnet語料庫中名詞的個數(shù),freq(c)表示語料庫中包含概念c的單詞個數(shù),其計算公式如下:

      其中,words(c)表示包含概念c的單詞集合。

      2)resnik算法計算兩個單詞w1和w2相似度,計算公式如下:

      其中,s(w1)和s(w2)分別表示單詞w1和w2包含的概念集合,一個單詞可能包含若干個概念。

      (2)域加權(quán)評分

      本實施例首次將域加權(quán)評分(可以參考manningcd,raghavanp,schützeh.introductiontoinformationretrieval.cambridge:cambridgeuniversitypress,2008.)的概念引入文檔的評分當(dāng)中,給定一系列文檔,假定每篇文檔有l(wèi)個域,其對應(yīng)的權(quán)重系數(shù)分別是g1,…gl∈[0,1],它們滿足:

      令si為查詢和文檔的第i個域的匹配得分(1和0分別表示是否匹配),于是,域加權(quán)評分方法可以定義為:

      (3)相關(guān)度分?jǐn)?shù)

      基于tf-idf權(quán)值計算方法,并參考tf的亞線性尺度變換方法(可以參考jinli,chenx.efficientmulti-userkeywordsearchoverencrypteddataincloudcomputing.computing&informatics,2013,32(4):723-738),步驟如下:

      1)計算詞頻權(quán)重wft,f:

      2)計算逆文檔頻率idft:

      本實施例將語義相似度、域加權(quán)評分和相關(guān)度分?jǐn)?shù)三者結(jié)合,設(shè)計一種三因子排序方法,使得排序結(jié)果更加精確。公有云服務(wù)器上文檔得分的計算公式如下:

      其中,zij、(wft,f×idft)和scj分別為文檔fi中關(guān)鍵詞wj的域加權(quán)評分、相關(guān)度分?jǐn)?shù)和語義相似度。

      以上所述僅為本發(fā)明的較佳實施例,凡依本發(fā)明申請專利范圍所做的均等變化與修飾,皆應(yīng)屬本發(fā)明的涵蓋范圍。

      當(dāng)前第1頁1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1