本發(fā)明屬于互聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其涉及一種基于時(shí)間的產(chǎn)品推薦方法及系統(tǒng)。
背景技術(shù):
現(xiàn)有的產(chǎn)品推薦網(wǎng)站會(huì)根據(jù)用戶的喜好去給用戶推薦對(duì)應(yīng)的項(xiàng)目,便于用戶的選擇。傳統(tǒng)的推薦方法是利用用戶的舊偏好對(duì)用戶未來(lái)的喜好進(jìn)行預(yù)測(cè)并將得分高的項(xiàng)目排在推薦列表前面,根據(jù)推薦列表給用戶進(jìn)行項(xiàng)目推薦。傳統(tǒng)的推薦方法及其評(píng)價(jià)方法注重于網(wǎng)絡(luò)的結(jié)構(gòu)屬性而忽略可用的時(shí)間信息。然而隨著網(wǎng)絡(luò)老齡化速度的加快,時(shí)間成為網(wǎng)絡(luò)信息增長(zhǎng)的重要屬性。時(shí)間屬性已在信息網(wǎng)絡(luò)的演變中被演示、建模并應(yīng)用到許多應(yīng)用之中。所以,將時(shí)間屬性添加進(jìn)推薦方法中顯得十分必要。
基于時(shí)間的推薦方法在傳統(tǒng)推薦方法的基礎(chǔ)上增加了時(shí)間信息,其具體實(shí)現(xiàn)過(guò)程為:將收集到的數(shù)據(jù)分為兩部分,一部分稱為測(cè)試集(training set),另一部分稱為探針集(probe set)。推薦算法的任務(wù)是將測(cè)試集作為輸入數(shù)據(jù)去對(duì)重現(xiàn)探測(cè)集的數(shù)據(jù)。重現(xiàn)效果越好,說(shuō)明預(yù)測(cè)精確度越高。分割數(shù)據(jù)的時(shí)候是根據(jù)數(shù)據(jù)的時(shí)間因素:選定一個(gè)時(shí)間點(diǎn)Tp,將在此時(shí)間點(diǎn)之前出現(xiàn)的數(shù)據(jù)歸入測(cè)試集,其余數(shù)據(jù)歸入探針集。對(duì)于一個(gè)推薦方法,其主要任務(wù)是通過(guò)推薦算法為每一個(gè)不同的項(xiàng)目計(jì)算出對(duì)應(yīng)的分?jǐn)?shù),然后根據(jù)分?jǐn)?shù)大小得出一個(gè)推薦列表,然后將該推薦列表推薦給指定用戶。
SimS方法(Similarity-preferential diffusion。相似優(yōu)先擴(kuò)散方法)是將物理中的熱融合(Heat diffusion)和概率擴(kuò)散原理(probabilistic spreading)結(jié)合起來(lái),該方法是根據(jù)其活動(dòng)為每個(gè)單獨(dú)用戶分配項(xiàng)目上的資源,然后通過(guò)網(wǎng)絡(luò)根據(jù)擴(kuò)展規(guī)則使用資源。在此方法中,可以通過(guò)修改lamda的值獲得不同的推薦方法:當(dāng)lamda=1時(shí),等效于概率擴(kuò)散方法(ProbS,Probabilistic Spreading),當(dāng)lamda=0時(shí)等效于熱融合方法(Heat Spreading)。為了將時(shí)間作為考慮因素,在最后所得的推薦分?jǐn)?shù)中加入最近增長(zhǎng)熱度,將SimS與最近增長(zhǎng)熱度結(jié)合起來(lái)的方法為基于時(shí)間感知的熱融合和概率擴(kuò)散結(jié)合方法(THybrid)
在信息過(guò)濾中使用recall值作為一個(gè)度量標(biāo)準(zhǔn)去對(duì)推薦方法的精確度進(jìn)行量化分析。recall是作為正確預(yù)測(cè)項(xiàng)目的比例。一個(gè)項(xiàng)目被準(zhǔn)確預(yù)測(cè)的標(biāo)準(zhǔn)是其出現(xiàn)在用戶的推薦列表中的同時(shí),其對(duì)應(yīng)的用戶--項(xiàng)目鏈接出現(xiàn)在探測(cè)集中。為了計(jì)算推薦方法的多樣性,使用了出現(xiàn)在推薦列表前L位的項(xiàng)目的度的平均值。
盡管THybrid具有堅(jiān)實(shí)的理論基礎(chǔ),在實(shí)踐中的應(yīng)用領(lǐng)域在不斷擴(kuò)展,取得了不錯(cuò)的效果。但是THybrid方法由于未考慮不同類型的數(shù)據(jù)受時(shí)間影響的程度不同,對(duì)應(yīng)的受最近增長(zhǎng)熱度影響的程度也不同,導(dǎo)致產(chǎn)品推薦的精確度不準(zhǔn)確。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問(wèn)題在于提供一種基于時(shí)間的產(chǎn)品推薦方法及系統(tǒng),旨在解決現(xiàn)有在使用THybrid方法進(jìn)行產(chǎn)品推薦時(shí)容易導(dǎo)致精確度不準(zhǔn)確的問(wèn)題。
本發(fā)明是這樣實(shí)現(xiàn)的,一種基于時(shí)間的產(chǎn)品推薦方法,包括:
從目標(biāo)數(shù)據(jù)庫(kù)獲取包括用戶和項(xiàng)目的目標(biāo)數(shù)據(jù),根據(jù)所述目標(biāo)數(shù)據(jù)構(gòu)建關(guān)于用戶和項(xiàng)目的目標(biāo)矩陣;
根據(jù)所述目標(biāo)矩陣和SimS算法,計(jì)算得到不同項(xiàng)目對(duì)用戶的分值;
根據(jù)最近增長(zhǎng)熱度算法,計(jì)算得到不同項(xiàng)目在指定時(shí)間內(nèi)的最近增長(zhǎng)熱度;
設(shè)置權(quán)重值,基于THybrid算法根據(jù)所述權(quán)重值、所述分值和所述最近增長(zhǎng)熱度進(jìn)行計(jì)算,得到初級(jí)推薦分值;
根據(jù)所述目標(biāo)數(shù)據(jù)的類型獲取目標(biāo)數(shù)據(jù)參數(shù),并根據(jù)所述目標(biāo)數(shù)據(jù)參數(shù)對(duì)所述初級(jí)推薦分值進(jìn)行優(yōu)化計(jì)算,得到各項(xiàng)目對(duì)所述用戶的推薦分值;
根據(jù)所述推薦分值確定項(xiàng)目列表,所述項(xiàng)目列表按照所述推薦分值對(duì)所述項(xiàng)目進(jìn)行順序排序,根據(jù)預(yù)置推薦規(guī)則獲取所述項(xiàng)目列表中的若干項(xiàng)目,并將所述若干項(xiàng)目推送至所述用戶的推薦列表。
進(jìn)一步地,所述根據(jù)所述目標(biāo)數(shù)據(jù)構(gòu)建關(guān)于用戶和項(xiàng)目的目標(biāo)矩陣包括:
將所述目標(biāo)數(shù)據(jù)保存為.dat格式;
根據(jù)所述目標(biāo)數(shù)據(jù)構(gòu)建關(guān)于用戶和項(xiàng)目的目標(biāo)矩陣,其中,以a表示所述目標(biāo)矩陣,則:當(dāng)?shù)趇個(gè)用戶與第α個(gè)項(xiàng)目不相關(guān)時(shí),aiα=0,當(dāng)?shù)趇個(gè)用戶與第α個(gè)項(xiàng)目相關(guān)時(shí),aiα=1。
進(jìn)一步地,所述根據(jù)所述目標(biāo)數(shù)據(jù)構(gòu)建關(guān)于用戶和項(xiàng)目的目標(biāo)矩陣之后還包括:
獲取每一項(xiàng)目相關(guān)的用戶數(shù)量,及獲取每一用戶相關(guān)的項(xiàng)目數(shù)量。
進(jìn)一步地,以表示所述分值,以Δk'α(t,τ)表示所述最近增長(zhǎng)熱度,Δk'α(t,τ)=Δkα(t,τ)+εkα(t),以λ表示所述權(quán)重值,以表示所述初始推薦分值,則:
進(jìn)一步地,所述根據(jù)所述目標(biāo)數(shù)據(jù)的類型獲取目標(biāo)數(shù)據(jù)參數(shù),并根據(jù)所述目標(biāo)數(shù)據(jù)參數(shù)對(duì)所述初級(jí)推薦分值進(jìn)行優(yōu)化計(jì)算,得到各項(xiàng)目對(duì)所述用戶的推薦分值包括:
根據(jù)所述目標(biāo)數(shù)據(jù)從類型參數(shù)列表中獲取所述目標(biāo)數(shù)據(jù)的目標(biāo)數(shù)據(jù)參數(shù),所述類型參數(shù)列表包括目標(biāo)數(shù)據(jù)和目標(biāo)數(shù)據(jù)參數(shù)的對(duì)應(yīng)關(guān)系;
根據(jù)所述目標(biāo)數(shù)據(jù)參數(shù)對(duì)所述初級(jí)推薦分值進(jìn)行計(jì)算,得到各項(xiàng)目對(duì)所述用戶的推薦分?jǐn)?shù),以r表示所述目標(biāo)數(shù)據(jù)參數(shù),以表示所述推薦分值,則:
本發(fā)明還提供了一種基于時(shí)間的產(chǎn)品推薦系統(tǒng),包括:
矩陣構(gòu)建單元,用于從目標(biāo)數(shù)據(jù)庫(kù)獲取包括用戶和項(xiàng)目的目標(biāo)數(shù)據(jù),根據(jù)所述目標(biāo)數(shù)據(jù)構(gòu)建關(guān)于用戶和項(xiàng)目的目標(biāo)矩陣;
分值計(jì)算單元,用于根據(jù)所述目標(biāo)矩陣和SimS算法,計(jì)算得到不同項(xiàng)目對(duì)用戶的分值;
熱度計(jì)算單元,用于根據(jù)最近增長(zhǎng)熱度算法,計(jì)算得到不同項(xiàng)目在指定時(shí)間內(nèi)的最近增長(zhǎng)熱度;
權(quán)重計(jì)算單元,用于設(shè)置權(quán)重值,基于THybrid算法根據(jù)所述權(quán)重值、所述分值和所述最近增長(zhǎng)熱度進(jìn)行計(jì)算,得到初級(jí)推薦分值;
分值確定單元,用于根據(jù)所述目標(biāo)數(shù)據(jù)的類型獲取目標(biāo)數(shù)據(jù)參數(shù),并根據(jù)所述目標(biāo)數(shù)據(jù)參數(shù)對(duì)所述初級(jí)推薦分值進(jìn)行優(yōu)化計(jì)算,得到各項(xiàng)目對(duì)所述用戶的推薦分值;
列表推薦單元,用于根據(jù)所述推薦分值確定項(xiàng)目列表,所述項(xiàng)目列表按照所述推薦分值對(duì)所述項(xiàng)目進(jìn)行順序排序,根據(jù)預(yù)置推薦規(guī)則獲取所述項(xiàng)目列表中的若干項(xiàng)目,并將所述若干項(xiàng)目推送至所述用戶的推薦列表。
進(jìn)一步地,所述矩陣構(gòu)建單元具體用于:
將所述目標(biāo)數(shù)據(jù)保存為.dat格式;
根據(jù)所述目標(biāo)數(shù)據(jù)構(gòu)建關(guān)于用戶和項(xiàng)目的目標(biāo)矩陣,其中,以a表示所述目標(biāo)矩陣,則:當(dāng)?shù)趇個(gè)用戶與第α個(gè)項(xiàng)目不相關(guān)時(shí),aiα=0,當(dāng)?shù)趇個(gè)用戶與第α個(gè)項(xiàng)目相關(guān)時(shí),aiα=1。
進(jìn)一步地,所述矩陣構(gòu)建單元還用于:
獲取每一項(xiàng)目相關(guān)的用戶數(shù)量,及獲取每一用戶相關(guān)的項(xiàng)目數(shù)量。
進(jìn)一步地,以表示所述分值,以Δk'α(t,τ)表示所述最近增長(zhǎng)熱度,Δk'α(t,τ)=Δkα(t,τ)+εkα(t),以λ表示所述權(quán)重值,以表示所述初始推薦分值,則:
進(jìn)一步地,所述分值確定單元具體用于:
根據(jù)所述目標(biāo)數(shù)據(jù)從類型參數(shù)列表中獲取所述目標(biāo)數(shù)據(jù)的目標(biāo)數(shù)據(jù)參數(shù),所述類型參數(shù)列表包括目標(biāo)數(shù)據(jù)和目標(biāo)數(shù)據(jù)參數(shù)的對(duì)應(yīng)關(guān)系;
根據(jù)所述目標(biāo)數(shù)據(jù)參數(shù)對(duì)所述初級(jí)推薦分值進(jìn)行計(jì)算,得到各項(xiàng)目對(duì)所述用戶的推薦分?jǐn)?shù),以r表示所述目標(biāo)數(shù)據(jù)參數(shù),以表示所述推薦分值,則:
本發(fā)明與現(xiàn)有技術(shù)相比,有益效果在于:本發(fā)明通過(guò)獲取目標(biāo)數(shù)據(jù),并根據(jù)目標(biāo)數(shù)據(jù)構(gòu)建目標(biāo)矩陣,根據(jù)該目標(biāo)矩陣和SimS算法計(jì)算得到不同項(xiàng)目對(duì)用戶的分值,并計(jì)算指定時(shí)間內(nèi)的最近增長(zhǎng)熱度,以設(shè)置的權(quán)重值、分值和最近增長(zhǎng)熱度基于Thybrid計(jì)算得到初始推薦分值,最后根據(jù)目標(biāo)數(shù)據(jù)的類型獲取目標(biāo)數(shù)據(jù)參數(shù),并以該目標(biāo)數(shù)據(jù)參數(shù)對(duì)初始推薦分值進(jìn)行優(yōu)化,得到最終的推薦分值。本發(fā)明實(shí)施例在進(jìn)行產(chǎn)品的推薦分值計(jì)算時(shí),在最近增長(zhǎng)熱度計(jì)算時(shí)加入了時(shí)間因素,并根據(jù)目標(biāo)數(shù)據(jù)的類型對(duì)應(yīng)的目標(biāo)數(shù)據(jù)參數(shù)進(jìn)行計(jì)算最終的推薦分值,因?yàn)樵诒景l(fā)明提供的實(shí)施例中加入了時(shí)間因素和了目標(biāo)數(shù)據(jù)的類型,因此提高了產(chǎn)品推薦的精確度。
附圖說(shuō)明
圖1是本發(fā)明實(shí)施例提供的一種基于時(shí)間的產(chǎn)品推薦方法的流程圖;
圖2是本發(fā)明實(shí)施例提供的不同項(xiàng)目的度與其最近增長(zhǎng)熱度的關(guān)系示意圖;
圖3是是本發(fā)明實(shí)施例提供的目標(biāo)數(shù)據(jù)參數(shù)與recall值的對(duì)應(yīng)關(guān)系圖;
圖4是本發(fā)明實(shí)施例提供的一種基于時(shí)間的產(chǎn)品推薦系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
本發(fā)明提供了如圖1所示的一種基于時(shí)間的產(chǎn)品推薦方法,包括:
S101,從目標(biāo)數(shù)據(jù)庫(kù)獲取包括用戶和項(xiàng)目的目標(biāo)數(shù)據(jù),根據(jù)所述目標(biāo)數(shù)據(jù)構(gòu)建關(guān)于用戶和項(xiàng)目的目標(biāo)矩陣。
在本步驟中,目標(biāo)數(shù)據(jù)庫(kù)包括現(xiàn)有的提供產(chǎn)品推薦的網(wǎng)站的數(shù)據(jù)庫(kù),如具備商家信息、服務(wù)信息、用戶點(diǎn)評(píng)信息等團(tuán)購(gòu)網(wǎng)站,或者具備點(diǎn)評(píng)功能的點(diǎn)評(píng)網(wǎng)站等。產(chǎn)品推薦系統(tǒng)從目標(biāo)數(shù)據(jù)庫(kù)中獲取包括用戶和項(xiàng)目的目標(biāo)數(shù)據(jù),用戶表示在該目標(biāo)數(shù)據(jù)中的注冊(cè)的用戶信息,項(xiàng)目表示該目標(biāo)數(shù)據(jù)庫(kù)中保存的供的各個(gè)項(xiàng)目等。產(chǎn)品推薦系統(tǒng)從目標(biāo)數(shù)據(jù)庫(kù)中獲取目標(biāo)數(shù)據(jù)后,將該目標(biāo)數(shù)據(jù)保存為.dat格式,并根據(jù)該目標(biāo)數(shù)據(jù)構(gòu)建關(guān)于用戶和項(xiàng)目的目標(biāo)矩陣,以a表示所述目標(biāo)矩陣,則:當(dāng)?shù)趇個(gè)用戶與第α個(gè)項(xiàng)目不相關(guān)時(shí),aiα=0,當(dāng)?shù)趇個(gè)用戶與第α個(gè)項(xiàng)目相關(guān)時(shí),aiα=1。產(chǎn)品推薦系統(tǒng)在構(gòu)建目標(biāo)矩陣之后,將獲取每一項(xiàng)目相關(guān)的用戶數(shù)量,及獲取每一用戶相關(guān)的項(xiàng)目數(shù)量,即目標(biāo)矩陣中a的值對(duì)每一個(gè)項(xiàng)目都有其自身的度,以kα表示與項(xiàng)目α相關(guān)的用戶數(shù)量,當(dāng)有X個(gè)用戶與項(xiàng)目α相關(guān)時(shí),kα=X,以ki表示與用戶i相關(guān)的項(xiàng)目數(shù)量,當(dāng)有Y個(gè)項(xiàng)目與項(xiàng)目i相關(guān)時(shí),ki=Y(jié)。
S102,根據(jù)所述目標(biāo)矩陣和SimS算法,計(jì)算得到不同項(xiàng)目對(duì)用戶的分值。
在本步驟中,以表示不同項(xiàng)目對(duì)用戶的分值,則其中,當(dāng)需要計(jì)算項(xiàng)目α對(duì)用戶i的h值,則需對(duì)于全部U個(gè)用戶,每一個(gè)用戶j進(jìn)行以上公式的計(jì)算;其中,sij是指用戶i與用戶j的相似度,其具體的公式為:
就是說(shuō),用戶i與用戶j之間的相似度sij,是根據(jù)他們二人共同收集的項(xiàng)目所決定的;其中,I表示所有的項(xiàng)目數(shù)。
而中的θ,是決定了需要給高相似度的用戶多大的權(quán)重,λ是將ProbS和HeatS結(jié)合起來(lái)的參數(shù)。當(dāng)θ=1,λ=1,SimS等價(jià)于ProbS;當(dāng)θ=1,λ=0,SimS等價(jià)于HeatS.
S103,根據(jù)最近增長(zhǎng)熱度算法,計(jì)算得到不同項(xiàng)目在指定時(shí)間內(nèi)的最近增長(zhǎng)熱度。
在本步驟中,以Δk'α(t,τ)表示所述最近增長(zhǎng)熱度,則Δk'α(t,τ)=Δkα(t,τ)+εkα(t)。
S104,設(shè)置權(quán)重值,基于THybrid算法根據(jù)所述權(quán)重值、所述分值和所述最近增長(zhǎng)熱度進(jìn)行計(jì)算,得到初級(jí)推薦分值。
在本步驟中,以λ表示所述權(quán)重值,以表示所述初始推薦分值,則:
S105,根據(jù)所述目標(biāo)數(shù)據(jù)的類型獲取目標(biāo)數(shù)據(jù)參數(shù),并根據(jù)所述目標(biāo)數(shù)據(jù)參數(shù)對(duì)所述初級(jí)推薦分值進(jìn)行優(yōu)化計(jì)算,得到各項(xiàng)目對(duì)所述用戶的推薦分值。
在本步驟中,產(chǎn)品推薦系統(tǒng)根據(jù)所述目標(biāo)數(shù)據(jù)從類型參數(shù)列表中獲取所述目標(biāo)數(shù)據(jù)的目標(biāo)數(shù)據(jù)參數(shù),所述類型參數(shù)列表包括目標(biāo)數(shù)據(jù)和目標(biāo)數(shù)據(jù)參數(shù)的對(duì)應(yīng)關(guān)系,并根據(jù)所述目標(biāo)數(shù)據(jù)參數(shù)對(duì)所述初級(jí)推薦分值進(jìn)行計(jì)算,得到各項(xiàng)目對(duì)所述用戶的推薦分?jǐn)?shù),以r表示所述目標(biāo)數(shù)據(jù)參數(shù),以表示所述推薦分值,則:在實(shí)際應(yīng)用中,產(chǎn)品推薦系統(tǒng)除了自動(dòng)獲取目標(biāo)數(shù)據(jù)的目標(biāo)數(shù)據(jù)參數(shù)之外,還可以接收目標(biāo)數(shù)據(jù)參數(shù)設(shè)置指令對(duì)目標(biāo)數(shù)據(jù)參數(shù)進(jìn)行設(shè)置。
S106,根據(jù)所述推薦分值確定項(xiàng)目列表,所述項(xiàng)目列表按照所述推薦分值對(duì)所述項(xiàng)目進(jìn)行順序排序,根據(jù)預(yù)置推薦規(guī)則獲取所述項(xiàng)目列表中的若干項(xiàng)目,并將所述若干項(xiàng)目推送至所述用戶的推薦列表。
在本步驟中,產(chǎn)品推薦系統(tǒng)按照從大到小的推薦分值對(duì)所有項(xiàng)目進(jìn)行排序,得到項(xiàng)目列表,并按照預(yù)置推薦規(guī)則獲取該項(xiàng)目列表中的若干項(xiàng)目,并該若干項(xiàng)目推送至用戶的推薦列表。預(yù)置推薦規(guī)則包括:取該項(xiàng)目列表中的前幾個(gè)分值最高的項(xiàng)目、取同一類型項(xiàng)目中分值最高的前幾個(gè)項(xiàng)目等。
本發(fā)明實(shí)施例用于探索不同網(wǎng)站的基于現(xiàn)有數(shù)據(jù)對(duì)用戶進(jìn)行項(xiàng)目推薦的能力。由于不同類型的網(wǎng)站信息與時(shí)間的相關(guān)程度不同,與最近增長(zhǎng)熱度的相關(guān)程度也不同。為了提高推薦精確度,本發(fā)明實(shí)施例提供的產(chǎn)品推薦方法,給THybrid中的最近增長(zhǎng)熱度提供一個(gè)權(quán)重值λ,不同類型的網(wǎng)站所得權(quán)重值不同。在此引入一個(gè)目標(biāo)數(shù)據(jù)參數(shù)r,最終得到推薦分值根據(jù)引入了r后的最近增長(zhǎng)熱度,再結(jié)合SimS進(jìn)行計(jì)算,便可得到recall值更高的推薦方法。
下面通過(guò)圖2和圖3對(duì)本發(fā)明實(shí)施例進(jìn)行進(jìn)一步地解釋:
本發(fā)明利用Netflix,Digg,Yelp三個(gè)網(wǎng)站的數(shù)據(jù)進(jìn)行推薦算法實(shí)踐檢驗(yàn),并進(jìn)行優(yōu)化,取得了有益效果。
圖2分別是三個(gè)網(wǎng)站中,不同項(xiàng)目的度與其最近增長(zhǎng)熱度的關(guān)系。采用log-log直線更加直觀的展現(xiàn)出不同類型網(wǎng)站中,項(xiàng)目的度與項(xiàng)目最近增長(zhǎng)熱度不同。其中,Netflix的相關(guān)性最高,Digg的相關(guān)性最低。圖2中,三個(gè)數(shù)據(jù)集中項(xiàng)目的最近增長(zhǎng)熱度與項(xiàng)目的度之間的關(guān)系。使用log-log直線找出兩個(gè)變量之間的關(guān)系。Netflix的斜率m=2.04,Yelp的斜率m=1.74,Digg的斜率m=0.47。
圖3展示出不同的r值對(duì)應(yīng)出不同的recall值。其中,在Netflix和Yelp中都有明顯的r值使得recall值趨于最優(yōu)。
圖4示出了本發(fā)明實(shí)施例提供的一種基于時(shí)間的產(chǎn)品推薦系統(tǒng),包括:
矩陣構(gòu)建單元401,用于從目標(biāo)數(shù)據(jù)庫(kù)獲取包括用戶和項(xiàng)目的目標(biāo)數(shù)據(jù),根據(jù)所述目標(biāo)數(shù)據(jù)構(gòu)建關(guān)于用戶和項(xiàng)目的目標(biāo)矩陣;
分值計(jì)算單元402,用于根據(jù)所述目標(biāo)矩陣和SimS算法,計(jì)算得到不同項(xiàng)目對(duì)用戶的分值;
熱度計(jì)算單元403,用于根據(jù)最近增長(zhǎng)熱度算法,計(jì)算得到不同項(xiàng)目在指定時(shí)間內(nèi)的最近增長(zhǎng)熱度;
權(quán)重計(jì)算單元404,用于設(shè)置權(quán)重值,基于THybrid算法根據(jù)所述權(quán)重值、所述分值和所述最近增長(zhǎng)熱度進(jìn)行計(jì)算,得到初級(jí)推薦分值;
分值確定單元405,用于根據(jù)所述目標(biāo)數(shù)據(jù)的類型獲取目標(biāo)數(shù)據(jù)參數(shù),并根據(jù)所述目標(biāo)數(shù)據(jù)參數(shù)對(duì)所述初級(jí)推薦分值進(jìn)行優(yōu)化計(jì)算,得到各項(xiàng)目對(duì)所述用戶的推薦分值;
列表推薦單元406,用于根據(jù)所述推薦分值確定項(xiàng)目列表,所述項(xiàng)目列表按照所述推薦分值對(duì)所述項(xiàng)目進(jìn)行順序排序,根據(jù)預(yù)置推薦規(guī)則獲取所述項(xiàng)目列表中的若干項(xiàng)目,并將所述若干項(xiàng)目推送至所述用戶的推薦列表。
進(jìn)一步地,矩陣構(gòu)建單元401具體用于:
將所述目標(biāo)數(shù)據(jù)保存為.dat格式;
根據(jù)所述目標(biāo)數(shù)據(jù)構(gòu)建關(guān)于用戶和項(xiàng)目的目標(biāo)矩陣,其中,以a表示所述目標(biāo)矩陣,則:當(dāng)?shù)趇個(gè)用戶與第α個(gè)項(xiàng)目不相關(guān)時(shí),aiα=0,當(dāng)?shù)趇個(gè)用戶與第α個(gè)項(xiàng)目相關(guān)時(shí),aiα=1。
進(jìn)一步地,矩陣構(gòu)建單元401還用于:
獲取每一項(xiàng)目相關(guān)的用戶數(shù)量,及獲取每一用戶相關(guān)的項(xiàng)目數(shù)量。
進(jìn)一步地,以表示所述分值,以Δk'α(t,τ)表示所述最近增長(zhǎng)熱度,Δk'α(t,τ)=Δkα(t,τ)+εkα(t),以λ表示所述權(quán)重值,以表示所述初始推薦分值,則:
進(jìn)一步地,分值確定單元405具體用于:
根據(jù)所述目標(biāo)數(shù)據(jù)從類型參數(shù)列表中獲取所述目標(biāo)數(shù)據(jù)的目標(biāo)數(shù)據(jù)參數(shù),所述類型參數(shù)列表包括目標(biāo)數(shù)據(jù)和目標(biāo)數(shù)據(jù)參數(shù)的對(duì)應(yīng)關(guān)系;
根據(jù)所述目標(biāo)數(shù)據(jù)參數(shù)對(duì)所述初級(jí)推薦分值進(jìn)行計(jì)算,得到各項(xiàng)目對(duì)所述用戶的推薦分?jǐn)?shù),以r表示所述目標(biāo)數(shù)據(jù)參數(shù),以表示所述推薦分值,則:
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。