王海艷,陸金祥
(1.南京郵電大學(xué)計(jì)算機(jī)學(xué)院,江蘇 南京 210023;2.南京郵電大學(xué)江蘇省大數(shù)據(jù)安全與智能處理重點(diǎn)實(shí)驗(yàn)室,江蘇 南京 210023)
近年來,隨著信息化、智能化的深度融合,用戶在利用信息技術(shù)獲得更多便利的同時(shí),個(gè)人隱私面臨著嚴(yán)重的威脅。2018 年,國內(nèi)外發(fā)生的幾起嚴(yán)重泄露用戶隱私的事件表明,信息社會(huì)中用戶的隱私保護(hù)迫在眉睫。作為個(gè)性化推薦系統(tǒng)的擴(kuò)展,群組推薦日益受到關(guān)注。群組推薦系統(tǒng)是指群組中有多個(gè)用戶,不同用戶有各自的偏好需求,根據(jù)群組中每個(gè)用戶的偏好進(jìn)行推薦的系統(tǒng)。群組推薦主要任務(wù)是緩解群組成員之間的偏好沖突,使推薦結(jié)果盡可能滿足所有群組成員的需求。群組推薦系統(tǒng)需要收集大量的用戶歷史數(shù)據(jù)來實(shí)現(xiàn)對群組的推薦,這些數(shù)據(jù)中可能包含一些用戶的敏感信息。多數(shù)情況下推薦系統(tǒng)是非可信的,存在泄露用戶隱私的風(fēng)險(xiǎn),而用戶為了獲得個(gè)性化的推薦,只能選擇信任推薦系統(tǒng)。因此,對群組內(nèi)用戶實(shí)現(xiàn)隱私保護(hù),已成為群組推薦的一個(gè)研究熱點(diǎn)。
與傳統(tǒng)的個(gè)性化推薦系統(tǒng)不同,群組推薦系統(tǒng)首先需要考慮群組內(nèi)所有用戶的偏好,并通過群組內(nèi)用戶間的偏好共享和交互機(jī)制縮小群組內(nèi)用戶之間的偏好差異。在此基礎(chǔ)上,群組推薦系統(tǒng)將每個(gè)群組內(nèi)用戶的偏好融合得到群組偏好,并根據(jù)群組偏好完成群組推薦。現(xiàn)階段,面向群組推薦的用戶隱私保護(hù)主要通過群組內(nèi)用戶偏好協(xié)同擾動(dòng)的方法實(shí)現(xiàn)。已有的面向群組推薦的用戶隱私保護(hù)方法,大都假設(shè)群組內(nèi)所有用戶具有相同的隱私保護(hù)需求,對群組內(nèi)所有用戶進(jìn)行相同的隱私保護(hù)處理,而不能針對群組內(nèi)用戶個(gè)性化的隱私保護(hù)需求分別進(jìn)行處理,具有很大的局限性。
針對以上問題,本文提出了面向群組推薦的個(gè)性化隱私保護(hù)方法,主要工作及創(chuàng)新點(diǎn)如下:1)提出了面向群組推薦的基于可信客戶端的個(gè)性化隱私保護(hù)框架(UPPPF-TC-GR,user personalized privacy protection framework based on trusted client for group recommendation),在可信客戶端對群組內(nèi)用戶的歷史偏好進(jìn)行收集和分析,利用敏感主題相似度分析方法發(fā)現(xiàn)群組用戶數(shù)據(jù)中存在的敏感數(shù)據(jù),對群組用戶的敏感偏好進(jìn)行隱私保護(hù)處理;2)基于此框架,提出了群組敏感偏好保護(hù)方法(GSPPM,group sensitive preference protection method),在可信客戶端利用隨機(jī)的擾動(dòng)技術(shù)對群組用戶偏好進(jìn)行隱私保護(hù)處理,實(shí)現(xiàn)對群組用戶敏感偏好的保護(hù)。本文提出的個(gè)性化隱私保護(hù)方法利用群組內(nèi)相似用戶的評分進(jìn)行隨機(jī)的協(xié)同擾動(dòng),實(shí)現(xiàn)對用戶個(gè)性化隱私的保護(hù),相對于直接添加擾動(dòng)噪聲的隨機(jī)化擾動(dòng)方法有了很大的改進(jìn)與創(chuàng)新。
現(xiàn)有的個(gè)性化推薦中的隱私保護(hù)方法主要使用k-匿名、隨機(jī)化擾動(dòng)、加密等隱私保護(hù)技術(shù),實(shí)現(xiàn)對用戶推薦的同時(shí)有效保護(hù)用戶的隱私。文獻(xiàn)[1]在數(shù)據(jù)發(fā)布領(lǐng)域,提出利用k-匿名方法實(shí)現(xiàn)對用戶敏感信息的保護(hù)。文獻(xiàn)[2]提出關(guān)系保持變換的方法來防御關(guān)于廣義形式的距離保持變換的攻擊。文獻(xiàn)[3]主要針對目前比較流行的背景知識(shí)攻擊和審查攻擊提出了一種保護(hù)用戶隱私的方法,核心思想是利用k-匿名的隱私保護(hù)方法實(shí)現(xiàn)對背景知識(shí)攻擊的攔截。文獻(xiàn)[4]針對k近鄰(kNN,k-nearest neighbor)攻擊,提出分區(qū)概率鄰域選擇方法,以確保所選區(qū)域的安全性,同時(shí)實(shí)現(xiàn)針對kNN 攻擊的最佳預(yù)測精度。文獻(xiàn)[5]分析了在線社交網(wǎng)絡(luò)存在的一些隱私保護(hù)相關(guān)的問題,提出通過k-匿名化實(shí)現(xiàn)在匿名社交網(wǎng)絡(luò)中用戶間相互通信而不會(huì)暴露其身份的隱私保護(hù)方法。文獻(xiàn)[6]提出在網(wǎng)絡(luò)跟蹤數(shù)據(jù)中源IP 和目的IP 地址之間的固有圖形結(jié)構(gòu),并使用k-匿名防止目標(biāo)主機(jī)被跟蹤。文獻(xiàn)[7]提出通過擺脫半誠實(shí)的服務(wù)提供商來設(shè)計(jì)分散的單一協(xié)議,該協(xié)議使用非常小的數(shù)據(jù)集子集,其準(zhǔn)確性仍然等于或優(yōu)于某些基線算法。文獻(xiàn)[8]提出使用匿名身份驗(yàn)證來保護(hù)使用盲簽名的位置隱私。文獻(xiàn)[9]提出了一種基于信任的隱私保護(hù)朋友推薦方案。文獻(xiàn)[10]提出一個(gè)函數(shù)發(fā)生器實(shí)體,通過該實(shí)體周期性地分布空間變換參數(shù)實(shí)現(xiàn)對用戶位置的隱私保護(hù)。文獻(xiàn)[11]提出了一種應(yīng)用數(shù)據(jù)混淆技術(shù)的隱私保護(hù)框架,并在此框架下進(jìn)一步開發(fā)了2 種代表性的隱私保護(hù)服務(wù)質(zhì)量(QoS,quality of service)預(yù)測方法。文獻(xiàn)[12]提出了一種新型數(shù)據(jù)加密方法,該方法在時(shí)間約束下使用隱私分類方法選擇性地加密數(shù)據(jù),并使用選擇性加密策略最大化隱私保護(hù)范圍。文獻(xiàn)[13]提出利用差分隱私方法作為隱私保護(hù)框架,利用目標(biāo)擾動(dòng)方法對矩陣中添加滿足差分隱私約束的噪聲得到噪聲矩陣分解模型,實(shí)現(xiàn)對隱私數(shù)據(jù)的保護(hù)。文獻(xiàn)[14]對差分隱私保護(hù)領(lǐng)域已有的研究成果進(jìn)行了總結(jié),對該技術(shù)的基本原理和特征進(jìn)行了闡述,重點(diǎn)介紹了差分隱私的研究熱點(diǎn)。文獻(xiàn)[15]分析了差分隱私保護(hù)模型相對于傳統(tǒng)安全模型的優(yōu)勢,對差分隱私基礎(chǔ)理論及其在數(shù)據(jù)發(fā)布與數(shù)據(jù)挖掘中的應(yīng)用研究進(jìn)行綜述。文獻(xiàn)[16]提出了一種輕量級(jí)的位置感知推薦系統(tǒng)隱私保護(hù)框架,利用該框架服務(wù)提供者將隨機(jī)處理后的歷史評價(jià)信息外包給云平臺(tái),并通過安全協(xié)議在云平臺(tái)的輔助下進(jìn)行相似度信息的安全計(jì)算。文獻(xiàn)[17]提出一種貪心聚類匿名方法,通過分類概化準(zhǔn)標(biāo)識(shí)屬性,分別度量其信息損失,從而減小并合理評價(jià)信息損失。文獻(xiàn)[18]提出了一種具有隱私保護(hù)的協(xié)同過濾方法,該方法主要思想是通過使用傳輸矩陣直接干擾原始數(shù)據(jù)集來保證用戶隱私。文獻(xiàn)[19]將k-匿名隱私保護(hù)技術(shù)和區(qū)塊鏈技術(shù)的分布式特性結(jié)合起來,提出了一種基于區(qū)塊鏈的分布式k-匿名位置隱私保護(hù)方案。文獻(xiàn)[20]提出一種具備保護(hù)用戶隱私功能的推薦系統(tǒng),利用用戶的歷史評價(jià)和項(xiàng)目屬性信息,結(jié)合不采集用戶個(gè)人信息的協(xié)同過濾推薦算法,在實(shí)現(xiàn)對用戶推薦的同時(shí),保護(hù)用戶隱私。文獻(xiàn)[21]提出將位置輪廓相似度和位置點(diǎn)相似度度量的過濾算法應(yīng)用到協(xié)同過濾算法中,實(shí)現(xiàn)對用戶位置隱私的保護(hù)。
以上研究發(fā)現(xiàn),現(xiàn)有的主流隱私保護(hù)方法或者采用了k-匿名的思想對用戶的敏感屬性進(jìn)行泛化處理來保護(hù)用戶的隱私,或者使用隨機(jī)化的擾動(dòng)方法來實(shí)現(xiàn)對敏感數(shù)據(jù)的保護(hù),或者采用加密技術(shù)來實(shí)現(xiàn)對用戶的隱私保護(hù)。但k-匿名算法本身存在一系列的問題,其中比較主要的問題有同質(zhì)攻擊和背景知識(shí)攻擊。而隨機(jī)化擾動(dòng)方法會(huì)帶來一定程度的數(shù)據(jù)失真。因此,單純使用k-匿名的隱私保護(hù)算法或者隨機(jī)化擾動(dòng)方法來保護(hù)用戶隱私存在一定的局限性,不能夠在隱私保護(hù)和推薦準(zhǔn)確性之間達(dá)到很好的平衡,加密技術(shù)也不適用于群組推薦這樣計(jì)算量較大的應(yīng)用場景。
現(xiàn)階段的研究成果主要是通過向原始群組偏好中添加擾動(dòng)的方式實(shí)現(xiàn)的。文獻(xiàn)[22]提出在群組內(nèi)部對群組內(nèi)用戶的偏好配置文件進(jìn)行擾動(dòng),將擾動(dòng)后的數(shù)據(jù)進(jìn)行序列化的處理后再進(jìn)行傳輸,最后推薦服務(wù)器根據(jù)相關(guān)的數(shù)據(jù)迭代算法,從擾動(dòng)后的數(shù)據(jù)中得到可用的群組偏好數(shù)據(jù)實(shí)現(xiàn)對群組的推薦。文獻(xiàn)[23]提出了基于群組的隱私保護(hù)方法,將群組作為一個(gè)中間件對群組用戶進(jìn)行隱私保護(hù),群組用戶將個(gè)人偏好數(shù)據(jù)通過聚合策略進(jìn)行聚合后,以群組的方式來進(jìn)行推薦,有效地保護(hù)了群組用戶的隱私數(shù)據(jù)。文獻(xiàn)[24]提出基于可信客戶端生成一組虛擬的偏好配置文件傳輸給推薦服務(wù)器進(jìn)行推薦,以掩蓋用戶敏感主題,實(shí)現(xiàn)對用戶個(gè)人隱私的保護(hù)。文獻(xiàn)[25]從群組推薦系統(tǒng)的形式化定義和研究框架入手,對群組推薦系統(tǒng)的用戶偏好獲取、群組發(fā)現(xiàn)、偏好融合算法以及效用評價(jià)等關(guān)鍵技術(shù)進(jìn)行前沿概述,并對群組推薦系統(tǒng)中的用戶隱私保護(hù)問題進(jìn)行了展望。文獻(xiàn)[26]針對移動(dòng)社交網(wǎng)絡(luò)的應(yīng)用場景,提出一種基于影響因子的群組推薦隱私保護(hù)方法,該方法使用模糊矩陣算法來實(shí)現(xiàn)對用戶隱私的保護(hù)。文獻(xiàn)[27]提出一種基于差分隱私保護(hù)算法和時(shí)間因子相結(jié)合的高效隱私保護(hù)協(xié)同過濾算法,該算法能夠很好地保護(hù)用戶隱私。文獻(xiàn)[28]提出了一種新的綜合考慮代理和用戶屬性及其偏好的私有數(shù)據(jù)信息匹配算法,該算法支持具有偏好信息的多元屬性數(shù)據(jù)匹配,能夠有效保障用戶和子代理的安全性。文獻(xiàn)[29]提出了一種基于位置混淆的軌跡隱私保護(hù)方法,該方法混淆用戶的真實(shí)查詢位置,使攻擊者不能推斷出用戶的真實(shí)軌跡,實(shí)現(xiàn)對用戶的隱私保護(hù)。文獻(xiàn)[30]提出了一種基于k-匿名的位置及數(shù)據(jù)隱私保護(hù)方法,并采用基于多方安全合作的方法來構(gòu)造一個(gè)包含n個(gè)互相沒有任何鏈接的用戶的等價(jià)類,以保證參與用戶的位置隱私。
以上研究發(fā)現(xiàn),現(xiàn)有的群組推薦系統(tǒng)中的隱私保護(hù)方法大都是在客戶端對群組內(nèi)所有用戶進(jìn)行協(xié)同擾動(dòng)實(shí)現(xiàn)隱私保護(hù),這樣的隱私保護(hù)方法實(shí)現(xiàn)的前提是假設(shè)群組內(nèi)所有用戶都具有相同的隱私保護(hù)需求。但事實(shí)上,群組內(nèi)不同用戶的隱私保護(hù)需求往往具有個(gè)性化差異。
本文在文獻(xiàn)[24]模型及框架基礎(chǔ)上,提出了面向群組推薦的組內(nèi)用戶個(gè)性化的隱私保護(hù)框架和方法。
介紹本文提出的隱私保護(hù)方法之前,首先分析群組推薦中可能存在的攻擊和隨機(jī)化擾動(dòng)隱私保護(hù)方法。
群組推薦系統(tǒng)面臨的不同于個(gè)性化推薦系統(tǒng)的攻擊主要有審查攻擊和評級(jí)攻擊[21]。1)審查攻擊是指攻擊者在了解到某個(gè)項(xiàng)目已被某個(gè)用戶查看過的背景知識(shí)的前提下,可以從匿名數(shù)據(jù)集中重新識(shí)別該用戶。例如,根據(jù)一些公共的數(shù)據(jù)源,如果攻擊者知道用戶查看了其他用戶沒有查看過的一些項(xiàng)目,則該用戶的身份可以很容易地被找出。2)評級(jí)攻擊是指攻擊者通過比較單個(gè)用戶評分與組中其他用戶的評分來識(shí)別評分異常的用戶。例如,攻擊者可以基于某個(gè)用戶對特定項(xiàng)目給予高評分,而該組中的其他用戶給這個(gè)項(xiàng)目低評分,從而識(shí)別出該用戶。本文假設(shè)攻擊者是具備一定背景知識(shí)的主動(dòng)攻擊者,攻擊者會(huì)結(jié)合自身已有的背景知識(shí)和群組內(nèi)用戶的評分信息來識(shí)別群組內(nèi)具體的用戶,從而挖掘出該用戶的敏感信息。
隨機(jī)化擾動(dòng)技術(shù)本質(zhì)上是一種數(shù)據(jù)偽裝技術(shù),其主要作用是緩解用戶偏好中敏感信息泄露的風(fēng)險(xiǎn)。隨機(jī)擾動(dòng)技術(shù)主要是在用戶原始數(shù)據(jù)上隨機(jī)選取添加一個(gè)服從均勻分布或者高斯分布的擾動(dòng)噪聲,從而保護(hù)用戶的原始數(shù)據(jù)不被竊取。例如,為了隱藏?cái)?shù)據(jù)a,就在a上添加一個(gè)隨機(jī)數(shù)r,則外界獲得的是數(shù)據(jù)a+r。在本文提出的隱私保護(hù)方法中,為實(shí)現(xiàn)簡單,給用戶的真實(shí)數(shù)據(jù)加上一個(gè)隨機(jī)噪聲后才發(fā)給服務(wù)器,從而保護(hù)用戶隱私數(shù)據(jù)。
匿名技術(shù)目標(biāo)是防止惡意攻擊者通過用戶發(fā)布的信息來定位用戶,對用戶發(fā)布的信息進(jìn)行匿名處理消除身份信息識(shí)別符,形成對用戶的隱藏。常見的方法是k-匿名和添加虛擬用戶。設(shè)RT(A1,A2,…,An)是數(shù)據(jù)表,RT 的相關(guān)關(guān)聯(lián)標(biāo)示符記為QI 。如果每一個(gè)在 RT[QIRT]中的序列值在RT[QIRT]中最少出現(xiàn)過k次,則稱其滿足k-匿名。添加虛擬用戶主要是用一些合理的虛擬用戶來代替部分真實(shí)用戶,從而實(shí)現(xiàn)隱私保護(hù)。本文采用了k-匿名的隱私保護(hù)思想對群組用戶敏感信息進(jìn)行保護(hù),主要實(shí)現(xiàn)策略是通過本文提出的群組敏感偏好保護(hù)方法在群組內(nèi)發(fā)現(xiàn)與目標(biāo)用戶相似的用戶,在此基礎(chǔ)上,利用相似用戶的偏好對目標(biāo)用戶進(jìn)行協(xié)同擾動(dòng),實(shí)現(xiàn)對目標(biāo)用戶敏感信息的保護(hù)。
本文提出的基于可信客戶端的面向群組推薦的個(gè)性化隱私保護(hù)框架(UPPPF-TC-GR)結(jié)構(gòu)如圖1所示。其中,可信客戶端是指能夠?qū)崿F(xiàn)安全目標(biāo)的客戶端,用戶在客戶端的所有操作都具有原子性、非否認(rèn)性、可追究性、公平性以及隱私性等特點(diǎn)。非可信是指推薦服務(wù)器在進(jìn)行用戶數(shù)據(jù)的存儲(chǔ)和數(shù)據(jù)建模等操作方面存在隱私泄露的可能。推薦服務(wù)器是面向所有用戶或組織的,其中不法組織或攻擊者可能會(huì)挖掘出用戶的敏感信息,對用戶的隱私產(chǎn)生威脅??尚趴蛻舳擞? 個(gè)模塊組成,分別是行為記錄模塊、偏好分析模塊、主題槽散列模塊、敏感偏好保護(hù)模塊和推薦結(jié)果選擇模塊,各模塊的功能將在3.5 節(jié)介紹。非可信推薦服務(wù)端由推薦算法和數(shù)據(jù)庫兩部分組成。
本文的隱私保護(hù)目標(biāo)是在可信客戶端實(shí)現(xiàn)對用戶隱私的保護(hù)。其中,數(shù)據(jù)庫存儲(chǔ)用戶歷史數(shù)據(jù)和項(xiàng)目-主題分類文檔信息,項(xiàng)目-主題分類文檔是通過項(xiàng)目-主題分類樹來構(gòu)建的,項(xiàng)目-主題分類樹是系統(tǒng)內(nèi)存中存在的一個(gè)層次化的平衡多路查找樹,主要用于管理推薦系統(tǒng)中所涉及的項(xiàng)目,便于將項(xiàng)目進(jìn)一步分類。項(xiàng)目-主題樹的實(shí)現(xiàn)原理類似于機(jī)器學(xué)習(xí)中的決策樹模型。首先,對項(xiàng)目進(jìn)行主題劃分,其中,主題可以根據(jù)外部項(xiàng)目-主題分類知識(shí)庫如維基百科等進(jìn)行獲取,或者根據(jù)實(shí)際數(shù)據(jù)集中所對應(yīng)的主題集進(jìn)行遍歷得到;其次,考慮到一個(gè)項(xiàng)目具有多個(gè)屬性,本文根據(jù)項(xiàng)目屬性將項(xiàng)目歸屬到具體的主題分支下;最后,對項(xiàng)目-主題分類樹進(jìn)行剪枝操作,得到最終的項(xiàng)目-主題分類樹。

