一種基于協(xié)同過濾的視頻欄目推薦系統(tǒng)及推薦方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種基于協(xié)同過濾的視頻欄目推薦系統(tǒng)及推薦方法,屬于智能電視推 薦系統(tǒng)的技術(shù)領(lǐng)域。
【背景技術(shù)】
[0002] 隨著互聯(lián)網(wǎng)時代和大數(shù)據(jù)時代的到來,智能互聯(lián)網(wǎng)電視的迅猛發(fā)展,人們觀看的 電視節(jié)目也不僅僅局限于直播電視節(jié)目,通過互聯(lián)網(wǎng),電視用戶可以根據(jù)自己的興趣更方 便快捷的選擇更多最新的節(jié)目或者熱門影片。電影數(shù)量級的迅速增長帶來的信息過載問 題,給用戶帶來很多困擾,讓用戶無法準確高效地獲得自己感興趣的影片?;ヂ?lián)網(wǎng)規(guī)模的迅 速增長帶來了信息超載的問題,過量信息同時呈現(xiàn)使得用戶無法很便捷快速地獲取對自己 感興趣的部分,使信息使用效率降低。現(xiàn)在的互聯(lián)網(wǎng)應(yīng)用中,越來越多智能的推薦系統(tǒng)被開 發(fā)出來并獲得廣大用戶的信賴和使用。
[0003]對于目前常見的情況,當用戶打開電視,進入推薦展示界面時,會看到展示頁面的 欄目列表。具有相同屬性的影片被歸為同一個欄目(比如綜藝節(jié)目、日韓影片、武俠電影、 文藝電影、動作電影),展示頁面為用戶展示若干欄目。生成展示欄目的依據(jù)一般是根據(jù)影 片的熱門程度和以往人工設(shè)定的固定欄目經(jīng)驗,向每名用戶展示相同欄目,而不是根據(jù)用 戶興趣向用戶進行個性化推薦。
[0004]目前的視頻推薦技術(shù)都是以推薦單個視頻為主,但這些技術(shù)不太適用于欄目推 薦。首先,視頻推薦一般都是依靠用戶看過的視頻來向其推薦沒有看過的視頻,但是在欄目 推薦中不可能把看過的欄目不再推薦,相反,一般而言看的越多的欄目越著重推薦。其次, 每個欄目都有很多視頻組成,欄目間的關(guān)系相比于視頻間的關(guān)系更為復(fù)雜,相似度計算更 加難以把握。
【發(fā)明內(nèi)容】
[0005]針對現(xiàn)有技術(shù)的不足,本發(fā)明公開了一種基于協(xié)同過濾的視頻欄目推薦系統(tǒng)。
[0006]本發(fā)明還公開一種上述推薦系統(tǒng)的推薦方法。
[0007]本發(fā)明的技術(shù)方案為:
[0008] -種基于協(xié)同過濾的視頻欄目推薦系統(tǒng),包括:用戶模型創(chuàng)建模塊、用戶相似度計 算模塊、最近鄰居集生成模塊、欄目評分生成模塊和推薦模塊,其中:
[0009]所述用戶模型創(chuàng)建模塊,用于獲取欄目屬性信息,所述屬性信息包括用戶標識、用 戶所操作的欄目標識以及用戶對欄目的歷史操作信息;
[0010] 所述用戶相似度計算模塊,通過建立相似度矩陣M,計算目標用戶與其他用戶之間 的相似度sim(u,v),其中,ue1,2,…,n;ve1,2,…,η;
[0011] 所述最近鄰居集生成模塊,將目標用戶與其他用戶的興趣相似度進行排名,取值 最大的Κ個用戶,得到目標用戶的最近鄰居集合,Κ的取值根據(jù)實際情況設(shè)定;
[0012] 所述欄目評分生成模塊,根據(jù)所述最近鄰居集,獲取目標用戶對于欄目的預(yù)測評 分;
[0013] 所述推薦模塊,用于根據(jù)所述預(yù)測評分及預(yù)先獲取的目標用戶對于歷史欄目的評 分,生成欄目推薦列表進行推薦。
[0014] -種上述推薦系統(tǒng)的推薦方法,包括如下步驟:
[0015] 步驟S101 :創(chuàng)建用戶模型
[0016] 將用戶對欄目的點擊次數(shù)作為評分表中的評分值:用戶點擊過欄目中的任意一個 影片即被視為完成一次欄目點擊,從用戶日志文件中獲取較長時間段內(nèi)用戶點擊過的所有 欄目名稱以及每個欄目點擊過的次數(shù),整理生成用戶觀看歷史記錄表;每條記錄的數(shù)據(jù)格 式為:{用戶:欄目1 [欄目1點擊次數(shù)];欄目2[欄目2點擊次數(shù)];欄目5[欄目5點擊次 數(shù)];…;欄目i[欄目i點擊次數(shù)]};將上述記錄的數(shù)據(jù)去重處理后存放在數(shù)據(jù)庫A中;
[0017] 步驟S102 :計算用戶相似度
[0018] 協(xié)同過濾算法通過用戶觀看行為的相似程度來分析計算用戶的興趣相似度,計算 公式⑴如下:
[0020] 式⑴中凡表示用戶a曾經(jīng)點擊過的欄目集合,Nb表示用戶b曾經(jīng)點擊過的欄目 集合,隊表示對欄目i有過點擊行為的用戶集合,k是根據(jù)經(jīng)驗設(shè)定的固定值,優(yōu)選的,設(shè)置 為N/5 ;
[0021] 所述用戶相似度計算方法具體包括:
[0022] 根據(jù)用戶觀看影片的歷史,建立欄目-用戶的列表,每條記錄的數(shù)據(jù)格式為:{:欄 目1:用戶a,用戶b,用戶d,用戶f,···},{欄目2:用戶b,用戶c,用戶e,用戶f,…},… {欄目i:用戶a,用戶b,用戶d,用戶f,…}。將這些信息整理存放在數(shù)據(jù)庫B中;
[0023] 對于欄目i建立一個NXN的用戶相似度矩陣%,其中N表示總的用戶個數(shù),其中, 矩陣Μ的行和列分別表示用戶標識,元素Mab為1表示用戶a和用戶b均點擊過一共同欄目 標識,ae1,2,…,n;be1,2,…,n,n為用戶個數(shù);對于欄目1,將Mab、Mad、Maf置為1,用戶 兩兩組合作為矩陣%的行列坐標設(shè);對于欄目2,將Mb。、Mte、Mbf、MOT、Mrf···設(shè)置為1,以此類 推生成各個欄目矩陣M1;
[0024] 依次將矩陣%乘以獎勵項:所述獎勵項為 ,其中,k是根據(jù)經(jīng)驗設(shè)定 的固定值,優(yōu)選的為N/5,隊表示欄目i中的用戶數(shù)量,將各個乘以獎勵項的矩陣相加得到 最終的用戶相似度矩陣Μ;
[0025] 由于欄目展示頁面的限制,展示在前面的欄目相對后排的欄目更流行,同時方便 用戶點擊,因此點擊率往往較高。但是如果排列順序靠后的欄目,用戶對這些有一定的點擊 次數(shù),更能反應(yīng)用戶的興趣點,對分析用戶興趣行為有更大的價值參考。如果兩個不同用戶 對排列靠后的欄目均有點擊且點擊過的欄目有較大的重合度,這樣就認為他們興趣相似, 可以相互的推薦欄目。兩個用戶多次點擊過相同的冷門欄目更能說明他們興趣的相似度, 這兩個用戶就可以被確定為鄰居,有較好的相似性。因為排列在前的欄目相比于排列后面 的欄目有天然的優(yōu)勢,因此在本發(fā)明中加入獎勵
|Ni|值越小,說明點擊過 欄目i的用戶較少,欄目i被認為是冷門節(jié)目,這樣k與|Ni|的比值較大,這樣對冷門欄目 分配更大的權(quán)重,通過獎勵項性的設(shè)定,可以增加冷門欄目對用戶相似度的作用,減少熱門 欄目對用戶相似度的干擾,更準確直接的反應(yīng)不同用戶間的相似程度。
[0026] 根據(jù)矩陣Μ過濾掉沒有點擊過相同欄目的用戶對,減少計算量;
[0027] 根據(jù)計算出的矩陣Μ,再除以用戶觀看影片并集,得到最終的用戶興趣相似度;
[0028] 步驟S103 :創(chuàng)建最近鄰居集合
[0029] 將目標用戶與其他用戶的興趣相似度進行排名,取值最大的Κ個用戶,得到目標 用戶的最近鄰居集合N(u,Κ),Κ的取值據(jù)實際情況設(shè)定;
[0030] 步驟S104 :產(chǎn)生欄目評分
[0031] 計算公式⑵如下:
[0033] 對于已經(jīng)為目標用戶推薦過的欄目,根據(jù)計算公式(2)獲取目標用戶對于歷史欄 目的評分,其中,click(.,u)為用戶u的全部點擊量,click(1,u)為用戶u對欄目1的點擊 量,1el,2,*",m,m為欄目個數(shù),τι為第一調(diào)節(jié)因子;
[0034] 計算公式(3)如下:
[0036] 對于目標用戶沒有被推薦過的欄目,根據(jù)計算公式(2)獲取目標用戶對未推 薦欄目的評分,其中,N(u,K)為K個最近鄰居集,click(.,v)為用戶v的全部點擊量, click(l,v)為用戶v對欄目1的點擊量,1e1,2, "sm,m為欄目個數(shù),μ為第二調(diào)節(jié)因 子,sim(V,u)為用戶u與用戶ν之間的相似度,用戶ν屬于最近鄰居集中的用戶,用戶u為 目標用戶;
[0037] 計算評分采用最近鄰居相似度加權(quán)平均的方法,不但能滿足多樣性和