一種電子商務(wù)系統(tǒng)中的商品推薦方法
【技術(shù)領(lǐng)域】
[0001 ] 本發(fā)明屬于商品流行性的預(yù)測(cè)領(lǐng)域。
【背景技術(shù)】
[0002] 縮略語和關(guān)鍵術(shù)語定義;
[0003] 目標(biāo)用戶:若推薦的目的是將商品推薦給某一用戶,則該用戶稱為目標(biāo)用戶;
[0004] 有效推薦:若推薦系統(tǒng)將某商品推薦給目標(biāo)用戶,而該用戶在之后確實(shí)選擇了該 商品,則該次推薦稱為有效推薦。
[0005] 準(zhǔn)確率:推薦系統(tǒng)給目標(biāo)用戶所推薦的商品中,有效推薦商品占被推薦商品的比 例稱為給該用戶推薦的準(zhǔn)確率。將給所有用戶推薦的準(zhǔn)確率計(jì)算得到平均值稱為該推薦系 統(tǒng)的準(zhǔn)確率(下文簡稱為準(zhǔn)確率)。
[0006] 非熱門商品:被用戶選擇次數(shù)不多的商品(根據(jù)不同系統(tǒng),閾值設(shè)置為不同數(shù) 值);
[0007] 新穎性:推薦非熱門商品的能力。該指標(biāo)不考慮是否為有效推薦,只要推薦的商品 在推薦之前被選擇的次數(shù)越少,則新穎性越高;
[0008] 有效新穎性:在有效推薦下,該商品在推薦之前被選擇的次數(shù)越少,則有效新穎性 越尚。
[0009] 目前的推薦系統(tǒng)大都采用協(xié)同推薦算法,該方法通過計(jì)算系統(tǒng)中用戶之間或商品 之間的相似度,根據(jù)最相似的多個(gè)商品或用戶的打分,來預(yù)測(cè)用戶對(duì)某商品的可能評(píng)分。按 照用戶對(duì)不同商品的評(píng)分進(jìn)行降序排序,將排在最前面的幾個(gè)商品推薦給用戶。但是這種 推薦算法對(duì)商品的流行性敏感性有限,即使某個(gè)商品在將來一段時(shí)間內(nèi)被用戶喜歡的概率 很小,但由于相似度大的原因,該商品也會(huì)被推薦給某些用戶。這樣,推薦系統(tǒng)準(zhǔn)確率就不 會(huì)特別高。除此之外,由于推薦了很多用戶不需要的商品,所以雖然其新穎度較高,但其有 效新穎度較低。
【發(fā)明內(nèi)容】
[0010] 本發(fā)明針對(duì)【背景技術(shù)】的不足,改進(jìn)設(shè)計(jì)一種電子商務(wù)系統(tǒng)中商品的推薦方法,從 而達(dá)到提高商品推薦的準(zhǔn)確率及有效新穎性的目的。
[0011] 本發(fā)明技術(shù)方案為一種電子商務(wù)系統(tǒng)中的商品推薦方法,該方法包括:
[0012] 步驟1 :計(jì)算當(dāng)前所有商品的流行度,獲得流行度最大的c件商品;
[0013] 步驟2 :統(tǒng)計(jì)所有用戶對(duì)步驟1獲得c件商品的已知選擇信息,選擇信息包括該用 戶選擇或未選擇某一商品;
[0014] 步驟3 :根據(jù)獲得用戶對(duì)商品的選擇信息,計(jì)算出步驟1得到的c件商品兩兩之間 的相似度;
[0015] 步驟4 :針對(duì)c件商品中每一件商品,從這c件商品中選出與其最相似的q件商品, 其中q < c ;
[0016] 步驟5 :計(jì)算步驟1獲得的c件商品對(duì)各用戶的推薦分?jǐn)?shù),若用戶選擇過待推薦商 品,則推薦分?jǐn)?shù)為〇 ;若用戶未選擇過推薦商品,則根據(jù)該用戶對(duì)該推薦商品最相似的q件 商品的選擇情況確定推薦分?jǐn)?shù);
[0017] 步驟6 :根據(jù)推薦分?jǐn)?shù)確定是否對(duì)該用戶推薦該商品。
[0018] 進(jìn)一步的,所述步驟1中流行度的計(jì)算方法為:
[0019] 步驟A1 :統(tǒng)計(jì)每個(gè)商品在各時(shí)間段內(nèi)被用戶選擇的次數(shù);
[0020] 步驟A2 :通過每次選擇行為距離預(yù)測(cè)點(diǎn)的時(shí)間遠(yuǎn)近進(jìn)行加權(quán)得到每一個(gè)商品的 流行性分?jǐn)?shù);
[0021] 步驟A3 :按照每個(gè)商品的流行性分?jǐn)?shù)排序,流行性分?jǐn)?shù)越大的流行度越大。
[0022] 進(jìn)一步的,所述步驟1中流行度的計(jì)算方法為:
[0023] 步驟B1 :統(tǒng)計(jì)各用戶對(duì)所有商品的已知選擇信息,選擇信息包括該用戶選擇或未 選擇某一商品;
[0024] 步驟B2 :根據(jù)獲得用戶對(duì)商品的選擇信息,計(jì)算出不同商品之間的相似度;
[0025] 步驟B3 :針對(duì)每一件商品,獲得與其最相似的q件商品;
[0026] 步驟Μ :計(jì)算出每個(gè)商品的針對(duì)每個(gè)用戶推薦分?jǐn)?shù),針對(duì)每個(gè)用戶選擇出推薦分 數(shù)最尚的t個(gè)商品;
[0027] 步驟B5 :統(tǒng)計(jì)步驟Μ中選擇出商品出現(xiàn)的次數(shù),次數(shù)越多表示流行度越大。
[0028] 進(jìn)一步的,所述步驟1中流行度的計(jì)算方法為:
[0029] 步驟C1 :記錄每天各段時(shí)間各商品被用戶關(guān)注的數(shù)量,獲得各商品被用戶關(guān)注的 時(shí)間曲線;
[0030] 步驟C2 :將步驟C1獲得的各商品的時(shí)間曲線進(jìn)行第一層小波分解,獲得低頻曲線 和高頻曲線;再將高頻曲線進(jìn)行第二層小波分解;按照上述方法對(duì)獲得高頻曲線進(jìn)行多層 小波分解;
[0031] 步驟C3 :根據(jù)實(shí)際情況選擇合適的小波分解層獲得的低頻曲線作為商品流行度 判斷曲線;
[0032] 步驟C4 :根據(jù)得到的流行度判斷曲線獲得該商品的流行度。
[0033] 進(jìn)一步的,所述步驟1中流行度的計(jì)算方法為:將上述三種方法得到的推薦分?jǐn)?shù) 加權(quán)求和,獲得的結(jié)果為該商品的流行度。
[0034] 進(jìn)一步的,所述步驟2的具體步驟為:
[0035] 將用戶對(duì)商品的選擇行為生成鄰接矩陣Α,每一行代表一個(gè)用戶,每一列代表一個(gè) 商品;若用戶u選擇過商品i,那么就在矩陣對(duì)應(yīng)元素aul賦值為1,若用戶u未選擇過商品 i,就賦值為0。
[0036] 進(jìn)一步的,所述步驟3具體步驟為:
[0037] 商品i根據(jù)其被m個(gè)用戶選擇的情況,得到一個(gè)m維的選購向量p1,對(duì)每個(gè)商品 i,都根據(jù)相似度公式,計(jì)算出該商品與其他任何一個(gè)商品j選購向量的相似度,得到一個(gè) ηΧη的對(duì)稱矩陣S,其Slj和s μ值相等,都代表商品i和j的選擇向量相似度;其相似度為 余弦相似度,計(jì)算方法如公式(1):
[0039] 其中,plk表示選購向量p1中的第k個(gè)用戶;
[0040] 進(jìn)一步的,所述步驟5的具體步驟為:
[0041] 對(duì)于用戶u選擇過的商品i,將ruJ武值為0 ;對(duì)于用戶u沒選擇過的商品i,其推 薦分?jǐn)?shù)rul計(jì)算公式如公式(2):
[0043] 生成一個(gè)mXn的推薦分?jǐn)?shù)矩陣R ;其中siHl^表不商品i與商品1 &的相似度,aul^ 表示用戶u對(duì)商品L的選擇記錄,1 &表示步驟4選擇出的q件商品編號(hào)。
[0044] 本發(fā)明一種電子商務(wù)系統(tǒng)中的商品推薦方法,通過獲得商品的流行度,選擇流行 度靠前的多件商品,計(jì)算這些商品的推薦針對(duì)各用戶的推薦分?jǐn)?shù),將推薦分?jǐn)?shù)較高的商品 推薦給用戶,從而具有提高商品推薦的準(zhǔn)確率及有效新穎性的效果。
【附圖說明】
[0045] 圖1為本發(fā)明一種電子商務(wù)系統(tǒng)中的商品推薦方法流程圖;
【具體實(shí)施方式】
[0046] 在經(jīng)過這兩個(gè)步驟之前,數(shù)據(jù)首先要進(jìn)行預(yù)處理一一將用戶和商品處理成簡單的 0-1關(guān)系。當(dāng)關(guān)系是用戶對(duì)商品的選擇關(guān)系,則如果用戶選擇某商品,則該條記錄的記錄值 為1,否則為〇。當(dāng)用戶對(duì)商品是評(píng)價(jià)關(guān)系,則如果用戶對(duì)商品評(píng)分大于等于總分的60%,則 該條記錄的記錄值為1,否則為0。如果是在線推薦系統(tǒng),那本模塊還需要不斷的循環(huán)上述 操作,將新加入的數(shù)據(jù)也通過該方式進(jìn)行處理。經(jīng)過這樣的處理,用戶的商品選擇數(shù)據(jù)就變 成了簡單的選擇關(guān)系,1表示選擇了該商品,0表示未選擇。
[0047] 進(jìn)一步的,所述步驟1中流行度的計(jì)算有多種方案,方案如下:
[0048] 方案1 :使用最近流行度生成流行性列表。
[0049] 在我們的實(shí)際使用中,由于商品的流行性具有連續(xù)性。在將來一段時(shí)間內(nèi)流行的 商品,大多數(shù)也在剛剛過去的一段時(shí)間流行。所以,可以取最近一段時(shí)間的流行度,來作為 將來流行度的參考,生成一個(gè)包含η維的流行性向量e,按照流行度降序的順序把每個(gè)商品 i填入到流行性向量中,生成流行性列表。
[0050] 第1步,生成選擇序列矩陣。將選擇行為發(fā)生的時(shí)間范圍劃分為k個(gè)區(qū)間,再生成 一個(gè)nXk的鄰接矩陣C,η為商品個(gè)數(shù)。統(tǒng)計(jì)每個(gè)商品在每個(gè)時(shí)間區(qū)間的被選擇次數(shù),將商 品i在時(shí)間區(qū)間j內(nèi)