圖1 UPPPF-TC-GR 結(jié)構(gòu)
下面簡要分析可信客戶端中各個(gè)模塊的作用。行為記錄模塊主要負(fù)責(zé)收集群組內(nèi)用戶的歷史記錄,本文將用戶行為記錄的收集放在可信客戶端來實(shí)現(xiàn),主要是為了增強(qiáng)用戶對于數(shù)據(jù)的可控性。偏好分析模塊主要負(fù)責(zé)將收集到的群組內(nèi)用戶歷史記錄進(jìn)行偏好建模,為每個(gè)用戶構(gòu)建屬于自己的偏好配置文件。主題槽散列模塊主要負(fù)責(zé)將用戶偏好中的項(xiàng)目信息分類到相應(yīng)的主題槽中。敏感偏好保護(hù)模塊主要負(fù)責(zé)對主題槽中的敏感主題進(jìn)行保護(hù),實(shí)現(xiàn)對群組用戶隱私的保護(hù)。推薦結(jié)果選擇模塊主要負(fù)責(zé)從推薦系統(tǒng)中選擇出推薦結(jié)果并將其反饋給群組完成整個(gè)推薦流程。
本文提出的UPPPF-TC-GR 將用戶行為記錄模塊和偏好分析模塊從推薦系統(tǒng)中分離出來,由可信客戶端實(shí)現(xiàn)。這樣做的好處是保證系統(tǒng)對于群組用戶數(shù)據(jù)的可控性和隱私保護(hù)模塊產(chǎn)生數(shù)據(jù)的可靠性。這2 個(gè)模塊主要是對用戶歷史數(shù)據(jù)挖掘、建模和分析。推薦結(jié)果選擇模塊主要是將推薦結(jié)果返回給群組,完成整個(gè)推薦流程。下面介紹本文提出的主題槽散列模塊、敏感偏好保護(hù)模塊的設(shè)計(jì)和實(shí)現(xiàn)以及非可信推薦服務(wù)端的群組推薦算法。
3.5.1 主題槽散列模塊
主題槽散列模塊主要基于項(xiàng)目-主題分類樹和本文提出的散列槽(hashslot)來實(shí)現(xiàn)。主題槽散列模塊的主要功能如下。首先,根據(jù)項(xiàng)目-主題分類樹將群組用戶偏好項(xiàng)目分類到相對應(yīng)的用戶hashslot 中。其次,根據(jù)分類存儲(chǔ)后的群組用戶主題偏好進(jìn)行主題重要性計(jì)算。最后,根據(jù)計(jì)算結(jié)果發(fā)現(xiàn)群組用戶存在的敏感主題。其中,項(xiàng)目-主題分類樹如圖2 所示。主題樹具有以下特征:1)每個(gè)葉子節(jié)點(diǎn)表示一個(gè)項(xiàng)目;2)每個(gè)非葉子節(jié)點(diǎn)代表一個(gè)主題;3)每個(gè)項(xiàng)目都包含在一個(gè)主題中;4)每個(gè)主題(根節(jié)點(diǎn)除外)都包含在另一個(gè)主題中。得到群組用戶的偏好項(xiàng)目相對應(yīng)的偏好主題后,將其存儲(chǔ)到hashslot 中完成主題槽散列。其中,本文的hashslot 結(jié)構(gòu)如圖3 所示,hashslot 結(jié)構(gòu)具有以下特征:1)hashslot 由多個(gè)slot 槽組成;2)hashslot 槽的個(gè)數(shù)根據(jù)系統(tǒng)內(nèi)存中項(xiàng)目所對應(yīng)的主題個(gè)數(shù)來確定;3)每個(gè)slot 對應(yīng)一個(gè)主題,存儲(chǔ)到同一個(gè)slot中的數(shù)據(jù)都對應(yīng)著相同的主題;4)每個(gè)slot 中的數(shù)據(jù)都包含著項(xiàng)目和評分信息。本文系統(tǒng)中為每個(gè)群組用戶都配置了一個(gè)hashslot 槽。經(jīng)過主題槽散列模塊的處理后,將群組用戶的偏好配置信息都存儲(chǔ)到相應(yīng)的用戶主題槽中。至此,完成了將群組內(nèi)用戶偏好配置信息散列到相應(yīng)的用戶主題槽的操作。

