本發(fā)明涉及個(gè)性化推薦系統(tǒng)技術(shù),尤其涉及一種基于用戶認(rèn)知度變化的協(xié)同推薦方法。
背景技術(shù):
隨著大數(shù)據(jù)的出現(xiàn)及社交網(wǎng)絡(luò)的普及,“信息過(guò)載”或“信息迷航”問(wèn)題日益嚴(yán)重,推薦系統(tǒng)被認(rèn)為是解決該問(wèn)題最為有效的工具之一,它主動(dòng)地從用戶注冊(cè)信息、用戶瀏覽日志、歷史評(píng)分記錄和項(xiàng)目信息等方面進(jìn)行分析,從而挖掘用戶的興趣偏好和項(xiàng)目的特征,然后為用戶實(shí)現(xiàn)個(gè)人感興趣信息的私人定制,并根據(jù)用戶需求和項(xiàng)目信息的變化及時(shí)調(diào)整推薦的內(nèi)容和服務(wù)方式,實(shí)現(xiàn)“以用戶為中心”的個(gè)性化服務(wù),例如亞馬遜(Amazon)的商品推薦系統(tǒng),YouTube網(wǎng)站的視頻推薦及豆瓣(DouBan)的音樂(lè)評(píng)分推薦系統(tǒng)等,越來(lái)越多的網(wǎng)站為用戶提供了相關(guān)內(nèi)容的推薦服務(wù)。
目前流行的推薦算法主要分為:基于內(nèi)容的推薦算法、協(xié)同過(guò)濾推薦算法、基于知識(shí)的推薦算法和混合的推薦算法,但是這些方法都存在一些缺陷,例如缺乏對(duì)潛在用戶的挖掘能力,存在“冷啟動(dòng)”問(wèn)題,同時(shí)隨著大量的新用戶和新項(xiàng)目的快速增加,數(shù)據(jù)規(guī)模擴(kuò)大,數(shù)據(jù)稀疏嚴(yán)重時(shí),推薦質(zhì)量和效率都下降。因此傳統(tǒng)的推薦技術(shù)難以滿足當(dāng)前發(fā)展的需求。
當(dāng)前廣泛存在改良的推薦方法可以對(duì)以上問(wèn)題進(jìn)行改進(jìn),例如:將用戶個(gè)人及項(xiàng)目的資料中所包含的輔助信息來(lái)輔助推薦,例如用戶個(gè)人資料中包含用戶年齡、性別、工作及好友關(guān)系等,電影資料包含電影類(lèi)型、導(dǎo)演、演員、出品年份和國(guó)家等;不少算法是將時(shí)間因素作為推薦系統(tǒng)的重要信息進(jìn)行融合。Yelong Shen等人在Learning personal+social latent factor model for social recommendation.KDD,page 1303-1311.ACM,(2012)提出聯(lián)合個(gè)人和社會(huì)的潛在因素(Personal Social Latent Factor Model for Social Recommendation,PSLF)模型來(lái)進(jìn)行社會(huì)化推薦。Yi Ding和Xue Li在Time weight collaborative filtering.//Proceedings of the 14th ACM International Conference on Information and Knowledge ManagementCIKM(2005):485-492提出了基于時(shí)間權(quán)重的協(xié)同推薦方法,通過(guò)應(yīng)用時(shí)間函數(shù)來(lái)預(yù)測(cè)用戶未來(lái)購(gòu)買(mǎi)興趣,距離當(dāng)前時(shí)間越近的被評(píng)分項(xiàng)目對(duì)預(yù)測(cè)目標(biāo)項(xiàng)目的評(píng)分具有較大的影響作用,同時(shí)在用戶的購(gòu)買(mǎi)興趣和購(gòu)買(mǎi)行為上引入個(gè)性化衰減因子。Koren在Collaborative filtering with temporal dynamics.Fifteenth ACM SIGKDD International Conference on Knowledge Discovery and Data Mining,(2009)447-456提出了基于時(shí)間的矩陣分解算法,主要將時(shí)間因素加入到用戶(項(xiàng)目)特征向量中,并在Netflix比賽中獲得優(yōu)異的成績(jī)。Bao等人在A new temporal and social PMF-based method to predict users'interests in micro-blogging[J].Decision Support Systems(2013)55:698-709提出了一種預(yù)測(cè)微博用戶未來(lái)的興趣愛(ài)好的預(yù)測(cè)模型,該模型在預(yù)測(cè)概率矩陣模型的基礎(chǔ)上 融合了時(shí)態(tài)信息和社交網(wǎng)絡(luò)結(jié)構(gòu)信息。Liu等人在Social Temporal Collaborative Ranking for Context Aware Movie Recommendation[J]ACM Trans.Intell.Syst.Technol(2013)4:2157-6904提出了一種基于社交時(shí)態(tài)的協(xié)同過(guò)濾模型,結(jié)合了用戶的顯示和隱式反饋,融合了時(shí)間平滑正規(guī)函數(shù)防止過(guò)度擬合。孫光福等人在基于時(shí)序行為的協(xié)同過(guò)濾推薦算法.軟件學(xué)報(bào),2013,24(11):2721-2733提出了基于時(shí)序行為的協(xié)同過(guò)濾推薦算法,利用用戶消費(fèi)的時(shí)序信息建立用戶(產(chǎn)品)消費(fèi)網(wǎng)絡(luò)圖,通過(guò)相似度計(jì)算尋找最近鄰居集合,然后將其融入概率矩陣分解中,從而提高評(píng)分預(yù)測(cè)的精度。
目前,基于上下文感知的推薦系統(tǒng)主要關(guān)注如何生成推薦的過(guò)程,而忽略了用戶認(rèn)知度的提取過(guò)程。從心理學(xué)角度來(lái)說(shuō),認(rèn)知(cognition)主要是通過(guò)心理活動(dòng)(如形成概念、知覺(jué)、判斷或想象)獲取知識(shí),一般將認(rèn)知與情感、意志相對(duì)應(yīng)。認(rèn)知又被稱為認(rèn)識(shí),是指人認(rèn)識(shí)外界事物的過(guò)程,或者說(shuō)是對(duì)作用于人的感覺(jué)器官的外界事物進(jìn)行信息加工的過(guò)程。它包括感覺(jué)、知覺(jué)、記憶、思維等心理現(xiàn)象。李建國(guó)等人在基于認(rèn)知度的協(xié)同過(guò)濾推薦算法.計(jì)算機(jī)研究與發(fā)展增刊,2009,46,515-519提出了基于認(rèn)知度的協(xié)同過(guò)濾推薦算法(Cognition Degree-based Collaborative Filtering,CDCF),根據(jù)項(xiàng)目的關(guān)鍵屬性對(duì)其進(jìn)行分類(lèi),然后計(jì)算用戶對(duì)各類(lèi)項(xiàng)目的認(rèn)知度,依據(jù)認(rèn)知度的相似程度為目標(biāo)用戶選擇相似用戶群并為進(jìn)行評(píng)分預(yù)測(cè)。蔡毅等人在Typicality-Based Collaborative Filtering Recommendation.IEEE Trans.Knowl.Data Eng.26(3):766-779(2014)借鑒了認(rèn)知心理學(xué)中的對(duì)象特征的概念,提出了基于特征的協(xié)同過(guò)濾推薦算法,主要是依靠用戶所在用戶組中的特征度來(lái)尋找近鄰用戶集。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)以上的問(wèn)題,本申請(qǐng)?zhí)岢鲆环N基于用戶認(rèn)知度變化的協(xié)同推薦方法,借鑒認(rèn)知心理學(xué)的理論,從用戶的年齡、工作、性別和閱歷等多方面的出發(fā),同時(shí)考慮認(rèn)知度隨著時(shí)間變化的特性,提出了基于用戶認(rèn)知度變化的協(xié)同推薦方法(CogTime_RMF)。首先利用RMF模型將用戶-項(xiàng)目評(píng)分矩陣分解成為用戶特征矩陣和項(xiàng)目特征矩陣,并引入一個(gè)基于心理學(xué)記憶遺忘曲線的時(shí)間衰減函數(shù),對(duì)用戶不同時(shí)間給出的評(píng)分給予不同程度的衰減;其次,考慮四個(gè)方面對(duì)用戶認(rèn)知度的影響,包括用戶歷史行為、用戶年齡、職業(yè)和性別的影響作用,利用因子模型將這四種影響認(rèn)知度的因素建模到RMF模型中,以改進(jìn)傳統(tǒng)方法的不足。
該方法包括以下步驟:
S1,獲取訓(xùn)練集DT數(shù)據(jù),用戶歷史行為、職業(yè)、年齡和性別對(duì)用戶認(rèn)知度的影響信息,特征變量f;
S2,初始化用戶特征向量pu和項(xiàng)目特征向量qi;
S3,在CogTime_RMF模型中,通過(guò)隨機(jī)梯度下降法使預(yù)測(cè)誤差達(dá)到最小化,并預(yù)測(cè)誤差是否 小于閾值;
S4,當(dāng)預(yù)測(cè)誤差小于閾值時(shí),輸出用戶特征向量pu和項(xiàng)目特征向量qi;當(dāng)預(yù)測(cè)誤差不小于閾值時(shí),跳轉(zhuǎn)到S3。
本申請(qǐng)的有益效果:基于用戶認(rèn)知度變化的協(xié)同推薦方法(CogTime_RMF)能夠從年齡、工作、性別和歷史行為等多方面因素構(gòu)建用戶的認(rèn)知度變化,并融入到推薦方案中,能提高推薦的準(zhǔn)確率并緩解用戶“冷啟動(dòng)”問(wèn)題。
附圖說(shuō)明
圖1基于用戶認(rèn)知度變化的協(xié)同推薦方法步驟;
圖2基于用戶認(rèn)知度變化的協(xié)同推薦方法原理圖;
圖3時(shí)間函數(shù)及認(rèn)知元素的影響;
圖4不同用戶組的評(píng)分預(yù)測(cè)。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明了,下面結(jié)合具體實(shí)施方式并參照附圖,對(duì)本發(fā)明進(jìn)一步詳細(xì)說(shuō)明。
本發(fā)明借鑒了心理學(xué)上認(rèn)知的概念,擬對(duì)原有RMF推薦算法進(jìn)行兩個(gè)改變,即:(1)從用戶的歷史行為,用戶的職業(yè),用戶性別及用戶年齡四個(gè)方面來(lái)為用戶對(duì)不同項(xiàng)目類(lèi)型的認(rèn)知度進(jìn)行建模;(2)為了能模擬出用戶偏好及認(rèn)知度的變化趨勢(shì),采用心理學(xué)上艾賓浩斯遺忘曲線,以其作為時(shí)間函數(shù)原型并做了一步修改,用來(lái)跟蹤和學(xué)習(xí)用戶的動(dòng)態(tài)變化。
如圖1所示,該方法包括以下步驟:
步驟101:獲取訓(xùn)練集DT數(shù)據(jù),用戶歷史行為、職業(yè)、年齡和性別對(duì)用戶認(rèn)知度的影響信息,特征變量f;
步驟102:初始化用戶特征向量pu和項(xiàng)目特征向量qi;
步驟103:在CogTime_RMF模型中,通過(guò)隨機(jī)梯度下降法使預(yù)測(cè)誤差達(dá)到最小化,預(yù)測(cè)誤差是否小于閾值;
步驟104:當(dāng)預(yù)測(cè)誤差小于閾值時(shí),輸出用戶特征向量pu和項(xiàng)目特征向量qi;當(dāng)預(yù)測(cè)誤差不小于閾值時(shí),跳轉(zhuǎn)到S3。
基于用戶認(rèn)知度變化的協(xié)同推薦方法(CogTime_RMF)能夠從年齡、工作、性別和歷史行為等多方面因素構(gòu)建用戶的認(rèn)知度變化,并融入到推薦方案中,能提高推薦的準(zhǔn)確率并緩解用戶“冷啟動(dòng)”問(wèn)題。如圖2所示,下文將一一詳細(xì)說(shuō)明本申請(qǐng)的原理。
1、用戶認(rèn)知度建模
a.用戶的歷史行為
用戶對(duì)項(xiàng)目類(lèi)型的熟悉程度可體現(xiàn)用戶的認(rèn)知度,在評(píng)分預(yù)測(cè)過(guò)程中,用戶的認(rèn)知度可在兩個(gè)方面體現(xiàn):第一、用戶對(duì)于不同類(lèi)型的項(xiàng)目具有不同的評(píng)分標(biāo)準(zhǔn)。當(dāng)用戶遇到新的項(xiàng)目且該項(xiàng)目屬于其所喜歡的類(lèi)型時(shí),用戶可能會(huì)傾向于給出較高的分?jǐn)?shù),同樣當(dāng)項(xiàng)目屬于不喜歡類(lèi)型時(shí),可能給出較低的分?jǐn)?shù);第二、不同用戶對(duì)于同樣的項(xiàng)目類(lèi)型具有不同的評(píng)分準(zhǔn)則。
將用戶關(guān)于項(xiàng)目類(lèi)型的喜愛(ài)程度采用因子模型來(lái)刻畫(huà)一個(gè)與項(xiàng)目類(lèi)型相關(guān)的用戶偏好項(xiàng),公式如下:
buc=xucT·yuk (1)
其中分別為用戶及項(xiàng)目類(lèi)對(duì)應(yīng)的特征向量。
b.用戶職業(yè)的影響
由于職業(yè)類(lèi)型對(duì)用戶在不同類(lèi)型項(xiàng)目上的評(píng)分是具有一定影響作用的,為此可增加一個(gè)偏置項(xiàng),用來(lái)描述不同職業(yè)人群對(duì)項(xiàng)目類(lèi)型的喜好程度,公式如下:
bwc=xwcT·ywk (2)
其中分別為用戶職業(yè)及項(xiàng)目類(lèi)對(duì)應(yīng)的特征向量。
c.用戶年齡的影響
人類(lèi)的認(rèn)知是一個(gè)發(fā)展的過(guò)程,皮亞杰認(rèn)為認(rèn)知發(fā)展指?jìng)€(gè)體自出生后在適應(yīng)環(huán)境的活動(dòng)中,對(duì)事務(wù)的認(rèn)知及面對(duì)問(wèn)題情境時(shí)的思維方式與能力表現(xiàn),隨年齡增長(zhǎng)而改變的歷程,因此添加一個(gè)與項(xiàng)目類(lèi)型相關(guān)的年齡偏置項(xiàng),用來(lái)描述不同年齡組對(duì)項(xiàng)目類(lèi)型的喜好程度,公式如下:
bac=xacT·yak (3)
其中分別為用戶年齡及項(xiàng)目類(lèi)對(duì)應(yīng)的特征向量。
d.用戶性別的影響
人類(lèi)由于性別上的差異,導(dǎo)致大腦的左右半球結(jié)構(gòu)及其功能發(fā)展有所不同,從而對(duì)男女的認(rèn)知模塊產(chǎn)生了影響,例如男性的視覺(jué)空間能力及數(shù)學(xué)能力要優(yōu)于女性,而女性的口語(yǔ)能力和言語(yǔ)的流暢性要比男性好,為此添加一個(gè)與項(xiàng)目類(lèi)型相關(guān)的性別偏置項(xiàng),用來(lái)描述不同性別對(duì)項(xiàng)目類(lèi)型的喜好程度,公式如下:
bgc=xgcT·ygk (4)
其中分別為用戶性別及項(xiàng)目類(lèi)對(duì)應(yīng)的特征向量。
2、基于用戶認(rèn)知度變化的協(xié)同推薦算法
在基于認(rèn)知度的RMF模型中,pu為用戶特征矩陣的元素,它代表著用戶u的f維特征向量;qi為項(xiàng)目特征矩陣的元素,它代表著項(xiàng)目i的f維特征向量;用戶對(duì)項(xiàng)目類(lèi)的認(rèn)知度可以通過(guò)f維的用戶關(guān)于項(xiàng)目類(lèi)的特征向量xuc和f維的項(xiàng)目類(lèi)特征向量yuk的點(diǎn)乘積進(jìn)行建模。其中pu和xuc是可以體現(xiàn)用戶特征向量的元素,通過(guò)將二者變?yōu)殛P(guān)于時(shí)間的函數(shù),可讓用戶的興趣偏好及用戶對(duì)項(xiàng)目類(lèi)的認(rèn)知度隨時(shí)間變化而改變。為了能模擬出用戶偏好及認(rèn)知度的變化趨勢(shì),本章借鑒心理學(xué)上艾賓浩斯遺忘曲線,以其作為時(shí)間函數(shù)原型并做了一步修改,用來(lái)跟蹤和學(xué)習(xí)用戶的動(dòng)態(tài)變化。
為了體現(xiàn)出動(dòng)態(tài)性,即實(shí)現(xiàn)用戶對(duì)項(xiàng)目的偏愛(ài)及用戶對(duì)項(xiàng)目類(lèi)的認(rèn)知度可以隨時(shí)間變化,可將pu變成一個(gè)與時(shí)間相關(guān)的函數(shù)pu(t),用它代表用戶對(duì)特征f的偏好隨時(shí)間變化而改變的程度,,同樣可在xuc中增加時(shí)間函數(shù)變成一個(gè)與時(shí)間相關(guān)的xuc(t),,用它代表用戶關(guān)于項(xiàng)目類(lèi)認(rèn)知度的動(dòng)態(tài)變化,可表示為:
puk(t)=puk+αu·devu(t) (5)
xuck(t)=xuck+αuc·devuc(t) (6)
其中,dev(t)為艾賓浩斯遺忘曲線一種變形的時(shí)間函數(shù),即:
其中,cu=1.25,bu=1.84。當(dāng)為devu(t)時(shí),,tumax代表用戶u最近一次評(píng)分的時(shí)間,t表示用戶u對(duì)當(dāng)前項(xiàng)目評(píng)分的時(shí)間。與前者不同,在devuc(t)中的,tgmax代表用戶u對(duì)g類(lèi)項(xiàng)目最近一次評(píng)分的時(shí)間,t表示用戶u對(duì)當(dāng)前的g類(lèi)項(xiàng)目評(píng)分的時(shí)間。τ根據(jù)數(shù)據(jù)集中的時(shí)間單位來(lái)決定,如果以秒為時(shí)間單位,可將時(shí)間τ設(shè)為60。
RMF模型主要考慮的是用戶-項(xiàng)目評(píng)分矩陣,但用戶的評(píng)分行為會(huì)受到其自身認(rèn)知度的影響,因此本文提出了一種融入用戶認(rèn)知度的RMF模型,在RMF基礎(chǔ)上,加入用戶認(rèn)知度模型。在預(yù)測(cè)模型中,可以加入用戶認(rèn)知度的元素:
其中pu和pi為用戶u和項(xiàng)目i對(duì)應(yīng)的特征向量。
在添加時(shí)間函數(shù)后,可以得到基于用戶認(rèn)知度變化的RMF模型——CogTime_RMF:
推薦算法中最重要的衡量標(biāo)準(zhǔn)就是要使預(yù)測(cè)誤差達(dá)到極小值,通過(guò)最小化下面的目標(biāo)函數(shù)來(lái)得到模型的參數(shù):
其中λ是一個(gè)防止過(guò)擬合的參數(shù),可以通過(guò)交叉驗(yàn)證選取,并采用隨機(jī)梯度下降法來(lái)最小化損失函數(shù)。然后為了最小化上式,采用基于梯度下降法對(duì)公式10中的求導(dǎo)。
綜上,CogTime_RMF算法如下所示:
實(shí)驗(yàn)驗(yàn)證:
1、實(shí)驗(yàn)環(huán)境
運(yùn)行環(huán)境:4核,Intel Core 3.2GHz處理器,4G內(nèi)存,Windows系統(tǒng)
2、數(shù)據(jù)集的選擇
為驗(yàn)證本章提出方法的有效性,及考慮與其它算法的公平比較,選擇了兩個(gè)現(xiàn)實(shí)生活的數(shù)據(jù)集MovieLens1M和MovieLens100K,由美國(guó)明尼蘇達(dá)大學(xué)的GroupLens研究小組從MovieLens電影評(píng)分網(wǎng)站收集到的評(píng)分?jǐn)?shù)據(jù)構(gòu)成,該數(shù)據(jù)集包含了對(duì)應(yīng)的用戶信息、電影基本信息、用戶評(píng)分和時(shí)間戳等。
(1)MovieLens1M數(shù)據(jù)集:該數(shù)據(jù)集共有3952位用戶對(duì)6040部電影的100萬(wàn)條評(píng)分?jǐn)?shù)據(jù)(評(píng)分值為1-5的整數(shù)),該數(shù)據(jù)集的評(píng)分矩陣稀疏性為0.9538。
(2)MovieLens100k數(shù)據(jù)集:該數(shù)據(jù)集共有943位用戶對(duì)1682部電影的10萬(wàn)條評(píng)分?jǐn)?shù)據(jù)(評(píng)分值為1-5的整數(shù)),該數(shù)據(jù)集的評(píng)分矩陣稀疏性為0.9369。
本發(fā)明采用5折交叉驗(yàn)證方案,將MovieLens1M和1K數(shù)據(jù)集隨機(jī)劃分為5個(gè)不相交子數(shù)據(jù)集。為了評(píng)估稀疏數(shù)據(jù)對(duì)算法的影響,使用80%的數(shù)據(jù)做訓(xùn)練集,剩余20%的數(shù)據(jù)做測(cè)試集。從5個(gè)子數(shù)據(jù)集中隨機(jī)抽取1個(gè)作為測(cè)試集,其余4個(gè)數(shù)據(jù)集作為訓(xùn)練集。80%/20%的測(cè)試數(shù)據(jù)可分為5組,被測(cè)試算法在每組中重復(fù)執(zhí)行10次,以10次測(cè)試結(jié)果的均值作為實(shí)驗(yàn)的最后結(jié)果。
3、方法選擇
選擇最先進(jìn)的基于推斷和基于檢索的填補(bǔ)方法
(1)基于近鄰的方法(k-NearestNeighborCollaborative filtering):
基于用戶的近鄰協(xié)同推薦User-based KNN(UCF):在評(píng)分矩陣上采用皮爾遜相關(guān)系數(shù)來(lái)計(jì)算用戶之間的相似度,然后根據(jù)相似度來(lái)找目標(biāo)用戶的近鄰用戶集合,最后再根據(jù)k個(gè)最鄰近用戶對(duì)未知項(xiàng)目i的評(píng)分來(lái)預(yù)測(cè)用戶u對(duì)i的評(píng)分值。(k等于150)
基于項(xiàng)目的近鄰協(xié)同推薦Item-based KNN(ICF):該算法與基于用戶的協(xié)同推薦類(lèi)似,從項(xiàng)目角度出發(fā),計(jì)算項(xiàng)目之間的相似性,尋找目標(biāo)項(xiàng)目的近鄰集合。(k等于150)
基于認(rèn)知度的協(xié)同過(guò)濾推薦算法CDCF(cognition degree-based collaborativefiltering):根據(jù)項(xiàng)目的關(guān)健屬性對(duì)項(xiàng)目進(jìn)行分類(lèi),通過(guò)計(jì)算用戶對(duì)各類(lèi)項(xiàng)目的認(rèn)知度,為目標(biāo)用戶選擇認(rèn) 知度相似用戶并根據(jù)相似用戶的評(píng)分來(lái)進(jìn)行預(yù)測(cè)。
(2)基于模型的方法(Model-based):
規(guī)范化矩陣分解(RMF):規(guī)范化矩陣分解把用戶-項(xiàng)目評(píng)分矩陣分解為兩個(gè)矩陣P和Q乘積的形式。
基于用戶興趣變化的矩陣分解模型UCI_RMF(RMF with Users'Changing Interests):一種基于用戶興趣變化的矩陣分解模型,將規(guī)則化的矩陣分解模型作為基準(zhǔn)預(yù)測(cè)模型,引入用戶興趣變化的因素,跟蹤用戶喜好的漂移。
基于社會(huì)化規(guī)則的推薦SRu+-(Social Regularization with similar usersinformation and dissimilar information):在規(guī)則化的矩陣分解模型中融入相似用戶和非相似用戶的信息。
4、準(zhǔn)確性比較
為了衡量RSVD-WNBI模型在項(xiàng)目預(yù)測(cè)方面的有效性,需要統(tǒng)計(jì)項(xiàng)目評(píng)分預(yù)測(cè)的偏差。本文采用平均絕對(duì)誤差(MAE)和均方根誤差(RMSE)作為評(píng)價(jià)標(biāo)準(zhǔn)。
5性能
分別在MovieLens1M和MovieLens100K數(shù)據(jù)集上,將CogTime_RMF模型與6種常用推薦算法進(jìn)行性能比較,主要是2個(gè)方面:(1)準(zhǔn)確率,(2)不同用戶組的評(píng)分預(yù)測(cè)效果。該6種算法分別為User-based KNN、Item-based KNN、CDCF、RMF、UCI_RSVD和SRu+-。KNN和CDCF的近鄰值取150,RSVD、UCI_RSVD和SRu+-的特征向量數(shù)f分別取20和50,獨(dú)立地重復(fù)10次計(jì)算,這10次計(jì)算的平均值作為最后MAE和RMSE的實(shí)驗(yàn)結(jié)果,如表1所示:
表1 CogTime_RMF與其它算法的結(jié)果對(duì)比
表2 T-test檢驗(yàn)
表1和表2分別為CogTime_RMF方法與已有的6種推薦方法在Movielens1M和Movielens100k的準(zhǔn)確性比較。表1顯示了在兩個(gè)不同稀疏度的數(shù)據(jù)集及兩個(gè)不同特征量的實(shí)驗(yàn)測(cè)試中,無(wú)論是MAE還RMSE,CogTime_RMF算法要比其它6種算法具有更高的預(yù)測(cè)準(zhǔn)確度。例如在Movielens100k 80%訓(xùn)練集,特征量為20時(shí),CogTime_RMF算法相對(duì)于UCF、ICF、CDCF、RMF、SRu+-和UCI_RMF算法在MAE值上分別提高了5.61%、5.27%、5.59%、2.96%、1.1%和1.56%,同時(shí)在RMSE值上分別提高了7.56%、5.7%、6.05%、3.11%、1.26%及2.05%為了驗(yàn)證實(shí)驗(yàn)結(jié)果的統(tǒng)計(jì)顯著性,實(shí)驗(yàn)在顯著性水平0.05上對(duì)交叉驗(yàn)證的10次結(jié)果進(jìn)行了T檢驗(yàn)(T-test),結(jié)果如表2所示。
從2個(gè)表顯示的結(jié)果發(fā)現(xiàn),與其它6種算法相比較,本章提出的基于用戶認(rèn)知度變化的CogTime_RMF算法在預(yù)測(cè)準(zhǔn)確性上有不同程度的提高,且在預(yù)測(cè)準(zhǔn)確性上的差異具有統(tǒng)計(jì)顯著性,說(shuō)明該算法充分利用了時(shí)態(tài)信息,有效提高了推薦的準(zhǔn)確性。
圖3為在2個(gè)數(shù)據(jù)集上,特征向量從10到50之間,CogTime_RMF方法和基于用戶認(rèn)知度不帶時(shí)間函數(shù)的方法(Cog_RMF)、基于用戶行為+時(shí)間信息的方法(Time+B)、基于用戶行為+用戶職業(yè)+時(shí)間信息的方法(Time+B+O)、基于用戶行為+用戶職業(yè)+用戶年齡+時(shí)間信息的方法(Time+B+O+A)進(jìn)行比較。從圖中可以看出,CogTime_RMF方法預(yù)測(cè)準(zhǔn)確率明顯地高于其它組合方法。
為了深入分析方法性能,將RMF和CogTime_RMF算法在不同評(píng)分?jǐn)?shù)量的用戶組上進(jìn)行預(yù)測(cè)測(cè)試。根據(jù)用戶在訓(xùn)練集中評(píng)分的數(shù)量進(jìn)行劃分,Movielens1M數(shù)據(jù)集可以分為7類(lèi):(0,20)、[20,40)、[40,80)、[80,160)、[160,320)、[320,800)和>=800,(0,20)代表評(píng)分?jǐn)?shù)量在0到20次之間的用戶組,例如評(píng)分?jǐn)?shù)量為38次的用戶被劃分在[20,40)的用戶組中;由于數(shù)據(jù)量小,Movielens100k數(shù)據(jù)集可以分為6類(lèi):(0,20)、[20,40)、[40,80)、[80,160)、[160,320)和>=320。測(cè)試集的用戶組分布情況如圖4(a)和(b)所示。
在Movielens1M數(shù)據(jù)集和Movielens100k數(shù)據(jù)集上對(duì)不同用戶組進(jìn)行預(yù)測(cè)準(zhǔn)確度的測(cè)試, 為了讓測(cè)試更為直觀,采用不含任何時(shí)間和認(rèn)知度信息的RMF模型作為對(duì)比方法,結(jié)果如圖4(c)和(d)所示。從圖可以看到,雖然使用不同數(shù)據(jù)集進(jìn)行測(cè)試,但在所有用戶組的測(cè)試中,CogTime_RMF算法所得到的RMSE值都要比RMF算法的值低,即使在用戶評(píng)分較少的情況下(評(píng)分?jǐn)?shù)量少于20的用戶組),特征量f為20時(shí),CogTime_RMF算法在Movielens1M數(shù)據(jù)集和Movielens100k數(shù)據(jù)集上的預(yù)測(cè)準(zhǔn)確度比RSVD算法分別提高了8.24%和17.21%。同樣從圖4(e)和(f)可以看到,特征量為20時(shí),CogTime_RMF算法在2個(gè)數(shù)據(jù)集上的MAE值比RMF算法的要低。在(0,20)的用戶組中,CogTime_RSVD算法比RMF算法分別提高了3.57%和7.33%。
通過(guò)實(shí)驗(yàn)分析,基于用戶認(rèn)知度變化的方法CogTime_RMF,在不同數(shù)據(jù)集的測(cè)試下,預(yù)測(cè)準(zhǔn)確性均高于其余6種方法,這表明根據(jù)用戶認(rèn)知度的變化能有效提高推薦算法的準(zhǔn)確性。無(wú)論在用戶評(píng)分量少或足夠評(píng)分量的情況下,CogTime_RMF方法均能提高推薦的效果,因此CogTime_RMF方法利用用戶認(rèn)知度隨時(shí)間變化的特點(diǎn)實(shí)現(xiàn)了對(duì)RMF模型的改進(jìn)并獲得良好的效果,有效緩解了用戶冷啟動(dòng)問(wèn)題。
以上所述實(shí)施例僅表達(dá)了本發(fā)明的幾種實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對(duì)本發(fā)明專(zhuān)利范圍的限制。應(yīng)當(dāng)指出的是,對(duì)于本領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專(zhuān)利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。