李敬兆 朱東郡 譚大禹
1(安徽理工大學(xué)電氣與信息工程學(xué)院 安徽 淮南 232001)2(安徽理工大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 安徽 淮南 232001)
動(dòng)態(tài)多源時(shí)間認(rèn)知推薦算法研究
李敬兆1,2朱東郡2譚大禹2
1(安徽理工大學(xué)電氣與信息工程學(xué)院 安徽 淮南 232001)2(安徽理工大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 安徽 淮南 232001)
一個(gè)好的推薦算法在如今的智能Web應(yīng)用中變得十分重要。給出一種具有時(shí)間認(rèn)知的推薦算法。傳統(tǒng)的推薦算法通常不加選擇地使用早期和近期的評(píng)價(jià),隨著時(shí)間的推移而忽略了用戶(hù)興趣的變化,且用戶(hù)的興趣在短期的時(shí)間間隔內(nèi)保持穩(wěn)定但在長(zhǎng)期間隔內(nèi)是有所改變的。在已有的協(xié)同過(guò)濾推薦算法基礎(chǔ)上加入了時(shí)間向量因子用來(lái)激勵(lì)近期記錄或減弱早期記錄,以達(dá)到更有效分類(lèi)相似興趣的用戶(hù)的目的。結(jié)果表明應(yīng)用該方法能有效提高在智能Web中推薦的準(zhǔn)確率及效率。
智能Web 時(shí)間向量因子 協(xié)同過(guò)濾推薦 用戶(hù)興趣變化
隨著互聯(lián)網(wǎng)的不斷發(fā)展,大量的信息出現(xiàn)在人們的視野中[8]。信息的爆炸使得用戶(hù)很難獲取到對(duì)自己有用的信息。雖然搜索引擎可以幫助人們從海量信息中檢索出需要的信息,但同時(shí)也要求用戶(hù)提供必要的關(guān)鍵詞。當(dāng)查詢(xún)結(jié)果不能讓用戶(hù)滿(mǎn)意時(shí),用戶(hù)還需提供更合適的關(guān)鍵詞重新查詢(xún)。如果查詢(xún)關(guān)鍵詞不能夠恰當(dāng)?shù)胤从吵鏊阉餍枨?,那么查?xún)的結(jié)果就很令人失望。因此只有在用戶(hù)能很好地用關(guān)鍵詞描述自己的需求時(shí),搜索引擎才能更好地體現(xiàn)其功能。而當(dāng)用戶(hù)對(duì)自身的需求比較模糊時(shí),使用搜索引擎將很難查詢(xún)出稱(chēng)心的結(jié)果。
然而推薦系統(tǒng)正是為解決這類(lèi)問(wèn)題而出現(xiàn)的。推薦系統(tǒng)通過(guò)分析用戶(hù)的歷史數(shù)據(jù)來(lái)建模用戶(hù)興趣[7],發(fā)現(xiàn)用戶(hù)的可能存在的一些需求,并對(duì)其進(jìn)行分析,根據(jù)分析結(jié)果為用戶(hù)推薦相應(yīng)的信息。
隨著對(duì)推薦系統(tǒng)研究的深入,研究者們針對(duì)不同的需求提出了不同的推薦算法,其中包括基于內(nèi)容的推薦、協(xié)同過(guò)濾推薦、基于聚類(lèi)算法的推薦以及基于產(chǎn)品到產(chǎn)品的專(zhuān)利推薦等[7]。而協(xié)同過(guò)濾推薦是使用最為普遍和成功的。
協(xié)同過(guò)濾CF(Collaborative Filtering)是向用戶(hù)推薦與其具有相似愛(ài)好的用戶(hù)喜歡的產(chǎn)品[7]。它通過(guò)用戶(hù)對(duì)產(chǎn)品的評(píng)價(jià)計(jì)算出與目標(biāo)用戶(hù)的愛(ài)好相似的用戶(hù),然后把他們喜歡的產(chǎn)品推薦給目標(biāo)用戶(hù)。協(xié)同過(guò)濾的假設(shè)是:多個(gè)用戶(hù)對(duì)一些產(chǎn)品給予相似的評(píng)價(jià),那么對(duì)另一些產(chǎn)品也會(huì)給予相似評(píng)價(jià)[7]。就像人們時(shí)常喜歡與愛(ài)好相同的朋友相互推薦和分享有趣的事物一樣,這種推薦和分享更容易被人所接受。
但是目前的協(xié)同過(guò)濾算法在相似度計(jì)算中往往不加選擇地使用早期和近期記錄。而用戶(hù)瀏覽記錄是和用戶(hù)自身的行為邏輯,興趣特點(diǎn)有緊密聯(lián)系的。由于用戶(hù)習(xí)慣的變化以及用戶(hù)與用戶(hù)之間的不同,推薦系統(tǒng)在瀏覽時(shí)間和評(píng)價(jià)時(shí)間的數(shù)據(jù)獲取上存在不確定性、多源性。其數(shù)據(jù)在時(shí)間軸上表現(xiàn)出實(shí)時(shí)的動(dòng)態(tài)變化。因此如果不考慮時(shí)間因素,忽略了用戶(hù)興趣的變化。隨著時(shí)間的推移推薦系統(tǒng)就不能更精確地給用戶(hù)推薦信息。而且用戶(hù)的興趣一般在短期的時(shí)間間隔內(nèi)保持穩(wěn)定,但在長(zhǎng)期時(shí)間跨度內(nèi),不同用戶(hù)的興趣變化是不確定的甚至雜亂無(wú)章的。因此在用戶(hù)相似度的計(jì)算中,用戶(hù)對(duì)產(chǎn)品的評(píng)價(jià)時(shí)間就顯得非常重要。比如用戶(hù)A和用戶(hù)B在評(píng)價(jià)記錄中都對(duì)看過(guò)探險(xiǎn)類(lèi)的電影評(píng)價(jià)很高,但用戶(hù)A是2年以前的評(píng)價(jià),用戶(hù)B是最近的評(píng)價(jià)。傳統(tǒng)的KNN相似度算法就會(huì)認(rèn)為用戶(hù)A、B都喜歡看探險(xiǎn)的電影,他們倆是偏好相似的用戶(hù)。然而事實(shí)上用戶(hù)A早在一年前就不看探險(xiǎn)類(lèi)的電影,而且認(rèn)為其沒(méi)有意思。所以近期來(lái)看用戶(hù)A與B就探險(xiǎn)類(lèi)電影而言不能認(rèn)為是具有相似偏好的用戶(hù)?;诖耍疚奶岢隽巳诤蠒r(shí)間向量算子的協(xié)同過(guò)濾算法。其核心思想是:某些用戶(hù)在同一時(shí)期內(nèi)對(duì)某些產(chǎn)品給出的評(píng)價(jià)相似,那么在這個(gè)時(shí)期內(nèi)他們對(duì)另一些產(chǎn)品所給出的評(píng)價(jià)很大程度上也會(huì)相似。所以在用戶(hù)相似度計(jì)算中多個(gè)用戶(hù)在不同時(shí)期內(nèi)對(duì)一些產(chǎn)品給予相似的評(píng)價(jià),這種評(píng)價(jià)是不穩(wěn)定的,需要在時(shí)間上進(jìn)行衰減,而在同一時(shí)期內(nèi)對(duì)一些產(chǎn)品給予相似的評(píng)價(jià),在這種評(píng)價(jià)是有效,需要在時(shí)間上進(jìn)行激勵(lì)。從而讓用戶(hù)的相似度變得更加精確。
1.1 向量夾角余弦相似度計(jì)算
協(xié)同過(guò)濾可以分為基于產(chǎn)品或基于用戶(hù)?;诋a(chǎn)品的協(xié)同過(guò)濾算法(Item-based CF)是通過(guò)分析與某一產(chǎn)品相似的一些產(chǎn)品的評(píng)分,推測(cè)目標(biāo)用戶(hù)對(duì)這一產(chǎn)品的喜好程度。而基于用戶(hù)的協(xié)同過(guò)濾算法(User-based CF)是通過(guò)與目標(biāo)用戶(hù)興趣相似的用戶(hù)對(duì)某一產(chǎn)品評(píng)分來(lái)推測(cè)目標(biāo)用戶(hù)對(duì)此產(chǎn)品的喜好度,本文主要討論基于用戶(hù)的協(xié)同過(guò)濾。
基于用戶(hù)的協(xié)同過(guò)濾預(yù)測(cè)可以分成兩部分:一是用戶(hù)相似度的計(jì)算,即找出最相似的鄰近用戶(hù)。二是計(jì)算鄰近的相似用戶(hù)對(duì)產(chǎn)品評(píng)分的均值,預(yù)測(cè)目標(biāo)用戶(hù)的評(píng)分[7]。其中向量夾角余弦相似度計(jì)算是其中常用的方法。
假設(shè)包含了n個(gè)用戶(hù)的集合U={U1,U2,…,Un)和m個(gè)產(chǎn)品的集合I={I1,I2,…,Im)。用矩陣表示如下。見(jiàn)表1所示。
表1 用戶(hù)-產(chǎn)品矩陣(User-Item Matrix)
表1中rn,m表示用戶(hù)n對(duì)產(chǎn)品m的評(píng)價(jià)。如果rn,m=?則表示用戶(hù)n沒(méi)有評(píng)價(jià)過(guò)產(chǎn)品m。
關(guān)于用戶(hù)之間相似度的計(jì)算,設(shè)用戶(hù)Uw和Uv共同評(píng)價(jià)過(guò)n個(gè)產(chǎn)品,那么這n個(gè)產(chǎn)品可以被看成n維向量空間,用戶(hù)Uw和Uv可以看成這空間中的兩個(gè)向量,通過(guò)向量夾角余弦(COS)[6]可以表示他們之間的相似度,如式(1):
(1)
式中Sim(Uw,Uv)代表用戶(hù)Uw與Uv的相似度,Iw和Iv代表用戶(hù)Uw和Uv各自評(píng)價(jià)過(guò)的產(chǎn)品(item)的集合,而用戶(hù)Uw、Uv對(duì)產(chǎn)品i的評(píng)分則用rwi、rvi表示。由此定義看出Sim(Uw,Uv)的值在 [0,1]區(qū)間,值越大表明用戶(hù)Uw與用戶(hù)Uv越相似。
1.2 皮爾遜相關(guān)系數(shù)相似度計(jì)算
皮爾遜相關(guān)系數(shù)PCC(PearsonCorrelationCoefficient)[5]同樣在相似度的計(jì)算中經(jīng)常被用到?;诒?,PCC被定義為:
(2)
式中Sim(Uw,Uv)為用戶(hù)Uw與Uv的相似度,Iw和Iv代表用戶(hù)Uw和Uv各自評(píng)價(jià)過(guò)的產(chǎn)品(item)的集合,而用戶(hù)Uw、Uv對(duì)產(chǎn)品i的評(píng)分則用rwi、rvi表示。據(jù)此定義,用戶(hù)相似度Sim(Uw,Uv)的值落在 [0,1] 區(qū)間,并且其值越大表明用戶(hù)Uw與用戶(hù)Uv越相似。
COS和PCC被提出來(lái)之后,Candillier[2]及一些研究者提出,COS和PCC相似度算法僅考慮了兩個(gè)用戶(hù)之間共同評(píng)價(jià)的部分。這有可能出現(xiàn)兩個(gè)用戶(hù)只共同評(píng)價(jià)過(guò)1個(gè)商品但卻是相似用戶(hù)的假象(例如,某一個(gè)用戶(hù)喜歡探險(xiǎn)電影,另一個(gè)用戶(hù)喜歡科幻電影,他們之間沒(méi)有共同看過(guò)的電影,因此他們不是相似用戶(hù)。然而之后很巧他倆都看了一部相同的科幻探險(xiǎn)類(lèi)電影且都非常喜歡,那么通過(guò)COS相似度算法計(jì)算得出他們倆個(gè)是相似用戶(hù)。為了解決此問(wèn)題,Candillier等人[2]在相似度的計(jì)算上融入兩個(gè)向量之間交疊程度并用式(3)卡德系數(shù)表示:
(3)
式中的Iw、Iv分別為用戶(hù)Uw、Uv評(píng)價(jià)過(guò)的產(chǎn)品(item)構(gòu)成的集合。通過(guò)將jaccard系數(shù)分別與PCC、COS相乘,CandilHer等人[2]演化出兩種相似度計(jì)算方法(以下簡(jiǎn)稱(chēng)JPCC、JCOS)。實(shí)驗(yàn)證明了JPCC優(yōu)于其他三種相似度,這里給出JPCC的表達(dá)式:
(4)
1.3PIP相似度算法
為了緩解協(xié)同過(guò)濾的冷啟動(dòng)問(wèn)題,Ahn等人提出了PIP(Proximity-Impact-Popularity)[3,7]相似度算法。所謂冷啟動(dòng)指的是在一個(gè)推薦系統(tǒng)中當(dāng)有新的產(chǎn)品或用戶(hù)或加入時(shí),由于用戶(hù)沒(méi)有對(duì)產(chǎn)品有過(guò)評(píng)價(jià),新的產(chǎn)品也很少被用戶(hù)評(píng)價(jià)過(guò),造成產(chǎn)品不能被很好推薦給用戶(hù),而用戶(hù)得不到好的推薦產(chǎn)品。PIP相似度算法表達(dá)式如式(5):
popularity(rw,i,rv,i)
(5)
其中proximity(rw,i,rv,i)是在兩個(gè)評(píng)分rwi,rvi的算術(shù)差值的基礎(chǔ)上,判斷兩個(gè)評(píng)分值是否相似,不相似時(shí)對(duì)這兩個(gè)用戶(hù)的相似度值進(jìn)行懲罰;impact(rw,i,rv,j)是在用戶(hù)w和用戶(hù)v對(duì)產(chǎn)品i喜歡(或討厭)程度的基礎(chǔ)上,判斷其對(duì)產(chǎn)品i喜歡(或討厭)程度,如果他們都對(duì)產(chǎn)品表現(xiàn)出很明顯的相同偏好,則對(duì)這兩個(gè)用戶(hù)的相似度值進(jìn)行獎(jiǎng)勵(lì);popularity(rw,i,rv,i)考慮了當(dāng)用戶(hù)對(duì)產(chǎn)品i評(píng)分值與其平均值差距較大時(shí),則增大這兩個(gè)用戶(hù)的相似度值。
以下為式(5)中proximity(rw,i,rv,i)、impact(rw,i,rv,j)、popularity(rw,i,rv,i)3個(gè)因子的表達(dá)式。其中式(7)-式(9)中的agreement(rw,i,rw,i)的取值如式(6)所示:
(6)
(7)
(9)
根據(jù)Ahn等人的實(shí)驗(yàn)結(jié)果,PIP對(duì)冷啟動(dòng)問(wèn)題的解決很有效,但在其他時(shí)候效果不佳[3,7]。
目前的協(xié)同過(guò)濾算法在相似度計(jì)算中通常不加選擇地使用早期和近期評(píng)價(jià),而推薦系統(tǒng)在瀏覽記錄的時(shí)間數(shù)據(jù)獲取上存在不確定性、多源性。因此如果不考慮時(shí)間因素,忽略了用戶(hù)興趣的變化。那么隨著時(shí)間的推移推薦系統(tǒng)就不能更好地為給用戶(hù)提供有用的信息。為了解決這類(lèi)問(wèn)題,本文提出了杰卡德時(shí)間向量皮爾遜相似度算法JTVP(Jaccard Time Vector Pearson Similiarity Measurent)。JTVP基于同一時(shí)間向量空間中兩個(gè)時(shí)間向量之間的距離對(duì)用戶(hù)在同一或不同時(shí)期內(nèi)的產(chǎn)品評(píng)價(jià)給予激勵(lì)或衰減。
本算法是基于KNN(k-NearestNeighbor)算法模型預(yù)測(cè)用戶(hù)對(duì)未評(píng)價(jià)過(guò)的產(chǎn)品的喜好,結(jié)果越大表明越喜歡。其算法通常需要以下三個(gè)步驟:
(1) 通過(guò)相似性算法計(jì)算出當(dāng)前用戶(hù)與其他用戶(hù)之間的相似度;
(2) 從全部用戶(hù)中選擇K個(gè)與當(dāng)前用戶(hù)相似度最高的用戶(hù)并作為當(dāng)前用戶(hù)的鄰近相似集合[8];
(3) 根據(jù)這K個(gè)最鄰近相似用戶(hù)對(duì)某產(chǎn)品的評(píng)分的均值預(yù)測(cè)當(dāng)前用戶(hù)對(duì)其產(chǎn)品的評(píng)分。
本文把興趣強(qiáng)度強(qiáng)弱變化設(shè)定在(0,5)之間。0表示極其討厭,5極其喜歡。圖1表示在用戶(hù)對(duì)某事物隨著時(shí)間變化其興趣強(qiáng)度的變化。
圖1 興趣強(qiáng)度維持曲線(xiàn)
從圖1興趣強(qiáng)度曲線(xiàn)可以看出在比較短的時(shí)間內(nèi)用戶(hù)A、用戶(hù)B、用戶(hù)C對(duì)同一件事都抱有很強(qiáng)的興趣,而本文可以認(rèn)為短期(0~3)內(nèi)這三個(gè)用戶(hù)是相似的用戶(hù)。但隨著時(shí)間的推移用戶(hù)對(duì)此事物的興趣發(fā)生了不同的變化,用戶(hù)A對(duì)此事物失去了興趣,用戶(hù)B依然保持很強(qiáng)的興趣,用戶(hù)C的興趣強(qiáng)度時(shí)而高時(shí)而低,用戶(hù)D的興趣強(qiáng)度是不斷的增加的。這時(shí)(在8~10時(shí)間段內(nèi))用戶(hù)BCD是相似用戶(hù)?,F(xiàn)在問(wèn)題來(lái)了,假設(shè)用戶(hù)ABCD都對(duì)此事物給出了好的評(píng)價(jià),但評(píng)價(jià)的時(shí)間點(diǎn)不一樣(如圖點(diǎn)狀標(biāo)注)。不考慮時(shí)間因素的話(huà)顯然ABCD都為相似用戶(hù),但這是不準(zhǔn)確的。根據(jù)用戶(hù)興趣在一個(gè)短期的時(shí)間間隔內(nèi)保持穩(wěn)定但長(zhǎng)期內(nèi)不同的用戶(hù)興趣會(huì)產(chǎn)生不同是波動(dòng)的情況,本文提出了時(shí)間向量算子TVO(TimeVectorOperator)的概念。TVO對(duì)于用戶(hù)對(duì)產(chǎn)品的評(píng)價(jià)在時(shí)間上的不同給予其不同的權(quán)重,加大近期權(quán)重,減小久遠(yuǎn)的評(píng)價(jià)權(quán)重,從而讓推薦算法具有了在時(shí)間上的認(rèn)知。
為此本文給出了時(shí)間向量算子表達(dá)式:
(10)
之后用時(shí)間向量算子對(duì)用戶(hù)評(píng)價(jià)的產(chǎn)品加權(quán),如式(11)和式(12):
(11)
(12)
在給產(chǎn)品的評(píng)價(jià)加時(shí)間權(quán)重時(shí),為了提高準(zhǔn)確度和減少不必要的計(jì)算時(shí)間,本文給產(chǎn)品的評(píng)價(jià)設(shè)立一個(gè)閾值L,如式(13),只有大于L才給產(chǎn)品評(píng)價(jià)加上時(shí)間權(quán)重。
(13)
加入時(shí)間權(quán)重后使用改進(jìn)的皮爾遜相關(guān)系數(shù)相似性算法為用戶(hù)找出用戶(hù)鄰居:
(14)
最后產(chǎn)品的推薦分?jǐn)?shù)可以通過(guò)下式得出:
(15)
式中Score(i) 為目標(biāo)用戶(hù)度產(chǎn)品i的預(yù)測(cè)評(píng)價(jià),Sim(Uw,Uv) 為用戶(hù)Uw、Uv之間的相似度,K表示相似鄰近用戶(hù)的個(gè)數(shù),Svi為用戶(hù)Uv對(duì)產(chǎn)品i的評(píng)價(jià)。
最后把這些評(píng)分從高到低進(jìn)行排序,把TopN即前N個(gè)產(chǎn)品推薦給用戶(hù)。
本節(jié)通過(guò)k-折交叉驗(yàn)證來(lái)檢驗(yàn)杰卡德時(shí)間向量皮爾遜相似度算法的推薦質(zhì)量,并驗(yàn)證以下兩個(gè)問(wèn)題:
(1) 數(shù)據(jù)集的不同對(duì)推薦的影響;
(2) 不同時(shí)間的梯度會(huì)對(duì)推薦效果造成何種影響。
驗(yàn)證的具體過(guò)程如下:隨機(jī)地將數(shù)據(jù)分成k個(gè)大小相等且不相交的子集。其中k-1個(gè)集合作為訓(xùn)練集,剩下一個(gè)集合作為測(cè)試集。訓(xùn)練集用來(lái)預(yù)測(cè)測(cè)試集中用戶(hù)的評(píng)分并與測(cè)試集的數(shù)據(jù)相比較來(lái)判斷測(cè)試的準(zhǔn)確性。然后重復(fù)k次,目的是讓每個(gè)子集都作為測(cè)試集預(yù)測(cè)一遍,從而減小實(shí)驗(yàn)的誤差,保證實(shí)驗(yàn)的準(zhǔn)確性。最后,通過(guò)計(jì)算準(zhǔn)確率與召回率驗(yàn)證方法的有效性。本實(shí)驗(yàn)把數(shù)據(jù)分成了十份也可以說(shuō)成十折交叉驗(yàn)證。這種實(shí)驗(yàn)的優(yōu)點(diǎn)是所有的集合都能輪流作為測(cè)試集驗(yàn)證,仿真的可信度更高。
實(shí)驗(yàn)使用的數(shù)據(jù)集是MovieLens(一種電影評(píng)分?jǐn)?shù)據(jù)集)。該推薦系統(tǒng)的評(píng)分是從0.5到5分,按0.5遞增。5分表明該用戶(hù)非常喜歡這部電影,而0.5表明該用戶(hù)對(duì)這部電影評(píng)價(jià)很差。
實(shí)驗(yàn)環(huán)境:本課題的實(shí)驗(yàn)是在Windows7系統(tǒng)下,IntelCorei7-4700HQ2.40GHz處理器,內(nèi)存4.0GB的PC機(jī)上進(jìn)行,采用MySQL數(shù)據(jù)庫(kù)存儲(chǔ)數(shù)據(jù)集,Java語(yǔ)言編程實(shí)現(xiàn)。
實(shí)驗(yàn)用兩個(gè)MovieLens數(shù)據(jù)集(MovieLensl、MovieLens2)進(jìn)行驗(yàn)證,其時(shí)間戳的跨度為10年,如表2所示。
表2 數(shù)據(jù)集
評(píng)價(jià)標(biāo)準(zhǔn):實(shí)驗(yàn)通過(guò)準(zhǔn)確率Precision、召回率Recall來(lái)對(duì)推薦質(zhì)量進(jìn)行評(píng)價(jià)。Precision指在所有的推薦中用戶(hù)喜歡的產(chǎn)品數(shù)占總的推薦產(chǎn)品數(shù)的比;Recall指在所有的推薦中用戶(hù)喜歡的產(chǎn)品數(shù)與推薦系統(tǒng)中用戶(hù)喜歡的所有產(chǎn)品數(shù)的比。其的形式化定義如式(16)、式(17)所示,符號(hào)的含義見(jiàn)表3所示。
表3 變量含義表
(16)
(17)
實(shí)驗(yàn)中,使用MovieLens-l數(shù)據(jù)集時(shí),時(shí)間梯度是以2009年開(kāi)始以每次向后退2年的方式一直到2000年。即2009-2008(2009和2008兩年),2009-2006,…,2009-2000,時(shí)間跨度T的取值則分別為2、4、6、8、10;使用MovieLens-2數(shù)據(jù)集時(shí),同上以2015年開(kāi)始以每次向后退2年,一直到2006年,時(shí)間跨度T的取值則為2、4、6、8、10。實(shí)驗(yàn)結(jié)果,如圖2-圖5所示。
圖2 MovieLens-1中不同方法的準(zhǔn)確率對(duì)比
圖3 MovieLens-1中不同方法的召回率對(duì)比
圖4 MovieLens-1中不同方法的準(zhǔn)確率對(duì)比
圖5 MovieLens-2中不同方法的召回率對(duì)比
圖2和圖3表示使用MovieLens-1數(shù)據(jù)集時(shí),在不同的時(shí)間梯度上四種相似度算法在準(zhǔn)確率和召回率上的對(duì)比結(jié)果。由圖可以看出隨著時(shí)間梯度的增加JPCC、PCC、COS推薦算法在準(zhǔn)確率和召回率上都出現(xiàn)了下滑趨勢(shì)。而JTVP推薦算法依然能保持較高的準(zhǔn)確率和召回率。
圖4和圖5表示使用MovieLens-2數(shù)據(jù)集時(shí),在不同的時(shí)間梯度上四種相似度算法在準(zhǔn)確率和召回率上的對(duì)比結(jié)果。由于數(shù)據(jù)集的不同其準(zhǔn)確率和召回率在大體程度上存在些差異,但可以由圖看出JTVP推薦算法依然能保持較高的準(zhǔn)確率和召回率。而其他三種推薦算法在準(zhǔn)確率和召回率上依然出現(xiàn)了下滑的趨勢(shì)。
實(shí)驗(yàn)結(jié)果表明加入時(shí)間向量算子的JTVP推薦算法能有效的解決隨著時(shí)間推移用戶(hù)興趣發(fā)生變化而帶來(lái)的推薦質(zhì)量的下滑問(wèn)題。
針對(duì)用戶(hù)的興趣一般在短期的時(shí)間間隔內(nèi)保持穩(wěn)定但在長(zhǎng)期時(shí)間跨度內(nèi)不同用戶(hù)的興趣變化是不確定的情況。本文提出了杰卡德時(shí)間向量皮爾遜相似度算法JTVP,采用時(shí)間向量算子tvo把用戶(hù)的評(píng)價(jià)加入時(shí)間認(rèn)知。同時(shí),引入杰卡德系數(shù)對(duì)皮爾遜相關(guān)系數(shù)相似度模型對(duì)相似度算法加以完善提升,從而確定用戶(hù)相似度的最佳模型;然后對(duì)相似鄰近的用戶(hù)評(píng)價(jià)的產(chǎn)品進(jìn)行預(yù)測(cè),選出最有可能被用戶(hù)接受的產(chǎn)品,并推薦給用戶(hù)。最后在時(shí)間梯度上把不同推薦算法的準(zhǔn)確度和召回率進(jìn)行比較、分析。實(shí)驗(yàn)結(jié)果表明融入時(shí)間向量算子的JTVP推薦算法能有效地解決因用戶(hù)興趣變化而帶來(lái)的推薦質(zhì)量的下滑。從而說(shuō)明本文提出的杰卡德時(shí)間向量皮爾遜相似度算法JTVP在應(yīng)對(duì)用戶(hù)興趣變化方面是有效并可行的。
隨著大數(shù)據(jù)時(shí)代的到來(lái),網(wǎng)絡(luò)的規(guī)則將變得越來(lái)越完善,各大網(wǎng)絡(luò)公司的合作及數(shù)據(jù)共享會(huì)變得越來(lái)越頻繁。越來(lái)越多用戶(hù)將只需一個(gè)賬號(hào)就可以登錄各大網(wǎng)站,從而讓網(wǎng)站為自己提供自己的專(zhuān)屬服務(wù)。這時(shí)用戶(hù)-產(chǎn)品矩陣會(huì)更加密集,用戶(hù)的數(shù)據(jù)會(huì)更加豐富精確,融合時(shí)間向量算子的協(xié)同過(guò)濾推薦算法的準(zhǔn)確率將會(huì)得到進(jìn)一步的提升。
[1]LiWJ,XuYY,DongQ,etal.TaDb:Atime-awarediffusion-basedrecommenderalgorithm[J].InternationalJournalofModernPhysicsC,2015,26(9):5-9.
[2]CandillierL,MeyerF,FessantF.Designingspecificweightedsimilaritymeasurestoimprovecollaborativefilteringsystems[C]//IndustrialConferenceonAdvancesinDataMining:MedicalApplications,E-Commerce,Marketing,andTheoreticalAspects.Springer-Verlag,2008:242-255.
[3]AhnHJ.Anewsimilaritymeasureforcollaborativefilteringtoalleviatethenewusercold-startingproblem[J].InformationSciences,2008,178(1):37-51.
[4]WeiS,YeN,ZhangQ.Time-AwareCollaborativeFilteringforRecommenderSystems[M]//PatternRecognition,2012:663-670.
[5]ResnickP,IacovouN,SuchakM,etal.GroupLens:anopenarchitectureforcollaborativefilteringofnetnews[C]//Proceedingsofthe1994ACMConferenceonComputerSupportedCooperativeWork.ACM,1994:175-186.
[6]BreeseJS,HeckermanD,KadieC.Empiricalanalysisofpredictivealgorithmsforcollaborativefiltering[C]//FourteenthConferenceonUncertaintyinArtificialIntelligence,2013:43-52.
[7] 孫慧峰.基于協(xié)同過(guò)濾的個(gè)性化Web推薦[D].北京:北京郵電大學(xué),2012.
[8] 項(xiàng)亮.推薦系實(shí)踐[M].北京:人民郵電出版社,2012:36-73.
[9] 成軍.面向電子商務(wù)的協(xié)同過(guò)濾推薦算法與推薦系統(tǒng)研究[D].南京:南京理工大學(xué),2013.
RESEARCH ON DYNAMIC MULTI SOURCE TIME COGNITIVE RECOMMENDATION ALGORITHM
Li Jingzhao1,2Zhu Dongjun2Tan Dayu2
1(FacultyofElectricalandInformationEngineering,AnhuiUniversityofScienceandTechnology,Huainan232001,Anhui,China)2(FacultyofComputerScienceandEngineering,AnhuiUniversityofScienceandTechnology,Huainan232001,Anhui,China)
A good recommendation algorithm is becoming very important in today’s intelligent web applications. In this paper, we propose a time cognitive recommendation algorithm. Traditional recommendation algorithms often use early and recent evaluations indiscriminately, ignoring user interest changes over time. And user interests remain stable over short periods of time but change over a long period of time. Based on the existing cooperative filtering recommendation algorithm, the time vector factor is used to motivate the recent records or weaken the early records in order to achieve the purpose of more effective classification of similar interests. The results show that the proposed method can effectively improve the accuracy and efficiency in the intelligent web.
Intelligent web Time vector factor Collaborative filtering recommendation User interest changes
2016-07-21。國(guó)家自然科學(xué)基金項(xiàng)目(61170060);安徽省學(xué)術(shù)與技術(shù)帶頭人學(xué)術(shù)科研活動(dòng)資助項(xiàng)目(2015D046);安徽省高等學(xué)校優(yōu)秀拔尖人才項(xiàng)目(gxbjZD2016044)。李敬兆,教授,主研領(lǐng)域:機(jī)器學(xué)習(xí)。朱東郡,碩士生。譚大禹,碩士生。
TP39
A
10.3969/j.issn.1000-386x.2017.02.010