本發(fā)明涉及網(wǎng)絡(luò)與信息安全技術(shù)領(lǐng)域,具體涉及一種視頻推薦系統(tǒng)中的隱私保護方法和基于差分隱私的視頻推薦方法。
背景技術(shù):
隨著互聯(lián)網(wǎng)的快速發(fā)展,越來越多的人喜歡在互聯(lián)網(wǎng)上瀏覽和發(fā)布各種視頻信息,而最新的調(diào)查顯示視頻信息約占了整個互聯(lián)網(wǎng)流量的76%,而且這個比例還在不斷提高。用戶在youtobe、愛奇藝、騰訊視頻等視頻網(wǎng)站瀏覽視頻的同時也產(chǎn)生了大量歷史信息,而視頻網(wǎng)站通過推薦系統(tǒng)來挖掘這些歷史信息對用戶進行視頻推薦服務(wù)的方式,不但提高了服務(wù)質(zhì)量也增加了經(jīng)濟效益。
另一方面,隨著用戶隱私意識的不斷提高,越來越多的用戶對推薦系統(tǒng)泄露自己隱私的行為表示擔憂,據(jù)相關(guān)調(diào)查顯示68%的用戶認為現(xiàn)在法律不足以保護其隱私,并要求更嚴格的隱私法;86%的互聯(lián)網(wǎng)用戶曾經(jīng)采取主動措施來消除或掩蓋其歷史記錄。
針對推薦服務(wù)和用戶隱私之間日益緊張的現(xiàn)象,尋求一種既能保證高質(zhì)量的推薦服務(wù)又能保護用戶隱私的推薦方法是十分有意義的。
在傳統(tǒng)的視頻推薦算法(如協(xié)同過濾等)中可信的云服務(wù)器通過收集所有用戶的數(shù)據(jù)來執(zhí)行個性化推薦服務(wù),而保護用戶隱私的方式大多基于匿名化措施。然而實際中云服務(wù)器由于利益的牽涉,片面的認為云服務(wù)器是可信任的這一觀點往往是不切實際的,而且在將用戶數(shù)據(jù)上傳到云服務(wù)器端的過程中為了避免中間人攻擊等威脅,往往需要通過加密等措施來保障數(shù)據(jù)的傳輸安全,這無疑又會增加整個推薦過程中的開銷。
為了解決以上問題,文獻[y.shenandh.jin.epicrec:towardspracticaldifferentiallyprivateframeworkforpersonalizedrecommendation.incss,pages180-191,2016.]中提出了一種在用戶端對用戶數(shù)據(jù)進行差分隱私處理的視頻推薦系統(tǒng),較好的解決了視頻推薦服務(wù)和隱私保護的沖突問題。該系統(tǒng)的主要算法是:對請求視頻推薦服務(wù)的用戶,取其最近瀏覽的歷史視頻記錄,將每個視頻按類別進行聚類,同時根據(jù)用戶對每個類別設(shè)置的關(guān)心級別,對聚類結(jié)果添加不同量級的服從拉普拉斯分布的噪聲,以上過程均在用戶端完成,最后用戶端將擾動后的聚類信息發(fā)送給云服務(wù)器來獲得推薦服務(wù)。
雖然現(xiàn)有的推薦方案中由于采用了差分隱私保護的策略使得安全性方面得到了較大的提高,但是由于在單個用戶端添加噪聲,不知道所有用戶數(shù)據(jù)的整體分布情況,導致與直接在云服務(wù)段添加噪聲的方式相比用戶數(shù)據(jù)的有用性損失較大,難以保證高質(zhì)量的視頻推薦服務(wù)。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于提供一種視頻推薦系統(tǒng)中的隱私保護方法,以解決現(xiàn)有推薦系統(tǒng)中的隱私保護問題。
本發(fā)明的目的還在于提供一種基于差分隱私的視頻推薦方法,以對視頻推薦過程中的用戶隱私進行保護。
為此,本發(fā)明一方面提供了一種視頻推薦系統(tǒng)中的隱私保護方法,包括以下步驟:步驟一:用戶發(fā)送視頻推薦請求給云服務(wù)器,云服務(wù)器將相同時間段發(fā)送請求的用戶組成一個組,然后廣播組號給組內(nèi)所有成員;步驟二:組內(nèi)用戶計算自己最近一次當選為用戶代理到現(xiàn)在的時間間隔,時間間隔最大的用戶當選為本次的用戶代理;步驟三:每位用戶根據(jù)自己的歷史視頻瀏覽記錄和評分信息計算出一張用戶信息表,加上一個隨機id后發(fā)送給用戶代理;步驟四:用戶代理將所有用戶的用戶信息表組合成一張推薦表,然后在推薦表中添加服從拉普拉斯分布的隨機噪聲,實現(xiàn)差分隱私處理,然后將擾動后的推薦表發(fā)送給云服務(wù)器;以及步驟五:云服務(wù)器用推薦算法對用戶代理發(fā)送的推薦表進行視頻推薦服務(wù),并將推薦結(jié)果返回給用戶代理。
根據(jù)本發(fā)明的另一方面提供了一種基于差分隱私的視頻推薦方法,包括以下步驟:
(1)初始化階段:云服務(wù)器對擁有的所有視頻資源進行類別劃分,每個視頻資源可以同時屬于多個類別,并且有一個默認的評分,用戶端類別和云服務(wù)器端中類別數(shù)量一致;
(2)用戶組選擇階段:云服務(wù)器設(shè)置一個時間閾值和用戶組數(shù)量閾值來確定用戶組中成員,當同時有多個用戶發(fā)起視頻推薦請求時,第一個用戶的請求時間達到閾值或者用戶數(shù)量達到閾值時,云服務(wù)器將停止增加本組成員;
(3)用戶歷史信息提取階段:當用戶端發(fā)送視頻推薦請求時,將用戶最近的歷史視頻瀏覽信息按類別進行聚類,其中用戶對每個視頻的評分作為聚類的權(quán)重參數(shù),若用戶沒有評分,則使用該視頻的默認評分,然后生成一張一維的用戶信息表;
(4)用戶信息匿名化階段:用戶隨機選取一個id,并在用戶組中廣播,若與其他用戶id沖突,則重新選擇一個id,然后將id與用戶信息表進行組合,
(5)用戶代理選取階段:在用戶組中選擇一個用戶作為用戶代理,用戶代理選擇成功后廣播自己的身份,用戶組中的用戶將自己組合id后的信息表發(fā)送給用戶代理,用戶代理將用戶組中的所有用戶信息表組合成一張二維的推薦表;
(6)差分隱私處理階段:在推薦表中添加服從拉普拉斯分布的隨機噪聲,然后將擾動后的推薦表發(fā)送給云服務(wù)器;以及
(7)視頻推薦階段:云服務(wù)器從用戶代理接收到推薦表后,可以根據(jù)推薦表中每位用戶信息進行推薦服務(wù),生成的推薦結(jié)果同樣是一張二維表,將推薦表中的用戶id與推薦結(jié)果表組合后返回給用戶代理,用戶代理接收到推薦結(jié)果后,將推薦結(jié)果根據(jù)用戶id廣播給組中的成員。
相對于現(xiàn)有技術(shù)中的方案,本發(fā)明具有以下優(yōu)點:
(1)本發(fā)明在視頻推薦服務(wù)的基礎(chǔ)上研究了隱私保護問題?,F(xiàn)有的視頻推薦系統(tǒng)中保護隱私方法主要在云服務(wù)器上對用戶信息進行匿名化處理,但是尋求可信的云服務(wù)器往往是不切實際的,而且將用戶數(shù)據(jù)上傳到云服務(wù)器端的過程中為了防止“中間人”等攻擊,需要額外加密解密等方法來保護信息。針對以上問題,提出了一種保護視頻推薦用戶的隱私的方法。
(2)本發(fā)明有機的結(jié)合了匿名化技術(shù)和差分隱私技術(shù),利用差分隱私保護來彌補傳統(tǒng)視頻推薦中隱私保護強度不夠的缺點,用匿名化技術(shù)彌補了差分隱私保護降低推薦服務(wù)質(zhì)量的問題。
(3)本發(fā)明基于差分隱私來保護推薦過程中的用戶隱私,在用戶端擾動后的用戶數(shù)據(jù)可以直接發(fā)送給云服務(wù)器,而不需額外的加密解密等操作,大大提高了推薦效率。
(4)本發(fā)明中用戶端可以根據(jù)具體的隱私保護需求,動態(tài)調(diào)整安全參數(shù)ε來控制隱私保護的級別。
由此可見,本發(fā)明為解決視頻推薦系統(tǒng)中的隱私問題拓展了空間,同時具有良好的實用效果。
除了上面所描述的目的、特征和優(yōu)點之外,本發(fā)明還有其它的目的、特征和優(yōu)點。下面將參照圖,對本發(fā)明作進一步詳細的說明。
附圖說明
構(gòu)成本申請的一部分的說明書附圖用來提供對本發(fā)明的進一步理解,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當限定。在附圖中:
圖1為根據(jù)本發(fā)明的視頻推薦系統(tǒng)中的隱私保護方法的流程圖;
圖2為根據(jù)本發(fā)明的基于差分隱私的視頻推薦方法的流程圖;以及
圖3為根據(jù)本發(fā)明的基于差分隱私的視頻推薦方法的功能框圖。
具體實施方式
需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。下面將參考附圖并結(jié)合實施例來詳細說明本發(fā)明。
如圖1所示,本發(fā)明的視頻推薦系統(tǒng)中的隱私保護方法包括以下步驟:
s101:用戶發(fā)送視頻推薦請求給云服務(wù)器,云服務(wù)器將相同時間段發(fā)送請求的用戶組成一個組,然后廣播組號給組內(nèi)所有成員;
s103:組內(nèi)用戶計算自己最近一次當選為用戶代理到現(xiàn)在的時間間隔,時間間隔最大的用戶當選為本次的用戶代理;
s105:每位用戶根據(jù)自己的歷史視頻瀏覽記錄和評分信息計算出一張用戶信息表,加上一個隨機id后發(fā)送給用戶代理;
s107:用戶代理將所有用戶的用戶信息表組合成一張推薦表,然后在推薦表中添加服從拉普拉斯分布的隨機噪聲,實現(xiàn)差分隱私處理,然后將擾動后的推薦表發(fā)送給云服務(wù)器;以及
s109:云服務(wù)器用推薦算法對用戶代理發(fā)送的推薦表進行視頻推薦服務(wù),并將推薦結(jié)果返回給用戶代理。
本發(fā)明的隱私保護方法在視頻推薦方法中使用,該方法在不改變云端推薦算法的前提下解決了傳統(tǒng)推薦算法難以實現(xiàn)對用戶個人隱私進行有效保護的問題,同時提供了高質(zhì)量的視頻推薦服務(wù)。
結(jié)合參照圖2和圖3,本發(fā)明的視頻推薦方法包括以下步驟:
(1)初始化階段。云服務(wù)器對擁有的所有視頻資源進行類別劃分,每個視頻資源可以同時屬于多個類別,并且有一個默認的評分。用戶端類別和云服務(wù)器端中類別數(shù)量一致。
具體地,考慮在一個視頻推薦系統(tǒng)中,云服務(wù)器的視頻庫有k個視頻{vj|1,2,…,k},每個視頻有一個對應(yīng)的默認評分pj,所有視頻共有c個類別{rj|1,2,…,c},同一個視頻可以同時屬于多個類別。在本發(fā)明中假設(shè)所有用戶的興趣愛好短時間內(nèi)是不改變的。
(2)用戶組選擇階段。云服務(wù)器設(shè)置一個時間閾值和用戶組數(shù)量閾值來確定用戶組中成員。當同時有多個用戶發(fā)起視頻推薦請求時,第一個用戶的請求時間達到閾值或者用戶數(shù)量達到閾值時,云服務(wù)器將停止增加該組成員。
具體地,當一個用戶ui(i=1,2,…,n)向云服務(wù)器發(fā)出視頻推薦請求時,云服務(wù)器需要將用戶ui加入一個用戶組gi(i=1,2,…,n)中,為此云服務(wù)器設(shè)置一個時間閾值t和一個用戶組數(shù)量閾值c。在一個新的用戶組中,云服務(wù)器從接收到第一個用戶的視頻推薦請求開始計時,當時間到達閾值t時,停止向用戶組gi中添加新用戶,或者雖然計時沒有達到閾值,但是用戶組gi的用戶數(shù)量達到閾值c時,同樣停止添加新用戶。確定同一個用戶組的所有成員后,云服務(wù)器將廣播組號gi給所有組員,組員之間通過組號進行通信。
(3)用戶歷史信息提取階段。當用戶端發(fā)送視頻推薦請求時,將用戶最近的歷史視頻瀏覽信息按類別進行聚類,其中用戶對每個視頻的評分作為聚類的權(quán)重參數(shù),若用戶沒有評分,則使用該視頻的默認評分。最后生成一張一維的用戶信息表。
具體地,(3.1)統(tǒng)計視頻類別
用戶ui將根據(jù)云服務(wù)器提供的視頻類別建立一個視頻類別統(tǒng)計表,用來統(tǒng)計用戶最近瀏覽的n個視頻所屬的類別,
(3.2)生成用戶信息表
根據(jù)視頻類別統(tǒng)計表和用戶對每個視頻的評分計算用戶對每個視頻類別的喜好程度
(4)用戶信息匿名化階段。用戶隨機選取一個id,并在用戶組中廣播,若與其他用戶id沖突,則重新選擇一個id。最后將id與用戶信息表進行組合。
具體地,用戶的信息表生成后,需要選擇一個臨時的uid來作為身份標識信息,用戶隨機選擇一個6位的隨機數(shù)并在組內(nèi)廣播,若該id與組內(nèi)其他成員的id發(fā)生沖突,則重新選取。最后將選擇的uid與用戶信息表進行拼接。
(5)用戶代理選取階段。在用戶組中選擇一個用戶作為用戶代理,用戶代理選擇成功后廣播自己的身份,用戶組中的用戶將自己組合id后的信息表發(fā)送給用戶代理,用戶代理將用戶組中的所有用戶(包括自己)信息表組合成一張二維的推薦表。
具體地,用戶組中每個成員計算自己最近一次當選為用戶代理到現(xiàn)在的時間差t,t值最大的用戶當選為本次用戶組的用戶代理。用戶代理廣播自己的身份后,開始接收組內(nèi)成員發(fā)送的信息表并組合成一個二維的推薦表,最后將自身的信息表隨機插入到推薦表中。
(6)差分隱私處理階段。在推薦表中添加服從拉普拉斯分布的隨機噪聲,然后將擾動后的推薦表發(fā)送給云服務(wù)器。具體地,包括以下步驟:
(6.1)選擇安全參數(shù)ε
本發(fā)明中為了更好的保護用戶的個人隱私,需要在推薦表中添加服從拉普拉斯分布的隨機噪聲,使整個算法滿足ε-差分隱私。關(guān)于差分隱私具體內(nèi)容,請參考文獻[c.dwork.differentialprivacy:asurveyofresults.intamc,pages1–19,2008.]。本發(fā)明中用戶代理將安全參數(shù)ε設(shè)置為
(6.2)計算敏感度參數(shù)s(f)
令t1、t2為任意一對相鄰推薦表,根據(jù)敏感度公式有
(6.3)添加噪聲
將推薦表中每個用戶對每個視頻類別喜好分值hr修改為hr+gi,gi是符合lap(b)分布的隨機噪聲,其中
(7)視頻推薦階段。云服務(wù)器從用戶代理接收到推薦表后,可以根據(jù)推薦表中每位用戶信息進行推薦服務(wù)。生成的推薦結(jié)果同樣是一張二維表,將推薦表中的用戶id與推薦結(jié)果表組合后返回給用戶代理。用戶代理接收到推薦結(jié)果后,將推薦結(jié)果根據(jù)用戶id廣播給組中的成員。
具體地,用戶代理將推薦表經(jīng)差分隱私處理后,發(fā)送給云服務(wù)器端,云服務(wù)器端根據(jù)推薦表中用戶對每個視頻類別的喜好程度找出用戶喜好程度較高的幾個類別,然后從自己的視頻庫中選取同類別且評分較高的視頻推薦給用戶,最后將推薦結(jié)果vi′(i=1,…,k)和推薦表中的用戶uid進行拼合后返回給用戶代理,用戶代理接收到推薦結(jié)果后,廣播給組內(nèi)所有用戶,完成整個推薦過程。
本發(fā)明通過引入評分作為權(quán)重參數(shù)來優(yōu)化聚類的結(jié)果,同時選擇一個用戶代理來統(tǒng)一將匿名化的用戶數(shù)據(jù)進行差分隱私處理,進一步降低數(shù)據(jù)擾動所造成的有用性損失,從而保證了高質(zhì)量的視頻推薦結(jié)果。
實施例
初始化階段
假設(shè)云服務(wù)器有1000000個視頻,且每個視頻都已經(jīng)有了默認評分,這里的默認評分通常是網(wǎng)友對該視頻的平均評分,所有視頻共有14個類別,分別為ri(i=1,…,14),1000000個視頻都已被分類,同一個視頻可以同時屬于多個類別。
用戶組選擇階段
假設(shè)云服務(wù)器端將用戶組選擇時間閾值設(shè)置為1秒,數(shù)量閾值設(shè)置為10000。一個組號為10的用戶組,從第一個用戶發(fā)起視頻推薦請求開始計時,最終確定組內(nèi)成員數(shù)量為5000名,分別編號為ui(i=1,…,5000)。確定組內(nèi)成員后,云服務(wù)器將組號10廣播給組內(nèi)成員。
用戶歷史信息提取階段
(3.1)統(tǒng)計視頻類別
確定組號后,每個用戶需要生成一張視頻類別統(tǒng)計表,統(tǒng)計用戶最近所瀏覽的20個視頻所屬的類別和評分情況,假設(shè)用戶u1的歷史視頻記錄如表1所示,其中用戶評分列中如果用戶未對視頻評分,則對應(yīng)評分為空。
表一
(3.2)生成用戶信息表
根據(jù)公式
u1:{r1(75.7),r2(26.2),r3(88.7),r4(46.5),r5(96.4),...,r14(33.7)}。
(4)用戶信息匿名化階段
用戶u1隨機選擇一個6位id號111111作為身份表示,并將id號和用戶信息表拼合,結(jié)果為:
111111:{r1(75.7),r2(26.2),r3(88.7),r4(46.5),r5(96.4),...,r14(33.7)}。
(5)用戶代理選擇階段
每個用戶計算自己最近一次當選用戶代理到當前時刻的時間差t并在組內(nèi)廣播,t值最大的用戶當選本次的用戶代理。本例中假設(shè)用戶u1為本次的用戶代理,u1廣播自己的身份后開始接收組內(nèi)用戶拼合后的信息表,按照接收順序依次鏈接成一張推薦表,最后將自己的用戶信息表隨機插入其中,如表2所示。
表二
(6)差分隱私處理階段
(6.1)計算安全參數(shù)ε
本例中安全參數(shù)ε由用戶代理設(shè)置為
(6.2)計算敏感度參數(shù)s(f)
由于本方案中表1使用的是聚類的方法來計算用戶對每種視頻的喜好程度,且增加一條記錄或刪除一條記錄最大影響為14,所以本例中的敏感度參數(shù)s(f)=14。
(6.3)添加隨機噪聲
由上面計算出的參數(shù)給表2中的數(shù)據(jù)添加服從lap(b)的隨機噪聲。添加噪聲之后的推薦表未示出。由于生成噪聲有可能是負數(shù),所以最后生成的推薦表中可能會出現(xiàn)負值,但并不影響推薦結(jié)果。
(7)視頻推薦階段
用戶代理將擾動后的推薦表發(fā)送給云服務(wù)器端,云服務(wù)器端根據(jù)具體的推薦算法給用戶推薦視頻,如表2中可看出用戶333333對類別r1和r4喜愛程度較高,故可以推薦同屬于r1和r4類別且默認評分較高的視頻給用戶,最后將推薦結(jié)果和用戶id拼合后返回給用戶代理,用戶代理在將結(jié)果廣播給組內(nèi)用戶,完成整個推薦過程。
安全性分析:本發(fā)明所提出的視頻推薦系統(tǒng)中的隱私保護方法實現(xiàn)了密碼學的安全性,即在整個推薦過程中不會泄露隱私信息給任何參與方。
以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。