曲立平,吳家喜
(哈爾濱工程大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,哈爾濱 150001)(*通信作者電子郵箱quliping@hrbeu.edu.cn)
近幾十年來,隨著互聯(lián)網(wǎng)的快速發(fā)展,人們能夠獲取的信息越來越多,但是用戶在面對數(shù)量龐大、內(nèi)容豐富的信息的同時(shí),對如何獲取自己真正想要的信息存在著困惑,因此,大量以個(gè)性化推薦為代表的過濾網(wǎng)絡(luò)工具應(yīng)運(yùn)而生。目前個(gè)性化推薦領(lǐng)域大多數(shù)研究人員主要研究單領(lǐng)域推薦,如Netflix和Last.fm。單領(lǐng)域推薦往往存在數(shù)據(jù)稀疏和冷啟動(dòng)兩大主要問題,使得用戶的個(gè)性化推薦效果不理想。如何整合多個(gè)不同域中的數(shù)據(jù)來實(shí)現(xiàn)用戶精準(zhǔn)推薦已成為近來個(gè)性化推薦的研究熱點(diǎn)。
推薦系統(tǒng)如何根據(jù)用戶對一類信息(或物品)的喜好,向其推薦其他類型的信息(或物品),被稱為跨域推薦[1-4]。在跨域推薦中存在隨意評分的用戶, 例如,有的用戶即使對購物過程不滿意,但因?yàn)楹迷u返紅包等原因仍對物品給出較高的評分;而有的用戶即使對購物過程滿意,因?yàn)樾那椴缓玫仍驅(qū)ξ锲方o出較低的評分。當(dāng)該物品的評分?jǐn)?shù)量較少時(shí),隨意評分使得該物品的評分并不能準(zhǔn)確表現(xiàn)出用戶的偏愛,從而對推薦結(jié)果的準(zhǔn)確性產(chǎn)生較大的影響。
目前,大部分研究人員在將輔助域中數(shù)據(jù)遷移到目標(biāo)域的過程中,忽略了隨機(jī)評分的存在[5-10]。文獻(xiàn)[11]注意到了隨意評分的存在,為所有用戶統(tǒng)一設(shè)置了閾值。統(tǒng)一閾值的設(shè)置,由于其阻止了隨意性評分對目標(biāo)域信息的干擾,理論上與不設(shè)置閾值的數(shù)據(jù)遷移相比,其推薦結(jié)果的準(zhǔn)確率會(huì)有所提高; 然而,不同用戶評分的隨意性是不同的,為所有用戶統(tǒng)一設(shè)置閾值,不能很好地體現(xiàn)這種隨意性,據(jù)此,本文提出一種基于評分可靠性的跨域個(gè)性化推薦方法。該方法針對不同的評分可靠性,為用戶設(shè)置不同的閾值,以減少隨意評分對推薦效果的影響。
基于評分可靠性的跨域個(gè)性化推薦方法的推薦流程主要包括3個(gè)階段:預(yù)處理階段、處理階段和評估階段,如圖1所示。
圖1 推薦流程
為了降低用戶的隨意評分對推薦效果的影響,本文首先計(jì)算用戶評分的可靠性,以此來判斷用戶評分的可信程度。對評分可靠性較高的用戶,為其設(shè)置較低的閾值; 對評分可靠性較低的用戶,為其設(shè)置較高的閾值。
本文使用用戶評分可靠性來描述用戶評分的可信程度,其值為用戶對所有物品的評分與該物品評分的平均值的標(biāo)準(zhǔn)差,記為Varu,如式(1)所示:
(1)
由式(1)可知,Varu值越小,該用戶的評分可靠性越高。
對于評分可靠性低的用戶,如果其評分的物品的評分?jǐn)?shù)量較少,則該用戶的隨意評分將對推薦結(jié)果的準(zhǔn)確性產(chǎn)生很大的影響,在將輔助域的數(shù)據(jù)向目標(biāo)域遷移時(shí),該用戶對該物品的評分應(yīng)被忽略。只有當(dāng)其評分的物品的評分?jǐn)?shù)量較多時(shí),用戶的隨意評分對推薦結(jié)果的準(zhǔn)確性的影響才能被忽略。而對于評分可靠性高的用戶,因?yàn)槠湓u分能夠反映用戶的真實(shí)喜好,無論其評分的物品的評分?jǐn)?shù)量多還是少,都可以將輔助域的該數(shù)據(jù)向目標(biāo)域遷移。
用戶評分的最高分為5分,最低分為0分。從式(1)可以看出,用戶評分可靠性的取值范圍為[0,5)。按可靠性取值從低到高且間隔長度為1進(jìn)行分段,可以將用戶評分可靠性的取值分為0,(0,1],(1,2],(2,3],(3,4]和(4,5)共六段。對于用戶可靠性取值為0的用戶,為其設(shè)置閾值為T;取值為(0,1]的用戶,設(shè)置閾值為T+1;取值為(1,2]的用戶,設(shè)置閾值為T+2,以此類推。
基于評分可靠性的跨域個(gè)性化推薦方法的處理步驟[11]如下:
1)對每個(gè)域進(jìn)行矩陣分解,并使用交替最小二乘法(Alternating Least Squares, ALS)進(jìn)行優(yōu)化,得到最優(yōu)用戶特征矩陣和物品特征矩陣,如式(2)所示:
R=Um*k*Vk*n
(2)
其中:k為特征數(shù),m為用戶數(shù),n為物品數(shù),Um*k是用戶特征向量,Vk*n是物品特征向量,R是用戶-物品評分矩陣。
2)使用K-Means聚類算法對用戶-物品特征矩陣中的用戶、物品進(jìn)行聚類。
3)計(jì)算每個(gè)聚類用戶對應(yīng)聚類物品的評分的平均值,如式(3)所示:
(3)
4)通過上述的聚類級(jí)計(jì)算,得到某類用戶對某類物品的聚類級(jí)用戶-物品評分矩陣Rc,如式(4)所示:
(4)
(5)
(6)
其中參數(shù)α的取值需要隨著實(shí)驗(yàn)不斷地調(diào)整,直到最終的評估準(zhǔn)確率不再升高為止。
實(shí)驗(yàn)采用了Amazon數(shù)據(jù)集。該數(shù)據(jù)集是從1996- 05至2014- 07時(shí)間段產(chǎn)生的,共1億多條用戶評分,每條評分記錄包括用戶ID、物品ID、用戶對物品的評分和評分時(shí)間戳。由于數(shù)據(jù)集中Books、Movies和Music三個(gè)域的數(shù)據(jù)量較大,為了避免推薦時(shí)數(shù)據(jù)過于稀疏,本實(shí)驗(yàn)在這三個(gè)域上進(jìn)行。
實(shí)驗(yàn)的對比模型是文獻(xiàn)[11]提出的基于簇類的跨域矩陣分解(Cross-domain Clustering-Based Matrix Factorization, CCBMF)模型。CCBMF模型分為基于簇類的跨域矩陣分解-統(tǒng)一設(shè)置閾值(CCBMF-Common Threshold, CCBMF-CT)模型和基于簇類的跨域矩陣分解-不設(shè)置閾值(CCBMF-No Threshold, CCBMF-NT)模型?;诖仡惖目缬蚓仃嚪纸?個(gè)性化設(shè)置閾值(CCBMF-Personalized Threshold, CCBMF-PT)模型是本文提出的模型,該模型是在CCBMF模型的基礎(chǔ)上,根據(jù)用戶的評分可靠性來個(gè)性化的設(shè)置用戶的閾值。
對Books、Movies和Music域,分別都從2013- 07到2014- 07時(shí)間段中用戶評論數(shù)量為1,2,…,10的物品中隨機(jī)選取20個(gè)數(shù)據(jù),再從用戶評論數(shù)量為10以上的物品中隨機(jī)選取300個(gè)數(shù)據(jù)組成用戶數(shù)為500的訓(xùn)練數(shù)據(jù)集,剩下的數(shù)據(jù)作為測試數(shù)據(jù)集。在實(shí)驗(yàn)中,設(shè)置特征值數(shù)量為20,聚類數(shù)量為20。在矩陣分解的過程中,設(shè)定目標(biāo)函數(shù)值為0.1。聚類矩陣與目標(biāo)矩陣線性組合時(shí),α取值為0.5。
實(shí)驗(yàn)采用MAE作為評估指標(biāo)[12]。MAE的數(shù)值越小,推薦的質(zhì)量就越高,MAE的計(jì)算公式如式(7)所示:
(7)
實(shí)驗(yàn)共分3組進(jìn)行,分別以Books、Movies和Music作為目標(biāo)域,其他兩個(gè)域作為輔助域,閾值T依次從0開始遞增,計(jì)算CCBMF-NT、CCBMF-CT和CCBMF-PT的MAE(Mean Absolute Error)值。實(shí)驗(yàn)結(jié)果如表1所示。
表1 模型在Books、Movies和Music域的MAE值
實(shí)驗(yàn)過程中發(fā)現(xiàn):隨著閾值T的增大,設(shè)置閾值的推薦效果反而不如沒有設(shè)置閾值的推薦效果好。因此,實(shí)驗(yàn)在閾值為3后不再繼續(xù)遞增閾值。由此可知,在Amazon數(shù)據(jù)集中,隨意評分的用戶的數(shù)量較少。
從表1可以看出:除了目標(biāo)域?yàn)锽ooks且閾值T為3時(shí),其他情況下,CCBMF-CT 和CCBMF-PT的MAE值均小于CCBMF-NT的MAE值,即在將輔助域中數(shù)據(jù)遷移到目標(biāo)域的過程中,整體上,設(shè)置閾值比不設(shè)置閾值的跨域推薦具有更高的預(yù)測評分的準(zhǔn)確度;除了目標(biāo)域?yàn)锽ooks且閾值T為3,目標(biāo)域?yàn)镸ovies且閾值T為2和3時(shí),其他情況下,CCBMF-PT的MAE值均小于CCBMF-CT的MAE值,即在將輔助域中數(shù)據(jù)遷移到目標(biāo)域的過程中,整體上,個(gè)性化的設(shè)置閾值比統(tǒng)一的設(shè)置閾值的跨域推薦具有更高的預(yù)測評分的準(zhǔn)確度。
本文提出了基于評分可靠性的跨域個(gè)性化推薦方法,給出了用戶評分可靠性的計(jì)算方法和個(gè)性化閾值的設(shè)置方法,描述了跨域個(gè)性化推薦方法的推薦流程。通過Amazon數(shù)據(jù)集驗(yàn)證了本文方法的推薦效果優(yōu)于沒有設(shè)置閾值的推薦效果,也優(yōu)于為用戶統(tǒng)一設(shè)置閾值的推薦效果。不過該方法仍然存在不足,即根據(jù)用戶的評分可靠性等比例分段劃分閾值相對較簡單,進(jìn)一步需要研究的是如何根據(jù)評分?jǐn)?shù)據(jù)分布進(jìn)行非等比例分段劃分閾值。