王海艷,陸金祥
(1.南京郵電大學(xué)計(jì)算機(jī)學(xué)院,江蘇 南京 210023;2.南京郵電大學(xué)江蘇省大數(shù)據(jù)安全與智能處理重點(diǎn)實(shí)驗(yàn)室,江蘇 南京 210023)
近年來(lái),隨著信息化、智能化的深度融合,用戶(hù)在利用信息技術(shù)獲得更多便利的同時(shí),個(gè)人隱私面臨著嚴(yán)重的威脅。2018 年,國(guó)內(nèi)外發(fā)生的幾起嚴(yán)重泄露用戶(hù)隱私的事件表明,信息社會(huì)中用戶(hù)的隱私保護(hù)迫在眉睫。作為個(gè)性化推薦系統(tǒng)的擴(kuò)展,群組推薦日益受到關(guān)注。群組推薦系統(tǒng)是指群組中有多個(gè)用戶(hù),不同用戶(hù)有各自的偏好需求,根據(jù)群組中每個(gè)用戶(hù)的偏好進(jìn)行推薦的系統(tǒng)。群組推薦主要任務(wù)是緩解群組成員之間的偏好沖突,使推薦結(jié)果盡可能滿(mǎn)足所有群組成員的需求。群組推薦系統(tǒng)需要收集大量的用戶(hù)歷史數(shù)據(jù)來(lái)實(shí)現(xiàn)對(duì)群組的推薦,這些數(shù)據(jù)中可能包含一些用戶(hù)的敏感信息。多數(shù)情況下推薦系統(tǒng)是非可信的,存在泄露用戶(hù)隱私的風(fēng)險(xiǎn),而用戶(hù)為了獲得個(gè)性化的推薦,只能選擇信任推薦系統(tǒng)。因此,對(duì)群組內(nèi)用戶(hù)實(shí)現(xiàn)隱私保護(hù),已成為群組推薦的一個(gè)研究熱點(diǎn)。
與傳統(tǒng)的個(gè)性化推薦系統(tǒng)不同,群組推薦系統(tǒng)首先需要考慮群組內(nèi)所有用戶(hù)的偏好,并通過(guò)群組內(nèi)用戶(hù)間的偏好共享和交互機(jī)制縮小群組內(nèi)用戶(hù)之間的偏好差異。在此基礎(chǔ)上,群組推薦系統(tǒng)將每個(gè)群組內(nèi)用戶(hù)的偏好融合得到群組偏好,并根據(jù)群組偏好完成群組推薦?,F(xiàn)階段,面向群組推薦的用戶(hù)隱私保護(hù)主要通過(guò)群組內(nèi)用戶(hù)偏好協(xié)同擾動(dòng)的方法實(shí)現(xiàn)。已有的面向群組推薦的用戶(hù)隱私保護(hù)方法,大都假設(shè)群組內(nèi)所有用戶(hù)具有相同的隱私保護(hù)需求,對(duì)群組內(nèi)所有用戶(hù)進(jìn)行相同的隱私保護(hù)處理,而不能針對(duì)群組內(nèi)用戶(hù)個(gè)性化的隱私保護(hù)需求分別進(jìn)行處理,具有很大的局限性。
針對(duì)以上問(wèn)題,本文提出了面向群組推薦的個(gè)性化隱私保護(hù)方法,主要工作及創(chuàng)新點(diǎn)如下:1)提出了面向群組推薦的基于可信客戶(hù)端的個(gè)性化隱私保護(hù)框架(UPPPF-TC-GR,user personalized privacy protection framework based on trusted client for group recommendation),在可信客戶(hù)端對(duì)群組內(nèi)用戶(hù)的歷史偏好進(jìn)行收集和分析,利用敏感主題相似度分析方法發(fā)現(xiàn)群組用戶(hù)數(shù)據(jù)中存在的敏感數(shù)據(jù),對(duì)群組用戶(hù)的敏感偏好進(jìn)行隱私保護(hù)處理;2)基于此框架,提出了群組敏感偏好保護(hù)方法(GSPPM,group sensitive preference protection method),在可信客戶(hù)端利用隨機(jī)的擾動(dòng)技術(shù)對(duì)群組用戶(hù)偏好進(jìn)行隱私保護(hù)處理,實(shí)現(xiàn)對(duì)群組用戶(hù)敏感偏好的保護(hù)。本文提出的個(gè)性化隱私保護(hù)方法利用群組內(nèi)相似用戶(hù)的評(píng)分進(jìn)行隨機(jī)的協(xié)同擾動(dòng),實(shí)現(xiàn)對(duì)用戶(hù)個(gè)性化隱私的保護(hù),相對(duì)于直接添加擾動(dòng)噪聲的隨機(jī)化擾動(dòng)方法有了很大的改進(jìn)與創(chuàng)新。
現(xiàn)有的個(gè)性化推薦中的隱私保護(hù)方法主要使用k-匿名、隨機(jī)化擾動(dòng)、加密等隱私保護(hù)技術(shù),實(shí)現(xiàn)對(duì)用戶(hù)推薦的同時(shí)有效保護(hù)用戶(hù)的隱私。文獻(xiàn)[1]在數(shù)據(jù)發(fā)布領(lǐng)域,提出利用k-匿名方法實(shí)現(xiàn)對(duì)用戶(hù)敏感信息的保護(hù)。文獻(xiàn)[2]提出關(guān)系保持變換的方法來(lái)防御關(guān)于廣義形式的距離保持變換的攻擊。文獻(xiàn)[3]主要針對(duì)目前比較流行的背景知識(shí)攻擊和審查攻擊提出了一種保護(hù)用戶(hù)隱私的方法,核心思想是利用k-匿名的隱私保護(hù)方法實(shí)現(xiàn)對(duì)背景知識(shí)攻擊的攔截。文獻(xiàn)[4]針對(duì)k近鄰(kNN,k-nearest neighbor)攻擊,提出分區(qū)概率鄰域選擇方法,以確保所選區(qū)域的安全性,同時(shí)實(shí)現(xiàn)針對(duì)kNN 攻擊的最佳預(yù)測(cè)精度。文獻(xiàn)[5]分析了在線(xiàn)社交網(wǎng)絡(luò)存在的一些隱私保護(hù)相關(guān)的問(wèn)題,提出通過(guò)k-匿名化實(shí)現(xiàn)在匿名社交網(wǎng)絡(luò)中用戶(hù)間相互通信而不會(huì)暴露其身份的隱私保護(hù)方法。文獻(xiàn)[6]提出在網(wǎng)絡(luò)跟蹤數(shù)據(jù)中源IP 和目的IP 地址之間的固有圖形結(jié)構(gòu),并使用k-匿名防止目標(biāo)主機(jī)被跟蹤。文獻(xiàn)[7]提出通過(guò)擺脫半誠(chéng)實(shí)的服務(wù)提供商來(lái)設(shè)計(jì)分散的單一協(xié)議,該協(xié)議使用非常小的數(shù)據(jù)集子集,其準(zhǔn)確性仍然等于或優(yōu)于某些基線(xiàn)算法。文獻(xiàn)[8]提出使用匿名身份驗(yàn)證來(lái)保護(hù)使用盲簽名的位置隱私。文獻(xiàn)[9]提出了一種基于信任的隱私保護(hù)朋友推薦方案。文獻(xiàn)[10]提出一個(gè)函數(shù)發(fā)生器實(shí)體,通過(guò)該實(shí)體周期性地分布空間變換參數(shù)實(shí)現(xiàn)對(duì)用戶(hù)位置的隱私保護(hù)。文獻(xiàn)[11]提出了一種應(yīng)用數(shù)據(jù)混淆技術(shù)的隱私保護(hù)框架,并在此框架下進(jìn)一步開(kāi)發(fā)了2 種代表性的隱私保護(hù)服務(wù)質(zhì)量(QoS,quality of service)預(yù)測(cè)方法。文獻(xiàn)[12]提出了一種新型數(shù)據(jù)加密方法,該方法在時(shí)間約束下使用隱私分類(lèi)方法選擇性地加密數(shù)據(jù),并使用選擇性加密策略最大化隱私保護(hù)范圍。文獻(xiàn)[13]提出利用差分隱私方法作為隱私保護(hù)框架,利用目標(biāo)擾動(dòng)方法對(duì)矩陣中添加滿(mǎn)足差分隱私約束的噪聲得到噪聲矩陣分解模型,實(shí)現(xiàn)對(duì)隱私數(shù)據(jù)的保護(hù)。文獻(xiàn)[14]對(duì)差分隱私保護(hù)領(lǐng)域已有的研究成果進(jìn)行了總結(jié),對(duì)該技術(shù)的基本原理和特征進(jìn)行了闡述,重點(diǎn)介紹了差分隱私的研究熱點(diǎn)。文獻(xiàn)[15]分析了差分隱私保護(hù)模型相對(duì)于傳統(tǒng)安全模型的優(yōu)勢(shì),對(duì)差分隱私基礎(chǔ)理論及其在數(shù)據(jù)發(fā)布與數(shù)據(jù)挖掘中的應(yīng)用研究進(jìn)行綜述。文獻(xiàn)[16]提出了一種輕量級(jí)的位置感知推薦系統(tǒng)隱私保護(hù)框架,利用該框架服務(wù)提供者將隨機(jī)處理后的歷史評(píng)價(jià)信息外包給云平臺(tái),并通過(guò)安全協(xié)議在云平臺(tái)的輔助下進(jìn)行相似度信息的安全計(jì)算。文獻(xiàn)[17]提出一種貪心聚類(lèi)匿名方法,通過(guò)分類(lèi)概化準(zhǔn)標(biāo)識(shí)屬性,分別度量其信息損失,從而減小并合理評(píng)價(jià)信息損失。文獻(xiàn)[18]提出了一種具有隱私保護(hù)的協(xié)同過(guò)濾方法,該方法主要思想是通過(guò)使用傳輸矩陣直接干擾原始數(shù)據(jù)集來(lái)保證用戶(hù)隱私。文獻(xiàn)[19]將k-匿名隱私保護(hù)技術(shù)和區(qū)塊鏈技術(shù)的分布式特性結(jié)合起來(lái),提出了一種基于區(qū)塊鏈的分布式k-匿名位置隱私保護(hù)方案。文獻(xiàn)[20]提出一種具備保護(hù)用戶(hù)隱私功能的推薦系統(tǒng),利用用戶(hù)的歷史評(píng)價(jià)和項(xiàng)目屬性信息,結(jié)合不采集用戶(hù)個(gè)人信息的協(xié)同過(guò)濾推薦算法,在實(shí)現(xiàn)對(duì)用戶(hù)推薦的同時(shí),保護(hù)用戶(hù)隱私。文獻(xiàn)[21]提出將位置輪廓相似度和位置點(diǎn)相似度度量的過(guò)濾算法應(yīng)用到協(xié)同過(guò)濾算法中,實(shí)現(xiàn)對(duì)用戶(hù)位置隱私的保護(hù)。
以上研究發(fā)現(xiàn),現(xiàn)有的主流隱私保護(hù)方法或者采用了k-匿名的思想對(duì)用戶(hù)的敏感屬性進(jìn)行泛化處理來(lái)保護(hù)用戶(hù)的隱私,或者使用隨機(jī)化的擾動(dòng)方法來(lái)實(shí)現(xiàn)對(duì)敏感數(shù)據(jù)的保護(hù),或者采用加密技術(shù)來(lái)實(shí)現(xiàn)對(duì)用戶(hù)的隱私保護(hù)。但k-匿名算法本身存在一系列的問(wèn)題,其中比較主要的問(wèn)題有同質(zhì)攻擊和背景知識(shí)攻擊。而隨機(jī)化擾動(dòng)方法會(huì)帶來(lái)一定程度的數(shù)據(jù)失真。因此,單純使用k-匿名的隱私保護(hù)算法或者隨機(jī)化擾動(dòng)方法來(lái)保護(hù)用戶(hù)隱私存在一定的局限性,不能夠在隱私保護(hù)和推薦準(zhǔn)確性之間達(dá)到很好的平衡,加密技術(shù)也不適用于群組推薦這樣計(jì)算量較大的應(yīng)用場(chǎng)景。
現(xiàn)階段的研究成果主要是通過(guò)向原始群組偏好中添加擾動(dòng)的方式實(shí)現(xiàn)的。文獻(xiàn)[22]提出在群組內(nèi)部對(duì)群組內(nèi)用戶(hù)的偏好配置文件進(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)對(duì)群組的推薦。文獻(xiàn)[23]提出了基于群組的隱私保護(hù)方法,將群組作為一個(gè)中間件對(duì)群組用戶(hù)進(jìn)行隱私保護(hù),群組用戶(hù)將個(gè)人偏好數(shù)據(jù)通過(guò)聚合策略進(jìn)行聚合后,以群組的方式來(lái)進(jìn)行推薦,有效地保護(hù)了群組用戶(hù)的隱私數(shù)據(jù)。文獻(xiàn)[24]提出基于可信客戶(hù)端生成一組虛擬的偏好配置文件傳輸給推薦服務(wù)器進(jìn)行推薦,以掩蓋用戶(hù)敏感主題,實(shí)現(xiàn)對(duì)用戶(hù)個(gè)人隱私的保護(hù)。文獻(xiàn)[25]從群組推薦系統(tǒng)的形式化定義和研究框架入手,對(duì)群組推薦系統(tǒng)的用戶(hù)偏好獲取、群組發(fā)現(xiàn)、偏好融合算法以及效用評(píng)價(jià)等關(guān)鍵技術(shù)進(jìn)行前沿概述,并對(duì)群組推薦系統(tǒng)中的用戶(hù)隱私保護(hù)問(wèn)題進(jìn)行了展望。文獻(xiàn)[26]針對(duì)移動(dòng)社交網(wǎng)絡(luò)的應(yīng)用場(chǎng)景,提出一種基于影響因子的群組推薦隱私保護(hù)方法,該方法使用模糊矩陣算法來(lái)實(shí)現(xiàn)對(duì)用戶(hù)隱私的保護(hù)。文獻(xiàn)[27]提出一種基于差分隱私保護(hù)算法和時(shí)間因子相結(jié)合的高效隱私保護(hù)協(xié)同過(guò)濾算法,該算法能夠很好地保護(hù)用戶(hù)隱私。文獻(xiàn)[28]提出了一種新的綜合考慮代理和用戶(hù)屬性及其偏好的私有數(shù)據(jù)信息匹配算法,該算法支持具有偏好信息的多元屬性數(shù)據(jù)匹配,能夠有效保障用戶(hù)和子代理的安全性。文獻(xiàn)[29]提出了一種基于位置混淆的軌跡隱私保護(hù)方法,該方法混淆用戶(hù)的真實(shí)查詢(xún)位置,使攻擊者不能推斷出用戶(hù)的真實(shí)軌跡,實(shí)現(xiàn)對(duì)用戶(hù)的隱私保護(hù)。文獻(xiàn)[30]提出了一種基于k-匿名的位置及數(shù)據(jù)隱私保護(hù)方法,并采用基于多方安全合作的方法來(lái)構(gòu)造一個(gè)包含n個(gè)互相沒(méi)有任何鏈接的用戶(hù)的等價(jià)類(lèi),以保證參與用戶(hù)的位置隱私。
以上研究發(fā)現(xiàn),現(xiàn)有的群組推薦系統(tǒng)中的隱私保護(hù)方法大都是在客戶(hù)端對(duì)群組內(nèi)所有用戶(hù)進(jìn)行協(xié)同擾動(dòng)實(shí)現(xiàn)隱私保護(hù),這樣的隱私保護(hù)方法實(shí)現(xiàn)的前提是假設(shè)群組內(nèi)所有用戶(hù)都具有相同的隱私保護(hù)需求。但事實(shí)上,群組內(nèi)不同用戶(hù)的隱私保護(hù)需求往往具有個(gè)性化差異。
本文在文獻(xiàn)[24]模型及框架基礎(chǔ)上,提出了面向群組推薦的組內(nèi)用戶(hù)個(gè)性化的隱私保護(hù)框架和方法。
介紹本文提出的隱私保護(hù)方法之前,首先分析群組推薦中可能存在的攻擊和隨機(jī)化擾動(dòng)隱私保護(hù)方法。
群組推薦系統(tǒng)面臨的不同于個(gè)性化推薦系統(tǒng)的攻擊主要有審查攻擊和評(píng)級(jí)攻擊[21]。1)審查攻擊是指攻擊者在了解到某個(gè)項(xiàng)目已被某個(gè)用戶(hù)查看過(guò)的背景知識(shí)的前提下,可以從匿名數(shù)據(jù)集中重新識(shí)別該用戶(hù)。例如,根據(jù)一些公共的數(shù)據(jù)源,如果攻擊者知道用戶(hù)查看了其他用戶(hù)沒(méi)有查看過(guò)的一些項(xiàng)目,則該用戶(hù)的身份可以很容易地被找出。2)評(píng)級(jí)攻擊是指攻擊者通過(guò)比較單個(gè)用戶(hù)評(píng)分與組中其他用戶(hù)的評(píng)分來(lái)識(shí)別評(píng)分異常的用戶(hù)。例如,攻擊者可以基于某個(gè)用戶(hù)對(duì)特定項(xiàng)目給予高評(píng)分,而該組中的其他用戶(hù)給這個(gè)項(xiàng)目低評(píng)分,從而識(shí)別出該用戶(hù)。本文假設(shè)攻擊者是具備一定背景知識(shí)的主動(dòng)攻擊者,攻擊者會(huì)結(jié)合自身已有的背景知識(shí)和群組內(nèi)用戶(hù)的評(píng)分信息來(lái)識(shí)別群組內(nèi)具體的用戶(hù),從而挖掘出該用戶(hù)的敏感信息。
隨機(jī)化擾動(dòng)技術(shù)本質(zhì)上是一種數(shù)據(jù)偽裝技術(shù),其主要作用是緩解用戶(hù)偏好中敏感信息泄露的風(fēng)險(xiǎn)。隨機(jī)擾動(dòng)技術(shù)主要是在用戶(hù)原始數(shù)據(jù)上隨機(jī)選取添加一個(gè)服從均勻分布或者高斯分布的擾動(dòng)噪聲,從而保護(hù)用戶(hù)的原始數(shù)據(jù)不被竊取。例如,為了隱藏?cái)?shù)據(jù)a,就在a上添加一個(gè)隨機(jī)數(shù)r,則外界獲得的是數(shù)據(jù)a+r。在本文提出的隱私保護(hù)方法中,為實(shí)現(xiàn)簡(jiǎn)單,給用戶(hù)的真實(shí)數(shù)據(jù)加上一個(gè)隨機(jī)噪聲后才發(fā)給服務(wù)器,從而保護(hù)用戶(hù)隱私數(shù)據(jù)。
匿名技術(shù)目標(biāo)是防止惡意攻擊者通過(guò)用戶(hù)發(fā)布的信息來(lái)定位用戶(hù),對(duì)用戶(hù)發(fā)布的信息進(jìn)行匿名處理消除身份信息識(shí)別符,形成對(duì)用戶(hù)的隱藏。常見(jiàn)的方法是k-匿名和添加虛擬用戶(hù)。設(shè)RT(A1,A2,…,An)是數(shù)據(jù)表,RT 的相關(guān)關(guān)聯(lián)標(biāo)示符記為QI 。如果每一個(gè)在 RT[QIRT]中的序列值在RT[QIRT]中最少出現(xiàn)過(guò)k次,則稱(chēng)其滿(mǎn)足k-匿名。添加虛擬用戶(hù)主要是用一些合理的虛擬用戶(hù)來(lái)代替部分真實(shí)用戶(hù),從而實(shí)現(xiàn)隱私保護(hù)。本文采用了k-匿名的隱私保護(hù)思想對(duì)群組用戶(hù)敏感信息進(jìn)行保護(hù),主要實(shí)現(xiàn)策略是通過(guò)本文提出的群組敏感偏好保護(hù)方法在群組內(nèi)發(fā)現(xiàn)與目標(biāo)用戶(hù)相似的用戶(hù),在此基礎(chǔ)上,利用相似用戶(hù)的偏好對(duì)目標(biāo)用戶(hù)進(jìn)行協(xié)同擾動(dòng),實(shí)現(xiàn)對(duì)目標(biāo)用戶(hù)敏感信息的保護(hù)。
本文提出的基于可信客戶(hù)端的面向群組推薦的個(gè)性化隱私保護(hù)框架(UPPPF-TC-GR)結(jié)構(gòu)如圖1所示。其中,可信客戶(hù)端是指能夠?qū)崿F(xiàn)安全目標(biāo)的客戶(hù)端,用戶(hù)在客戶(hù)端的所有操作都具有原子性、非否認(rèn)性、可追究性、公平性以及隱私性等特點(diǎn)。非可信是指推薦服務(wù)器在進(jìn)行用戶(hù)數(shù)據(jù)的存儲(chǔ)和數(shù)據(jù)建模等操作方面存在隱私泄露的可能。推薦服務(wù)器是面向所有用戶(hù)或組織的,其中不法組織或攻擊者可能會(huì)挖掘出用戶(hù)的敏感信息,對(duì)用戶(hù)的隱私產(chǎn)生威脅。可信客戶(hù)端由5 個(gè)模塊組成,分別是行為記錄模塊、偏好分析模塊、主題槽散列模塊、敏感偏好保護(hù)模塊和推薦結(jié)果選擇模塊,各模塊的功能將在3.5 節(jié)介紹。非可信推薦服務(wù)端由推薦算法和數(shù)據(jù)庫(kù)兩部分組成。
本文的隱私保護(hù)目標(biāo)是在可信客戶(hù)端實(shí)現(xiàn)對(duì)用戶(hù)隱私的保護(hù)。其中,數(shù)據(jù)庫(kù)存儲(chǔ)用戶(hù)歷史數(shù)據(jù)和項(xiàng)目-主題分類(lèi)文檔信息,項(xiàng)目-主題分類(lèi)文檔是通過(guò)項(xiàng)目-主題分類(lèi)樹(shù)來(lái)構(gòu)建的,項(xiàng)目-主題分類(lèi)樹(shù)是系統(tǒng)內(nèi)存中存在的一個(gè)層次化的平衡多路查找樹(shù),主要用于管理推薦系統(tǒng)中所涉及的項(xiàng)目,便于將項(xiàng)目進(jìn)一步分類(lèi)。項(xiàng)目-主題樹(shù)的實(shí)現(xiàn)原理類(lèi)似于機(jī)器學(xué)習(xí)中的決策樹(shù)模型。首先,對(duì)項(xiàng)目進(jìn)行主題劃分,其中,主題可以根據(jù)外部項(xiàng)目-主題分類(lèi)知識(shí)庫(kù)如維基百科等進(jìn)行獲取,或者根據(jù)實(shí)際數(shù)據(jù)集中所對(duì)應(yīng)的主題集進(jìn)行遍歷得到;其次,考慮到一個(gè)項(xiàng)目具有多個(gè)屬性,本文根據(jù)項(xiàng)目屬性將項(xiàng)目歸屬到具體的主題分支下;最后,對(duì)項(xiàng)目-主題分類(lèi)樹(shù)進(jìn)行剪枝操作,得到最終的項(xiàng)目-主題分類(lèi)樹(shù)。
圖1 UPPPF-TC-GR 結(jié)構(gòu)
下面簡(jiǎn)要分析可信客戶(hù)端中各個(gè)模塊的作用。行為記錄模塊主要負(fù)責(zé)收集群組內(nèi)用戶(hù)的歷史記錄,本文將用戶(hù)行為記錄的收集放在可信客戶(hù)端來(lái)實(shí)現(xiàn),主要是為了增強(qiáng)用戶(hù)對(duì)于數(shù)據(jù)的可控性。偏好分析模塊主要負(fù)責(zé)將收集到的群組內(nèi)用戶(hù)歷史記錄進(jìn)行偏好建模,為每個(gè)用戶(hù)構(gòu)建屬于自己的偏好配置文件。主題槽散列模塊主要負(fù)責(zé)將用戶(hù)偏好中的項(xiàng)目信息分類(lèi)到相應(yīng)的主題槽中。敏感偏好保護(hù)模塊主要負(fù)責(zé)對(duì)主題槽中的敏感主題進(jìn)行保護(hù),實(shí)現(xiàn)對(duì)群組用戶(hù)隱私的保護(hù)。推薦結(jié)果選擇模塊主要負(fù)責(zé)從推薦系統(tǒng)中選擇出推薦結(jié)果并將其反饋給群組完成整個(gè)推薦流程。
本文提出的UPPPF-TC-GR 將用戶(hù)行為記錄模塊和偏好分析模塊從推薦系統(tǒng)中分離出來(lái),由可信客戶(hù)端實(shí)現(xiàn)。這樣做的好處是保證系統(tǒng)對(duì)于群組用戶(hù)數(shù)據(jù)的可控性和隱私保護(hù)模塊產(chǎn)生數(shù)據(jù)的可靠性。這2 個(gè)模塊主要是對(duì)用戶(hù)歷史數(shù)據(jù)挖掘、建模和分析。推薦結(jié)果選擇模塊主要是將推薦結(jié)果返回給群組,完成整個(gè)推薦流程。下面介紹本文提出的主題槽散列模塊、敏感偏好保護(hù)模塊的設(shè)計(jì)和實(shí)現(xiàn)以及非可信推薦服務(wù)端的群組推薦算法。
3.5.1 主題槽散列模塊
主題槽散列模塊主要基于項(xiàng)目-主題分類(lèi)樹(shù)和本文提出的散列槽(hashslot)來(lái)實(shí)現(xiàn)。主題槽散列模塊的主要功能如下。首先,根據(jù)項(xiàng)目-主題分類(lèi)樹(shù)將群組用戶(hù)偏好項(xiàng)目分類(lèi)到相對(duì)應(yīng)的用戶(hù)hashslot 中。其次,根據(jù)分類(lèi)存儲(chǔ)后的群組用戶(hù)主題偏好進(jìn)行主題重要性計(jì)算。最后,根據(jù)計(jì)算結(jié)果發(fā)現(xiàn)群組用戶(hù)存在的敏感主題。其中,項(xiàng)目-主題分類(lèi)樹(shù)如圖2 所示。主題樹(shù)具有以下特征: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è)主題中。得到群組用戶(hù)的偏好項(xiàng)目相對(duì)應(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)目所對(duì)應(yīng)的主題個(gè)數(shù)來(lái)確定;3)每個(gè)slot 對(duì)應(yīng)一個(gè)主題,存儲(chǔ)到同一個(gè)slot中的數(shù)據(jù)都對(duì)應(yīng)著相同的主題;4)每個(gè)slot 中的數(shù)據(jù)都包含著項(xiàng)目和評(píng)分信息。本文系統(tǒng)中為每個(gè)群組用戶(hù)都配置了一個(gè)hashslot 槽。經(jīng)過(guò)主題槽散列模塊的處理后,將群組用戶(hù)的偏好配置信息都存儲(chǔ)到相應(yīng)的用戶(hù)主題槽中。至此,完成了將群組內(nèi)用戶(hù)偏好配置信息散列到相應(yīng)的用戶(hù)主題槽的操作。
圖2 項(xiàng)目-主題分類(lèi)樹(shù)
圖3 用戶(hù)偏好主題槽hashslot
3.5.2 敏感偏好保護(hù)模塊
1)相關(guān)符號(hào)描述
敏感偏好保護(hù)模塊基于主題槽散模塊,主要功能如下:首先,將群組用戶(hù)偏好數(shù)據(jù)都散列到相對(duì)應(yīng)的主題槽中;其次,根據(jù)群組用戶(hù)主題槽進(jìn)行主題重要性計(jì)算來(lái)發(fā)現(xiàn)群組用戶(hù)的敏感主題;最后,根據(jù)群組用戶(hù)存在的敏感主題進(jìn)行隱私保護(hù)處理。為了表述方便,表1 給出了本文用到的主要符號(hào)和定義。
表1 相關(guān)符號(hào)說(shuō)明
2)相關(guān)定義描述
為了在可信客戶(hù)端實(shí)現(xiàn)對(duì)群組內(nèi)用戶(hù)敏感偏好的保護(hù),下面對(duì)本文采用的隱私保護(hù)方法中的計(jì)算式做如下定義。
定義1群組內(nèi)用戶(hù)偏好項(xiàng)目集。群組內(nèi)用戶(hù)偏好項(xiàng)目集是群組內(nèi)用戶(hù)感興趣的所有項(xiàng)目的集合,可以表示為
其中,I表示所有項(xiàng)目的集合,score(i)表示用戶(hù)u對(duì)項(xiàng)目i的評(píng)分??梢钥闯?,群組內(nèi)用戶(hù)偏好項(xiàng)目集是由用戶(hù)評(píng)分不為零的項(xiàng)目組成的。
定義2群組內(nèi)用戶(hù)偏好主題評(píng)分。群組內(nèi)用戶(hù)偏好主題評(píng)分代表用戶(hù)對(duì)某個(gè)主題的喜好程度,是根據(jù)群組內(nèi)用戶(hù)偏好項(xiàng)目集評(píng)分得到的。本文只考慮群組偏好項(xiàng)目的直接主題,而不考慮項(xiàng)目的其他層次的主題,主題的層次越高,其屬性就越抽象;主題的層次越低,屬性就越具體。本文的保護(hù)目標(biāo)是實(shí)現(xiàn)對(duì)具體主題的保護(hù),因此本文可以形式化定義群組內(nèi)用戶(hù)偏好主題評(píng)分為
其中,w(g)表示所有直接屬于主題g的項(xiàng)目。
定義3群組內(nèi)用戶(hù)偏好主題集。是一組由用戶(hù)感興趣的所有主題所組成的集合,其可以形式化地定義為
其中,S代表所有主題集合,score(g)表示用戶(hù)u對(duì)主題g的評(píng)分??梢钥闯?,群組內(nèi)用戶(hù)偏好主題集是由用戶(hù)評(píng)分不為零的主題組成的。
定義4群組內(nèi)用戶(hù)主題槽hashslotu。代表用戶(hù)u的偏好主題槽,用于存儲(chǔ)用戶(hù)u相對(duì)應(yīng)主題下的項(xiàng)目,每個(gè)用戶(hù)都由可信客戶(hù)端分配相應(yīng)的主題槽,單個(gè)用戶(hù)的偏好主題槽的數(shù)目是由系統(tǒng)中項(xiàng)目所具備的主題類(lèi)型數(shù)目來(lái)確定的,它由多個(gè)slot組成。
定義5群組內(nèi)用戶(hù)偏好項(xiàng)目集特征分布。給定一個(gè)偏好項(xiàng)目集SU*,其特征分布可以用下面的向量來(lái)描述。
定義6群組內(nèi)用戶(hù)偏好主題集特征分布。給定偏好主題集合SS*,其特征分布可以使用以下向量來(lái)描述。
定義7用戶(hù)主題重要性。描述一個(gè)敏感主題在群組內(nèi)用戶(hù)偏好配置文件中的重要程度,其可以形式化地定義為
其中,s*代表一個(gè)敏感主題,score(hashslotu)代表單個(gè)用戶(hù)的所有主題評(píng)分。本文根據(jù)敏感主題重要性,對(duì)用戶(hù)偏好配置文件中的敏感屬性進(jìn)行保護(hù)。
定義8項(xiàng)目特征相似性。表示隱私保護(hù)處理后的群組偏好配置文件和真實(shí)的群組偏好配置文件的相似度。2 個(gè)項(xiàng)目集合之間的特征相似性可以通過(guò)2 個(gè)項(xiàng)目集合的項(xiàng)目特征向量的相似度和主題特征向量的相似度來(lái)進(jìn)行度量。P1* 和P2* 之間的特征相似性度量為
其中,a0和ak為平衡參數(shù),sim(G1*,G2*)和sim(SK1*,SK2*)利用歐幾里得距離公式進(jìn)行計(jì)算。
定義9相似用戶(hù)。根據(jù)定義7 算出群組內(nèi)所有用戶(hù)的主題重要性以及目標(biāo)用戶(hù)需要保護(hù)的敏感屬性所在的主題,將該主題重要性與組內(nèi)其他用戶(hù)相應(yīng)主題下的主題重要性進(jìn)行比較,從群組內(nèi)發(fā)現(xiàn)k個(gè)相似的用戶(hù)對(duì)目標(biāo)用戶(hù)進(jìn)行敏感屬性的擾動(dòng)。本文定義參數(shù)q對(duì)用戶(hù)間主題相似度進(jìn)行度量,q值越小,則2 個(gè)用戶(hù)之間的相似性越高。本文形式化將其定義為
其中,ui指代其他用戶(hù),i=1,2,3,…,n,0<q<1。
3)隱私保護(hù)方法的設(shè)計(jì)
為了保護(hù)群組內(nèi)用戶(hù)的隱私,根據(jù)群組用戶(hù)是否有隱私保護(hù)的需求,在可信客戶(hù)端對(duì)群組用戶(hù)的敏感屬性進(jìn)行隱私保護(hù)處理。首先,用戶(hù)的隱私保護(hù)需求通過(guò)顯式偏好獲取的方式來(lái)收集;其次,群組用戶(hù)隱私保護(hù)需求在可信客戶(hù)端使用隱私保護(hù)參數(shù)Ω進(jìn)行定量分析,Ω的取值范圍為{-1,1},當(dāng)Ω=1 時(shí)表示用戶(hù)需要進(jìn)行隱私保護(hù)處理,當(dāng)Ω=-1 時(shí)表示用戶(hù)不進(jìn)行隱私保護(hù)處理。因此,對(duì)于有隱私保護(hù)需求的用戶(hù),考慮到其需求可能存在差異,本文采用群組敏感偏好保護(hù)方法,通過(guò)調(diào)整k個(gè)相似用戶(hù)的大小來(lái)實(shí)現(xiàn)不同的隱私保護(hù)需求。
本文的隱私保護(hù)方法應(yīng)盡可能地使單個(gè)用戶(hù)的評(píng)分在群組內(nèi)不敏感,這樣在惡意攻擊者具備一定的背景知識(shí)的情況下,相應(yīng)的審查攻擊和評(píng)級(jí)攻擊就不會(huì)起作用,本文的隱私保護(hù)方法思想如圖4 所示,該思想主要利用群組用戶(hù)中與目標(biāo)用戶(hù)相似的k個(gè)用戶(hù)的評(píng)分信息,對(duì)目標(biāo)用戶(hù)的敏感屬性進(jìn)行協(xié)同擾動(dòng)(k是一個(gè)需要調(diào)整的參數(shù),相似用戶(hù)根據(jù)定義9 計(jì)算),實(shí)現(xiàn)對(duì)用戶(hù)隱私的保護(hù)。
本文提出的隱私保護(hù)算法首先根據(jù)Ω隱私保護(hù)參數(shù)的值進(jìn)行群組內(nèi)用戶(hù)的分類(lèi),對(duì)需要進(jìn)行隱私保護(hù)的用戶(hù)分別實(shí)現(xiàn)隱私保護(hù)處理,為了提高整個(gè)算法效率,假設(shè)在隱私保護(hù)模塊中的算法實(shí)現(xiàn)中預(yù)先存在項(xiàng)目-主題分類(lèi)樹(shù)。然而,項(xiàng)目-主題分類(lèi)樹(shù)的葉節(jié)點(diǎn)深度可能彼此不同。因此,為了便于算法的實(shí)現(xiàn),可以采用以下2 種方式對(duì)主題樹(shù)進(jìn)行預(yù)處理。1)分割一些較小深度的葉節(jié)點(diǎn),并構(gòu)造它們的父節(jié)點(diǎn)。2)合并一些葉子更深的節(jié)點(diǎn),并刪除其父節(jié)點(diǎn)。通過(guò)這樣的操作后,可以使主題樹(shù)具有相同的深度。另外,本文將項(xiàng)目-主題分類(lèi)樹(shù)預(yù)先加載到內(nèi)存中,以提高算法的運(yùn)行效率。由于相似用戶(hù)對(duì)于目標(biāo)用戶(hù)的敏感項(xiàng)目的評(píng)分不確定,因此本文的算法分為2 種情況。1)當(dāng)找到的相似用戶(hù)對(duì)敏感項(xiàng)目存在評(píng)分時(shí),利用相似用戶(hù)和目標(biāo)用戶(hù)的評(píng)分進(jìn)行協(xié)同擾動(dòng),將擾動(dòng)之后的評(píng)分作為這k+1 個(gè)用戶(hù)對(duì)于敏感項(xiàng)目的評(píng)分。2)當(dāng)相似用戶(hù)對(duì)敏感項(xiàng)目沒(méi)有評(píng)分時(shí),利用目標(biāo)用戶(hù)對(duì)該敏感項(xiàng)目的評(píng)分平均化操作后,再加上服從標(biāo)準(zhǔn)高斯分布的w噪聲值作為這k+1 個(gè)用戶(hù)對(duì)于敏感項(xiàng)目的評(píng)分,其中,
圖4 群組敏感偏好保護(hù)方法
下面介紹本文提出的群組內(nèi)用戶(hù)隱私保護(hù)算法,算法1 詳細(xì)介紹了群組敏感偏好保護(hù)方法的實(shí)現(xiàn)。在GSPPM 中發(fā)現(xiàn)群組中具有隱私保護(hù)需求的用戶(hù)的敏感偏好,對(duì)用戶(hù)的敏感偏好進(jìn)行隱私保護(hù)處理,將隱私保護(hù)處理后的群組內(nèi)用戶(hù)偏好傳遞給推薦系統(tǒng)進(jìn)行推薦。具體方法如下:首先,對(duì)項(xiàng)目-評(píng)分信息進(jìn)行預(yù)處理操作,主要的預(yù)處理操作方法是根據(jù)項(xiàng)目-主題分類(lèi)樹(shù)對(duì)用戶(hù)項(xiàng)目進(jìn)行主題分類(lèi);然后,根據(jù)主題重要性計(jì)算方法發(fā)現(xiàn)用戶(hù)的敏感偏好主題,在發(fā)現(xiàn)敏感主題的基礎(chǔ)上,根據(jù)主題相似性尋找與目標(biāo)用戶(hù)相似的前k個(gè)相似用戶(hù);最后,根據(jù)相似用戶(hù)和目標(biāo)用戶(hù)對(duì)敏感項(xiàng)目的評(píng)分信息進(jìn)行協(xié)同擾動(dòng),將擾動(dòng)后的評(píng)分信息作為群組內(nèi)用戶(hù)的最終評(píng)分信息,從而實(shí)現(xiàn)對(duì)用戶(hù)敏感信息的保護(hù)。
算法1GSPPM
輸入群組內(nèi)用戶(hù)的偏好項(xiàng)目集合r1,r2,...,rn,相似用戶(hù)的數(shù)目k
輸出隱私保護(hù)處理后的群組內(nèi)用戶(hù)偏好項(xiàng)目r1*,r2*,…,rn*
beginP[]GSPPM (Ggroup)
foruinG
step1P[]products=u.getProducts();//得到單個(gè)用戶(hù)的偏好項(xiàng)目
step2putProduct2hashslot(u,products,hashslot);//將單個(gè)用戶(hù)的偏好映射到相應(yīng)的slot 槽中
step3SentiveSubject sp=findSensitiveSubject(u,hashslot);//尋找敏感主題
step4findSimilaryUsers(sp,hashslot,u,k);//根據(jù)目標(biāo)用戶(hù)的敏感主題尋找群組內(nèi)相似用戶(hù)
step5changeScore(sp,u,SimilaryUsers[]sus);//根據(jù)相似用戶(hù)的評(píng)分?jǐn)_動(dòng)目標(biāo)用戶(hù)的評(píng)分
return products
end for
從算法1 中可以發(fā)現(xiàn),本文采用的隱私保護(hù)方法是使用群組內(nèi)相似用戶(hù)的評(píng)分對(duì)目標(biāo)用戶(hù)評(píng)分進(jìn)行協(xié)同擾動(dòng)的方式來(lái)保護(hù)用戶(hù)隱私的。當(dāng)系統(tǒng)為用戶(hù)評(píng)分加入過(guò)高的噪聲數(shù)據(jù)時(shí),將導(dǎo)致數(shù)據(jù)的大幅度失真,直接引起推薦質(zhì)量的下降,推薦質(zhì)量的下降又將導(dǎo)致用戶(hù)減少對(duì)推薦系統(tǒng)的使用,這樣的惡性循環(huán)不利于推薦系統(tǒng)的良性發(fā)展。當(dāng)系統(tǒng)為用戶(hù)評(píng)分加入少量的噪聲數(shù)據(jù)時(shí),數(shù)據(jù)失真不明顯,不能很好地保護(hù)用戶(hù)的敏感數(shù)據(jù),攻擊者可能根據(jù)背景知識(shí)推斷出實(shí)際的用戶(hù)信息。因此,本文在群組用戶(hù)的評(píng)分信息中加入適量的噪聲并結(jié)合k-匿名的思想來(lái)保護(hù)群組用戶(hù)的隱私。對(duì)比實(shí)驗(yàn)2 顯示了加入適量的噪聲的隱私保護(hù)方法確實(shí)會(huì)損失部分推薦精度,但為了在推薦精度和隱私保護(hù)之間進(jìn)行平衡,本文認(rèn)為犧牲一定的推薦精度來(lái)實(shí)現(xiàn)用戶(hù)隱私保護(hù)的行為是值得的。
3.5.3 群組推薦算法
在面向群組推薦系統(tǒng)中,本文需要考慮群組內(nèi)所有用戶(hù)的偏好。目前,主流的面向群組推薦的方法分為推薦融合方法和模型融合方法。模型融合方法是先根據(jù)群組內(nèi)用戶(hù)的用戶(hù)偏好模型融合生成群組偏好模型,然后基于群組偏好模型生成群組推薦。推薦融合方法是先利用傳統(tǒng)推薦算法對(duì)每個(gè)群組用戶(hù)生成推薦,然后將所有群組用戶(hù)的推薦結(jié)果融合得到群組推薦結(jié)果。本文采用模型融合的方法對(duì)群組進(jìn)行推薦。對(duì)群組內(nèi)需要進(jìn)行隱私保護(hù)的用戶(hù),通過(guò)群組敏感偏好保護(hù)方法實(shí)現(xiàn)對(duì)群組用戶(hù)敏感偏好的保護(hù)后,再將擾動(dòng)后的群組偏好傳輸給推薦服務(wù)器進(jìn)行推薦,對(duì)沒(méi)有隱私保護(hù)需求的用戶(hù),則按照傳統(tǒng)的協(xié)同過(guò)濾算法進(jìn)行推薦。
算法有效性分析。算法的主要性能消耗在計(jì)算群組內(nèi)用戶(hù)的主題重要性和尋找群組內(nèi)與目標(biāo)用戶(hù)相似的用戶(hù)上,但是這部分消耗也是極少的,因?yàn)閷?shí)驗(yàn)的群組用戶(hù)數(shù)量不大,系統(tǒng)中存在的主題數(shù)目和群組內(nèi)用戶(hù)的偏好主題數(shù)目都是極小的,從項(xiàng)目-主題樹(shù)中搜索用戶(hù)偏好的效率也是極高的,因?yàn)楸疚膶?duì)系統(tǒng)的項(xiàng)目-主題分類(lèi)樹(shù)進(jìn)行了一系列的簡(jiǎn)化,使項(xiàng)目-主題分類(lèi)樹(shù)的深度只有三層,這樣可以極高地提高算法的運(yùn)行效率。
隱私保護(hù)性能分析。首先,隱私保護(hù)算法處理后的群組用戶(hù)偏好項(xiàng)目已經(jīng)不是原始的群組用戶(hù)偏好項(xiàng)目,該群組用戶(hù)偏好項(xiàng)目過(guò)濾了原始群組用戶(hù)偏好項(xiàng)目中的敏感偏好,推薦系統(tǒng)獲取到的就不是原始的群組偏好,有效地解決了3.1 節(jié)給出的審查攻擊和評(píng)級(jí)攻擊。其次,根據(jù)定義8 的項(xiàng)目特征相似性計(jì)算發(fā)現(xiàn),擾動(dòng)后的項(xiàng)目特征和原始的項(xiàng)目特征之間具有很高的相似性,說(shuō)明擾動(dòng)后的數(shù)據(jù)能夠在保證良好的數(shù)據(jù)可用性的同時(shí),實(shí)現(xiàn)對(duì)群組用戶(hù)的隱私保護(hù)。最后,本文利用群組內(nèi)相似用戶(hù)的項(xiàng)目偏好進(jìn)行協(xié)同擾動(dòng),實(shí)現(xiàn)單個(gè)用戶(hù)的評(píng)分在群組中不敏感。實(shí)驗(yàn)結(jié)果表明,本文的隱私保護(hù)方法可以在有效地保護(hù)群組用戶(hù)隱私的同時(shí),保證推薦的質(zhì)量。
本文實(shí)驗(yàn)環(huán)境是基于Windows8 平臺(tái)64 位系統(tǒng),其處理器是雙核2.5 GHz。本文算法采用Java語(yǔ)言編程實(shí)現(xiàn)。本文所使用的數(shù)據(jù)為學(xué)術(shù)界研究廣泛使用的極具代表性的 MovieLens 數(shù)據(jù)集,其中包含943 個(gè)用戶(hù)對(duì)于1 682 個(gè)電影的10 萬(wàn)條評(píng)分,且每個(gè)用戶(hù)參與評(píng)價(jià)的數(shù)目不少于20 條。數(shù)據(jù)集都是由1~5 的整數(shù)值組成,數(shù)值越大表示用戶(hù)越喜愛(ài)相關(guān)的項(xiàng)目。
為了在面向群組推薦的過(guò)程中驗(yàn)證本文提出方法的有效性,根據(jù)用戶(hù)的基本信息對(duì)數(shù)據(jù)集中的用戶(hù)進(jìn)行群組劃分,主要包含如下3 種劃分方式,即性別劃分、按年齡劃分、按職業(yè)劃分。具體的劃分方法如下。1)性別:男、女。2)年齡:小于20歲、21 歲~30 歲、31 歲~40 歲。3)職業(yè):教師、銷(xiāo)售、程序員等。為了方便本文所提隱私方法的實(shí)現(xiàn),對(duì)數(shù)據(jù)集進(jìn)行了預(yù)處理。將選取數(shù)據(jù)集中的電影的標(biāo)題(title)和電影的類(lèi)別(genre)這2 個(gè)屬性進(jìn)行項(xiàng)目-主題分類(lèi)樹(shù)的構(gòu)建。具體構(gòu)建操作是根據(jù)title 和genre 之間的對(duì)應(yīng)關(guān)系,將相對(duì)應(yīng)的項(xiàng)目葉子節(jié)點(diǎn)插入主題根節(jié)點(diǎn)下,從而實(shí)現(xiàn)多層次的項(xiàng)目-主題分類(lèi)樹(shù)的構(gòu)建。
本文將數(shù)據(jù)集按照4:1 的方式劃分為訓(xùn)練數(shù)據(jù)集和測(cè)試數(shù)據(jù)集兩部分,采用了RMSE(均方根誤差)對(duì)群組推薦結(jié)果的準(zhǔn)確性進(jìn)行分析。RMSE 在群組推薦場(chǎng)景下的表達(dá)形式為
其中,ip表示測(cè)試數(shù)據(jù)集中用戶(hù)對(duì)項(xiàng)目i的實(shí)際評(píng)分,ir表示推薦系統(tǒng)對(duì)測(cè)試數(shù)據(jù)集中項(xiàng)目i的預(yù)測(cè)評(píng)分。由定義可知,RMSE 的值越小,則所預(yù)測(cè)的推薦結(jié)果越準(zhǔn)確。
4.3.1 對(duì)比實(shí)驗(yàn)1
對(duì)比實(shí)驗(yàn) 1 將群組敏感偏好保護(hù)方法(GSPPM)和隨機(jī)擾動(dòng)方法進(jìn)行對(duì)比。表2 給出了在不同群組大?。ㄓ脩?hù)數(shù))和群組分類(lèi)方法下2 種擾動(dòng)方法RMSE 值的對(duì)比。
根據(jù)圖5 的實(shí)驗(yàn)結(jié)果發(fā)現(xiàn),本文提出的群組敏感偏好保護(hù)方法的RMSE 值更小,說(shuō)明本文方法的推薦準(zhǔn)確性更高,并且當(dāng)使用較細(xì)粒度的按職業(yè)進(jìn)行群組劃分的方法時(shí),推薦準(zhǔn)確性明顯高于按性別進(jìn)行群組劃分的方法。
4.3.2 對(duì)比實(shí)驗(yàn)2
對(duì)比實(shí)驗(yàn)2 是用RMSE 參數(shù)來(lái)進(jìn)行度量,將加入了隱私保護(hù)方法后的群組推薦方法和文獻(xiàn)[22]中提出的CF-based 的群組推薦方法進(jìn)行對(duì)比。其中,CF-based 的群組推薦方法采用模型融合的方式進(jìn)行推薦,先對(duì)群組內(nèi)用戶(hù)的偏好進(jìn)行偏好融合后形成群組偏好,然后再利用傳統(tǒng)的基于項(xiàng)目的協(xié)同過(guò)濾推薦算法對(duì)群組進(jìn)行推薦。
圖6 的實(shí)驗(yàn)結(jié)果表明加入隱私保護(hù)方法后,推薦系統(tǒng)的推薦準(zhǔn)確性并沒(méi)有出現(xiàn)較大幅度的失真,說(shuō)明本文的方法能夠在保護(hù)群組內(nèi)用戶(hù)隱私的同時(shí),實(shí)現(xiàn)對(duì)群組用戶(hù)的準(zhǔn)確推薦。
表2 不同群組大小和群組分類(lèi)方法下的RMSE 值
圖5 隨機(jī)擾動(dòng)方法和GSPPM 的對(duì)比
圖6 融合GSPPM 隱私保護(hù)方法的群組推薦和CF-based 群組推薦的對(duì)比
4.3.3 對(duì)比實(shí)驗(yàn)3
對(duì)比實(shí)驗(yàn)3 驗(yàn)證參數(shù)k對(duì)推薦結(jié)果的影響。對(duì)比實(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)行群組劃分,群組的用戶(hù)數(shù)目選擇為20,在此基礎(chǔ)上通過(guò)調(diào)整參數(shù)k的大小來(lái)觀察其對(duì)推薦準(zhǔn)確性的影響。
圖7 的實(shí)驗(yàn)結(jié)果說(shuō)明在使用職業(yè)作為群組劃分的前提下,當(dāng)相似用戶(hù)的數(shù)量達(dá)到群組數(shù)量的時(shí),推薦準(zhǔn)確性相對(duì)較高的,當(dāng)使用的相似用戶(hù)數(shù)量逐漸增大時(shí),對(duì)推薦的準(zhǔn)確性會(huì)有一定的影響,因此本文將相似用戶(hù)的數(shù)量設(shè)置為當(dāng)前群組大小的。
圖7 不同k下的RMSE
根據(jù)以上實(shí)驗(yàn)表明,本文在引入隱私保護(hù)方法之后,推薦準(zhǔn)確性沒(méi)有出現(xiàn)較大的損失,保證推薦系統(tǒng)能夠在一定的精度損失范圍內(nèi),實(shí)現(xiàn)有效的推薦和保護(hù)群組內(nèi)用戶(hù)的敏感信息。在實(shí)驗(yàn)性能方面,主要在可信客戶(hù)端存在一定的時(shí)間消耗,但是這樣的時(shí)間消耗可以保證用戶(hù)的隱私,本文認(rèn)為這樣的時(shí)間消耗是值得的。
為了解決群組推薦中的個(gè)性化隱私保護(hù)問(wèn)題,本文提出了基于可信客戶(hù)端的面向群組推薦的隱私保護(hù)框架,在實(shí)現(xiàn)面向群組準(zhǔn)確推薦的同時(shí),保證群組內(nèi)用戶(hù)個(gè)性化的隱私保護(hù)需求。然而,數(shù)據(jù)在傳輸過(guò)程可能存在隱私泄露的風(fēng)險(xiǎn),后續(xù)的工作將圍繞如何提升數(shù)據(jù)傳輸?shù)目煽啃耘c安全性展開(kāi)研究。