圖2 項(xiàng)目-主題分類樹

圖3 用戶偏好主題槽hashslot
3.5.2 敏感偏好保護(hù)模塊
1)相關(guān)符號(hào)描述
敏感偏好保護(hù)模塊基于主題槽散模塊,主要功能如下:首先,將群組用戶偏好數(shù)據(jù)都散列到相對應(yīng)的主題槽中;其次,根據(jù)群組用戶主題槽進(jìn)行主題重要性計(jì)算來發(fā)現(xiàn)群組用戶的敏感主題;最后,根據(jù)群組用戶存在的敏感主題進(jìn)行隱私保護(hù)處理。為了表述方便,表1 給出了本文用到的主要符號(hào)和定義。

表1 相關(guān)符號(hào)說明
2)相關(guān)定義描述
為了在可信客戶端實(shí)現(xiàn)對群組內(nèi)用戶敏感偏好的保護(hù),下面對本文采用的隱私保護(hù)方法中的計(jì)算式做如下定義。
定義1群組內(nèi)用戶偏好項(xiàng)目集。群組內(nèi)用戶偏好項(xiàng)目集是群組內(nèi)用戶感興趣的所有項(xiàng)目的集合,可以表示為

其中,I表示所有項(xiàng)目的集合,score(i)表示用戶u對項(xiàng)目i的評分??梢钥闯?,群組內(nèi)用戶偏好項(xiàng)目集是由用戶評分不為零的項(xiàng)目組成的。
定義2群組內(nèi)用戶偏好主題評分。群組內(nèi)用戶偏好主題評分代表用戶對某個(gè)主題的喜好程度,是根據(jù)群組內(nèi)用戶偏好項(xiàng)目集評分得到的。本文只考慮群組偏好項(xiàng)目的直接主題,而不考慮項(xiàng)目的其他層次的主題,主題的層次越高,其屬性就越抽象;主題的層次越低,屬性就越具體。本文的保護(hù)目標(biāo)是實(shí)現(xiàn)對具體主題的保護(hù),因此本文可以形式化定義群組內(nèi)用戶偏好主題評分為

