本發(fā)明涉及一種基于流行度對用戶興趣的影響機制分析及其在推薦算法中應(yīng)用的方法。
背景技術(shù):
:隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展和普及,人們越來越依賴網(wǎng)絡(luò)進行各種活動。但是,當今互聯(lián)網(wǎng)應(yīng)用和服務(wù)不斷增加,豐富的信息資源給用戶選擇帶來一定的困難。在這一背景下,個性化推薦方法已經(jīng)成為互聯(lián)網(wǎng)應(yīng)用的一個重要組成部分。對于推薦算法,能否準確地預(yù)測用戶興趣,將最有可能感興趣的事物推薦給用戶,從而提高用戶點擊率或購買量是衡量一個推薦算法效果的基本標準。目前的協(xié)同過濾推薦算法僅僅根據(jù)用戶過去的瀏覽歷史行為或評分來預(yù)測用戶將來的興趣,算法中沒有考慮環(huán)境或群體行為對個體用戶評分和選擇行為的影響。而根據(jù)社會心理學(xué)研究的相關(guān)理論,用戶興趣是不斷變化的,同時也非常容易受到外界環(huán)境和群體行為的影響而發(fā)生改變。技術(shù)實現(xiàn)要素:本發(fā)明的目的在于針對目前的協(xié)同過濾推薦算法推薦不佳的情況下,提高推薦準確度和用戶滿意度,為此提供了一種基于流行度對用戶興趣的影響機制分析及其在推薦算法中應(yīng)用的方法。該方法以從眾心理等社會心理學(xué)現(xiàn)象和理論為依據(jù),研究流行度對用戶興趣的影響,得出項目流行度隨著時間的增加,先升高再降低。對于流行度比較高的項目,評分差異較小,這也主要是由于個體的從眾心理,項目越流行,評分越趨于一致;越不流行,用戶的觀點就越很少受到其他用戶的影響,根據(jù)自己的喜好進行評判,用戶評分將比較分散。該方法提出一種推薦優(yōu)化算法,考慮了流行度的因素,得出項目的預(yù)測推薦評分更加符合真實評分,提高了推薦的準確性。該方法對傳統(tǒng)的推薦排序算法進行改進,通過設(shè)置權(quán)重因子,衡量傳統(tǒng)推薦標準和流行度因素對用戶興趣的影響。為達到上述目的,本發(fā)明的構(gòu)思是:首先分析項目流行度與用戶評分之間的關(guān)系,以流行度對用戶評分的影響作用原理為基礎(chǔ),在推薦算法中根據(jù)項目流行度及評分的變化關(guān)系對預(yù)測評分進行調(diào)整,以提高推薦算法預(yù)測的準確性。融合傳統(tǒng)推薦標準和項目流行度兩個指標進行推薦排序,避免只根據(jù)用戶過去歷史記錄或項目流行度分別產(chǎn)生的興趣預(yù)測誤差或推薦的非個性化等缺陷。提高推薦的點擊率和準確度。根據(jù)上述發(fā)明構(gòu)思,本發(fā)明采用如下技術(shù)方案:一種基于流行度對用戶興趣的影響機制分析及其在推薦算法中應(yīng)用的方法,包括以下步驟:步驟一,提出流行度與用戶興趣的一般原理:以社會心理學(xué)現(xiàn)象和理論為依據(jù),研究流行度對用戶興趣的影響,分析用戶興趣變化與群體意志之間的關(guān)系,歸納總結(jié)流行度在推薦中的一般原理;步驟二,提出一種基于流行度的預(yù)測評分調(diào)整方法:以流行度對用戶評分的影響作用原理為基礎(chǔ),在推薦算法中根據(jù)項目流行度及評分的變化關(guān)系對預(yù)測評分進行調(diào)整,以提高推薦算法預(yù)測的準確性;步驟三,提出一種基于流行度的推薦排序方法:該方法融合傳統(tǒng)推薦標準和項目流行度兩個指標進行推薦排序,避免只根據(jù)用戶過去歷史記錄或項目流行度分別產(chǎn)生的興趣預(yù)測誤差或推薦的非個性化等缺陷。所述步驟二的基于流行度的預(yù)測評分調(diào)整方法,其中,流行度是指某一項目所獲得的用戶關(guān)注程度,指衡量一段時間內(nèi)媒體文件受歡迎的程度,它反映了流媒體文件在某一時刻被客戶請求的概率,通常流行度被定義成在一段時間間隔內(nèi),媒體文件被點播的次數(shù),能夠擬合出流行度隨時間變化的函數(shù)h。所述步驟二包括如下步驟:步驟二十一:使用用戶的協(xié)同過濾算法挖掘興趣相似用戶,基于用戶的協(xié)同過濾推薦主要分為3個階段:數(shù)據(jù)表示;發(fā)現(xiàn)最近鄰居;產(chǎn)生推薦項目集:數(shù)據(jù)表示采用用戶-項目評分矩陣來表示獲取的顯式數(shù)據(jù);發(fā)現(xiàn)最近鄰居就是評分行為與當前用戶最相似的若干用戶,尋找最近鄰居是協(xié)同過濾推薦算法的核心部分,最近鄰居的準確性直接關(guān)系到推薦算法的推薦效果,在協(xié)同過濾推薦算法中一般通過計算用戶之間的相似性來判斷是否近鄰;產(chǎn)生推薦項目集根據(jù)鄰居用戶對待推薦項目的評分,通過評分計算公式求得目標用戶對待推薦系統(tǒng)的預(yù)測打分,然后選擇評分較高的項目進行推薦,一般采用top-n推薦算法;在協(xié)同過濾算法中經(jīng)常使用評分預(yù)測的方式進行推薦,即選擇n個預(yù)測評分較高的項目推薦給目標用戶;評分預(yù)測公式一般定義為:其中,pi,t表示用戶i對項目t的預(yù)測評分,n為相似鄰居的個數(shù),sim(i,j)為用戶i和用戶j的相似度,rj,t是用戶j對項目t的評分,為用戶j對所有項目的平均評分,為所有已評分用戶對項目t的平均評分。步驟二十二:預(yù)測評分調(diào)整,基于流行度預(yù)測評分調(diào)整的協(xié)同過濾算法的預(yù)測評分,預(yù)測評分公式為p’=p+t*f((h-h’)/t),其中p表示項目依據(jù)歷史評分的鄰居預(yù)測評分,p’表示項目的預(yù)測真實評分,h表示項目當前流行度,f表示流行度變化與評分變化的關(guān)系,h’表示項目的預(yù)測流行度,t表示距離當前時間的時間間隔,該公式考慮了項目的流行度因素的影響,預(yù)測時根據(jù)項目所處階段流行度的變化趨勢來調(diào)整預(yù)測評分;步驟二十三:比較兩種方法預(yù)測評分的準確性,比較傳統(tǒng)協(xié)同過濾算法與基于流行度預(yù)測評分調(diào)整的協(xié)同過濾算法的預(yù)測評分mae。所述步驟三的基于流行度的推薦排序方法,其中包括:熱項目集:項目流行度大于整個數(shù)據(jù)集的平均流行度的項目集;冷項目集:項目流行度小于整個數(shù)據(jù)集的平均流行度的項目集;推薦排序:推薦排序的綜合指標函數(shù)r=α*generalrank+(1-α)*popularity,其中α為權(quán)重因子,generalrank為傳統(tǒng)推薦項目選擇標準,popularity為目標項目的流行度;該公式是對兩個興趣影響因子的融合,對于不同的推薦算法,各個標準所占的權(quán)重或許不一樣,α的取值需要進行相應(yīng)地調(diào)整,通過比較推薦效率來確定不同項目的α值。所述步驟三包括如下步驟:步驟三十一:以傳統(tǒng)協(xié)同過濾算法為基礎(chǔ),設(shè)計一個新的推薦排序標準,即融合項目預(yù)測評分和項目流行度的綜合標準對待測項目進行排序,建立推薦排序綜合指標函數(shù);步驟三十二:通過調(diào)整權(quán)重因子α進行試驗對比,以發(fā)現(xiàn)促進冷、熱項目集推薦結(jié)果的最優(yōu)α。本發(fā)明的基于流行度對用戶興趣的影響機制分析及其在推薦算法中應(yīng)用的方法,與現(xiàn)有技術(shù)相比,具有以下突破性和顯著優(yōu)點:本發(fā)明方法根據(jù)用戶興趣隨流行度變化的普遍現(xiàn)象和規(guī)律,提出基于流行度的預(yù)測評分調(diào)整推薦算法和基于傳統(tǒng)推薦指標與流行度因素相結(jié)合的推薦排序方法,并基于協(xié)同過濾算法實現(xiàn)兩個方面的改進,通過實驗驗證了改進算法的有效性。本發(fā)明主要基于影響用戶興趣的流行度因素進行研究分析,以心理學(xué)為基礎(chǔ)預(yù)測用戶興趣的變化趨勢。在從眾心理等因素的影響下,越熱門的項目越能吸引較多的用戶,盡管該項目可能評分較低,因此一般推薦算法僅僅根據(jù)用戶歷史記錄(例如用戶評分、瀏覽項目)進行推薦是不準確的,對于新用戶來說,該算法也能更好地解決普遍存在的冷啟動問題;此外,用戶對熱門物品的評分也隨著流行度的變化趨勢發(fā)生相應(yīng)地改變,本文主要對項目流行度初期階段進行研究,根據(jù)流行度的變化對預(yù)測評分進行調(diào)整,預(yù)測準確率得到提高。附圖說明圖1為本發(fā)明方法的流程圖。圖2為高評分電影流行度及評分隨時間變化關(guān)系。圖3為中評分電影流行度及評分隨時間變化關(guān)系。圖4為低評分電影流行度及評分隨時間變化關(guān)系。圖5為不同流行度電影評分狀況。圖6為傳統(tǒng)cf與基于流行度調(diào)整cf評分預(yù)測準確性比較。圖7為基于熱項目的不同權(quán)重因子的f值變化情況圖。圖8為基于冷項目的不同權(quán)重因子的f值變化情況圖。具體實施方式以下結(jié)合附圖對本發(fā)明的優(yōu)選實施例進一步詳細說明。如圖1所示,本實施例中,本發(fā)明的基于流行度對用戶興趣的影響機制分析及其在推薦算法中應(yīng)用的方法,主要針對movielens數(shù)據(jù)集進行實驗。movielens數(shù)據(jù)集收集了在2000年6040個用戶對3900部電影的1000209個評估值,用戶評分是從1到5的整數(shù),數(shù)值越高表明用戶對該電影的興趣越大。評分數(shù)據(jù)主要包括代表用戶編號userid、表示電影編號movieid、表示用戶對電影的評分rating、用戶對電影評分的時間timestamp四項,即如下表所示:useridmovieidratingtimestamp1~60401~39001~5956703932~1046454590步驟一,提出流行度與用戶興趣的一般原理,以從眾心理等社會心理學(xué)現(xiàn)象和理論為依據(jù),研究流行度對用戶興趣的影響,分析用戶興趣變化與群體意志之間的關(guān)系,并基于實驗分析流行度對用戶評分和行為的影響作用,歸納總結(jié)流行度在推薦中的一般原理;步驟二,提出一種基于流行度的預(yù)測評分調(diào)整方法。以流行度對用戶評分的影響作用原理為基礎(chǔ),在推薦算法中根據(jù)項目流行度及評分的變化關(guān)系對預(yù)測評分進行調(diào)整,以提高推薦算法預(yù)測的準確性?;趍ovielens數(shù)據(jù)集進行了對比實驗,實驗結(jié)果表明改進的推薦算法較傳統(tǒng)方法更準確;步驟三,提出一種基于流行度的推薦排序方法。該方法融合傳統(tǒng)推薦標準和項目流行度兩個指標進行推薦排序,避免只根據(jù)用戶過去歷史記錄或項目流行度分別產(chǎn)生的興趣預(yù)測誤差或推薦的非個性化等缺陷。實驗結(jié)果表明改進的推薦算法有效地提高了推薦的點擊率和準確度。所述步驟一包括:步驟十一,主要針對movielens數(shù)據(jù)集進行實驗,采用數(shù)學(xué)中樣本估計總體的統(tǒng)計分析方法,從數(shù)據(jù)集中隨機抽取樣本,分別計算在各時間段內(nèi)樣本的平均流行度和平均評分,將評分數(shù)據(jù)分為三組,即高(rating4-5)、中(rating3-4)、低評分(rating0-3)。步驟十二,對實驗結(jié)果分析,參照圖2,3,4,5,在三組評分中,電影流行度隨時間的變化趨勢基本一致,電影流行度隨著時間的增加,先升高再降低。對于流行度比較高的電影,評分差異較小,這也主要是由于個體的從眾心理,電影越流行,評分越趨于一致;越不流行,用戶的觀點就越很少受到其他用戶的影響,根據(jù)自己的喜好進行評判,電影評分將比較分散。所述步驟二包括:步驟二十一:使用用戶的協(xié)同過濾算法挖掘興趣相似用戶,基于用戶的協(xié)同過濾推薦主要分為3個階段:數(shù)據(jù)表示;發(fā)現(xiàn)最近鄰居;產(chǎn)生推薦項目集。數(shù)據(jù)表示采用用戶-項目評分矩陣來表示獲取的顯式數(shù)據(jù);發(fā)現(xiàn)最近鄰居就是評分行為與當前用戶最相似的若干用戶,尋找最近鄰居是協(xié)同過濾推薦算法的核心部分,最近鄰居的準確性直接關(guān)系到推薦算法的推薦效果。在協(xié)同過濾推薦算法中一般通過計算用戶之間的相似性來判斷是否近鄰。目前計算相似度的方法主要有:余弦相似性、修正余弦相似性及皮爾遜相關(guān)系數(shù)等度量方法;產(chǎn)生推薦項目集根據(jù)鄰居用戶對待推薦項目的評分,通過評分計算公式求得目標用戶對待推薦系統(tǒng)的預(yù)測打分,然后選擇評分較高的項目進行推薦,一般采用top-n推薦算法。在協(xié)同過濾算法中經(jīng)常使用評分預(yù)測的方式進行推薦,即選擇n個預(yù)測評分較高的項目推薦給目標用戶。評分預(yù)測公式一般定義為:其中,pi,t表示用戶i對項目t的預(yù)測評分,n為相似鄰居的個數(shù),sim(i,j)為用戶i和用戶j的相似度,rj,t是用戶j對項目t的評分,為用戶j對所有項目的平均評分,為所有已評分用戶對項目t的平均評分。步驟二十二:預(yù)測評分調(diào)整,基于流行度預(yù)測評分調(diào)整的協(xié)同過濾算法(pcf)的預(yù)測評分,預(yù)測評分公式p’=p+t*f((h-h’)/t),p表示項目依據(jù)歷史評分的鄰居預(yù)測評分,p’表示項目的預(yù)測真實評分,f表示流行度變化與評分變化的關(guān)系,h表示項目當前流行度,h’表示項目的預(yù)測流行度,t表示距離當前時間的時間間隔。該公式考慮了項目的流行度因素的影響,預(yù)測時根據(jù)項目所處階段流行度的變化趨勢來調(diào)整預(yù)測評分。其中,流行度:指某一項目所獲得的用戶關(guān)注程度,指衡量一段時間內(nèi)媒體文件受歡迎的程度,它反映了流媒體文件在某一時刻被客戶請求的概率,通常流行度被定義成在一段時間間隔內(nèi),媒體文件被點播的次數(shù)。通過分析試驗數(shù)據(jù)可以擬合出流行度隨時間變化的函數(shù)。高分電影的流行度變化擬合公式為:h=-13.05*ln(δt)+51.543;中分電影的流行度變化擬合公式為:h=-12.95*ln(δt)+51.762;低分電影的流行度變化擬合公式為:h=-16.854*ln(δt)+80.534.步驟二十三:比較兩種方法預(yù)測評分的準確性,比較傳統(tǒng)協(xié)同過濾算法(gcf)與基于流行度預(yù)測評分調(diào)整的協(xié)同過濾算法(pcf)的預(yù)測評分mae。參考圖6,基于流行度預(yù)測評分調(diào)整的協(xié)同過濾算法(pcf)的預(yù)測評分的準確性比傳統(tǒng)協(xié)同過濾算法(gcf)更高。所述步驟三包括:步驟三十一:以傳統(tǒng)協(xié)同過濾算法為基礎(chǔ),設(shè)計一個新的推薦排序標準,即融合項目預(yù)測評分和項目流行度的綜合標準對待測項目進行排序,建立推薦排序綜合指標函數(shù)。步驟三十二:通過調(diào)整權(quán)重因子α進行試驗對比,以發(fā)現(xiàn)促進冷、熱項目集推薦結(jié)果的最優(yōu)α。其中,熱項目集:項目流行度大于整個數(shù)據(jù)集的平均流行度的項目集。冷項目集:項目流行度小于整個數(shù)據(jù)集的平均流行度的項目集。推薦排序綜合指標函數(shù):推薦排序的綜合指標函數(shù)r=α*generalrank+(1-α)*popularity,α為權(quán)重因子,generalrank為傳統(tǒng)推薦項目選擇標準,popularity為目標項目的流行度。該公式是對兩個興趣影響因子的融合。對于不同的推薦算法,各個標準所占的權(quán)重可能不一樣,α的取值需要進行相應(yīng)地調(diào)整,通過比較推薦效率來確定不同項目的α值。參照圖7和圖8,在推薦時加入流行度因子的推薦度大于單獨使用評分進行推薦的準確度。當α=0時,表示推薦指標完全以流行度值作為標準進行推薦,α=1時,表示推薦指標完全以預(yù)測評分作為標準進行推薦,等同于傳統(tǒng)的協(xié)同過濾算法。完全基于流行度的推薦效率大于完全基于預(yù)測評分的推薦效率。因此,完全以評分來判斷用戶是否對此感興趣而產(chǎn)生進一步的行為是片面的。但是,雖然完全基于流行度的點擊率高,也不能采用該方法。因為該方法只是盲目的向用戶推送內(nèi)容,并沒有考慮用戶的喜好,會加大用戶處理信息的困難程度。但是,基于流行度的方法能夠更好地處理新用戶所帶來的冷啟動問題。因此,結(jié)合流行度和預(yù)測評分兩個因素對用戶進行推薦是最好的策略。此外,對于熱項目集來說,隨著評分權(quán)重α的增加,f值(評價推薦結(jié)果)呈現(xiàn)下降的趨勢,表示在項目流行階段,項目的受歡迎程度是主導(dǎo)用戶選擇影片的主要作用。圖7中,對于熱項目集,當α在0.3~0.4時,f值最高,推薦效果最好,即對流行項目的推薦,項目流行度占70%~60%左右的權(quán)重,說明在流行階段流行度對項目的推薦具有重要的作用。而對于冷項目來說,圖8中,表明隨著α的增加,f值的波動范圍比較大,當α較小時,即表示項目流行度占的權(quán)重較大,推薦效果卻很低,因為對于冷項目,人們就不會再受從眾心理的影響去選擇興趣對象,而是根據(jù)自己的興趣去選擇。當α在0.4~0.6之間時,推薦效果較好。當前第1頁12