王 健,馬佳琳
(沈陽(yáng)師范大學(xué),遼寧 沈陽(yáng) 110034)
伴隨著網(wǎng)上購(gòu)物的不斷發(fā)展,電子商務(wù)系統(tǒng)為用戶提供了越來(lái)越多的選擇?;ヂ?lián)網(wǎng)的發(fā)展給人們的生活帶來(lái)了巨大便利,同時(shí)一個(gè)迫切需要解決的問題也擺在面前:現(xiàn)今互聯(lián)網(wǎng)的結(jié)構(gòu)日趨復(fù)雜,用戶經(jīng)常會(huì)迷失在大量商品信息中,無(wú)法順利找到自己需要的商品信息,即信息過載問題。個(gè)性化推薦系統(tǒng)正是在信息過載情況下出現(xiàn)的,能夠根據(jù)用戶喜好,推薦給用戶所關(guān)心和需要的信息,給用戶提供個(gè)性化服務(wù),從而讓用戶獲得更好的購(gòu)物體驗(yàn)。但是,傳統(tǒng)的推薦算法的推薦準(zhǔn)確度不高。本文通過采用融合用戶特征標(biāo)簽與協(xié)同過濾的方式,有效提升推薦系統(tǒng)的精準(zhǔn)性。
協(xié)同過濾推薦算法主要可分為基于用戶的協(xié)同過濾推薦算法和基于物品的協(xié)同過濾推薦算法[1]?;谟脩舻膮f(xié)同過濾推薦算法的基本思想是根據(jù)用戶的歷史行為數(shù)據(jù)發(fā)現(xiàn)用戶對(duì)物品的喜歡,如物品購(gòu)買、收藏、內(nèi)容評(píng)論等,并對(duì)這些喜好進(jìn)行打分,然后根據(jù)不同用戶對(duì)相同商品偏好信息計(jì)算用戶之間的關(guān)系,從而在有相同愛好的用戶間進(jìn)行商品推薦?;谏唐返膮f(xié)同過濾推薦算法的基本思想是根據(jù)用戶對(duì)不同商品的打分情況計(jì)算商品之間的相似度,然后根據(jù)商品之間的相似性做出相應(yīng)的推薦。
步驟1:根據(jù)用戶評(píng)分?jǐn)?shù)據(jù),建立用戶-物品評(píng)分矩陣。
步驟2:計(jì)算目標(biāo)用戶和其余用戶之間的相似性,根據(jù)相似性找到最相似的K個(gè)用戶作為目標(biāo)用戶的相似鄰居。
步驟3:根據(jù)用戶相似鄰居對(duì)目標(biāo)用戶未評(píng)分物品的評(píng)分信息,對(duì)目標(biāo)用戶未評(píng)分物品進(jìn)行評(píng)分預(yù)測(cè),選取預(yù)測(cè)評(píng)分最高的前N項(xiàng)作為目標(biāo)用戶的推薦列表,推薦給目標(biāo)用戶。
歐幾里得距離法[2]:將用戶對(duì)物品的評(píng)分轉(zhuǎn)換成向量形式,由此得到n維的評(píng)分向量xi、yi,利用歐幾里得公式計(jì)算兩個(gè)向量之間的距離,距離值越小,相似度越高。其中,歐幾里得公式為:
余弦相似性[2]:將用戶i和用戶j在n維對(duì)象空間上的評(píng)分向量分別表示為i、j,利用余弦公式計(jì)算兩個(gè)用戶向量的夾角余弦值,值越大,兩個(gè)用戶越相似。余弦公式為:
相關(guān)相似性[2]:將用戶i和用戶j共同評(píng)分的物品的集合用Ni,j表示,Ri,g表示用戶i對(duì)物品g的評(píng)價(jià),Rj,g表示用戶j對(duì)物品g的評(píng)價(jià),和分別表示用戶i和j對(duì)物品的平均評(píng)分。利用皮爾遜相關(guān)系數(shù)算法計(jì)算兩個(gè)變量的相關(guān)系數(shù),絕對(duì)值越大,相關(guān)性越強(qiáng)。皮爾遜相關(guān)性公式為:
將Ptu,h表示為目標(biāo)用戶tu對(duì)未評(píng)分物品h的預(yù)測(cè)評(píng)分值,sim(tu,nu)表示為目標(biāo)用戶tu和鄰居用戶nu之間的相似度值,和分別表示目標(biāo)用戶tu和鄰居用戶nu對(duì)物品的平均評(píng)分,Rnu,h表示鄰居用戶nu對(duì)物品h的評(píng)分,Ntu表示為目標(biāo)用戶tu的鄰居集合,預(yù)測(cè)
推薦算法是個(gè)性化推薦系統(tǒng)中最核心、最關(guān)鍵的技術(shù)[3]。推薦算法的好壞基本上決定了推薦質(zhì)量的優(yōu)劣。協(xié)同過濾推薦算法本身具有很多優(yōu)點(diǎn),但是也存在著一些不足,如系統(tǒng)開始時(shí)無(wú)法對(duì)新用戶和新物品進(jìn)行準(zhǔn)確有效的推薦、算法中的數(shù)據(jù)稀疏性問題等。針對(duì)這些問題,本文提出融合用戶特征與協(xié)同過濾的個(gè)性化推薦算法,以有效緩解數(shù)據(jù)稀疏性問題和冷啟動(dòng)問題,提高推薦算法的推薦質(zhì)量。
網(wǎng)站一般在用戶開始注冊(cè)賬號(hào)的時(shí)候,需要填寫注冊(cè)賬號(hào)的相關(guān)信息,包括用戶名、密碼、手機(jī)號(hào)以及電子郵箱等信息[4]。但是,在計(jì)算用戶之間初期信息相似性的時(shí)候,這些信息是毫無(wú)意義的。所以,本文采用用戶的性別、年齡、職業(yè)以及地址4個(gè)特征標(biāo)簽信息來(lái)計(jì)算用戶之間初始信息的相似性。
不同性別的用戶在選擇物品時(shí)會(huì)有不同的偏好。比如,男性用戶選擇物品時(shí)會(huì)更加注重物品的實(shí)用性,而女性更加注重物品的外觀,則計(jì)算用戶a和用戶b的性別相似性公式為:
不同年齡的用戶在選擇物品時(shí)也不一樣。將年齡劃分為10個(gè)年齡組:6歲以下,7~10歲,11~14歲,15~17歲,18~28歲,29~40歲,41~48歲,49~55歲,56~65歲,66歲以上,則計(jì)算用戶a和用戶b的年齡相似性公式為:
不同職業(yè)的用戶在選擇物品時(shí)也會(huì)有差異。將職業(yè)分類看成一個(gè)樹形結(jié)構(gòu),用H表示總層數(shù),兩個(gè)任意的職業(yè)結(jié)點(diǎn)的長(zhǎng)度設(shè)為1,H(a,b)表示用戶a的職業(yè)和用戶b的職業(yè)在樹中最近的共同雙親結(jié)點(diǎn)所在的層,則計(jì)算用戶a和用戶b的職業(yè)相似性公式為:
不同地區(qū)的用戶由于受到當(dāng)?shù)仫L(fēng)俗習(xí)慣的影響,也會(huì)在選擇物品時(shí)存在區(qū)別。計(jì)算用戶a和用戶b的地址相似性公式為:
將上述四個(gè)用戶特征融合,分別用a、b、c、d表示性別、年齡、職業(yè)、地址的權(quán)重系數(shù)所占的比重,得到用戶的相似性公式為:
其中,a+b+c+d=1。
將融合用戶特征的相似性公式加入傳統(tǒng)的協(xié)同過濾相似性計(jì)算公式中,得到計(jì)算用戶相似性公式為:
本文實(shí)驗(yàn)采用的是測(cè)試數(shù)據(jù)集,對(duì)衡量系統(tǒng)推薦質(zhì)量采用平均絕對(duì)誤差MAE進(jìn)行評(píng)估。其中,實(shí)驗(yàn)使用的測(cè)試數(shù)據(jù)集為網(wǎng)絡(luò)開源Movielens數(shù)據(jù)集,包含了943名用戶對(duì)1 682部電影的10萬(wàn)條評(píng)分記錄,評(píng)分區(qū)間為1~5分[5]。分?jǐn)?shù)越高,表明該用戶越喜愛這部電影。MAE表示通過計(jì)算用戶對(duì)此電影的預(yù)測(cè)值與用戶對(duì)該電影的實(shí)際評(píng)分之間的絕對(duì)誤差值[6]。MAE的值越小,說(shuō)明推薦的精準(zhǔn)度越高。用Nt表示測(cè)試集合中評(píng)分的數(shù)量,Pc,m表示用戶c對(duì)電影m的預(yù)測(cè)評(píng)分,Rc,m表示用戶c對(duì)電影m的真實(shí)評(píng)分。MAE的計(jì)算公式為:
實(shí)驗(yàn)中分別取5、10、15、20、25、30作為最近鄰居數(shù)用來(lái)進(jìn)行測(cè)試,將傳統(tǒng)的協(xié)同過濾算法和融合用戶特征與協(xié)同過濾的個(gè)性化推薦算法進(jìn)行算法推薦質(zhì)量比較,實(shí)驗(yàn)結(jié)果如圖1所示。
圖1 實(shí)驗(yàn)結(jié)果對(duì)比
傳統(tǒng)的協(xié)同過濾推薦算法中數(shù)據(jù)稀疏性問題和冷啟動(dòng)問題影響推薦結(jié)果的精準(zhǔn)度,因此提出了將融合用戶特征標(biāo)簽加入傳統(tǒng)協(xié)同過濾算法的改進(jìn)方法。從實(shí)驗(yàn)測(cè)試結(jié)果可以看出,改進(jìn)的協(xié)同過濾推薦質(zhì)量獲得了顯著提高。