其中,w(g)表示所有直接屬于主題g的項(xiàng)目。
定義3群組內(nèi)用戶偏好主題集。是一組由用戶感興趣的所有主題所組成的集合,其可以形式化地定義為

其中,S代表所有主題集合,score(g)表示用戶u對主題g的評分??梢钥闯?,群組內(nèi)用戶偏好主題集是由用戶評分不為零的主題組成的。
定義4群組內(nèi)用戶主題槽hashslotu。代表用戶u的偏好主題槽,用于存儲(chǔ)用戶u相對應(yīng)主題下的項(xiàng)目,每個(gè)用戶都由可信客戶端分配相應(yīng)的主題槽,單個(gè)用戶的偏好主題槽的數(shù)目是由系統(tǒng)中項(xiàng)目所具備的主題類型數(shù)目來確定的,它由多個(gè)slot組成。
定義5群組內(nèi)用戶偏好項(xiàng)目集特征分布。給定一個(gè)偏好項(xiàng)目集SU*,其特征分布可以用下面的向量來描述。

定義6群組內(nèi)用戶偏好主題集特征分布。給定偏好主題集合SS*,其特征分布可以使用以下向量來描述。

定義7用戶主題重要性。描述一個(gè)敏感主題在群組內(nèi)用戶偏好配置文件中的重要程度,其可以形式化地定義為

