林榮智, 苗耀鋒
(西安外事學(xué)院 工學(xué)院, 西安 710077)
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,社交網(wǎng)絡(luò)、大數(shù)據(jù)等技術(shù)也不斷地被應(yīng)用到社會(huì)各個(gè)場(chǎng)景中[1-4].由于海量數(shù)據(jù)不斷涌向網(wǎng)絡(luò)用戶,學(xué)界提出了推薦系統(tǒng)來(lái)解決其嚴(yán)重的信息過(guò)載問(wèn)題[5-8].該系統(tǒng)通過(guò)采集用戶的個(gè)人信息和操作數(shù)據(jù),精準(zhǔn)地向用戶提供有效信息[9-10],然而,由于該系統(tǒng)存儲(chǔ)了用戶的敏感隱私信息,所以用戶的信息與財(cái)產(chǎn)安全面臨較大的威脅,即互聯(lián)網(wǎng)中的推薦系統(tǒng)存在用戶隱私保護(hù)的問(wèn)題[11-16].
為了解決系統(tǒng)中用戶隱私保護(hù)的問(wèn)題,本文擴(kuò)展并改進(jìn)了傳統(tǒng)的推薦系統(tǒng),提出了保護(hù)用戶隱私的新型推薦系統(tǒng).其主要原理是以推薦項(xiàng)目為中心,基于項(xiàng)目特征相似度的計(jì)算結(jié)果,將系統(tǒng)中所有推薦項(xiàng)目進(jìn)行詳細(xì)劃分,推薦給系統(tǒng)中不同興趣愛(ài)好的用戶.因該系統(tǒng)只需采集用戶對(duì)項(xiàng)目的評(píng)價(jià)信息,并不會(huì)存儲(chǔ)其隱私信息和敏感數(shù)據(jù),所以這種新型的推薦系統(tǒng)可以有效地保護(hù)用戶的隱私信息.
一般而言,互聯(lián)網(wǎng)推薦系統(tǒng)中推送信息的準(zhǔn)確度與用戶信息的完整度是成正比的,而與隱私保護(hù)程度成反比.在推薦系統(tǒng)中,用戶隱私泄露的主要途徑包括服務(wù)器直接獲取、黑客竊取和其他系統(tǒng)泄露等幾種方式.而用戶隱私信息主要包括個(gè)人信息、操作數(shù)據(jù)和關(guān)注信息三個(gè)方面,其中,個(gè)人信息主要是指用戶的姓名、性別和身份證號(hào)等高敏感度隱私信息;操作數(shù)據(jù)是指用戶的網(wǎng)頁(yè)訪問(wèn)數(shù)據(jù)、提交信息等具體數(shù)據(jù);關(guān)注信息主要包括用戶在各個(gè)網(wǎng)站的定制信息等內(nèi)容.目前,學(xué)術(shù)界在該問(wèn)題的研究上主要使用三種隱私保護(hù)技術(shù),即基于密碼學(xué)技術(shù)、數(shù)據(jù)干擾技術(shù)和k匿名技術(shù).基于密碼學(xué)的常用技術(shù)就是安全多方計(jì)算、同態(tài)加密算法等,而這些都使用了復(fù)雜的密碼學(xué)計(jì)算方法,推薦系統(tǒng)的用戶信息都具有龐大的規(guī)模,所以基于密碼學(xué)的技術(shù)安全性雖高,但并不實(shí)用;k匿名技術(shù)即是去除敏感信息來(lái)保證用戶的隱私信息不泄露,這種技術(shù)不能抵抗鏈接攻擊,同時(shí)也會(huì)減少數(shù)據(jù)表中的信息,所以也難以應(yīng)用到實(shí)際的推薦系統(tǒng)中;數(shù)據(jù)干擾技術(shù)是使用一些算法修改或干擾原始數(shù)據(jù),從而保護(hù)用戶的隱私,這種算法會(huì)直接導(dǎo)致數(shù)據(jù)的準(zhǔn)確性和完整性受損.綜上所述,以上技術(shù)并不能解決推薦系統(tǒng)的隱私保護(hù)問(wèn)題,而本文使用的推薦算法與這三種技術(shù)都不一樣,本文的算法計(jì)算相對(duì)簡(jiǎn)單,不像基于密碼學(xué)技術(shù)那樣復(fù)雜,并且不直接對(duì)用戶的隱私信息進(jìn)行操作,所以也不會(huì)減少系統(tǒng)中的數(shù)據(jù),較好地保持系統(tǒng)數(shù)據(jù)的準(zhǔn)確性與完整性.
圖1 系統(tǒng)工作流程Fig.1 Workflow of system
圖1中項(xiàng)目之間的相似性模型計(jì)算過(guò)程包含項(xiàng)目屬性數(shù)據(jù)量化、項(xiàng)目之間相似性計(jì)算和確定項(xiàng)目鄰居集合.具體過(guò)程如下:
1) 項(xiàng)目屬性數(shù)據(jù)量化.一般而言,項(xiàng)目的屬性數(shù)據(jù)是使用向量表示的,即對(duì)項(xiàng)目的屬性數(shù)據(jù)分為n個(gè)相互獨(dú)立的分量,從而刻畫(huà)出項(xiàng)目的具體特征.項(xiàng)目屬性矩陣為[ci1,ci2,…,cin],cin表示第i個(gè)項(xiàng)目的第n個(gè)特征屬性的特征值,該特征值的類型有描述型和數(shù)值型兩種.系統(tǒng)通常使用TF-IDF公式描述屬性特征值,數(shù)值型的特征值包括固定值和區(qū)間值兩種,固定值可以直接參與計(jì)算,而對(duì)于區(qū)間值,系統(tǒng)使用區(qū)間占用的比例值來(lái)計(jì)算.
(1)
3) 根據(jù)式(1)項(xiàng)目之間相似度的計(jì)算結(jié)果便可度量項(xiàng)目之間的相似性,從而確定項(xiàng)目的鄰居集合.通常相似性度量方法具有不準(zhǔn)確和數(shù)據(jù)稀疏的問(wèn)題,為了避免這些問(wèn)題,本文使用了新算法度量項(xiàng)目之間相似性,工作流程為:
① 總結(jié)所有評(píng)價(jià)了第i個(gè)項(xiàng)目或第j個(gè)項(xiàng)目的用戶集合,用Sij來(lái)表示,rui表示任意用戶u評(píng)價(jià)第i個(gè)項(xiàng)目的評(píng)價(jià)信息,令S代表所有用戶,則Sij表達(dá)式為
Sij={u|u∈S∩(rui≠0∪ruj≠0)}
(2)
② 根據(jù)Sij中用戶的評(píng)分,預(yù)測(cè)未被用戶評(píng)分項(xiàng)目的評(píng)價(jià)結(jié)果,在用戶集合Sij中使用Pearson相關(guān)性分析度量i項(xiàng)目和j項(xiàng)目之間的相似性,得到當(dāng)前項(xiàng)目的鄰居集合.系統(tǒng)中預(yù)測(cè)用戶u對(duì)未評(píng)價(jià)的第i個(gè)項(xiàng)目評(píng)價(jià)結(jié)果為
(3)
式中,Ei為第i個(gè)項(xiàng)目的鄰居集合.之后系統(tǒng)便可以計(jì)算Sij中任意用戶u評(píng)價(jià)第i個(gè)項(xiàng)目的評(píng)價(jià)信息Rui,即
(4)
具體推薦系統(tǒng)實(shí)現(xiàn)步驟如下:
4) 根據(jù)預(yù)測(cè)評(píng)分信息對(duì)用戶推薦排名靠前的項(xiàng)目.
本文對(duì)提出的推薦系統(tǒng)進(jìn)行了必要的實(shí)驗(yàn).其中,實(shí)驗(yàn)需要的原始數(shù)據(jù)集來(lái)自MovieLens,由Minnesota大學(xué)的GroupLens課題組提供.Movie-Lens數(shù)據(jù)集主要用于同名的電影推薦系統(tǒng),而該推薦系統(tǒng)需要用戶評(píng)價(jià)瀏覽過(guò)的電影,并利用評(píng)價(jià)信息預(yù)測(cè)并推薦用戶喜歡的電影.需要指出的是,MovieLens數(shù)據(jù)集是學(xué)術(shù)界用來(lái)實(shí)驗(yàn)推薦系統(tǒng)的經(jīng)典數(shù)據(jù)集,其內(nèi)容包括了943位用戶評(píng)價(jià)1 682個(gè)項(xiàng)目的10萬(wàn)條評(píng)分?jǐn)?shù)值.其數(shù)值是1~5的離散整數(shù),代表了用戶對(duì)某項(xiàng)目的喜歡程度,其基本信息如表1所示.
圖2 推薦系統(tǒng)的實(shí)現(xiàn)框架Fig.2 Implementation framework of recommendation system
表1 MovieLens數(shù)據(jù)集基本信息Tab.1 Basic information of MovieLens data set
在該數(shù)據(jù)集中,本文選取了300個(gè)用戶、600部電影項(xiàng)目的評(píng)分?jǐn)?shù)值,同時(shí),得到了按照用戶統(tǒng)計(jì)信息排布的所有電影項(xiàng)目的屬性特征矩陣.本文設(shè)置80%的評(píng)價(jià)數(shù)據(jù)作為推薦系統(tǒng)的訓(xùn)練數(shù)據(jù)集,20%的數(shù)據(jù)作為推薦系統(tǒng)的測(cè)試數(shù)據(jù)集.由于本文的推薦系統(tǒng)是以項(xiàng)目為中心,所以需要設(shè)定項(xiàng)目的屬性分類,600部電影項(xiàng)目的屬性分類被分為18種類型,分別是動(dòng)作、冒險(xiǎn)、動(dòng)畫(huà)、兒童、喜劇、犯罪、紀(jì)錄片、戲劇、幻想、恐怖、音樂(lè)劇、懸疑、浪漫、科幻、驚悚、戰(zhàn)爭(zhēng)、西部和黑色電影.
具備所有的屬性分類之后,則需要量化所有項(xiàng)目的屬性數(shù)據(jù).在MovieLens數(shù)據(jù)集中,假設(shè)電影m是一個(gè)懸疑驚悚片,即該電影具有兩個(gè)或多個(gè)屬性,則其具備的屬性向量的分量就是1,其他分量是0,則電影m的屬性矩陣就是[0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0].使用這種方法量化所有的電影項(xiàng)目之后,便可根據(jù)本文提出的方法計(jì)算項(xiàng)目的屬性相似矩陣.再使用式(1)計(jì)算項(xiàng)目之間的相似度,從而將所有的項(xiàng)目劃分為多個(gè)群組,并設(shè)群組數(shù)量為Ng.其中,一個(gè)群組所包含的項(xiàng)目數(shù)為s,該項(xiàng)目參數(shù)是根據(jù)相似度的計(jì)算結(jié)果閾值來(lái)確定的.
本文實(shí)驗(yàn)引入了3個(gè)評(píng)價(jià)指標(biāo):均方根誤差(RMSE)、平均絕對(duì)誤差(MAE)和歸一化累計(jì)增益(NDGG),分別描述了推薦系統(tǒng)的評(píng)分準(zhǔn)確性、評(píng)分偏差性和推薦準(zhǔn)確度.均方根誤差的表達(dá)式為
(5)
平均絕對(duì)誤差定義為任意觀測(cè)值與均值差的絕對(duì)值均值,其計(jì)算表達(dá)式為
(6)
在實(shí)驗(yàn)中歸一化累計(jì)增益(NDGG)用來(lái)測(cè)量推薦系統(tǒng)的排序質(zhì)量,即對(duì)比推薦系統(tǒng)的排序和實(shí)際數(shù)據(jù)集中的評(píng)分排序.歸一化累計(jì)增益的計(jì)算表達(dá)式為
(7)
(8)
式中:NDGGp為推薦系統(tǒng)中排名前p的NDGG值;DGGp為根據(jù)實(shí)際評(píng)分結(jié)果計(jì)算出的排名前p的累計(jì)增益;IDGGp為排名前p的理想累計(jì)增益;reli為該項(xiàng)目的實(shí)際評(píng)分.
一般而言,第1組對(duì)比實(shí)驗(yàn)的推薦效果是相對(duì)較差的,其原因主要是該實(shí)驗(yàn)未對(duì)項(xiàng)目本身進(jìn)行研究學(xué)習(xí),只將用戶對(duì)于電影項(xiàng)目的平均評(píng)分因素加入計(jì)算過(guò)程.而第2組實(shí)驗(yàn)的準(zhǔn)確度要高于本文的推薦系統(tǒng),其原因主要是該方法使用了更細(xì)數(shù)據(jù)粒度的訓(xùn)練數(shù)據(jù)集.
本文的實(shí)驗(yàn)可以被分為2部分,第1部分的實(shí)驗(yàn)主要研究了項(xiàng)目屬性維度和項(xiàng)目之間相似性關(guān)系,對(duì)比了兩組方案與本文推薦系統(tǒng)在不同屬性維度時(shí)的推薦效果.為了便于比較本文推薦系統(tǒng)的應(yīng)用效果,引入損失率δ這一指標(biāo),即
(9)
式中:aPMF為概率分解算法計(jì)算的評(píng)分值;a為實(shí)際評(píng)分值.本文分別選擇了項(xiàng)目屬性維度D為5、10和18,其他輸入均設(shè)為令推薦效果最佳的最優(yōu)值.運(yùn)行本文的推薦系統(tǒng)與兩組實(shí)驗(yàn)進(jìn)行對(duì)比,對(duì)比結(jié)果如表2所示.表3給出了推薦系統(tǒng)不同維度損失率的結(jié)果對(duì)比.
表2 RMSE和NDGG的結(jié)果對(duì)比Tab.2 Comparison in results between RMSE and NDGG
表3 損失率的結(jié)果對(duì)比Tab.3 Comparison in results of loss rate %
從表2中可以看出:若項(xiàng)目屬性維度增加,第1組對(duì)比實(shí)驗(yàn)的準(zhǔn)確性不變;第2組對(duì)比實(shí)驗(yàn)的準(zhǔn)確性剛開(kāi)始有一點(diǎn)降低,隨后有所提高;本文推薦系統(tǒng)的準(zhǔn)確性隨維度變化不大,其原因是隨著項(xiàng)目屬性維度的增加,項(xiàng)目的數(shù)據(jù)信息更加詳細(xì),進(jìn)而降低推薦誤差,從而提高了算法的推薦準(zhǔn)確度.如果算法的設(shè)計(jì)比較合理,其準(zhǔn)確度也沒(méi)有太大的變化,甚至?xí)晕⒔档鸵稽c(diǎn).然而需要指出的是,屬性維度的增加將使用更多的計(jì)算資源,過(guò)多增加屬性維度也會(huì)降低系統(tǒng)運(yùn)行效率,但本文推薦系統(tǒng)的NDGG5指標(biāo)不易受到項(xiàng)目屬性維度數(shù)量的影響,效果明顯,實(shí)用且值得推廣.
第2部分的實(shí)驗(yàn)主要研究了項(xiàng)目的屬性數(shù)量和最近鄰居數(shù)量對(duì)數(shù)據(jù)粒度的影響,數(shù)據(jù)粒度是指推薦數(shù)據(jù)的細(xì)致度,可以衡量出推薦系統(tǒng)的推薦效果.圖3、4為數(shù)據(jù)粒度隨屬性數(shù)量和最近鄰居數(shù)量的變化狀態(tài).
圖3 項(xiàng)目屬性數(shù)量對(duì)推薦系統(tǒng)數(shù)據(jù)粒度的影響Fig.3 Influence of project attribute number on data granularity of recommendation system
由圖3可知,若項(xiàng)目屬性數(shù)量增加,能夠反映推薦系統(tǒng)推薦效果的3個(gè)指標(biāo)MAE、RMSE和NDGG5也會(huì)逐漸穩(wěn)定.其主要原因是項(xiàng)目屬性數(shù)量的增加能夠使電影項(xiàng)目屬性數(shù)據(jù)更加詳細(xì),其相似度的計(jì)算結(jié)果也會(huì)更精確,進(jìn)而推薦效果也會(huì)變好.而項(xiàng)目屬性數(shù)量增加也會(huì)增大用戶隱私暴露的風(fēng)險(xiǎn),同時(shí)增加系統(tǒng)計(jì)算資源的消耗.
由圖4可知,項(xiàng)目屬性數(shù)量確定時(shí),若最近鄰居數(shù)量增加,反映推薦效果的指標(biāo)MAE、RMSE和NDGG5就會(huì)逐漸變壞.其主要原因是項(xiàng)目群組的規(guī)模增加,推薦系統(tǒng)的數(shù)據(jù)粒度便會(huì)增加,由此會(huì)引起提取數(shù)據(jù)的困難.根據(jù)圖3可知,項(xiàng)目的屬性數(shù)量增加到15之后,系統(tǒng)的推薦準(zhǔn)確度基本保持不變,所以項(xiàng)目屬性數(shù)量最佳區(qū)間應(yīng)是[10,15].
本文對(duì)社交網(wǎng)絡(luò)中推薦系統(tǒng)的隱私保護(hù)問(wèn)題進(jìn)行了深入研究,在一般推薦系統(tǒng)的基礎(chǔ)上,基于項(xiàng)目屬性的相似度將所有項(xiàng)目劃分為若干個(gè)項(xiàng)目群組,從而得到項(xiàng)目的最近鄰居集合,推薦給具體的用戶.該系統(tǒng)無(wú)需采集用戶的隱私信息,大幅降低了用戶隱私泄露的風(fēng)險(xiǎn).實(shí)驗(yàn)結(jié)果證明:雖該系統(tǒng)在推薦準(zhǔn)確性上有損失,但能夠更好地保護(hù)用戶的隱私,具有較高的實(shí)用與推廣價(jià)值.