其中,s*代表一個(gè)敏感主題,score(hashslotu)代表單個(gè)用戶的所有主題評分。本文根據(jù)敏感主題重要性,對用戶偏好配置文件中的敏感屬性進(jìn)行保護(hù)。
定義8項(xiàng)目特征相似性。表示隱私保護(hù)處理后的群組偏好配置文件和真實(shí)的群組偏好配置文件的相似度。2 個(gè)項(xiàng)目集合之間的特征相似性可以通過2 個(gè)項(xiàng)目集合的項(xiàng)目特征向量的相似度和主題特征向量的相似度來進(jìn)行度量。P1* 和P2* 之間的特征相似性度量為

其中,a0和ak為平衡參數(shù),sim(G1*,G2*)和sim(SK1*,SK2*)利用歐幾里得距離公式進(jìn)行計(jì)算。
定義9相似用戶。根據(jù)定義7 算出群組內(nèi)所有用戶的主題重要性以及目標(biāo)用戶需要保護(hù)的敏感屬性所在的主題,將該主題重要性與組內(nèi)其他用戶相應(yīng)主題下的主題重要性進(jìn)行比較,從群組內(nèi)發(fā)現(xiàn)k個(gè)相似的用戶對目標(biāo)用戶進(jìn)行敏感屬性的擾動(dòng)。本文定義參數(shù)q對用戶間主題相似度進(jìn)行度量,q值越小,則2 個(gè)用戶之間的相似性越高。本文形式化將其定義為

其中,ui指代其他用戶,i=1,2,3,…,n,0<q<1。
3)隱私保護(hù)方法的設(shè)計(jì)
為了保護(hù)群組內(nèi)用戶的隱私,根據(jù)群組用戶是否有隱私保護(hù)的需求,在可信客戶端對群組用戶的敏感屬性進(jìn)行隱私保護(hù)處理。首先,用戶的隱私保護(hù)需求通過顯式偏好獲取的方式來收集;其次,群組用戶隱私保護(hù)需求在可信客戶端使用隱私保護(hù)參數(shù)Ω進(jìn)行定量分析,Ω的取值范圍為{-1,1},當(dāng)Ω=1 時(shí)表示用戶需要進(jìn)行隱私保護(hù)處理,當(dāng)Ω=-1 時(shí)表示用戶不進(jìn)行隱私保護(hù)處理。因此,對于有隱私保護(hù)需求的用戶,考慮到其需求可能存在差異,本文采用群組敏感偏好保護(hù)方法,通過調(diào)整k個(gè)相似用戶的大小來實(shí)現(xiàn)不同的隱私保護(hù)需求。
本文的隱私保護(hù)方法應(yīng)盡可能地使單個(gè)用戶的評分在群組內(nèi)不敏感,這樣在惡意攻擊者具備一定的背景知識(shí)的情況下,相應(yīng)的審查攻擊和評級(jí)攻擊就不會(huì)起作用,本文的隱私保護(hù)方法思想如圖4 所示,該思想主要利用群組用戶中與目標(biāo)用戶相似的k個(gè)用戶的評分信息,對目標(biāo)用戶的敏感屬性進(jìn)行協(xié)同擾動(dòng)(k是一個(gè)需要調(diào)整的參數(shù),相似用戶根據(jù)定義9 計(jì)算),實(shí)現(xiàn)對用戶隱私的保護(hù)。
本文提出的隱私保護(hù)算法首先根據(jù)Ω隱私保護(hù)參數(shù)的值進(jìn)行群組內(nèi)用戶的分類,對需要進(jìn)行隱私保護(hù)的用戶分別實(shí)現(xiàn)隱私保護(hù)處理,為了提高整個(gè)算法效率,假設(shè)在隱私保護(hù)模塊中的算法實(shí)現(xiàn)中預(yù)先存在項(xiàng)目-主題分類樹。然而,項(xiàng)目-主題分類樹的葉節(jié)點(diǎn)深度可能彼此不同。因此,為了便于算法的實(shí)現(xiàn),可以采用以下2 種方式對主題樹進(jìn)行預(yù)處理。1)分割一些較小深度的葉節(jié)點(diǎn),并構(gòu)造它們的父節(jié)點(diǎn)。2)合并一些葉子更深的節(jié)點(diǎn),并刪除其父節(jié)點(diǎn)。通過這樣的操作后,可以使主題樹具有相同的深度。另外,本文將項(xiàng)目-主題分類樹預(yù)先加載到內(nèi)存中,以提高算法的運(yùn)行效率。由于相似用戶對于目標(biāo)用戶的敏感項(xiàng)目的評分不確定,因此本文的算法分為2 種情況。1)當(dāng)找到的相似用戶對敏感項(xiàng)目存在評分時(shí),利用相似用戶和目標(biāo)用戶的評分進(jìn)行協(xié)同擾動(dòng),將擾動(dòng)之后的評分作為這k+1 個(gè)用戶對于敏感項(xiàng)目的評分。2)當(dāng)相似用戶對敏感項(xiàng)目沒有評分時(shí),利用目標(biāo)用戶對該敏感項(xiàng)目的評分平均化操作后,再加上服從標(biāo)準(zhǔn)高斯分布的w噪聲值作為這k+1 個(gè)用戶對于敏感項(xiàng)目的評分,其中,

圖4 群組敏感偏好保護(hù)方法
下面介紹本文提出的群組內(nèi)用戶隱私保護(hù)算法,算法1 詳細(xì)介紹了群組敏感偏好保護(hù)方法的實(shí)現(xiàn)。在GSPPM 中發(fā)現(xiàn)群組中具有隱私保護(hù)需求的用戶的敏感偏好,對用戶的敏感偏好進(jìn)行隱私保護(hù)處理,將隱私保護(hù)處理后的群組內(nèi)用戶偏好傳遞給推薦系統(tǒng)進(jìn)行推薦。具體方法如下:首先,對項(xiàng)目-評分信息進(jìn)行預(yù)處理操作,主要的預(yù)處理操作方法是根據(jù)項(xiàng)目-主題分類樹對用戶項(xiàng)目進(jìn)行主題分類;然后,根據(jù)主題重要性計(jì)算方法發(fā)現(xiàn)用戶的敏感偏好主題,在發(fā)現(xiàn)敏感主題的基礎(chǔ)上,根據(jù)主題相似性尋找與目標(biāo)用戶相似的前k個(gè)相似用戶;最后,根據(jù)相似用戶和目標(biāo)用戶對敏感項(xiàng)目的評分信息進(jìn)行協(xié)同擾動(dòng),將擾動(dòng)后的評分信息作為群組內(nèi)用戶的最終評分信息,從而實(shí)現(xiàn)對用戶敏感信息的保護(hù)。
算法1GSPPM
輸入群組內(nèi)用戶的偏好項(xiàng)目集合r1,r2,...,rn,相似用戶的數(shù)目k
輸出隱私保護(hù)處理后的群組內(nèi)用戶偏好項(xiàng)目r1*,r2*,…,rn*
beginP[]GSPPM (Ggroup)
foruinG
step1P[]products=u.getProducts();//得到單個(gè)用戶的偏好項(xiàng)目
step2putProduct2hashslot(u,products,hashslot);//將單個(gè)用戶的偏好映射到相應(yīng)的slot 槽中
step3SentiveSubject sp=findSensitiveSubject(u,hashslot);//尋找敏感主題
step4findSimilaryUsers(sp,hashslot,u,k);//根據(jù)目標(biāo)用戶的敏感主題尋找群組內(nèi)相似用戶
step5changeScore(sp,u,SimilaryUsers[]sus);//根據(jù)相似用戶的評分?jǐn)_動(dòng)目標(biāo)用戶的評分
return products
end for
從算法1 中可以發(fā)現(xiàn),本文采用的隱私保護(hù)方法是使用群組內(nèi)相似用戶的評分對目標(biāo)用戶評分進(jìn)行協(xié)同擾動(dòng)的方式來保護(hù)用戶隱私的。當(dāng)系統(tǒng)為用戶評分加入過高的噪聲數(shù)據(jù)時(shí),將導(dǎo)致數(shù)據(jù)的大幅度失真,直接引起推薦質(zhì)量的下降,推薦質(zhì)量的下降又將導(dǎo)致用戶減少對推薦系統(tǒng)的使用,這樣的惡性循環(huán)不利于推薦系統(tǒng)的良性發(fā)展。當(dāng)系統(tǒng)為用戶評分加入少量的噪聲數(shù)據(jù)時(shí),數(shù)據(jù)失真不明顯,不能很好地保護(hù)用戶的敏感數(shù)據(jù),攻擊者可能根據(jù)背景知識(shí)推斷出實(shí)際的用戶信息。因此,本文在群組用戶的評分信息中加入適量的噪聲并結(jié)合k-匿名的思想來保護(hù)群組用戶的隱私。對比實(shí)驗(yàn)2 顯示了加入適量的噪聲的隱私保護(hù)方法確實(shí)會(huì)損失部分推薦精度,但為了在推薦精度和隱私保護(hù)之間進(jìn)行平衡,本文認(rèn)為犧牲一定的推薦精度來實(shí)現(xiàn)用戶隱私保護(hù)的行為是值得的。
3.5.3 群組推薦算法
在面向群組推薦系統(tǒng)中,本文需要考慮群組內(nèi)所有用戶的偏好。目前,主流的面向群組推薦的方法分為推薦融合方法和模型融合方法。模型融合方法是先根據(jù)群組內(nèi)用戶的用戶偏好模型融合生成群組偏好模型,然后基于群組偏好模型生成群組推薦。推薦融合方法是先利用傳統(tǒng)推薦算法對每個(gè)群組用戶生成推薦,然后將所有群組用戶的推薦結(jié)果融合得到群組推薦結(jié)果。本文采用模型融合的方法對群組進(jìn)行推薦。對群組內(nèi)需要進(jìn)行隱私保護(hù)的用戶,通過群組敏感偏好保護(hù)方法實(shí)現(xiàn)對群組用戶敏感偏好的保護(hù)后,再將擾動(dòng)后的群組偏好傳輸給推薦服務(wù)器進(jìn)行推薦,對沒有隱私保護(hù)需求的用戶,則按照傳統(tǒng)的協(xié)同過濾算法進(jìn)行推薦。
算法有效性分析。算法的主要性能消耗在計(jì)算群組內(nèi)用戶的主題重要性和尋找群組內(nèi)與目標(biāo)用戶相似的用戶上,但是這部分消耗也是極少的,因?yàn)閷?shí)驗(yàn)的群組用戶數(shù)量不大,系統(tǒng)中存在的主題數(shù)目和群組內(nèi)用戶的偏好主題數(shù)目都是極小的,從項(xiàng)目-主題樹中搜索用戶偏好的效率也是極高的,因?yàn)楸疚膶ο到y(tǒng)的項(xiàng)目-主題分類樹進(jìn)行了一系列的簡化,使項(xiàng)目-主題分類樹的深度只有三層,這樣可以極高地提高算法的運(yùn)行效率。
隱私保護(hù)性能分析。首先,隱私保護(hù)算法處理后的群組用戶偏好項(xiàng)目已經(jīng)不是原始的群組用戶偏好項(xiàng)目,該群組用戶偏好項(xiàng)目過濾了原始群組用戶偏好項(xiàng)目中的敏感偏好,推薦系統(tǒng)獲取到的就不是原始的群組偏好,有效地解決了3.1 節(jié)給出的審查攻擊和評級(jí)攻擊。其次,根據(jù)定義8 的項(xiàng)目特征相似性計(jì)算發(fā)現(xiàn),擾動(dòng)后的項(xiàng)目特征和原始的項(xiàng)目特征之間具有很高的相似性,說明擾動(dòng)后的數(shù)據(jù)能夠在保證良好的數(shù)據(jù)可用性的同時(shí),實(shí)現(xiàn)對群組用戶的隱私保護(hù)。最后,本文利用群組內(nèi)相似用戶的項(xiàng)目偏好進(jìn)行協(xié)同擾動(dòng),實(shí)現(xiàn)單個(gè)用戶的評分在群組中不敏感。實(shí)驗(yàn)結(jié)果表明,本文的隱私保護(hù)方法可以在有效地保護(hù)群組用戶隱私的同時(shí),保證推薦的質(zhì)量。
本文實(shí)驗(yàn)環(huán)境是基于Windows8 平臺(tái)64 位系統(tǒng),其處理器是雙核2.5 GHz。本文算法采用Java語言編程實(shí)現(xiàn)。本文所使用的數(shù)據(jù)為學(xué)術(shù)界研究廣泛使用的極具代表性的 MovieLens 數(shù)據(jù)集,其中包含943 個(gè)用戶對于1 682 個(gè)電影的10 萬條評分,且每個(gè)用戶參與評價(jià)的數(shù)目不少于20 條。數(shù)據(jù)集都是由1~5 的整數(shù)值組成,數(shù)值越大表示用戶越喜愛相關(guān)的項(xiàng)目。
為了在面向群組推薦的過程中驗(yàn)證本文提出方法的有效性,根據(jù)用戶的基本信息對數(shù)據(jù)集中的用戶進(jìn)行群組劃分,主要包含如下3 種劃分方式,即性別劃分、按年齡劃分、按職業(yè)劃分。具體的劃分方法如下。1)性別:男、女。2)年齡:小于20歲、21 歲~30 歲、31 歲~40 歲。3)職業(yè):教師、銷售、程序員等。為了方便本文所提隱私方法的實(shí)現(xiàn),對數(shù)據(jù)集進(jìn)行了預(yù)處理。將選取數(shù)據(jù)集中的電影的標(biāo)題(title)和電影的類別(genre)這2 個(gè)屬性進(jìn)行項(xiàng)目-主題分類樹的構(gòu)建。具體構(gòu)建操作是根據(jù)title 和genre 之間的對應(yīng)關(guān)系,將相對應(yīng)的項(xiàng)目葉子節(jié)點(diǎn)插入主題根節(jié)點(diǎn)下,從而實(shí)現(xiàn)多層次的項(xiàng)目-主題分類樹的構(gòu)建。
本文將數(shù)據(jù)集按照4:1 的方式劃分為訓(xùn)練數(shù)據(jù)集和測試數(shù)據(jù)集兩部分,采用了RMSE(均方根誤差)對群組推薦結(jié)果的準(zhǔn)確性進(jìn)行分析。RMSE 在群組推薦場景下的表達(dá)形式為

其中,ip表示測試數(shù)據(jù)集中用戶對項(xiàng)目i的實(shí)際評分,ir表示推薦系統(tǒng)對測試數(shù)據(jù)集中項(xiàng)目i的預(yù)測評分。由定義可知,RMSE 的值越小,則所預(yù)測的推薦結(jié)果越準(zhǔn)確。
4.3.1 對比實(shí)驗(yàn)1
對比實(shí)驗(yàn) 1 將群組敏感偏好保護(hù)方法(GSPPM)和隨機(jī)擾動(dòng)方法進(jìn)行對比。表2 給出了在不同群組大?。ㄓ脩魯?shù))和群組分類方法下2 種擾動(dòng)方法RMSE 值的對比。
根據(jù)圖5 的實(shí)驗(yàn)結(jié)果發(fā)現(xiàn),本文提出的群組敏感偏好保護(hù)方法的RMSE 值更小,說明本文方法的推薦準(zhǔn)確性更高,并且當(dāng)使用較細(xì)粒度的按職業(yè)進(jìn)行群組劃分的方法時(shí),推薦準(zhǔn)確性明顯高于按性別進(jìn)行群組劃分的方法。
4.3.2 對比實(shí)驗(yàn)2
對比實(shí)驗(yàn)2 是用RMSE 參數(shù)來進(jìn)行度量,將加入了隱私保護(hù)方法后的群組推薦方法和文獻(xiàn)[22]中提出的CF-based 的群組推薦方法進(jìn)行對比。其中,CF-based 的群組推薦方法采用模型融合的方式進(jìn)行推薦,先對群組內(nèi)用戶的偏好進(jìn)行偏好融合后形成群組偏好,然后再利用傳統(tǒng)的基于項(xiàng)目的協(xié)同過濾推薦算法對群組進(jìn)行推薦。
圖6 的實(shí)驗(yàn)結(jié)果表明加入隱私保護(hù)方法后,推薦系統(tǒng)的推薦準(zhǔn)確性并沒有出現(xiàn)較大幅度的失真,說明本文的方法能夠在保護(hù)群組內(nèi)用戶隱私的同時(shí),實(shí)現(xiàn)對群組用戶的準(zhǔn)確推薦。

表2 不同群組大小和群組分類方法下的RMSE 值

圖5 隨機(jī)擾動(dòng)方法和GSPPM 的對比

圖6 融合GSPPM 隱私保護(hù)方法的群組推薦和CF-based 群組推薦的對比
4.3.3 對比實(shí)驗(yàn)3
對比實(shí)驗(yàn)3 驗(yàn)證參數(shù)k對推薦結(jié)果的影響。對比實(shí)驗(yàn)1 的結(jié)果表明,當(dāng)選用職業(yè)作為劃分群組的標(biāo)準(zhǔn)時(shí),群組推薦結(jié)果的準(zhǔn)確性明顯高于以年齡和性別作為劃分群組標(biāo)準(zhǔn)時(shí)的準(zhǔn)確性,因此本文的實(shí)驗(yàn)是以職業(yè)進(jìn)行群組劃分,群組的用戶數(shù)目選擇為20,在此基礎(chǔ)上通過調(diào)整參數(shù)k的大小來觀察其對推薦準(zhǔn)確性的影響。
圖7 的實(shí)驗(yàn)結(jié)果說明在使用職業(yè)作為群組劃分的前提下,當(dāng)相似用戶的數(shù)量達(dá)到群組數(shù)量的時(shí),推薦準(zhǔn)確性相對較高的,當(dāng)使用的相似用戶數(shù)量逐漸增大時(shí),對推薦的準(zhǔn)確性會(huì)有一定的影響,因此本文將相似用戶的數(shù)量設(shè)置為當(dāng)前群組大小的。

圖7 不同k下的RMSE
根據(jù)以上實(shí)驗(yàn)表明,本文在引入隱私保護(hù)方法之后,推薦準(zhǔn)確性沒有出現(xiàn)較大的損失,保證推薦系統(tǒng)能夠在一定的精度損失范圍內(nèi),實(shí)現(xiàn)有效的推薦和保護(hù)群組內(nèi)用戶的敏感信息。在實(shí)驗(yàn)性能方面,主要在可信客戶端存在一定的時(shí)間消耗,但是這樣的時(shí)間消耗可以保證用戶的隱私,本文認(rèn)為這樣的時(shí)間消耗是值得的。
為了解決群組推薦中的個(gè)性化隱私保護(hù)問題,本文提出了基于可信客戶端的面向群組推薦的隱私保護(hù)框架,在實(shí)現(xiàn)面向群組準(zhǔn)確推薦的同時(shí),保證群組內(nèi)用戶個(gè)性化的隱私保護(hù)需求。然而,數(shù)據(jù)在傳輸過程可能存在隱私泄露的風(fēng)險(xiǎn),后續(xù)的工作將圍繞如何提升數(shù)據(jù)傳輸?shù)目煽啃耘c安全性展開研究。